diff --git a/python-scikit-umfpack.changes b/python-scikit-umfpack.changes index 0d6f4b1..37f2eb2 100644 --- a/python-scikit-umfpack.changes +++ b/python-scikit-umfpack.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sat Apr 2 20:13:01 UTC 2022 - Ben Greiner + +- Add scikit-umfpack-pr68-scipy-sparse-linalg.patch + gh#scikit-umfpack/scikit-umfpack#68 +- x86_64 is the only platform where this works + ------------------------------------------------------------------- Thu Sep 9 02:08:15 UTC 2021 - Steve Kowalik diff --git a/python-scikit-umfpack.spec b/python-scikit-umfpack.spec index eb07220..bf54b71 100644 --- a/python-scikit-umfpack.spec +++ b/python-scikit-umfpack.spec @@ -1,7 +1,7 @@ # # spec file for package python-scikit-umfpack # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,6 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%global skip_python36 1 %define oldpython python Name: python-scikit-umfpack Version: 0.3.2 @@ -27,6 +26,8 @@ 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 Patch0: do-not-use-numpy-decorators.patch +# PATCH-FIX-UPSTREAM scikit-umfpack-pr68-scipy-sparse-linalg.patch -- gh#scikit-umfpack/scikit-umfpack68 +Patch1: scikit-umfpack-pr68-scipy-sparse-linalg.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module numpy-devel >= 1.14.3} BuildRequires: %{python_module scipy >= 1.0.0rc1} @@ -40,7 +41,7 @@ BuildRequires: suitesparse-devel BuildRequires: swig Requires: python-numpy >= 1.14.3 Requires: python-scipy >= 1.0.0rc1 -ExcludeArch: aarch64 ppc64 ppc64le +ExclusiveArch: x86_64 # SECTION test requirements BuildRequires: %{python_module pytest} # /SECTION @@ -81,6 +82,6 @@ export CFLAGS="%{optflags}" %license LICENSE %dir %{python_sitearch}/scikits/ %{python_sitearch}/scikits/umfpack/ -%{python_sitearch}/scikit_umfpack-%{version}-py*.egg-info +%{python_sitearch}/scikit_umfpack-%{version}*-info %changelog diff --git a/scikit-umfpack-pr68-scipy-sparse-linalg.patch b/scikit-umfpack-pr68-scipy-sparse-linalg.patch new file mode 100644 index 0000000..3aaeae8 --- /dev/null +++ b/scikit-umfpack-pr68-scipy-sparse-linalg.patch @@ -0,0 +1,102 @@ +Index: scikit-umfpack-0.3.2/scikits/umfpack/tests/test_umfpack.py +=================================================================== +--- scikit-umfpack-0.3.2.orig/scikits/umfpack/tests/test_umfpack.py ++++ scikit-umfpack-0.3.2/scikits/umfpack/tests/test_umfpack.py +@@ -11,8 +11,7 @@ import warnings + from numpy.testing import assert_array_almost_equal, run_module_suite + + from scipy import rand, matrix, diag, eye +-from scipy.sparse import csc_matrix, spdiags, SparseEfficiencyWarning +-from scipy.sparse.linalg import linsolve ++from scipy.sparse import csc_matrix, linalg, spdiags, SparseEfficiencyWarning + + import numpy as np + import scikits.umfpack as um +@@ -45,51 +44,51 @@ class TestScipySolvers(_DeprecationAccep + + def test_solve_complex_umfpack(self): + # Solve with UMFPACK: double precision complex +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = self.a.astype('D') + b = self.b +- x = linsolve.spsolve(a, b) ++ x = linalg.spsolve(a, b) + assert_array_almost_equal(a*x, b) + + @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 +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = _to_int64(self.a.astype('D')) + b = self.b +- x = linsolve.spsolve(a, b) ++ x = linalg.spsolve(a, b) + assert_array_almost_equal(a*x, b) + + def test_solve_umfpack(self): + # Solve with UMFPACK: double precision +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = self.a.astype('d') + b = self.b +- x = linsolve.spsolve(a, b) ++ x = linalg.spsolve(a, b) + assert_array_almost_equal(a*x, b) + + @unittest.skipIf(_is_32bit_platform, reason="requires 64 bit platform") + def test_solve_long_umfpack(self): + # Solve with UMFPACK: double precision +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = _to_int64(self.a.astype('d')) + b = self.b +- x = linsolve.spsolve(a, b) ++ x = linalg.spsolve(a, b) + assert_array_almost_equal(a*x, b) + + def test_solve_sparse_rhs(self): + # Solve with UMFPACK: double precision, sparse rhs +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = self.a.astype('d') + b = csc_matrix(self.b).T +- x = linsolve.spsolve(a, b) ++ x = linalg.spsolve(a, b) + assert_array_almost_equal(a*x, self.b) + + def test_factorized_umfpack(self): + # Prefactorize (with UMFPACK) matrix for solving with multiple rhs +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = self.a.astype('d') +- solve = linsolve.factorized(a) ++ solve = linalg.factorized(a) + + x1 = solve(self.b) + assert_array_almost_equal(a*x1, self.b) +@@ -99,9 +98,9 @@ class TestScipySolvers(_DeprecationAccep + @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 +- linsolve.use_solver(useUmfpack=True) ++ linalg.use_solver(useUmfpack=True) + a = _to_int64(self.a.astype('d')) +- solve = linsolve.factorized(a) ++ solve = linalg.factorized(a) + + x1 = solve(self.b) + assert_array_almost_equal(a*x1, self.b) +@@ -110,9 +109,9 @@ class TestScipySolvers(_DeprecationAccep + + def test_factorized_without_umfpack(self): + # Prefactorize matrix for solving with multiple rhs +- linsolve.use_solver(useUmfpack=False) ++ linalg.use_solver(useUmfpack=False) + a = self.a.astype('d') +- solve = linsolve.factorized(a) ++ solve = linalg.factorized(a) + + x1 = solve(self.b) + assert_array_almost_equal(a*x1, self.b)