Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-numba for openSUSE:Factory 
checked in at 2021-03-24 16:13:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-numba (Old)
 and      /work/SRC/openSUSE:Factory/.python-numba.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-numba"

Wed Mar 24 16:13:57 2021 rev:28 rq:880619 version:0.53.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-numba/python-numba.changes        
2020-11-04 18:31:35.156254972 +0100
+++ /work/SRC/openSUSE:Factory/.python-numba.new.2401/python-numba.changes      
2021-03-24 16:13:58.736003641 +0100
@@ -1,0 +2,85 @@
+Wed Mar 17 16:51:46 UTC 2021 - Ben Greiner <[email protected]>
+
+- Update to 0.53.0
+  * Support for Python 3.9
+  * Function sub-typing
+  * Initial support for dynamic gufuncs (i.e. from @guvectorize)
+  * Parallel Accelerator (@njit(parallel=True) now supports
+    Fortran ordered arrays
+  * Full release notes at
+    https://numba.readthedocs.io/en/0.53.0/release-notes.html
+- Don't unpin-llvmlite.patch. It really need to be the correct
+  version.
+- Refresh skip-failing-tests.patch
+- Add packaging-ignore-setuptools-deprecation.patch
+  gh#numba/numba#6837
+- Add numba-pr6851-llvm-timings.patch gh#numba/numba#6851 in order
+  to fix 32-bit issues gh#numba/numba#6832
+
+-------------------------------------------------------------------
+Wed Feb 17 09:49:48 UTC 2021 - Ben Greiner <[email protected]>
+
+- 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 
+  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 
+    reasons:
+    - 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 
+      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 
+    __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 
+    (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 
+    interleaved line markers and Python source (Stuart Archibald).
+  * The BSD operating system is now unofficially supported (Stuart 
+    Archibald).
+  * Numerous features/functionality improvements to NumPy support, 
+    including support for:
+    - np.asfarray (Guilherme Leobas)
+    - ???subtyping??? in record arrays (Lucio Fernandez-Arjona)
+    - np.split and np.array_split (Isaac Virshup)
+    - operator.contains with ndarray (@mugoh).
+    - np.asarray_chkfinite (Rishabh Varshney).
+    - NumPy 1.19 (Stuart Archibald).
+    - 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 
+    been   * added (Mike Williams).
+  * Access has been wired in to all libdevice functions (Graham
+    Markall).
+  * Additional CUDA atomic operations have been added (Michae 
+    Collison).
+  * 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 
+    schedule.
+- NEP 29: Skip python36 build. Python 3.6 is dropped by NumPy 1.20
+
+-------------------------------------------------------------------

Old:
----
  numba-0.51.2.tar.gz
  unpin-llvmlite.patch

New:
----
  numba-0.53.0.tar.gz
  numba-pr6851-llvm-timings.patch
  packaging-ignore-setuptools-deprecation.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-numba.spec ++++++
--- /var/tmp/diff_new_pack.Ch1Pmu/_old  2021-03-24 16:13:59.444004383 +0100
+++ /var/tmp/diff_new_pack.Ch1Pmu/_new  2021-03-24 16:13:59.448004387 +0100
@@ -1,7 +1,7 @@
 #
-# spec file for package python-numba
+# spec file for package python-numba-test
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,6 +18,8 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
+# NEP 29: python36-numpy and -scipy no longer in TW
+%define skip_python36 1
 %global flavor @BUILD_FLAVOR@%{nil}
 %if "%{flavor}" == "test"
 %define psuffix -test
@@ -27,16 +29,20 @@
 %bcond_with test
 %endif
 Name:           python-numba%{psuffix}
-Version:        0.51.2
+Version:        0.53.0
 Release:        0
 Summary:        NumPy-aware optimizing compiler for Python using LLVM
 License:        BSD-2-Clause
-URL:            https://github.com/numba/numba
+URL:            https://numba.pydata.org/
 Source:         
https://files.pythonhosted.org/packages/source/n/numba/numba-%{version}.tar.gz
-Patch0:         skip-failing-tests.patch
 # PATCH-FIX-UPSTREAM fix-max-name-size.patch -- fix for gh#numba/numba#3876 -- 
from gh#numba/numba#4373
-Patch1:         fix-max-name-size.patch
-Patch2:         unpin-llvmlite.patch
+Patch0:         fix-max-name-size.patch
+# PATCH-FIX-UPSTREAM packaging-ignore-setuptools-deprecation.patch -- 
gh#numba/numba#6837
+Patch1:         
https://github.com/numba/numba/pull/6837.patch#/packaging-ignore-setuptools-deprecation.patch
+# PATCH-FIX-USPTREAM ignore empty system time column on llvm timings --  
gh#numba/numba#6851
+Patch2:         numba-pr6851-llvm-timings.patch
+# PATCH-FIX-OPENSUSE skip tests failing due to OBS specifics
+Patch3:         skip-failing-tests.patch
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module numpy-devel >= 1.15}
 BuildRequires:  %{python_module setuptools}
@@ -44,11 +50,12 @@
 BuildRequires:  gcc-c++
 BuildRequires:  python-rpm-macros
 BuildRequires:  tbb-devel
-Requires:       python-llvmlite >= 0.33
+Requires:       python-llvmlite < 0.37
+Requires:       python-llvmlite >= 0.36
 Requires:       python-numpy >= 1.15
 Requires:       python-scipy >= 0.16
 Requires(post): update-alternatives
-Requires(preun): update-alternatives
+Requires(preun):update-alternatives
 Recommends:     python-Jinja2
 Recommends:     python-Pygments
 Recommends:     python-cffi
@@ -59,10 +66,10 @@
 BuildRequires:  %{python_module Pygments}
 BuildRequires:  %{python_module cffi}
 BuildRequires:  %{python_module ipython}
-BuildRequires:  %{python_module llvmlite >= 0.33}
 BuildRequires:  %{python_module numba >= %{version}}
 BuildRequires:  %{python_module numba-devel >= %{version}}
 BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module psutil}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module scipy >= 0.16}
 BuildRequires:  %{python_module tbb}
