import python3.11-scipy-1.10.0-1.el9

This commit is contained in:
CentOS Sources 2023-05-09 05:26:40 +00:00 committed by Stepan Oksanichenko
commit 95cc9f6b96
4 changed files with 357 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/scipy-1.10.0.tar.gz

View File

@ -0,0 +1 @@
8094557cc6c2d2ec32faf2a9b33ed41b3a8acecc SOURCES/scipy-1.10.0.tar.gz

View File

@ -0,0 +1,93 @@
diff --git a/scipy/sparse/linalg/_isolve/tests/test_iterative.py b/scipy/sparse/linalg/_isolve/tests/test_iterative.py
index a782a8d27c2..48fc16b7a00 100644
--- a/scipy/sparse/linalg/_isolve/tests/test_iterative.py
+++ b/scipy/sparse/linalg/_isolve/tests/test_iterative.py
@@ -409,7 +409,9 @@ def test_atol(solver):
residual = A.dot(x) - b
err = np.linalg.norm(residual)
atol2 = tol * b_norm
- assert_(err <= max(atol, atol2))
+ # Added 1.00025 fudge factor because of `err` exceeding `atol` just
+ # very slightly on s390x (see gh-17839)
+ assert_(err <= 1.00025 * max(atol, atol2))
@pytest.mark.parametrize("solver", [cg, cgs, bicg, bicgstab, gmres, qmr, minres, lgmres, gcrotmk, tfqmr])
@@ -452,8 +454,10 @@ def test_zero_rhs(solver):
and sys.version_info[1] == 9,
reason="gh-13019")),
qmr,
- pytest.param(lgmres, marks=pytest.mark.xfail(platform.machine() == 'ppc64le',
- reason="fails on ppc64le")),
+ pytest.param(lgmres, marks=pytest.mark.xfail(
+ platform.machine() not in ['x86_64' 'x86', 'aarch64', 'arm64'],
+ reason="fails on at least ppc64le, ppc64 and riscv64, see gh-17839")
+ ),
pytest.param(cgs, marks=pytest.mark.xfail),
pytest.param(bicg, marks=pytest.mark.xfail),
pytest.param(bicgstab, marks=pytest.mark.xfail),
diff --git a/scipy/special/tests/test_orthogonal.py b/scipy/special/tests/test_orthogonal.py
index a325cb1a9ef..408b03bde2e 100644
--- a/scipy/special/tests/test_orthogonal.py
+++ b/scipy/special/tests/test_orthogonal.py
@@ -546,7 +546,7 @@ def test_roots_gegenbauer():
vgq(rootf(170), evalf(170), weightf(170), -1., 1., 5, atol=1e-13)
vgq(rootf(170), evalf(170), weightf(170), -1., 1., 25, atol=1e-12)
vgq(rootf(170), evalf(170), weightf(170), -1., 1., 100, atol=1e-11)
- vgq(rootf(170.5), evalf(170.5), weightf(170.5), -1., 1., 5, atol=1e-13)
+ vgq(rootf(170.5), evalf(170.5), weightf(170.5), -1., 1., 5, atol=1.25e-13)
vgq(rootf(170.5), evalf(170.5), weightf(170.5), -1., 1., 25, atol=1e-12)
vgq(rootf(170.5), evalf(170.5), weightf(170.5), -1., 1., 100, atol=1e-11)
diff --git a/scipy/stats/tests/test_distributions.py b/scipy/stats/tests/test_distributions.py
index eceeafdffe0..139b0537174 100644
--- a/scipy/stats/tests/test_distributions.py
+++ b/scipy/stats/tests/test_distributions.py
@@ -4254,7 +4254,7 @@ def test_pdf_nolan_samples(
],
# for small alpha very slightly reduced accuracy
[
- 'piecewise', 5e-11, lambda r: (
+ 'piecewise', 2.5e-10, lambda r: (
np.isin(r['pct'], pct_range) &
np.isin(r['alpha'], alpha_range) &
np.isin(r['beta'], beta_range) &
@@ -4358,7 +4358,7 @@ def test_cdf_nolan_samples(
tests = [
# piecewise generally good accuracy
[
- 'piecewise', 1e-12, lambda r: (
+ 'piecewise', 2e-12, lambda r: (
np.isin(r['pct'], pct_range) &
np.isin(r['alpha'], alpha_range) &
np.isin(r['beta'], beta_range) &
@@ -4480,6 +4480,14 @@ def test_location_scale(
):
"""Tests for pdf and cdf where loc, scale are different from 0, 1
"""
+
+ uname = platform.uname()
+ is_linux_32 = uname.system == 'Linux' and "32bit" in platform.architecture()[0]
+ # Test seems to be unstable (see gh-17839 for a bug report on Debian
+ # i386), so skip it.
+ if is_linux_32 and case == 'pdf':
+ pytest.skip("Test unstable on some platforms; see gh-17839, 17859")
+
data = nolan_loc_scale_sample_data
# We only test against piecewise as location/scale transforms
# are same for other methods.
diff --git a/scipy/stats/tests/test_mstats_basic.py b/scipy/stats/tests/test_mstats_basic.py
index cd53c7b7914..76cbfd8c253 100644
--- a/scipy/stats/tests/test_mstats_basic.py
+++ b/scipy/stats/tests/test_mstats_basic.py
@@ -1768,8 +1768,8 @@ def test_skewtest_2D_WithMask(self):
r = stats.skewtest(x)
rm = stats.mstats.skewtest(xm)
- assert_allclose(r[0][0], rm[0][0], rtol=2e-15)
- assert_allclose(r[0][1], rm[0][1], rtol=1e-15)
+ assert_allclose(r[0][0], rm[0][0], rtol=1e-14)
+ assert_allclose(r[0][1], rm[0][1], rtol=1e-14)
def test_normaltest(self):
with np.errstate(over='raise'), suppress_warnings() as sup:

262
SPECS/python3.11-scipy.spec Normal file
View File

@ -0,0 +1,262 @@
%global __python3 /usr/bin/python3.11
%global python3_pkgversion 3.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.
%bcond_with pythran
# Set to pre-release version suffix if building pre-release, else %%{nil}
%global rcver %{nil}
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
%global blaslib flexiblas
%global blasvar %{nil}
%else
%global blaslib openblas
%global blasvar p
%endif
%global modname scipy
Summary: Scientific Tools for Python
Name: python%{python3_pkgversion}-scipy
Version: 1.10.0
Release: 1%{?dist}
# BSD -- whole package except:
# Boost -- scipy/special/cephes/scipy_iv.c
# Public Domain -- scipy/odr/__odrpack.c
License: BSD and Boost and Public Domain
Url: http://www.scipy.org/scipylib/index.html
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
# Fix some test failures on 32 bits
# https://github.com/scipy/scipy/pull/17859
# https://github.com/scipy/scipy/pull/17931
Patch0: fix-32bit-test-failures.patch
BuildRequires: fftw-devel, suitesparse-devel
BuildRequires: %{blaslib}-devel
BuildRequires: gcc-gfortran, swig, gcc-c++
BuildRequires: qhull-devel
BuildRequires: python%{python3_pkgversion}-pybind11-devel
BuildRequires: python%{python3_pkgversion}-pybind11 >= 2.4.0
BuildRequires: python%{python3_pkgversion}-numpy, python%{python3_pkgversion}-devel, python%{python3_pkgversion}-numpy-f2py
BuildRequires: python%{python3_pkgversion}-rpm-macros
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-Cython
BuildRequires: python%{python3_pkgversion}-pytest
%if %{with pythran}
BuildRequires: pythran
%endif
Requires: python%{python3_pkgversion}-numpy, python%{python3_pkgversion}-f2py
%global _description %{expand:
Scipy is open-source software for mathematics, science, and
engineering. The core library is NumPy which provides convenient and
fast N-dimensional array manipulation. The SciPy library is built to
work with NumPy arrays, and provides many user-friendly and efficient
numerical routines such as routines for numerical integration and
optimization. Together, they run on all popular operating systems, are
quick to install, and are free of charge. NumPy and SciPy are easy to
use, but powerful enough to be depended upon by some of the world's
leading scientists and engineers.}
%description %_description
%prep
%autosetup -p1 -n %{modname}-%{version}%{?rcver}
cat > site.cfg << EOF
[amd]
library_dirs = %{_libdir}
include_dirs = /usr/include/suitesparse
amd_libs = amd
[umfpack]
library_dirs = %{_libdir}
include_dirs = /usr/include/suitesparse
umfpack_libs = umfpack
[openblas]
libraries = %{blaslib}%{blasvar}
library_dirs = %{_libdir}
EOF
rm $(grep -rl '/\* Generated by Cython') PKG-INFO
%build
export SCIPY_USE_PYTHRAN=0%{?with_pythran}
for PY in %{python3_pkgversion}; do
# Adding -fallow-argument-mismatch workaround for https://github.com/scipy/scipy/issues/11611
env CFLAGS="$RPM_OPT_FLAGS -lm" \
FFLAGS="$RPM_OPT_FLAGS -fPIC -cpp" \
LDFLAGS="$RPM_LD_FLAGS -shared" \
%if 0%{?rhel} >= 9
%ifarch x86_64
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2068530
LDFLAGS="%{__global_ldflags} -Wl,--no-as-needed -lmvec -Wl,--as-needed" \
%endif
%endif
%{_bindir}/python$PY setup.py config_fc \
--fcompiler=gnu95 --noarch \
build
done
%install
export SCIPY_USE_PYTHRAN=0%{?with_pythran}
%py3_install
# Some files got ambiguous python shebangs, we fix them after everything else is done
%py3_shebang_fix %{buildroot}%{python3_sitearch}
%check
# check against the reference BLAS/LAPACK
export FLEXIBLAS=netlib
# https://github.com/scipy/scipy/issues/17912
SKIP_ALL_ARCHS="\
not TestDatasets and \
not TestOde and \
not TestComplexOde and \
not TestVODECheckParameterUse and \
not TestZVODECheckParameterUse and \
not test_banded_ode_solvers and \
not test_examples[True-complex64]"
# skip also failing test_sygst for now
SKIP_X86_64="-k '$SKIP_ALL_ARCHS and \
not test_sygst'"
# https://bugzilla.redhat.com/show_bug.cgi?id=1959353
# TestConstructUtils::test_concatenate_int32_overflow is flaky on aarch64
SKIP_AARCH64="-k '$SKIP_ALL_ARCHS and \
not test_solve_discrete_are and \
not test_maxiter_worsening[lgmres] and \
not test_concatenate_int32_overflow'"
# Those tests fail on koji/brew for ppc64le but pass
# locally for that architecture
SKIP_PPC64LE="-k '$SKIP_ALL_ARCHS'"
# https://bugzilla.redhat.com/show_bug.cgi?id=1959353
SKIP_S390X="-k '$SKIP_ALL_ARCHS and \
not test_solve_discrete_are and \
not test_maxiter_worsening[lgmres] and \
not TestInterop and \
not TestSplder and \
not test_dblint and \
not TestUnivariateSpline and \
not TestLSQBivariateSpline and \
not TestPPoly and \
not TestLevyStable'"
# skip also test_cython_api: https://bugzilla.redhat.com/show_bug.cgi?id=2068496
# https://github.com/scipy/scipy/issues/17213
SKIP_32BIT="-k '$SKIP_ALL_ARCHS and \
not test_sygst and \
not test_cython_api and \
not test_examples and \
not test_shifts and \
not test_mu and \
not test_sum and \
not test_svdp and \
not test_resiliency_all_32 and \
not test_resiliency_random[TestCSC-test_sum_dtype] and \
not test_x0_equals_Mb[bicgstab] and \
not test_gh12218'"
export PYTEST_ADDOPTS="-k '$SKIP_ALL_ARCHS'"
# default test timeout
TIMEOUT=500
%ifarch x86_64
export PYTEST_ADDOPTS=$SKIP_X86_64
%endif
%ifarch aarch64
export PYTEST_ADDOPTS=$SKIP_AARCH64
TIMEOUT=1000
%endif
%ifarch ppc64le
export PYTEST_ADDOPTS=$SKIP_PPC64LE
TIMEOUT=1000
%endif
%ifarch s390x
export PYTEST_ADDOPTS=$SKIP_S390X
TIMEOUT=1000
%endif
%ifarch armv7hl
export PYTEST_ADDOPTS=$SKIP_32BIT
%endif
%ifarch i686
export PYTEST_ADDOPTS=$SKIP_32BIT
%endif
pushd %{buildroot}/%{python3_sitearch}
# Ignoring the datasets tests as we don't have the optional pooch
# dependency on RHEL.
%{pytest} --ignore=scipy/datasets/tests/test_data.py scipy
# Remove test remnants
rm -rf gram{A,B}
popd
%files -n python%{python3_pkgversion}-scipy
%doc LICENSE.txt
%{python3_sitearch}/scipy/
%{python3_sitearch}/*.egg-info
%changelog
* Sun Feb 19 2023 Charalampos Stratakis <cstratak@redhat.com> - 1.10.0-1
- Update to 1.10.0
* Thu Dec 01 2022 Charalampos Stratakis <cstratak@redhat.com> - 1.8.1-1
- Initial package
- Fedora contributions by:
Antonio Trande <anto.trande@gmail.com>
Bill Nottingham <notting@fedoraproject.org>
Björn Esser <me@besser82.io>
Charalampos Stratakis <cstratak@redhat.com>
Christian Dersch <lupinix@mailbox.org>
David Malcolm <dmalcolm@redhat.com>
Deji Akingunola <deji@fedoraproject.org>
Dennis Gilmore <dennis@ausil.us>
Elliott Sales de Andrade <quantum.analyst@gmail.com>
Ignacio Vazquez-Abrams <ivazquez@fedoraproject.org>
Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Iñaki Úcar <iucar@fedoraproject.org>
Jef Spaleta <jspaleta@fedoraproject.org>
Jesse Keating <jkeating@fedoraproject.org>
Jitka Plesnikova <jplesnik@redhat.com>
Jonathan Wakely <jwakely@redhat.com>
Jon Ciesla <limb@fedoraproject.org>
Kalev Lember <klember@redhat.com>
Kevin Fenzi <kevin@scrye.com>
Lumir Balhar <lbalhar@redhat.com>
Mamoru TASAKA <mtasaka@fedoraproject.org>
Marcel Plch <mplch@redhat.com>
Miro Hrončok <miro@hroncok.cz>
Nikola Forró <nforro@redhat.com>
Nils Philippsen <nils@redhat.com>
Orion Poplawski <orion@nwra.com>
Pavel Šimovec <psimovec@redhat.com>
Peter Robinson <pbrobinson@fedoraproject.org>
Petr Viktorin <pviktori@redhat.com>
Robert Kuska <rkuska@redhat.com>
Than Ngo <than@redhat.com>
Thomas Spura <thomas.spura@gmail.com>
Tomas Tomecek <ttomecek@redhat.com>
Toshio Kuratomi <toshio@fedoraproject.org>
Troy Dawson <tdawson@fedoraproject.org>
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>