Use upstream PR#769 for Python 3.10 support
This commit is contained in:
parent
6078f4f1d1
commit
db85dc6492
170
769.patch
Normal file
170
769.patch
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
From 34a85c218423b959b66a8aa74986423d280bcba6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Valentin Haenel <vhaenel@anaconda.com>
|
||||||
|
Date: Tue, 31 Aug 2021 15:24:24 +0200
|
||||||
|
Subject: [PATCH 1/5] bump supported Pyton version
|
||||||
|
|
||||||
|
As title
|
||||||
|
---
|
||||||
|
setup.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 263fb6c6..75a6d42c 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
min_python_version = "3.7"
|
||||||
|
-max_python_version = "3.10" # exclusive
|
||||||
|
+max_python_version = "3.11" # exclusive
|
||||||
|
|
||||||
|
|
||||||
|
def _guard_py_ver():
|
||||||
|
|
||||||
|
From 87c86ae5e9cc9005d2a7ef64cdf8bcd05e3e4067 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Valentin Haenel <vhaenel@anaconda.com>
|
||||||
|
Date: Tue, 31 Aug 2021 15:24:35 +0200
|
||||||
|
Subject: [PATCH 2/5] update trove classifiers
|
||||||
|
|
||||||
|
As title
|
||||||
|
---
|
||||||
|
setup.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 75a6d42c..b390db91 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -212,6 +212,7 @@ def finalize_options(self):
|
||||||
|
"Programming Language :: Python :: 3.7",
|
||||||
|
"Programming Language :: Python :: 3.8",
|
||||||
|
"Programming Language :: Python :: 3.9",
|
||||||
|
+ "Programming Language :: Python :: 3.10",
|
||||||
|
"Topic :: Software Development :: Code Generators",
|
||||||
|
"Topic :: Software Development :: Compilers",
|
||||||
|
],
|
||||||
|
|
||||||
|
From 334c000d5a6d19133e3ce3b7a2c847cd682f4ebf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Valentin Haenel <vhaenel@anaconda.com>
|
||||||
|
Date: Thu, 2 Sep 2021 14:23:39 +0200
|
||||||
|
Subject: [PATCH 3/5] print the OSError instead of swallowing it
|
||||||
|
|
||||||
|
As title
|
||||||
|
---
|
||||||
|
llvmlite/binding/ffi.py | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/llvmlite/binding/ffi.py b/llvmlite/binding/ffi.py
|
||||||
|
index 94df3ae7..66254f99 100644
|
||||||
|
--- a/llvmlite/binding/ffi.py
|
||||||
|
+++ b/llvmlite/binding/ffi.py
|
||||||
|
@@ -183,7 +183,8 @@ def __call__(self, *args, **kwargs):
|
||||||
|
for _lib_path in _lib_paths:
|
||||||
|
try:
|
||||||
|
lib = ctypes.CDLL(_lib_path)
|
||||||
|
- except OSError:
|
||||||
|
+ except OSError as e:
|
||||||
|
+ print(e)
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
|
From 8cc3c39515ac03dc77d3b8ea4370513cec0e4308 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Valentin Haenel <vhaenel@anaconda.com>
|
||||||
|
Date: Wed, 13 Oct 2021 11:02:51 +0200
|
||||||
|
Subject: [PATCH 4/5] buffer all errors, and echo them at the end
|
||||||
|
|
||||||
|
This will avoid printing errors unnecessarily.
|
||||||
|
---
|
||||||
|
llvmlite/binding/ffi.py | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/llvmlite/binding/ffi.py b/llvmlite/binding/ffi.py
|
||||||
|
index 66254f99..556c7c8f 100644
|
||||||
|
--- a/llvmlite/binding/ffi.py
|
||||||
|
+++ b/llvmlite/binding/ffi.py
|
||||||
|
@@ -180,16 +180,19 @@ def __call__(self, *args, **kwargs):
|
||||||
|
|
||||||
|
|
||||||
|
# Try to load from all of the different paths
|
||||||
|
+errors = []
|
||||||
|
for _lib_path in _lib_paths:
|
||||||
|
try:
|
||||||
|
lib = ctypes.CDLL(_lib_path)
|
||||||
|
except OSError as e:
|
||||||
|
- print(e)
|
||||||
|
+ errors.append(e)
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
- raise OSError("Could not load shared object file: {}".format(_lib_name))
|
||||||
|
+ msg = ("Could not load shared object file: {}\n".format(_lib_name) +
|
||||||
|
+ "Errors were: {}".format(errors))
|
||||||
|
+ raise OSError(msg)
|
||||||
|
|
||||||
|
|
||||||
|
lib = _lib_wrapper(lib)
|
||||||
|
|
||||||
|
From 408c7ba935b43e052410a2bf444db9b8a56a4723 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Valentin Haenel <vhaenel@anaconda.com>
|
||||||
|
Date: Wed, 13 Oct 2021 18:52:53 +0200
|
||||||
|
Subject: [PATCH 5/5] setup using Python 3.10 on public CI too
|
||||||
|
|
||||||
|
As title
|
||||||
|
---
|
||||||
|
azure-pipelines.yml | 11 +++++++++++
|
||||||
|
buildscripts/azure/azure-windows.yml | 3 +++
|
||||||
|
2 files changed, 14 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
|
||||||
|
index d1d5efd3..a99d90d4 100644
|
||||||
|
--- a/azure-pipelines.yml
|
||||||
|
+++ b/azure-pipelines.yml
|
||||||
|
@@ -14,6 +14,9 @@ jobs:
|
||||||
|
py39:
|
||||||
|
PYTHON: '3.9'
|
||||||
|
CONDA_ENV: cienv
|
||||||
|
+ py310:
|
||||||
|
+ PYTHON: '3.10'
|
||||||
|
+ CONDA_ENV: cienv
|
||||||
|
|
||||||
|
- template: buildscripts/azure/azure-linux-macos.yml
|
||||||
|
parameters:
|
||||||
|
@@ -31,6 +34,10 @@ jobs:
|
||||||
|
PYTHON: '3.9'
|
||||||
|
CONDA_ENV: cienv
|
||||||
|
RUN_FLAKE8: yes
|
||||||
|
+ py310:
|
||||||
|
+ PYTHON: '3.10'
|
||||||
|
+ CONDA_ENV: cienv
|
||||||
|
+ RUN_FLAKE8: yes
|
||||||
|
# temporarily disabled
|
||||||
|
# pypy:
|
||||||
|
# PYTHON: pypy
|
||||||
|
@@ -47,6 +54,10 @@ jobs:
|
||||||
|
PYTHON: '3.9'
|
||||||
|
CONDA_ENV: cienv
|
||||||
|
WHEEL: 'yes'
|
||||||
|
+ py310_wheel:
|
||||||
|
+ PYTHON: '3.10'
|
||||||
|
+ CONDA_ENV: cienv
|
||||||
|
+ WHEEL: 'yes'
|
||||||
|
|
||||||
|
- template: buildscripts/azure/azure-windows.yml
|
||||||
|
parameters:
|
||||||
|
diff --git a/buildscripts/azure/azure-windows.yml b/buildscripts/azure/azure-windows.yml
|
||||||
|
index 1dd02611..e51f39fc 100644
|
||||||
|
--- a/buildscripts/azure/azure-windows.yml
|
||||||
|
+++ b/buildscripts/azure/azure-windows.yml
|
||||||
|
@@ -12,6 +12,9 @@ jobs:
|
||||||
|
py39:
|
||||||
|
PYTHON: '3.9'
|
||||||
|
CONDA_ENV: cienv
|
||||||
|
+ py310:
|
||||||
|
+ PYTHON: '3.10'
|
||||||
|
+ CONDA_ENV: cienv
|
||||||
|
|
||||||
|
|
||||||
|
steps:
|
@ -13,6 +13,11 @@ License: BSD
|
|||||||
URL: http://llvmlite.pydata.org/
|
URL: http://llvmlite.pydata.org/
|
||||||
Source0: %{forgesource}
|
Source0: %{forgesource}
|
||||||
|
|
||||||
|
# Python 3.10
|
||||||
|
# https://github.com/numba/llvmlite/pull/769
|
||||||
|
# See also: https://github.com/numba/llvmlite/issues/740#issuecomment-937830985
|
||||||
|
Patch0: https://github.com/numba/llvmlite/pull/769.patch
|
||||||
|
|
||||||
BuildRequires: pyproject-rpm-macros
|
BuildRequires: pyproject-rpm-macros
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
# 0.37.0 only supports llvm11
|
# 0.37.0 only supports llvm11
|
||||||
@ -60,11 +65,7 @@ BuildRequires: %{py3_dist sphinx-rtd-theme}
|
|||||||
Documentation for %{name}.
|
Documentation for %{name}.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%forgesetup
|
%forgeautosetup -p1
|
||||||
|
|
||||||
# seems to be fine with 3.10 but we need to remove the guard
|
|
||||||
# https://github.com/numba/llvmlite/issues/740
|
|
||||||
sed -i 's/max_python_version =.*/max_python_version = "3.11"/' setup.py
|
|
||||||
|
|
||||||
# increase verbosity of tests to 2
|
# increase verbosity of tests to 2
|
||||||
sed -i 's/\(def run_tests.*verbosity=\)1/\12/' llvmlite/tests/__init__.py
|
sed -i 's/\(def run_tests.*verbosity=\)1/\12/' llvmlite/tests/__init__.py
|
||||||
|
Loading…
Reference in New Issue
Block a user