The package rpms/scipy.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/scipy.git/commit/?id=28e51aacc735b17... https://src.fedoraproject.org/cgit/rpms/scipy.git/commit/?id=f77aeeb563caa62....
Change: +%ifarch riscv64 -%ifarch ppc64le
Thanks.
Full change: ============
commit f6692af6bf519431587c8954555f0b69d34fb271 Author: Pavel Simovec psimovec@redhat.com Date: Wed May 22 13:13:12 2024 +0200
Remove python3-pooch optional dependency in RHEL
diff --git a/scipy.spec b/scipy.spec index 1f5c0d6..75a3d2e 100644 --- a/scipy.spec +++ b/scipy.spec @@ -6,8 +6,10 @@ # but it is usually not available soon enough for new major Python versions. %if 0%{?rhel} %bcond_with pythran +%bcond_with pooch %else %bcond_without pythran +%bcond_without pooch %endif
# The code is not safe to build with LTO @@ -34,7 +36,7 @@ Summary: Scientific Tools for Python Name: scipy Version: 1.11.3 -Release: 9%{?dist} +Release: 10%{?dist}
# BSD-3-Clause -- whole package except: # BSD-2-Clause -- scipy/_lib/_pep440.py @@ -96,7 +98,10 @@ leading scientists and engineers.}
%package -n python3-scipy Summary: Scientific Tools for Python -Requires: python3-numpy, python3-f2py, python3-pooch +Requires: python3-numpy, python3-f2py +%if %{with pooch} +Requires: python3-pooch +%endif Provides: bundled(arpack) = 3.3.0 Provides: bundled(biasedurn) Provides: bundled(boost-math) @@ -135,6 +140,9 @@ Scipy test files %if %{without pythran} sed -i '/pythran/d' pyproject.toml %endif +%if %{without pooch} +sed -i '/pooch/d' pyproject.toml +%endif
cat >> pyproject.toml << EOF
@@ -281,7 +289,9 @@ not test_gejsv_NAG'" %endif
pushd %{buildroot}/%{python3_sitearch} -%{pytest} scipy %{?!rhel:--numprocesses=auto} +# Ignoring the datasets tests as we don't have the optional pooch +# dependency on RHEL. +%{pytest} %{!?with_pooch:--ignore=scipy/datasets/tests/test_data.py} scipy %{?!rhel:--numprocesses=auto} # Remove test remnants rm -rf gram{A,B} rm -rf .pytest_cache @@ -307,6 +317,9 @@ popd %endif
%changelog +* Wed May 22 2024 Pavel Simovec psimovec@redhat.com - 1.11.3-10 +- Remove python3-pooch optional dependency from RHEL + * Thu May 02 2024 Pavel Simovec psimovec@redhat.com - 1.11.3-9 - Build without pythran in RHEL by default
commit 340c10eb7913fc70b9a0bd7a3c83317ae0273aa7 Author: Pavel Simovec psimovec@redhat.com Date: Thu May 9 10:45:12 2024 +0200
Disable test_minimize_constrained
The test started failing on ELN without any direct changes to scipy
diff --git a/scipy.spec b/scipy.spec index b23aed8..1f5c0d6 100644 --- a/scipy.spec +++ b/scipy.spec @@ -253,8 +253,10 @@ not test_distance_transform_cdt05'"
%ifarch x86_64 %if 0%{?rhel} +# test_minimize_constrained started failing on ELN without any direct changes to scipy export PYTEST_ADDOPTS="-k '$SKIP_ALL and \ -not test_gh7799'" +not test_gh7799 and \ +not test_minimize_constrained'" %endif %endif
commit 1b14aae3424fb0236f88ab80be3286553be94284 Author: Pavel Simovec psimovec@redhat.com Date: Thu May 9 10:40:15 2024 +0200
Build without pythran in RHEL by default
diff --git a/scipy.spec b/scipy.spec index 7c999f1..b23aed8 100644 --- a/scipy.spec +++ b/scipy.spec @@ -4,7 +4,11 @@ # Pythran is an optional build dependency. # When used, it makes some modules faster, # but it is usually not available soon enough for new major Python versions. +%if 0%{?rhel} +%bcond_with pythran +%else %bcond_without pythran +%endif
# The code is not safe to build with LTO %global _lto_cflags %{nil} @@ -30,7 +34,7 @@ Summary: Scientific Tools for Python Name: scipy Version: 1.11.3 -Release: 8%{?dist} +Release: 9%{?dist}
# BSD-3-Clause -- whole package except: # BSD-2-Clause -- scipy/_lib/_pep440.py @@ -301,6 +305,9 @@ popd %endif
%changelog +* Thu May 02 2024 Pavel Simovec psimovec@redhat.com - 1.11.3-9 +- Build without pythran in RHEL by default + * Wed Apr 17 2024 Benjamin A. Beasley code@musicinmybrain.net - 1.11.3-8 - Allow building with meson-python 0.16 - Allow building with pybind11 2.12
commit a9212d458d5d3fb8995c55d2a825e14f46fc36e9 Author: Benjamin A. Beasley code@musicinmybrain.net Date: Wed Apr 17 12:40:57 2024 -0400
Allow building with pybind11 2.12
diff --git a/scipy.spec b/scipy.spec index edb3052..7c999f1 100644 --- a/scipy.spec +++ b/scipy.spec @@ -176,7 +176,7 @@ sed -i '/meson-python/s/0.15.0/0.17.0/' pyproject.toml sed -i '/Cython/s/3.0/3.1/' pyproject.toml
# Loosen the upper bound on pybind11 -sed -i '/pybind11/s/2.11.1/2.12.0/' pyproject.toml +sed -i '/pybind11/s/2.11.1/2.13.0/' pyproject.toml
# Work around failure to detect open_memstream. In glibc, open_memstream is # not a real function. It is a weak alias to __open_memstream. @@ -303,6 +303,7 @@ popd %changelog * Wed Apr 17 2024 Benjamin A. Beasley code@musicinmybrain.net - 1.11.3-8 - Allow building with meson-python 0.16 +- Allow building with pybind11 2.12
* Fri Feb 02 2024 Maxwell G maxwell@gtmx.me - 1.11.3-7 - Use dynamic BuildRequires for python runtime dependencies
commit cfc9239a24558339fcf73fbf264c6d89da748b5b Author: Benjamin A. Beasley code@musicinmybrain.net Date: Wed Apr 17 12:37:31 2024 -0400
Allow building with meson-python 0.16
diff --git a/scipy.spec b/scipy.spec index e03d310..edb3052 100644 --- a/scipy.spec +++ b/scipy.spec @@ -30,7 +30,7 @@ Summary: Scientific Tools for Python Name: scipy Version: 1.11.3 -Release: 7%{?dist} +Release: 8%{?dist}
# BSD-3-Clause -- whole package except: # BSD-2-Clause -- scipy/_lib/_pep440.py @@ -170,7 +170,7 @@ sed -i '/^[[:blank:]]*"pytest-xdist"/d' pyproject.toml sed -i "/numpy.*python_version=='3.12'/s/1.26.0/1.24.4/" pyproject.toml
# Loosen the upper bound on meson-python -sed -i '/meson-python/s/0.15.0/0.16.0/' pyproject.toml +sed -i '/meson-python/s/0.15.0/0.17.0/' pyproject.toml
# Loosen the upper bound on Cython sed -i '/Cython/s/3.0/3.1/' pyproject.toml @@ -301,6 +301,9 @@ popd %endif
%changelog +* Wed Apr 17 2024 Benjamin A. Beasley code@musicinmybrain.net - 1.11.3-8 +- Allow building with meson-python 0.16 + * Fri Feb 02 2024 Maxwell G maxwell@gtmx.me - 1.11.3-7 - Use dynamic BuildRequires for python runtime dependencies
commit 28e51aacc735b173847740124637c746d11dbcdc Author: David Abdurachmanov davidlt@rivosinc.com Date: Mon Nov 6 12:45:05 2023 +0200
Enable riscv64
Ignore failing tests and increase the test timeout.
Signed-off-by: David Abdurachmanov davidlt@rivosinc.com Signed-off-by: Richard W.M. Jones rjones@redhat.com
diff --git a/scipy.spec b/scipy.spec index 2e4a5ee..e03d310 100644 --- a/scipy.spec +++ b/scipy.spec @@ -262,6 +262,18 @@ not test_shifts and \ not test_svdp'" %endif
+%ifarch riscv64 +export PYTEST_ADDOPTS="-k '$SKIP_ALL and \ +not TestSchur and \ +not test_gejsv_general and \ +not test_kendall_p_exact_large and \ +not test_gejsv_edge_arguments and \ +not test_gh12999 and \ +not test_propack and \ +not test_milp and \ +not test_gejsv_NAG'" +%endif + pushd %{buildroot}/%{python3_sitearch} %{pytest} scipy %{?!rhel:--numprocesses=auto} # Remove test remnants
commit 7d8ddcb20c278af0a26d1519a0fa8e9fdc225eb9 Author: Maxwell G maxwell@gtmx.me Date: Fri Feb 2 18:06:02 2024 +0000
Use inline python mini script instead of tomcli
diff --git a/scipy.spec b/scipy.spec index b1bd0a2..2e4a5ee 100644 --- a/scipy.spec +++ b/scipy.spec @@ -67,7 +67,6 @@ Patch: https://github.com/scipy/scipy/pull/19443.patch
BuildRequires: %{blaslib}-devel BuildRequires: gcc-gfortran, gcc-c++ -BuildRequires: tomcli
BuildRequires: pybind11-devel BuildRequires: python3-devel, python3-numpy-f2py @@ -189,13 +188,17 @@ sed -i "s/('has_openmemstream', )'0'/\1'1'/" scipy/_lib/meson.build # static deps from pyproject.toml to a file, and use that with %%pyproject_buildrequires. # # See https://github.com/mesonbuild/meson-python/issues/236 for more discussion. -tomcli-get pyproject.toml -F newline-list \ - project.dependencies > _install-requirements.txt
-# Do the same for test dependencies -tomcli-get pyproject.toml -F newline-list \ - project.optional-dependencies.test > _test-requirements.txt +# This could use tomcli, but we want to avoid pulling extra dependencies into ELN/RHEL. +python3 -c ' +import tomllib +from pathlib import Path
+with open("pyproject.toml", "rb") as fp: + data = tomllib.load(fp) +Path("_install-requirements.txt").write_text("\n".join(data["project"]["dependencies"])) +Path("_test-requirements.txt").write_text("\n".join(data["project"]["optional-dependencies"]["test"])) +'
%generate_buildrequires %pyproject_buildrequires -R _install-requirements.txt _test-requirements.txt
commit f77aeeb563caa6208261dab9974287fde18576cc Author: Maxwell G maxwell@gtmx.me Date: Fri Feb 2 17:59:34 2024 +0000
Remove test timeouts
These are not pertinent to the RPM builds. We just want to know whether the tests succeed or not, not how long they take on our builders.
diff --git a/scipy.spec b/scipy.spec index f916130..b1bd0a2 100644 --- a/scipy.spec +++ b/scipy.spec @@ -156,8 +156,8 @@ for f in $(grep -Frl numpy.distutils); do rm $f.orig done
-# Do not do benchmarking or coverage testing for RPM builds -sed -Ei '/^[[:blank:]]*"(asv|pytest-cov)"/d' pyproject.toml +# Do not do benchmarking, coverage, or timeout testing for RPM builds +sed -Ei '/^[[:blank:]]*"(asv|pytest-cov|pytest-timeout)"/d' pyproject.toml
# No scikit-umfpack in Fedora sed -i '/^[[:blank:]]*"scikit-umfpack"/d' pyproject.toml @@ -228,29 +228,20 @@ chmod 0755 %{buildroot}%{python3_sitearch}/scipy/sparse/linalg/_isolve/tests/tes # check against the reference BLAS/LAPACK export FLEXIBLAS=netlib
-# default test timeout -TIMEOUT=500 - # TestDatasets try to download from the internet SKIP_ALL="not TestDatasets" export PYTEST_ADDOPTS="-k '$SKIP_ALL'"
-%ifarch ppc64le -TIMEOUT=1000 -%endif - %ifarch aarch64 # TestConstructUtils::test_concatenate_int32_overflow is flaky on aarch64 export PYTEST_ADDOPTS="-k '$SKIP_ALL and \ not test_concatenate_int32_overflow'" -TIMEOUT=1000 %endif
%ifarch s390x # https://bugzilla.redhat.com/show_bug.cgi?id=1959353 export PYTEST_ADDOPTS="-k '$SKIP_ALL and \ not test_distance_transform_cdt05'" -TIMEOUT=1000 %endif
%ifarch x86_64 @@ -269,7 +260,7 @@ not test_svdp'" %endif
pushd %{buildroot}/%{python3_sitearch} -%{pytest} --timeout=${TIMEOUT} scipy %{?!rhel:--numprocesses=auto} +%{pytest} scipy %{?!rhel:--numprocesses=auto} # Remove test remnants rm -rf gram{A,B} rm -rf .pytest_cache
commit 9dfef28e2ea939017b29202e04d1b446e2113c1c Author: Maxwell G maxwell@gtmx.me Date: Fri Feb 2 02:42:57 2024 +0000
Fix broken regex
This sed invocation uses extended regex syntax (i.e., un-escaped `|` and parentheses capture groups) without the -E flag.
diff --git a/scipy.spec b/scipy.spec index fb00ff9..f916130 100644 --- a/scipy.spec +++ b/scipy.spec @@ -157,7 +157,7 @@ for f in $(grep -Frl numpy.distutils); do done
# Do not do benchmarking or coverage testing for RPM builds -sed -i '/^[[:blank:]]*"(asv|pytest-cov)"/d' pyproject.toml +sed -Ei '/^[[:blank:]]*"(asv|pytest-cov)"/d' pyproject.toml
# No scikit-umfpack in Fedora sed -i '/^[[:blank:]]*"scikit-umfpack"/d' pyproject.toml
commit 8904f985ffd4a075dc0bfce77f4e342e23bd2363 Author: Maxwell G maxwell@gtmx.me Date: Thu Feb 1 21:38:40 2024 +0000
Use dynamic BuildRequires for python runtime dependencies
diff --git a/scipy.spec b/scipy.spec index f37cf7c..fb00ff9 100644 --- a/scipy.spec +++ b/scipy.spec @@ -30,7 +30,7 @@ Summary: Scientific Tools for Python Name: scipy Version: 1.11.3 -Release: 6%{?dist} +Release: 7%{?dist}
# BSD-3-Clause -- whole package except: # BSD-2-Clause -- scipy/_lib/_pep440.py @@ -67,17 +67,11 @@ Patch: https://github.com/scipy/scipy/pull/19443.patch
BuildRequires: %{blaslib}-devel BuildRequires: gcc-gfortran, gcc-c++ +BuildRequires: tomcli
BuildRequires: pybind11-devel BuildRequires: python3-devel, python3-numpy-f2py
-BuildRequires: python3-pytest -BuildRequires: python3-pytest-timeout -%if ! 0%{?rhel} -BuildRequires: python3-pytest-xdist -%endif -BuildRequires: python3-pooch - %if %{with doc} BuildRequires: python3-sphinx BuildRequires: python3-matplotlib @@ -189,8 +183,22 @@ sed -i '/pybind11/s/2.11.1/2.12.0/' pyproject.toml # not a real function. It is a weak alias to __open_memstream. sed -i "s/('has_openmemstream', )'0'/\1'1'/" scipy/_lib/meson.build
+# meson-python does not implement the prepare_metadata_for_build_wheel hook :(. +# Instead of using -w and compiling the wheel, an expensive process, twice +# (once to extract metadata, one for the final package), we can write the +# static deps from pyproject.toml to a file, and use that with %%pyproject_buildrequires. +# +# See https://github.com/mesonbuild/meson-python/issues/236 for more discussion. +tomcli-get pyproject.toml -F newline-list \ + project.dependencies > _install-requirements.txt + +# Do the same for test dependencies +tomcli-get pyproject.toml -F newline-list \ + project.optional-dependencies.test > _test-requirements.txt + + %generate_buildrequires -%pyproject_buildrequires -R +%pyproject_buildrequires -R _install-requirements.txt _test-requirements.txt
%build %pyproject_wheel @@ -287,6 +295,9 @@ popd %endif
%changelog +* Fri Feb 02 2024 Maxwell G maxwell@gtmx.me - 1.11.3-7 +- Use dynamic BuildRequires for python runtime dependencies + * Tue Jan 30 2024 Miro Hrončok mhroncok@redhat.com - 1.11.3-6 - Skip fewer tests during build
arch-excludes@lists.fedoraproject.org