diff --git a/_multibuild b/_multibuild
index 8cf2769..98d9f20 100644
--- a/_multibuild
+++ b/_multibuild
@@ -2,4 +2,5 @@
test-py39
test-py310
test-py311
+ test-py312
diff --git a/numba-0.58.1.tar.gz b/numba-0.58.1.tar.gz
deleted file mode 100644
index 01b7560..0000000
--- a/numba-0.58.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa
-size 2623830
diff --git a/numba-0.59.0.tar.gz b/numba-0.59.0.tar.gz
new file mode 100644
index 0000000..b4e3305
--- /dev/null
+++ b/numba-0.59.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:12b9b064a3e4ad00e2371fc5212ef0396c80f41caec9b5ec391c8b04b6eaf2a8
+size 2656773
diff --git a/python-numba.changes b/python-numba.changes
index 6a7c554..78594e5 100644
--- a/python-numba.changes
+++ b/python-numba.changes
@@ -1,3 +1,14 @@
+-------------------------------------------------------------------
+Sat Feb 3 07:04:27 UTC 2024 - Dirk Müller
+
+- update to 0.59.0
+ * Python 3.12 support
+ * minimum supported version to 3.9
+ * Add support for ufunc attributes and reduce
+ * Add a config variable to enable / disable the llvmlite memory
+ manager
+ * see https://numba.readthedocs.io/en/stable/release/0.59.0-notes.html#highlights
+
-------------------------------------------------------------------
Mon Nov 20 12:15:07 UTC 2023 - Markéta Machová
@@ -29,7 +40,7 @@ Mon Aug 21 19:53:19 UTC 2023 - Ben Greiner
Mon Aug 14 06:47:15 UTC 2023 - Dirk Müller
- update to 0.57.1:
- * fix regressions with 0.57.0
+ * fix regressions with 0.57.0
- remove upper bound on numpy - upstream does not have it either
-------------------------------------------------------------------
@@ -49,7 +60,7 @@ Fri May 26 13:28:26 UTC 2023 - Steve Kowalik
+ Numba’s unicode functionality in str.startswith now supports kwargs
start and end.
+ min and max now support boolean types.
- + Support is added for the dict(iterable) constructor.
+ + Support is added for the dict(iterable) constructor.
- Dropped patches:
* numba-pr8620-np1.24.patch
* update-tbb-backend-calls-2021.6.patch
@@ -58,7 +69,7 @@ Fri May 26 13:28:26 UTC 2023 - Steve Kowalik
-------------------------------------------------------------------
Wed Apr 12 05:53:24 UTC 2023 - Steve Kowalik
-- Clean up leftover Python 3.8 gubbins, look forward to Python 3.11 support.
+- Clean up leftover Python 3.8 gubbins, look forward to Python 3.11 support.
-------------------------------------------------------------------
Tue Apr 11 08:30:00 UTC 2023 - Dominique Leuenberger
@@ -297,12 +308,12 @@ Thu Nov 18 18:42:21 UTC 2021 - Ben Greiner
* Per function compiler flags with inheritance behaviours.
* The extension API now has support for overloading class methods
via the @overload_classmethod decorator.
-
+
Deprecations:
* The ROCm target (for AMD ROC GPUs) has been moved to an
“unmaintained” status and a seperate repository stub has been
created for it at: https://github.com/numba/numba-rocm
-
+
CUDA target deprecations and breaking changes:
* Relaxed strides checking is now the default when computing the
contiguity of device arrays.
@@ -311,7 +322,7 @@ Thu Nov 18 18:42:21 UTC 2021 - Ben Greiner
compile_ptx() instead.
* Eager compilation of device functions (the case when
device=True and a signature is provided) is deprecated.
-
+
Version support/dependency changes:
* LLVM 11 is now supported on all platforms via llvmlite.
* The minimum supported Python version is raised to 3.7.
@@ -356,35 +367,35 @@ Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner
- Update to 0.52.0
https://numba.readthedocs.io/en/stable/release-notes.html
- This release focuses on performance improvements, but also adds
- some new features and contains numerous bug fixes and stability
+ This release focuses on performance improvements, but also adds
+ some new features and contains numerous bug fixes and stability
improvements.
Highlights of core performance improvements include:
- * Intel kindly sponsored research and development into producing
- a new reference count pruning pass. This pass operates at the
- LLVM level and can prune a number of common reference counting
- patterns. This will improve performance for two primary
+ * Intel kindly sponsored research and development into producing
+ a new reference count pruning pass. This pass operates at the
+ LLVM level and can prune a number of common reference counting
+ patterns. This will improve performance for two primary
reasons:
- - There will be less pressure on the atomic locks used to do
+ - There will be less pressure on the atomic locks used to do
the reference counting.
- - Removal of reference counting operations permits more
- inlining and the optimisation passes can in general do more
+ - Removal of reference counting operations permits more
+ inlining and the optimisation passes can in general do more
with what is present.
(Siu Kwan Lam).
- * Intel also sponsored work to improve the performance of the
- numba.typed.List container, particularly in the case of
+ * Intel also sponsored work to improve the performance of the
+ numba.typed.List container, particularly in the case of
__getitem__ and iteration (Stuart Archibald).
- * Superword-level parallelism vectorization is now switched on
- and the optimisation pipeline has been lightly analysed and
- tuned so as to be able to vectorize more and more often
+ * Superword-level parallelism vectorization is now switched on
+ and the optimisation pipeline has been lightly analysed and
+ tuned so as to be able to vectorize more and more often
(Stuart Archibald).
Highlights of core feature changes include:
- * The inspect_cfg method on the JIT dispatcher object has been
- significantly enhanced and now includes highlighted output and
+ * The inspect_cfg method on the JIT dispatcher object has been
+ significantly enhanced and now includes highlighted output and
interleaved line markers and Python source (Stuart Archibald).
- * The BSD operating system is now unofficially supported (Stuart
+ * The BSD operating system is now unofficially supported (Stuart
Archibald).
- * Numerous features/functionality improvements to NumPy support,
+ * Numerous features/functionality improvements to NumPy support,
including support for:
- np.asfarray (Guilherme Leobas)
- “subtyping” in record arrays (Lucio Fernandez-Arjona)
@@ -392,28 +403,28 @@ Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner
- operator.contains with ndarray (@mugoh).
- np.asarray_chkfinite (Rishabh Varshney).
- NumPy 1.19 (Stuart Archibald).
- - the ndarray allocators, empty, ones and zeros, accepting a
+ - the ndarray allocators, empty, ones and zeros, accepting a
dtype specified as a string literal (Stuart Archibald).
* Booleans are now supported as literal types (Alexey Kozlov).
* On the CUDA target:
* CUDA 9.0 is now the minimum supported version (Graham Markall).
* Support for Unified Memory has been added (Max Katz).
* Kernel launch overhead is reduced (Graham Markall).
- * Cudasim support for mapped array, memcopies and memset has
+ * Cudasim support for mapped array, memcopies and memset has
been * added (Mike Williams).
* Access has been wired in to all libdevice functions (Graham
Markall).
- * Additional CUDA atomic operations have been added (Michae
+ * Additional CUDA atomic operations have been added (Michae
Collison).
- * Additional math library functions (frexp, ldexp, isfinite)
+ * Additional math library functions (frexp, ldexp, isfinite)
(Zhihao * Yuan).
* Support for power on complex numbers (Graham Markall).
Deprecations to note:
- * There are no new deprecations. However, note that
- “compatibility” mode, which was added some 40 releases ago to
- help transition from 0.11 to 0.12+, has been removed! Also,
- the shim to permit the import of jitclass from Numba’s top
- level namespace has now been removed as per the deprecation
+ * There are no new deprecations. However, note that
+ “compatibility” mode, which was added some 40 releases ago to
+ help transition from 0.11 to 0.12+, has been removed! Also,
+ the shim to permit the import of jitclass from Numba’s top
+ level namespace has now been removed as per the deprecation
schedule.
- NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20
@@ -494,7 +505,7 @@ Fri Apr 24 14:07:35 UTC 2020 - Marketa Calabkova
(Valentin Haenel).
* Experimental support was added for first-class function types
(Pearu Peterson).
-- Refreshed patch skip-failing-tests.patch
+- Refreshed patch skip-failing-tests.patch
* the troublesome tests are skipped upstream on 32-bit
- Unpin llvmlite
@@ -765,7 +776,7 @@ Fri Oct 26 19:45:47 UTC 2018 - Todd R
* Experimental support for executing a block of code inside a nopython mode
function in object mode.
* Parallel loops now allow arrays as reduction variables
- * CUDA improvements: FMA, faster float64 atomics on supporting hardware,
+ * CUDA improvements: FMA, faster float64 atomics on supporting hardware,
records in const memory, and improved datatime dtype support
* More NumPy functions: vander, tri, triu, tril, fill_diagonal
+ General Enhancements:
diff --git a/python-numba.spec b/python-numba.spec
index 135601e..fdf2cdd 100644
--- a/python-numba.spec
+++ b/python-numba.spec
@@ -1,7 +1,7 @@
#
-# spec file
+# spec file for package python-numba
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -30,23 +30,33 @@
%define psuffix -test-py39
%define skip_python310 1
%define skip_python311 1
+%define skip_python312 1
%bcond_without test
%endif
%if "%{flavor}" == "test-py310"
%define psuffix -test-py310
%define skip_python39 1
%define skip_python311 1
+%define skip_python312 1
%bcond_without test
%endif
%if "%{flavor}" == "test-py311"
%define psuffix -test-py311
%define skip_python39 1
%define skip_python310 1
+%define skip_python312 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py312"
+%define psuffix -test-py312
+%define skip_python39 1
+%define skip_python310 1
+%define skip_python311 1
%bcond_without test
%endif
Name: python-numba%{?psuffix}
-Version: 0.58.1
+Version: 0.59.0
Release: 0
Summary: NumPy-aware optimizing compiler for Python using LLVM
License: BSD-2-Clause
@@ -55,7 +65,7 @@ URL: https://numba.pydata.org/
Source: https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz
# PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
Patch3: skip-failing-tests.patch
-BuildRequires: %{python_module devel >= 3.8}
+BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module numpy-devel >= %{min_numpy_ver} with %python-numpy-devel < %{max_numpy_ver}}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
@@ -67,7 +77,7 @@ BuildRequires: (tbb-devel >= 2021)
Requires: (python-llvmlite >= 0.41 with python-llvmlite < 0.42)
Requires: (python-numpy >= %{min_numpy_ver} with python-numpy < %{max_numpy_ver})
Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires(postun): update-alternatives
Recommends: python-Jinja2
Recommends: python-Pygments
Recommends: python-cffi
diff --git a/skip-failing-tests.patch b/skip-failing-tests.patch
index 0732fbd..624a4e1 100644
--- a/skip-failing-tests.patch
+++ b/skip-failing-tests.patch
@@ -3,11 +3,11 @@
numba/tests/test_parfors_passes.py | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
-Index: numba-0.57.0/numba/tests/test_parfors.py
+Index: numba-0.59.0/numba/tests/test_parfors.py
===================================================================
---- numba-0.57.0.orig/numba/tests/test_parfors.py
-+++ numba-0.57.0/numba/tests/test_parfors.py
-@@ -1190,6 +1190,7 @@ class TestParforNumPy(TestParforsBase):
+--- numba-0.59.0.orig/numba/tests/test_parfors.py
++++ numba-0.59.0/numba/tests/test_parfors.py
+@@ -1198,6 +1198,7 @@ class TestParforNumPy(TestParforsBase):
self.check_variants(test_impl2, data_gen)
self.count_parfors_variants(test_impl2, data_gen)
@@ -15,29 +15,29 @@ Index: numba-0.57.0/numba/tests/test_parfors.py
def test_ndarray_fill(self):
def test_impl(x):
x.fill(7.0)
-@@ -4479,7 +4480,7 @@ class TestParforsVectorizer(TestPrangeBa
+@@ -4639,7 +4640,7 @@ class TestParforsVectorizer(TestPrangeBa
return asm
- @linux_only
+ @unittest.skip("Our x86_64 asm is most probably different from the upstream one.")
+ @TestCase.run_test_in_subprocess
def test_vectorizer_fastmath_asm(self):
""" This checks that if fastmath is set and the underlying hardware
- is suitable, and the function supplied is amenable to fastmath based
-@@ -4519,7 +4520,7 @@ class TestParforsVectorizer(TestPrangeBa
+@@ -4680,7 +4681,7 @@ class TestParforsVectorizer(TestPrangeBa
# check no zmm addressing is present
self.assertTrue('zmm' not in v)
- @linux_only
+ @unittest.skip("Our x86_64 asm is most probably different from the upstream one.")
+ @TestCase.run_test_in_subprocess(envvars={'NUMBA_BOUNDSCHECK': '0'})
def test_unsigned_refusal_to_vectorize(self):
""" This checks that if fastmath is set and the underlying hardware
- is suitable, and the function supplied is amenable to fastmath based
-Index: numba-0.57.0/numba/tests/test_parfors_passes.py
+Index: numba-0.59.0/numba/tests/test_parfors_passes.py
===================================================================
---- numba-0.57.0.orig/numba/tests/test_parfors_passes.py
-+++ numba-0.57.0/numba/tests/test_parfors_passes.py
-@@ -516,6 +516,7 @@ class TestConvertLoopPass(BaseTest):
+--- numba-0.59.0.orig/numba/tests/test_parfors_passes.py
++++ numba-0.59.0/numba/tests/test_parfors_passes.py
+@@ -514,6 +514,7 @@ class TestConvertLoopPass(BaseTest):
str(raises.exception),
)
@@ -45,10 +45,10 @@ Index: numba-0.57.0/numba/tests/test_parfors_passes.py
def test_init_prange(self):
def test_impl():
n = 20
-Index: numba-0.57.0/numba/tests/test_cli.py
+Index: numba-0.59.0/numba/tests/test_cli.py
===================================================================
---- numba-0.57.0.orig/numba/tests/test_cli.py
-+++ numba-0.57.0/numba/tests/test_cli.py
+--- numba-0.59.0.orig/numba/tests/test_cli.py
++++ numba-0.59.0/numba/tests/test_cli.py
@@ -264,6 +264,7 @@ class TestGDBCLIInfoBrokenGdbs(TestCase)
self.assertIn("No such file or directory", stdout)
self.assertIn(path, stdout)