@@ -99,19 +106,20 @@
 %setup -q -n numba-%{version}
 %autopatch -p1
 
-# due to new numpy version tests now fail
-# Remove this with version update! (>0.48.0)
+# Incompatilbe numpy versions (?)
+# Check these with every version update! (Last check 0.53)
 # https://github.com/numba/numba/issues/5251
+# https://numba.discourse.group/t/helping-test-numba-0-53-0-rc/519/34
 rm numba/tests/test_np_functions.py
-rm numba/tests/test_ufuncs.py
-rm numba/tests/test_array_manipulation.py
 rm numba/tests/test_array_reductions.py
-# https://github.com/numba/numba/issues/5179
-rm numba/tests/test_hashing.py
 # timeouts randomly in OBS
 rm numba/tests/test_typedlist.py
-# as we reduced the amount of tests:
-sed -i -e 's:5000:3000:' numba/tests/test_runtests.py
+# if we reduced the amount of tests too much:
+#sed -i -e '/check_testsuite_size/ s/5000/3000/' numba/tests/test_runtests.py
+# our setup imports distutils. Not sure why, but should not be a problem.
+sed -i -e "/def test_laziness/,/def/ {/'distutils',/ d}" 
numba/tests/test_import.py
+
+sed -i -e '1{/env python/ d}' numba/misc/appdirs.py
 
 %build
 export CFLAGS="%{optflags} -fPIC"
@@ -120,7 +128,12 @@
 %install
 %if !%{with test}
 %python_install
-%python_expand %fdupes %{buildroot}%{$python_sitearch}
+%{python_expand #
+%fdupes %{buildroot}%{$python_sitearch}
+find %{buildroot}%{$python_sitearch} -name '*.[ch]' > 
devel-files0-%{$python_bin_suffix}.files
+sed 's|^%{buildroot}||' devel-files0-%{$python_bin_suffix}.files > 
devel-files-%{$python_bin_suffix}.files
+sed 's|^%{buildroot}|%%exclude |' devel-files0-%{$python_bin_suffix}.files > 
devel-files-exclude-%{$python_bin_suffix}.files
+}
 
 %python_clone -a %{buildroot}%{_bindir}/numba
 %python_clone -a %{buildroot}%{_bindir}/pycc
@@ -130,7 +143,7 @@
 %if %{with test}
 mv numba numba_temp
 export NUMBA_PARALLEL_DIAGNOSTICS=1
