Sync from SUSE:SLFO:Main python-numba revision f798441103caf815a9096077252b93ed

This commit is contained in:
Adrian Schröter 2024-06-06 18:27:10 +02:00
parent 99fc27f089
commit ade0ddd981
6 changed files with 138 additions and 77 deletions

View File

@ -1,5 +1,5 @@
<multibuild> <multibuild>
<package>test-py39</package>
<package>test-py310</package> <package>test-py310</package>
<package>test-py311</package> <package>test-py311</package>
<package>test-py312</package>
</multibuild> </multibuild>

BIN
numba-0.58.1.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
numba-0.59.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Tue May 28 09:30:26 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Skip broken test on ppc64le
bsc#1225394, gh#numba/numba#8489
-------------------------------------------------------------------
Fri Mar 22 20:05:25 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.59.1:
* Fixed caching of kernels that use target-specific overloads
* Fixed a performance regression introduced in Numba 0.59 which
made ``np.searchsorted`` considerably slower.
* This patch fixes two issues with ``np.searchsorted``. First,
a regression is fixed in the support of ``np.datetime64``.
Second, adopt ``NAT``-aware comparisons to fix mishandling
of ``NAT`` value.
* Allow use of Python 3.12 PEP-695 type parameter syntax
-------------------------------------------------------------------
Fri Mar 8 15:37:58 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Stop testing python39: dropped since ipython 8.19
-------------------------------------------------------------------
Wed Feb 21 15:35:47 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Simplify test flavor logic
- Prepare for python39 flavor drop: Exclude build in empty test
flavors
- Don't test on 32bit-platforms
-------------------------------------------------------------------
Sat Feb 3 07:04:27 UTC 2024 - Dirk Müller <dmueller@suse.com>
- 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á <mmachova@suse.com> Mon Nov 20 12:15:07 UTC 2023 - Markéta Machová <mmachova@suse.com>

View File

@ -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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -21,32 +21,41 @@
%define min_numpy_ver 1.22 %define min_numpy_ver 1.22
%define max_numpy_ver 1.27 %define max_numpy_ver 1.27
%{?sle15_python_module_pythons}
%global flavor @BUILD_FLAVOR@%{nil} %global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "" %if "%{flavor}" == ""
%define psuffix %{nil} %define psuffix %{nil}
%bcond_with test %bcond_with test
%endif # Supported Platforms: https://numba.pydata.org/numba-doc/dev/user/installing.html#compatibility
%if "%{flavor}" == "test-py39" ExclusiveArch: x86_64 %ix86 ppc64le %arm aarch64
%define psuffix -test-py39 %else
%define skip_python310 1
%define skip_python311 1
%bcond_without test %bcond_without test
%endif %define psuffix -%{flavor}
%if "%{flavor}" == "test-py310" %if "%{flavor}" != "test-py39"
%define psuffix -test-py310
%define skip_python39 1 %define skip_python39 1
%define skip_python311 1
%bcond_without test
%endif %endif
%if "%{flavor}" == "test-py311" %if "%{flavor}" != "test-py310"
%define psuffix -test-py311
%define skip_python39 1
%define skip_python310 1 %define skip_python310 1
%bcond_without test %endif
%if "%{flavor}" != "test-py311"
%define skip_python311 1
%endif
%if "%{flavor}" != "test-py312"
%define skip_python312 1
%endif
# The obs server-side interpreter cannot use lua or rpm shrink
%if "%pythons" == "" || "%pythons" == " " || "%pythons" == " " || "%pythons" == " " || "%pythons" == " " || ( "%pythons" == "python311" && 0%{?skip_python311} )
ExclusiveArch: donotbuild
%define python_module() %flavor-not-enabled-in-buildset-for-suse-%{?suse_version}
%else
# Tests fail on ppc64 big endian, not resolvable on s390x, wrong types on 32-bit. See also above compatibility list for building
ExcludeArch: s390x ppc64 %ix86 %arm
%endif
%endif %endif
Name: python-numba%{?psuffix} Name: python-numba%{?psuffix}
Version: 0.58.1 Version: 0.59.1
Release: 0 Release: 0
Summary: NumPy-aware optimizing compiler for Python using LLVM Summary: NumPy-aware optimizing compiler for Python using LLVM
License: BSD-2-Clause License: BSD-2-Clause
@ -55,7 +64,7 @@ URL: https://numba.pydata.org/
Source: https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz Source: https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz
# PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics # PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
Patch3: skip-failing-tests.patch 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 numpy-devel >= %{min_numpy_ver} with %python-numpy-devel < %{max_numpy_ver}}
BuildRequires: %{python_module pip} BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools} BuildRequires: %{python_module setuptools}
@ -64,10 +73,10 @@ BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
BuildRequires: (tbb-devel >= 2021) BuildRequires: (tbb-devel >= 2021)
Requires: (python-llvmlite >= 0.41 with python-llvmlite < 0.42) Requires: (python-llvmlite >= 0.42 with python-llvmlite < 0.43)
Requires: (python-numpy >= %{min_numpy_ver} with python-numpy < %{max_numpy_ver}) Requires: (python-numpy >= %{min_numpy_ver} with python-numpy < %{max_numpy_ver})
Requires(post): update-alternatives Requires(post): update-alternatives
Requires(postun):update-alternatives Requires(postun): update-alternatives
Recommends: python-Jinja2 Recommends: python-Jinja2
Recommends: python-Pygments Recommends: python-Pygments
Recommends: python-cffi Recommends: python-cffi
@ -87,9 +96,6 @@ BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scipy >= 1.0} BuildRequires: %{python_module scipy >= 1.0}
BuildRequires: %{python_module tbb} BuildRequires: %{python_module tbb}
%endif %endif
# Tests fail on ppc64 big endian, not resolvable on s390x
# Supported Platforms: https://numba.pydata.org/numba-doc/dev/user/installing.html#compatibility
ExclusiveArch: x86_64 %ix86 ppc64le %arm aarch64
%python_subpackages %python_subpackages
%description %description

