diff --git a/srcpkgs/python3-scipy/patches/test-32bit.patch b/srcpkgs/python3-scipy/patches/test-32bit.patch new file mode 100644 index 00000000000..26db514a083 --- /dev/null +++ b/srcpkgs/python3-scipy/patches/test-32bit.patch @@ -0,0 +1,73 @@ +diff -ru a/scipy/linalg/tests/test_decomp.py b/scipy/linalg/tests/test_decomp.py +--- a/scipy/linalg/tests/test_decomp.py 2025-01-02 19:53:29.000000000 -0300 ++++ b/scipy/linalg/tests/test_decomp.py 2025-01-05 22:08:01.177300618 -0300 +@@ -1185,6 +1185,7 @@ + # Allocating an array of such a size leads to _ArrayMemoryError(s) + # since the maximum memory that can be in 32-bit (WASM) is 4GB + @pytest.mark.skipif(IS_WASM, reason="out of memory in WASM") ++@pytest.mark.xfail_on_32bit("out of memory in 32 bit") + @pytest.mark.fail_slow(10) + def test_svd_gesdd_nofegfault(): + # svd(a) with {U,VT}.size > INT_MAX does not segfault +diff -ru a/scipy/special/tests/test_data.py b/scipy/special/tests/test_data.py +--- a/scipy/special/tests/test_data.py 2025-01-02 19:53:29.000000000 -0300 ++++ b/scipy/special/tests/test_data.py 2025-01-05 18:43:38.713539218 -0300 +@@ -591,7 +591,7 @@ + data(elliprg, 'ellint_rg_xyy_ipp-ellint_rg_xyy', (0, 1, 2), 3, + rtol=7.5e-16), + data(elliprg, 'ellint_rg_xy0_ipp-ellint_rg_xy0', (0, 1, 2), 3, +- rtol=5e-16), ++ rtol=6e-15), + data(elliprg, 'ellint_rg_00x_ipp-ellint_rg_00x', (0, 1, 2), 3, + rtol=5e-16), + data(elliprj, 'ellint_rj_data_ipp-ellint_rj_data', (0, 1, 2, 3), 4, +diff -ru a/scipy/special/tests/test_hyp2f1.py b/scipy/special/tests/test_hyp2f1.py +--- a/scipy/special/tests/test_hyp2f1.py 2025-01-02 19:53:29.000000000 -0300 ++++ b/scipy/special/tests/test_hyp2f1.py 2025-01-05 18:43:38.714539233 -0300 +@@ -1135,7 +1135,7 @@ + c=8.5, + z=(0.7368421052631575+0.5263157894736841j), + expected=(6.468457061368628+24.190040684917374j), +- rtol=5e-16, ++ rtol=5e-14, + ), + ), + pytest.param( +diff -ru a/scipy/stats/tests/test_distributions.py b/scipy/stats/tests/test_distributions.py +--- a/scipy/stats/tests/test_distributions.py 2025-01-02 19:53:29.000000000 -0300 ++++ b/scipy/stats/tests/test_distributions.py 2025-01-06 21:23:10.351597184 -0300 +@@ -5750,7 +5750,7 @@ + + # some tests break on linux 32 bit + uname = platform.uname() +- is_linux_32 = uname.system == 'Linux' and uname.machine == 'i686' ++ is_linux_32 = uname.system == 'Linux' and "32bit" in platform.architecture()[0] + platform_desc = "/".join( + [uname.system, uname.machine, uname.processor]) + +@@ -5843,6 +5843,7 @@ + np.isin(r['pct'], pct_range) & + np.isin(r['alpha'], alpha_range) & + np.isin(r['beta'], beta_range) & ++ (not is_linux_32 or r['alpha'] != 1.5) & + (r['alpha'] > 0.2) & + (r['alpha'] != 1.) + ) +@@ -5860,7 +5861,7 @@ + ], + # for small alpha very slightly reduced accuracy + [ +- 'piecewise', 2.5e-10, lambda r: ( ++ 'piecewise', 1e-8, lambda r: ( + np.isin(r['pct'], pct_range) & + np.isin(r['alpha'], alpha_range) & + np.isin(r['beta'], beta_range) & +@@ -5965,7 +5966,7 @@ + tests = [ + # piecewise generally good accuracy + [ +- 'piecewise', 2e-12, lambda r: ( ++ 'piecewise', 2e-10, lambda r: ( + np.isin(r['pct'], pct_range) & + np.isin(r['alpha'], alpha_range) & + np.isin(r['beta'], beta_range) & diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template index 61ec0f8fa66..107f0470558 100644 --- a/srcpkgs/python3-scipy/template +++ b/srcpkgs/python3-scipy/template @@ -1,7 +1,7 @@ # Template file for 'python3-scipy' pkgname=python3-scipy -version=1.14.1 -revision=2 +version=1.15.0 +revision=1 build_style=python3-pep517 build_helper="meson numpy" # SciPy imposes strict and unnecessary restrictions on build dependencies @@ -21,7 +21,7 @@ license="BSD-3-Clause" homepage="https://scipy.org/" changelog="https://github.com/scipy/scipy/releases" distfiles="${PYPI_SITE}/s/scipy/scipy-${version}.tar.gz" -checksum=5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417 +checksum=300742e2cc94e36a2880ebe464a1c8b4352a7b0f3e36ec3d2ac006cdbe0219ac # must be tested from site dir of installed version (see dev.py:739) make_check_pre='eval env -C "${testdir}/${py3_sitelib}"'