!55 upgrade to 1.12.0

From: @SuperSix173 
Reviewed-by: @wangbin224 
Signed-off-by: @wangbin224
This commit is contained in:
openeuler-ci-bot 2024-02-23 07:06:28 +00:00 committed by Gitee
commit 33377d95d2
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
11 changed files with 43 additions and 4543 deletions

View File

@ -1,66 +0,0 @@
From 3c89445b6439f3ce7bffc4cf11c6407c39faedc5 Mon Sep 17 00:00:00 2001
From: Matus Valo <matusvalo@users.noreply.github.com>
Date: Thu, 6 Jul 2023 16:55:25 +0200
Subject: [PATCH] BLD: copy `cython_optimize.pxd` to build dir (#18810)
Closes gh-18792
[skip cirrus] [skip circle]
---------
Co-authored-by: Ralf Gommers <ralf.gommers@gmail.com>
---
scipy/optimize/cython_optimize.pxd | 2 +-
scipy/optimize/cython_optimize/meson.build | 1 +
scipy/optimize/meson.build | 8 +++++++-
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/scipy/optimize/cython_optimize.pxd b/scipy/optimize/cython_optimize.pxd
index d5a0bdd75..d35f8da68 100644
--- a/scipy/optimize/cython_optimize.pxd
+++ b/scipy/optimize/cython_optimize.pxd
@@ -7,5 +7,5 @@
# support. Changing it causes an ABI forward-compatibility break
# (gh-11793), so we currently leave it as is (no further cimport
# statements should be used in this file).
-from .cython_optimize._zeros cimport (
+from scipy.optimize.cython_optimize._zeros cimport (
brentq, brenth, ridder, bisect, zeros_full_output)
diff --git a/scipy/optimize/cython_optimize/meson.build b/scipy/optimize/cython_optimize/meson.build
index 359ea8418..ee8def39b 100644
--- a/scipy/optimize/cython_optimize/meson.build
+++ b/scipy/optimize/cython_optimize/meson.build
@@ -17,6 +17,7 @@ cy_opt_gen = generator(cython,
arguments : cython_args,
output : '@BASENAME@.c',
depends : [_cython_tree,
+ cython_optimize_pxd,
_dummy_init_optimize,
_dummy_init_cyoptimize])
diff --git a/scipy/optimize/meson.build b/scipy/optimize/meson.build
index 26458b05c..4c5ab7983 100644
--- a/scipy/optimize/meson.build
+++ b/scipy/optimize/meson.build
@@ -206,10 +206,16 @@ endif
_dummy_init_optimize = fs.copyfile('__init__.py')
+# Copying this .pxd file is only needed because of a Cython bug, see
+# discussion on SciPy PR gh-18810.
+cython_optimize_pxd = [
+ fs.copyfile('cython_optimize.pxd'),
+]
+
opt_gen = generator(cython,
arguments : cython_args,
output : '@BASENAME@.c',
- depends : [_cython_tree, cython_linalg, _dummy_init_optimize])
+ depends : [_cython_tree, cython_linalg, cython_optimize_pxd, _dummy_init_optimize])
_bglu_dense_c = opt_gen.process('_bglu_dense.pyx')
--
2.23.0

View File

@ -1,47 +0,0 @@
From a181fd5b75f2e05d1b7beafbb48157feaa468941 Mon Sep 17 00:00:00 2001
From: Matus Valo <matusvalo@users.noreply.github.com>
Date: Wed, 3 May 2023 22:22:36 +0200
Subject: [PATCH] MAINT: Allow scipy to be compiled in cython3 (#18242)
- Unpin Cython and use Cython master in the pre-release CI job
- Use absolute instead of relative imports in a few places
- Use `CYTHON_EXTERN_C` for C++ code exposing a C API
[skip ci]
---
.github/workflows/linux_meson.yml | 5 ++---
scipy/linalg.pxd | 2 +-
scipy/special.pxd | 2 +-
scipy/special/meson.build | 2 +-
4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/scipy/linalg.pxd b/scipy/linalg.pxd
index 1f656b870..c7c49f9ad 100644
--- a/scipy/linalg.pxd
+++ b/scipy/linalg.pxd
@@ -1 +1 @@
-from .linalg cimport cython_blas, cython_lapack
+from scipy.linalg cimport cython_blas, cython_lapack
diff --git a/scipy/special.pxd b/scipy/special.pxd
index 62cb82807..1daa9fb37 100644
--- a/scipy/special.pxd
+++ b/scipy/special.pxd
@@ -1 +1 @@
-from .special cimport cython_special
+from scipy.special cimport cython_special
diff --git a/scipy/special/meson.build b/scipy/special/meson.build
index 334f87943..e7e25aa54 100644
--- a/scipy/special/meson.build
+++ b/scipy/special/meson.build
@@ -371,7 +371,7 @@ py3.extension_module('_ufuncs_cxx',
[ufuncs_cxx_sources,
uf_cython_gen_cpp.process(cython_special[2]), # _ufuncs_cxx.pyx
],
- cpp_args: cython_cpp_args,
+ cpp_args: [cython_cpp_args, '-DCYTHON_EXTERN_C=extern "C"'],
include_directories: [inc_np, '../_lib/boost', '../_lib',
'../_build_utils/src'],
link_args: version_link_args,
--
2.23.0

File diff suppressed because it is too large Load Diff

View File

@ -1,67 +0,0 @@
From 50d0825256ddb76c5567e6cc8eb50e7d36908e21 Mon Sep 17 00:00:00 2001
From: Matus Valo <matusvalo@gmail.com>
Date: Mon, 17 Apr 2023 23:00:04 +0200
Subject: [PATCH] Mark function pointer ctypedefs as noexcept
---
scipy/cluster/_hierarchy_distance_update.pxi | 2 +-
scipy/optimize/cython_optimize/_zeros.pxd | 2 +-
scipy/stats/_qmc_cy.pyx | 2 +-
scipy/stats/_unuran/unuran_wrapper.pyx.templ | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/scipy/cluster/_hierarchy_distance_update.pxi b/scipy/cluster/_hierarchy_distance_update.pxi
index 17dedb305..bc57a3fa1 100644
--- a/scipy/cluster/_hierarchy_distance_update.pxi
+++ b/scipy/cluster/_hierarchy_distance_update.pxi
@@ -24,7 +24,7 @@ d_xyi : double
"""
ctypedef double (*linkage_distance_update)(double d_xi, double d_yi,
double d_xy, int size_x,
- int size_y, int size_i)
+ int size_y, int size_i) noexcept
cdef double _single(double d_xi, double d_yi, double d_xy,
diff --git a/scipy/optimize/cython_optimize/_zeros.pxd b/scipy/optimize/cython_optimize/_zeros.pxd
index c6241d022..d3c9e98f0 100644
--- a/scipy/optimize/cython_optimize/_zeros.pxd
+++ b/scipy/optimize/cython_optimize/_zeros.pxd
@@ -4,7 +4,7 @@
# should be made to this file** --- any API additions/changes should be
# done in `cython_optimize.pxd` (see gh-11793).
-ctypedef double (*callback_type)(double, void*)
+ctypedef double (*callback_type)(double, void*) noexcept
ctypedef struct zeros_parameters:
callback_type function
diff --git a/scipy/stats/_qmc_cy.pyx b/scipy/stats/_qmc_cy.pyx
index f165cb0d1..a9e94354f 100644
--- a/scipy/stats/_qmc_cy.pyx
+++ b/scipy/stats/_qmc_cy.pyx
@@ -290,7 +290,7 @@ cdef double c_update_discrepancy(double[::1] x_new_view,
ctypedef double (*func_type)(double[:, ::1], Py_ssize_t,
- Py_ssize_t) nogil
+ Py_ssize_t) noexcept nogil
cdef double threaded_loops(func_type loop_func,
diff --git a/scipy/stats/_unuran/unuran_wrapper.pyx.templ b/scipy/stats/_unuran/unuran_wrapper.pyx.templ
index 2279dfc34..9eb63fb1c 100644
--- a/scipy/stats/_unuran/unuran_wrapper.pyx.templ
+++ b/scipy/stats/_unuran/unuran_wrapper.pyx.templ
@@ -58,7 +58,7 @@ class UNURANError(RuntimeError):
pass
-ctypedef double (*URNG_FUNCT)(void *) nogil
+ctypedef double (*URNG_FUNCT)(void *) noexcept nogil
IF not NPY_OLD:
cdef object get_numpy_rng(object seed = None):
--
2.23.0

BIN
PROPACK.zip Normal file

Binary file not shown.

BIN
array_api_compat.zip Normal file

Binary file not shown.

BIN
highs.zip Normal file

Binary file not shown.

BIN
scipy-1.12.0.tar.gz Normal file

Binary file not shown.

View File

@ -1,21 +1,26 @@
%global py_setup_args config_fc --fcompiler=gnu95 --noarch
%global debug_package %{nil}
Name: scipy
Version: 1.10.1
Release: 3
Version: 1.12.0
Release: 1
Summary: A Python-based ecosystem of open-source software for mathematics, science, and engineering
License: Qhull and Apache-2.0
URL: https://www.scipy.org
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
# https://github.com/data-apis/array-api-compat/archive/affd3a56927d3d1c178023121f43c9fa624eced0.zip
Source1: array_api_compat.zip
# https://github.com/boostorg/math/archive/6bfe5818acdf86432f3e1a78ec5e1d3cdb8c6480.zip
Source2: boost_math.zip
# https://github.com/scipy/HiGHS/archive/4a122958a82e67e725d08153e099efe4dad099a2.zip
Source3: highs.zip
# https://github.com/scipy/unuran/archive/1d315c690787b14781a12e0beca6d25cc75562d6.zip
Source4: unuran.zip
# https://github.com/scipy/PROPACK/archive/96f6800451372dd003e627bbfd732937ac0c685e.zip
Source5: PROPACK.zip
Patch6001: 0001-MAINT-Explicitly-mark-cdef-functions-not-raising-exc.patch
Patch6002: 0001-Mark-function-pointer-ctypedefs-as-noexcept.patch
Patch6003: 0001-MAINT-Allow-scipy-to-be-compiled-in-cython3-18242.patch
Patch6004: 0001-BLD-copy-cython_optimize.pxd-to-build-dir-18810.patch
BuildRequires: python3-devel python3-numpy >= 1.8.2 python3-numpy-f2py
BuildRequires: python3-devel python3-numpy-f2py
BuildRequires: gcc-c++ openblas-devel gcc-gfortran chrpath
BuildRequires: pybind11-devel python3-pybind11 python3-Cython
BuildRequires: pybind11-devel python3-pybind11 python3-Cython
BuildRequires: python3-meson-python python3-pip
%description
SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering.
@ -39,46 +44,48 @@ python3 package for scipy
%prep
%autosetup -n %{name}-%{version} -p1
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
sed -i '/pythran/d' pyproject.toml
[openblas]
library_dirs = %{_libdir}
openblas_libs = openblasp
cat >> pyproject.toml << EOF
[tool.meson-python.args]
setup = ['-Duse-pythran=false']
EOF
unzip %{SOURCE1}
unzip %{SOURCE2}
unzip %{SOURCE3}
unzip %{SOURCE4}
unzip %{SOURCE5}
mv array-api-compat-affd3a56927d3d1c178023121f43c9fa624eced0/* scipy/_lib/array_api_compat/
mv math-6bfe5818acdf86432f3e1a78ec5e1d3cdb8c6480/* scipy/_lib/boost_math/
mv HiGHS-4a122958a82e67e725d08153e099efe4dad099a2/* scipy/_lib/highs/
mv unuran-1d315c690787b14781a12e0beca6d25cc75562d6/* scipy/_lib/unuran/
mv PROPACK-96f6800451372dd003e627bbfd732937ac0c685e/* scipy/sparse/linalg/_propack/PROPACK/
rm -rf array-api-compat-affd3a56927d3d1c178023121f43c9fa624eced0
rm -rf math-6bfe5818acdf86432f3e1a78ec5e1d3cdb8c6480
rm -rf HiGHS-4a122958a82e67e725d08153e099efe4dad099a2
rm -rf unuran-1d315c690787b14781a12e0beca6d25cc75562d6
rm -rf PROPACK-96f6800451372dd003e627bbfd732937ac0c685e
rm -rf %{py3dir}
cp -a . %{py3dir}
%build
export SCIPY_USE_PYTHRAN=0
export CFLAGS="$RPM_OPT_FLAGS -lm"
export LDFLAGS="$RPM_LD_FLAGS -Wall -shared"
export PKG_CONFIG_PATH=/use/lib64/pkgconfig
pushd %{py3dir}
%global _hardening_clang_cflags %{nil}
env FFLAGS="$RPM_OPT_FLAGS -fPIC -w -fallow-argument-mismatch -O2"\
OPENBLAS=%{_libdir} FFTW=%{_libdir} BLAS=%{_libdir} LAPACK=%{_libdir} \
%py3_build
%pyproject_build
popd
%install
export SCIPY_USE_PYTHRAN=0
export CFLAGS="$RPM_OPT_FLAGS -lm"
export LDFLAGS="$RPM_LD_FLAGS -Wall -shared"
pushd %{py3dir}
env FFLAGS="$RPM_OPT_FLAGS -fPIC" \
OPENBLAS=%{_libdir} FFTW=%{_libdir} BLAS=%{_libdir} LAPACK=%{_libdir} \
%py3_install
%pyproject_install scipy
popd
find %{buildroot} -type f -name '*.so' -exec strip '{}' ';'
@ -102,10 +109,13 @@ echo "%{_libdir}/%{name}" >> $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.c
%files -n python3-scipy
%license LICENSE.txt
%{python3_sitearch}/scipy
%{python3_sitearch}/*.egg-info
%{python3_sitearch}/*.dist-info
%config(noreplace) /etc/ld.so.conf.d/*
%changelog
* Thu Feb 22 2024 Liu Chao <liuchao173@huawei.com> - 1.12.0-1
- Upgrade to 1.12.0
* Thu Feb 1 2024 Liu Chao <liuchao173@huawei.com> - 1.10.1-3
- Fix scipy compile error in cython3

BIN
unuran.zip Normal file

Binary file not shown.