From 613d28098a2fe241aed97f29db74f7a62df6448ccdaf9471063b4fa7694c2c2c Mon Sep 17 00:00:00 2001 From: Daniel Garcia Date: Wed, 7 Feb 2024 07:31:40 +0000 Subject: [PATCH] - drop do-not-use-numpy-decorators.patch - drop numpy125.patch - Update to 0.4.1 * BLD: fix building with Clang, avoid using GCC-specific -print-sysroot * BLD: try to locate OpenBLAS with pkg-config first * BLD: add support for using a native file to set library/include dirs * DOC: update and extend the install instructions * MAINT: include particular headers only for version < 6 - 0.4.0 * Allow reuse of symbolic factorization * do not use deprecated pkg_resources * fix deprecation warning * do not use NumPy decorators * do not use nose-compat NumPy functions * BLD: fix the build, remove `stdint.h` and suppress warnings * TST: fix issues in test suite * BLD: fix building in conda envs OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-scikit-umfpack?expand=0&rev=15 --- do-not-use-numpy-decorators.patch | 98 ------------------------------- numpy125.patch | 48 --------------- python-scikit-umfpack.changes | 21 +++++++ python-scikit-umfpack.spec | 24 ++++---- scikit-umfpack-0.3.3.tar.gz | 3 - scikit_umfpack-0.4.1.tar.gz | 3 + 6 files changed, 35 insertions(+), 162 deletions(-) delete mode 100644 do-not-use-numpy-decorators.patch delete mode 100644 numpy125.patch delete mode 100644 scikit-umfpack-0.3.3.tar.gz create mode 100644 scikit_umfpack-0.4.1.tar.gz diff --git a/do-not-use-numpy-decorators.patch b/do-not-use-numpy-decorators.patch deleted file mode 100644 index f97ff65..0000000 --- a/do-not-use-numpy-decorators.patch +++ /dev/null @@ -1,98 +0,0 @@ -Index: scikit-umfpack-0.3.3/scikits/umfpack/tests/test_interface.py -=================================================================== ---- scikit-umfpack-0.3.3.orig/scikits/umfpack/tests/test_interface.py -+++ scikit-umfpack-0.3.3/scikits/umfpack/tests/test_interface.py -@@ -3,7 +3,7 @@ from __future__ import division, print_f - import warnings - import unittest - --from numpy.testing import assert_allclose, run_module_suite, dec -+from numpy.testing import assert_allclose, run_module_suite - from numpy.linalg import norm as dense_norm - - from scipy.sparse import csc_matrix, spdiags, SparseEfficiencyWarning -@@ -47,7 +47,7 @@ class TestSolvers(unittest.TestCase): - x = um.spsolve(a, b) - assert_allclose(a*x, b) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_solve_complex_int64_umfpack(self): - # Solve with UMFPACK: double precision complex, int64 indices - a = _to_int64(self.a.astype('D')) -@@ -62,7 +62,7 @@ class TestSolvers(unittest.TestCase): - x = um.spsolve(a, b) - assert_allclose(a*x, b) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_solve_int64_umfpack(self): - # Solve with UMFPACK: double precision, int64 indices - a = _to_int64(self.a.astype('d')) -@@ -88,7 +88,7 @@ class TestSolvers(unittest.TestCase): - x2 = lu.solve(self.b2) - assert_allclose(a*x2, self.b2) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_splu_solve_int64(self): - # Prefactorize (with UMFPACK) matrix with int64 indices for solving with - # multiple rhs -Index: scikit-umfpack-0.3.3/scikits/umfpack/tests/test_umfpack.py -=================================================================== ---- scikit-umfpack-0.3.3.orig/scikits/umfpack/tests/test_umfpack.py -+++ scikit-umfpack-0.3.3/scikits/umfpack/tests/test_umfpack.py -@@ -8,7 +8,7 @@ import random - import unittest - import warnings - --from numpy.testing import assert_array_almost_equal, run_module_suite, dec -+from numpy.testing import assert_array_almost_equal, run_module_suite - - from scipy import rand, matrix, diag, eye - from scipy.sparse import csc_matrix, linalg, spdiags, SparseEfficiencyWarning -@@ -50,7 +50,7 @@ class TestScipySolvers(_DeprecationAccep - x = linalg.spsolve(a, b) - assert_array_almost_equal(a*x, b) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_solve_complex_long_umfpack(self): - # Solve with UMFPACK: double precision complex, long indices - linalg.use_solver(useUmfpack=True) -@@ -67,7 +67,7 @@ class TestScipySolvers(_DeprecationAccep - x = linalg.spsolve(a, b) - assert_array_almost_equal(a*x, b) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_solve_long_umfpack(self): - # Solve with UMFPACK: double precision - linalg.use_solver(useUmfpack=True) -@@ -95,7 +95,7 @@ class TestScipySolvers(_DeprecationAccep - x2 = solve(self.b2) - assert_array_almost_equal(a*x2, self.b2) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_factorized_long_umfpack(self): - # Prefactorize (with UMFPACK) matrix for solving with multiple rhs - linalg.use_solver(useUmfpack=True) -@@ -150,7 +150,7 @@ class TestFactorization(_DeprecationAcce - - assert_array_almost_equal(P*R*A*Q,L*U) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_complex_int64_lu(self): - # Getting factors of complex matrix with long indices - umfpack = um.UmfpackContext("zl") -@@ -191,7 +191,7 @@ class TestFactorization(_DeprecationAcce - - assert_array_almost_equal(P*R*A*Q,L*U) - -- @dec.skipif(_is_32bit_platform) -+ @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") - def test_real_int64_lu(self): - # Getting factors of real matrix with long indices - umfpack = um.UmfpackContext("dl") diff --git a/numpy125.patch b/numpy125.patch deleted file mode 100644 index a1e64b7..0000000 --- a/numpy125.patch +++ /dev/null @@ -1,48 +0,0 @@ -Index: scikit-umfpack-0.3.3/scikits/umfpack/tests/test_interface.py -=================================================================== ---- scikit-umfpack-0.3.3.orig/scikits/umfpack/tests/test_interface.py -+++ scikit-umfpack-0.3.3/scikits/umfpack/tests/test_interface.py -@@ -3,7 +3,7 @@ from __future__ import division, print_f - import warnings - import unittest - --from numpy.testing import assert_allclose, run_module_suite -+from numpy.testing import assert_allclose - from numpy.linalg import norm as dense_norm - - from scipy.sparse import csc_matrix, spdiags, SparseEfficiencyWarning -@@ -133,4 +133,4 @@ class TestSolvers(unittest.TestCase): - assert_allclose(A2, A.A, atol=1e-13) - - if __name__ == "__main__": -- run_module_suite() -+ unittest.main() -Index: scikit-umfpack-0.3.3/scikits/umfpack/tests/test_umfpack.py -=================================================================== ---- scikit-umfpack-0.3.3.orig/scikits/umfpack/tests/test_umfpack.py -+++ scikit-umfpack-0.3.3/scikits/umfpack/tests/test_umfpack.py -@@ -8,7 +8,7 @@ import random - import unittest - import warnings - --from numpy.testing import assert_array_almost_equal, run_module_suite -+from numpy.testing import assert_array_almost_equal - - from scipy import rand, matrix, diag, eye - from scipy.sparse import csc_matrix, linalg, spdiags, SparseEfficiencyWarning -@@ -239,4 +239,4 @@ class TestFactorization(_DeprecationAcce - - - if __name__ == "__main__": -- run_module_suite() -+ unittest.main() -Index: scikit-umfpack-0.3.3/scikits/umfpack/__init__.py -=================================================================== ---- scikit-umfpack-0.3.3.orig/scikits/umfpack/__init__.py -+++ scikit-umfpack-0.3.3/scikits/umfpack/__init__.py -@@ -22,5 +22,3 @@ if __doc__ is not None: - del _umfpack_doc, _interface_doc - - __all__ = [s for s in dir() if not s.startswith('_')] --from numpy.testing import Tester --test = Tester().test diff --git a/python-scikit-umfpack.changes b/python-scikit-umfpack.changes index 14c518a..53b7da8 100644 --- a/python-scikit-umfpack.changes +++ b/python-scikit-umfpack.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Feb 7 07:20:22 UTC 2024 - Daniel Garcia + +- drop do-not-use-numpy-decorators.patch +- drop numpy125.patch +- Update to 0.4.1 + * BLD: fix building with Clang, avoid using GCC-specific -print-sysroot + * BLD: try to locate OpenBLAS with pkg-config first + * BLD: add support for using a native file to set library/include dirs + * DOC: update and extend the install instructions + * MAINT: include particular headers only for version < 6 +- 0.4.0 + * Allow reuse of symbolic factorization + * do not use deprecated pkg_resources + * fix deprecation warning + * do not use NumPy decorators + * do not use nose-compat NumPy functions + * BLD: fix the build, remove `stdint.h` and suppress warnings + * TST: fix issues in test suite + * BLD: fix building in conda envs + ------------------------------------------------------------------- Thu Aug 31 12:48:22 UTC 2023 - Markéta Machová diff --git a/python-scikit-umfpack.spec b/python-scikit-umfpack.spec index df8e3bf..bdadbde 100644 --- a/python-scikit-umfpack.spec +++ b/python-scikit-umfpack.spec @@ -1,7 +1,7 @@ # # spec file for package python-scikit-umfpack # -# 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 @@ -18,19 +18,18 @@ %define oldpython python Name: python-scikit-umfpack -Version: 0.3.3 +Version: 0.4.1 Release: 0 Summary: Python interface to UMFPACK sparse direct solver License: BSD-3-Clause URL: https://github.com/scikit-umfpack/scikit-umfpack -Source0: https://files.pythonhosted.org/packages/source/s/scikit-umfpack/scikit-umfpack-%{version}.tar.gz -# PATCH-FIX-UPSTREAM both patches sent upstream in https://github.com/scikit-umfpack/scikit-umfpack/pull/87 NumPy 1.25 compatibility fixes -Patch0: do-not-use-numpy-decorators.patch -Patch1: numpy125.patch +Source0: https://files.pythonhosted.org/packages/source/s/scikit-umfpack/scikit_umfpack-%{version}.tar.gz BuildRequires: %{python_module devel} +BuildRequires: %{python_module meson-python} BuildRequires: %{python_module numpy-devel >= 1.14.3} +BuildRequires: %{python_module pip} BuildRequires: %{python_module scipy >= 1.0.0rc1} -BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: c++_compiler BuildRequires: fdupes BuildRequires: gcc-fortran @@ -54,27 +53,26 @@ Obsoletes: %{oldpython}-scikits-umfpack < %{version} The scikit-umfpack package provides wrapper of UMFPACK sparse direct solver to SciPy. %prep -%setup -q -n scikit-umfpack-%{version} +%setup -q -n scikit_umfpack-%{version} %autopatch -p1 -sed -i -e '/^#!\//, 1d' scikits/umfpack/setup.py sed -i -e '/^#!\//, 1d' scikits/umfpack/tests/try_umfpack.py %build export LANG=en_US.UTF-8 export CFLAGS="%{optflags}" -%python_build +%pyproject_wheel %install export LANG=en_US.UTF-8 -%python_install +%pyproject_install %python_expand rm %{buildroot}%{$python_sitearch}/scikits/__init__.py* -%python_expand rm %{buildroot}%{$python_sitearch}/MANIFEST.in +%python_expand rm -rf %{buildroot}%{$python_sitearch}/scikits/__pycache__ %python_expand %fdupes %{buildroot}%{$python_sitearch} %check export LANG=en_US.UTF-8 export CFLAGS="%{optflags}" -%pytest_arch +%pytest_arch --pyargs scikits.umfpack %files %{python_files} %doc README.rst diff --git a/scikit-umfpack-0.3.3.tar.gz b/scikit-umfpack-0.3.3.tar.gz deleted file mode 100644 index 7b8b61f..0000000 --- a/scikit-umfpack-0.3.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:464534529de182f2444809807f14133b7fee86605c167060917f115a31633ec4 -size 26241 diff --git a/scikit_umfpack-0.4.1.tar.gz b/scikit_umfpack-0.4.1.tar.gz new file mode 100644 index 0000000..387e347 --- /dev/null +++ b/scikit_umfpack-0.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23a16750fbf866d32341ab3885fd59687bc9d5fbb9d372e50f6a968059604d59 +size 31845