View File

@ -3,11 +3,11 @@
numba/tests/test_parfors_passes.py | 1 + numba/tests/test_parfors_passes.py | 1 +
2 files changed, 4 insertions(+), 2 deletions(-) 2 files changed, 4 insertions(+), 2 deletions(-)
Index: numba-0.57.0/numba/tests/test_parfors.py Index: numba-0.59.1/numba/tests/test_parfors.py
=================================================================== ===================================================================
--- numba-0.57.0.orig/numba/tests/test_parfors.py --- numba-0.59.1.orig/numba/tests/test_parfors.py
+++ numba-0.57.0/numba/tests/test_parfors.py +++ numba-0.59.1/numba/tests/test_parfors.py
@@ -1190,6 +1190,7 @@ class TestParforNumPy(TestParforsBase): @@ -1199,6 +1199,7 @@ class TestParforNumPy(TestParforsBase):
self.check_variants(test_impl2, data_gen) self.check_variants(test_impl2, data_gen)
self.count_parfors_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_ndarray_fill(self):
def test_impl(x): def test_impl(x):
x.fill(7.0) x.fill(7.0)
@@ -4479,7 +4480,7 @@ class TestParforsVectorizer(TestPrangeBa @@ -4659,7 +4660,7 @@ class TestParforsVectorizer(TestPrangeBa
return asm return asm
- @linux_only - @linux_only
+ @unittest.skip("Our x86_64 asm is most probably different from the upstream one.") + @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): def test_vectorizer_fastmath_asm(self):
""" This checks that if fastmath is set and the underlying hardware """ This checks that if fastmath is set and the underlying hardware
is suitable, and the function supplied is amenable to fastmath based @@ -4700,7 +4701,7 @@ class TestParforsVectorizer(TestPrangeBa
@@ -4519,7 +4520,7 @@ class TestParforsVectorizer(TestPrangeBa
# check no zmm addressing is present # check no zmm addressing is present
self.assertTrue('zmm' not in v) self.assertTrue('zmm' not in v)
- @linux_only - @linux_only
+ @unittest.skip("Our x86_64 asm is most probably different from the upstream one.") + @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): def test_unsigned_refusal_to_vectorize(self):
""" This checks that if fastmath is set and the underlying hardware """ 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.59.1/numba/tests/test_parfors_passes.py
Index: numba-0.57.0/numba/tests/test_parfors_passes.py
=================================================================== ===================================================================
--- numba-0.57.0.orig/numba/tests/test_parfors_passes.py --- numba-0.59.1.orig/numba/tests/test_parfors_passes.py
+++ numba-0.57.0/numba/tests/test_parfors_passes.py +++ numba-0.59.1/numba/tests/test_parfors_passes.py
@@ -516,6 +516,7 @@ class TestConvertLoopPass(BaseTest): @@ -514,6 +514,7 @@ class TestConvertLoopPass(BaseTest):
str(raises.exception), 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_init_prange(self):
def test_impl(): def test_impl():
n = 20 n = 20
Index: numba-0.57.0/numba/tests/test_cli.py Index: numba-0.59.1/numba/tests/test_cli.py
=================================================================== ===================================================================
--- numba-0.57.0.orig/numba/tests/test_cli.py --- numba-0.59.1.orig/numba/tests/test_cli.py
+++ numba-0.57.0/numba/tests/test_cli.py +++ numba-0.59.1/numba/tests/test_cli.py
@@ -264,6 +264,7 @@ class TestGDBCLIInfoBrokenGdbs(TestCase) @@ -264,6 +264,7 @@ class TestGDBCLIInfoBrokenGdbs(TestCase)
self.assertIn("No such file or directory", stdout) self.assertIn("No such file or directory", stdout)
self.assertIn(path, stdout) self.assertIn(path, stdout)
@ -57,3 +57,15 @@ Index: numba-0.57.0/numba/tests/test_cli.py
def test_nonsense_gdb_binary(self): def test_nonsense_gdb_binary(self):
# Tests that a nonsense binary specified as gdb it picked up ok # Tests that a nonsense binary specified as gdb it picked up ok
env = os.environ.copy() env = os.environ.copy()
Index: numba-0.59.1/numba/tests/test_mathlib.py
===================================================================
--- numba-0.59.1.orig/numba/tests/test_mathlib.py
+++ numba-0.59.1/numba/tests/test_mathlib.py
@@ -508,6 +508,7 @@ class TestMathLib(TestCase):
float('-inf'), float('inf'), float('nan')]
self.run_unary(pyfunc, x_types, x_values, prec='exact')
+ @unittest.skip("Fails on ppc64le https://github.com/numba/numba/issues/8489")
def test_ldexp(self):
pyfunc = ldexp
cfunc = njit(pyfunc)