-%{python_expand export PYTHONPATH=%{$python_sitearch}
+%{python_expand # test the installed package
 %{_bindir}/numba-%{$python_bin_suffix} -s
 $python -m numba.runtests -v -b --exclude-tags='long_running' -m 
%{_smp_build_ncpus} -- numba.tests
 }
@@ -144,23 +157,16 @@
 %preun
 %python_uninstall_alternative numba
 
-%files %{python_files}
+%files %{python_files} -f devel-files-exclude-%{python_bin_suffix}.files
 %license LICENSE
 %doc CHANGE_LOG README.rst
 %python_alternative %{_bindir}/numba
 %python_alternative %{_bindir}/pycc
 %{python_sitearch}/numba/
 %{python_sitearch}/numba-%{version}-py*.egg-info
-%exclude %{python_sitearch}/numba/*.c
-%exclude %{python_sitearch}/numba/*.h
-%exclude %{python_sitearch}/numba/*/*.c
-%exclude %{python_sitearch}/numba/*/*.h
-
-%files %{python_files devel}
-%{python_sitearch}/numba/*.c
-%{python_sitearch}/numba/*.h
-%{python_sitearch}/numba/*/*.c
-%{python_sitearch}/numba/*/*.h
+
+%files %{python_files devel}  -f devel-files-%{python_bin_suffix}.files
+%license LICENSE
 %endif
 
 %changelog

++++++ numba-0.51.2.tar.gz -> numba-0.53.0.tar.gz ++++++
++++ 41317 lines of diff (skipped)

++++++ numba-pr6851-llvm-timings.patch ++++++
diff --git a/numba/misc/llvm_pass_timings.py b/numba/misc/llvm_pass_timings.py
index 205bb3396..b3263dd45 100644
--- a/numba/misc/llvm_pass_timings.py
+++ b/numba/misc/llvm_pass_timings.py
@@ -239,12 +239,14 @@ class ProcessedPassTimings:
                     missing[k] = 0.0
             # parse timings
             n = r"\s*((?:[0-9]+\.)?[0-9]+)"
-            pat = f"\\s+{n}\\s*\\({n}%\\)" * (len(headers) - 1) + r"\s*(.*)"
+            pat = f"\\s+(?:{n}\\s*\\({n}%\\)|-+)" * (len(headers) - 1)
+            pat += r"\s*(.*)"
             for ln in line_iter:
                 m = re.match(pat, ln)
                 if m is not None:
                     raw_data = list(m.groups())
-                    data = {k: float(v) for k, v in zip(attrs, raw_data)}
+                    data = {k: float(v) if v is not None else 0.0
+                            for k, v in zip(attrs, raw_data)}
                     data.update(missing)
                     pass_name = raw_data[-1]
                     rec = PassTimingRecord(
diff --git a/numba/tests/test_llvm_pass_timings.py 
b/numba/tests/test_llvm_pass_timings.py
index a7e9135cd..25b77e2c5 100644
--- a/numba/tests/test_llvm_pass_timings.py
+++ b/numba/tests/test_llvm_pass_timings.py
@@ -5,6 +5,30 @@ from numba.tests.support import TestCase, override_config
 from numba.misc import llvm_pass_timings as lpt
 
 
+timings_raw1 = """
+===-------------------------------------------------------------------------===
+                      ... Pass execution timing report ...
+===-------------------------------------------------------------------------===
+  Total Execution Time: 0.0001 seconds (0.0001 wall clock)
+
+   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- 
Name ---
+   0.0001 ( 90.1%)   0.0001 ( 90.1%)   0.0001 ( 90.1%)   0.0001 ( 90.1%)  A1
+   0.0000 (  9.9%)   0.0000 (  9.9%)   0.0000 (  9.9%)   0.0000 (  9.9%)  A2
+   0.0001 (100.0%)   0.0001 (100.0%)   0.0001 (100.0%)   0.0001 (100.0%)  Total
+
+"""    # noqa: E501
+
+timings_raw2 = """
+  Total Execution Time: 0.0001 seconds (0.0001 wall clock)
+
+   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- 
Name ---
+   0.0001 ( 90.1%)        -----        0.0001 ( 90.1%)   0.0001 ( 90.1%)  A1
+   0.0000 (  9.9%)        -----        0.0000 (  9.9%)   0.0000 (  9.9%)  A2
+   0.0001 (100.0%)        -----        0.0001 (100.0%)   0.0001 (100.0%)  Total
+
+"""    # noqa: E501
+
+
 class TestLLVMPassTimings(TestCase):
 
     def test_usage(self):
@@ -61,6 +85,15 @@ class TestLLVMPassTimings(TestCase):
             self.assertGreaterEqual(last, cur)
             cur = last
 
+    def test_parse_raw(self):
+        timings1 = lpt.ProcessedPassTimings(timings_raw1)
+        self.assertAlmostEqual(timings1.get_total_time(), 0.0001)
+        self.assertIsInstance(timings1.summary(), str)
+
+        timings2 = lpt.ProcessedPassTimings(timings_raw2)
+        self.assertAlmostEqual(timings2.get_total_time(), 0.0001)
+        self.assertIsInstance(timings2.summary(), str)
+
 
 class TestLLVMPassTimingsDisabled(TestCase):
     def test_disabled_behavior(self):
++++++ packaging-ignore-setuptools-deprecation.patch ++++++
>From 4811aeceb2dde05124697909b87cf4ad2ae07c65 Mon Sep 17 00:00:00 2001
From: Stuart Archibald <[email protected]>
Date: Wed, 17 Mar 2021 12:29:16 +0000
Subject: [PATCH 1/2] Ignore warnings from packaging module when testing import
 behaviour.

As title.

Fixes #6831
---
 numba/tests/test_import.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/numba/tests/test_import.py b/numba/tests/test_import.py
index 7cc9082046..a46ad2df6c 100644
--- a/numba/tests/test_import.py
+++ b/numba/tests/test_import.py
@@ -58,7 +58,9 @@ def test_no_accidental_warnings(self):
         # checks that importing Numba isn't accidentally triggering warnings 
due
         # to e.g. deprecated use of import locations from Python's stdlib
         code = "import numba"
-        flags = ["-Werror",]
+        # See: https://github.com/numba/numba/issues/6831
+        # bug in setuptools/packaging causing a deprecation warning
+        flags = ["-Werror", "-Wignore::DeprecationWarning:packaging:"]
         self.run_in_subproc(code, flags)
 
     def test_import_star(self):

>From 94fc06e77b648b1cb5021cd6d460aa42808a0393 Mon Sep 17 00:00:00 2001
From: Stuart Archibald <[email protected]>
Date: Wed, 17 Mar 2021 16:42:14 +0000
Subject: [PATCH 2/2] Respond to feedback

As title]
---
 numba/tests/test_import.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/numba/tests/test_import.py b/numba/tests/test_import.py
index a46ad2df6c..a0ca5725eb 100644
--- a/numba/tests/test_import.py
+++ b/numba/tests/test_import.py
@@ -60,7 +60,7 @@ def test_no_accidental_warnings(self):
         code = "import numba"
         # See: https://github.com/numba/numba/issues/6831
         # bug in setuptools/packaging causing a deprecation warning
-        flags = ["-Werror", "-Wignore::DeprecationWarning:packaging:"]
+        flags = ["-Werror", "-Wignore::DeprecationWarning:packaging.version:"]
         self.run_in_subproc(code, flags)
 
     def test_import_star(self):
++++++ skip-failing-tests.patch ++++++
--- /var/tmp/diff_new_pack.Ch1Pmu/_old  2021-03-24 16:13:59.800004757 +0100
+++ /var/tmp/diff_new_pack.Ch1Pmu/_new  2021-03-24 16:13:59.800004757 +0100
@@ -1,8 +1,8 @@
-Index: numba-0.49.0/numba/tests/test_parfors.py
+Index: numba-0.53.0/numba/tests/test_parfors.py
 ===================================================================
---- numba-0.49.0.orig/numba/tests/test_parfors.py
-+++ numba-0.49.0/numba/tests/test_parfors.py
-@@ -1505,7 +1505,7 @@ class TestParfors(TestParforsBase):
+--- numba-0.53.0.orig/numba/tests/test_parfors.py
++++ numba-0.53.0/numba/tests/test_parfors.py
+@@ -1649,7 +1649,7 @@ class TestParfors(TestParforsBase):
          msg = ("The reshape API may only include one negative argument.")
          self.assertIn(msg, str(raised.exception))
  
@@ -11,7 +11,7 @@
      def test_ndarray_fill(self):
          def test_impl(x):
              x.fill(7.0)
-@@ -2541,7 +2541,7 @@ class TestParforsVectorizer(TestPrangeBa
+@@ -2842,7 +2842,7 @@ class TestParforsVectorizer(TestPrangeBa
      # to check vsqrtpd operates on zmm
      match_vsqrtpd_on_zmm = re.compile('\n\s+vsqrtpd\s+.*zmm.*\n')
  
@@ -20,7 +20,7 @@
      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
-@@ -2584,7 +2584,7 @@ class TestParforsVectorizer(TestPrangeBa
+@@ -2885,7 +2885,7 @@ class TestParforsVectorizer(TestPrangeBa
              # check no zmm addressing is present
              self.assertTrue('zmm' not in v)
  
@@ -29,10 +29,10 @@
      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.49.0/numba/tests/test_parfors_passes.py
+Index: numba-0.53.0/numba/tests/test_parfors_passes.py
 ===================================================================
---- numba-0.49.0.orig/numba/tests/test_parfors_passes.py
-+++ numba-0.49.0/numba/tests/test_parfors_passes.py
+--- numba-0.53.0.orig/numba/tests/test_parfors_passes.py
++++ numba-0.53.0/numba/tests/test_parfors_passes.py
 @@ -512,6 +512,7 @@ class TestConvertLoopPass(BaseTest):
              str(raises.exception),
          )

Reply via email to