<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/cc0006daa3136dbc06c1bc40ab4cab175c044ed6">https://github.com/macports/macports-ports/commit/cc0006daa3136dbc06c1bc40ab4cab175c044ed6</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new cc0006daa31 py-scipy: update to 1.15.0
</span>cc0006daa31 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit cc0006daa3136dbc06c1bc40ab4cab175c044ed6
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Sat Jan 4 21:19:41 2025 -0500

<span style='display:block; white-space:pre;color:#404040;'>    py-scipy: update to 1.15.0
</span>---
 python/py-scipy/Portfile                           |  19 +-
 python/py-scipy/files/0001-Fix-cmath.patch         | 325 ---------------------
 python/py-scipy/files/0001-patch-extra-flags.patch |  10 +
 ...2-Use-legacysupport-manually-for-strnlen.patch} |  13 -
 python/py-scipy/files/0002-patch-extra-flags.patch |  14 -
 .../files/patch-version-caps-pyproject.toml.diff   |  26 +-
 6 files changed, 23 insertions(+), 384 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/Portfile b/python/py-scipy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index af3a800fc66..318889dffea 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-scipy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-scipy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,12 +8,12 @@ PortGroup               compiler_blacklist_versions 1.0
</span> PortGroup               python 1.0
 
 name                    py-scipy
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 1.14.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 1.15.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  a47254b77f71db2dc36dcf4ad98eb668cc75667e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    58620554
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  13f6fb728f0888f7fd61111fc2901ff942dcc328 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  300742e2cc94e36a2880ebe464a1c8b4352a7b0f3e36ec3d2ac006cdbe0219ac \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    59407226
</span> 
 license                 BSD
 maintainers             {michaelld @michaelld} {reneeotten @reneeotten} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,15 +45,10 @@ if {${name} ne ${subport}} {
</span>     boost.version       1.81
 
     if {${os.platform} eq "darwin" && [string match *gcc* ${configure.compiler}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # https://github.com/scipy/scipy/pull/21861
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # https://github.com/scipy/scipy/pull/21870
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        0001-Fix-cmath.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>         # dfitpackmodule.c: error: passing argument 1 of 'f2py_func'
         # from incompatible pointer type [-Wincompatible-pointer-types]
         patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        0002-patch-extra-flags.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        0001-patch-extra-flags.patch
</span>     }
     if {${os.platform} eq "darwin" && ${os.major} < 11} {
         # Use legacysupport for strnlen, but for select sources.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,7 +56,7 @@ if {${name} ne ${subport}} {
</span>         depends_lib-append \
                         path:lib/libMacportsLegacySupport.dylib:legacy-support
         patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        0003-Use-legacysupport-manually-for-strnlen.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        0002-Use-legacysupport-manually-for-strnlen.patch
</span>         post-patch {
             reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/scipy/io/meson.build \
                         ${worksrcpath}/scipy/optimize/meson.build \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/0001-Fix-cmath.patch b/python/py-scipy/files/0001-Fix-cmath.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 187119528e6..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-scipy/files/0001-Fix-cmath.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,325 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c8ea21327dbb48103bfa8d6349c6ee587f3b4a43 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Sergey Fedorov <barracuda@macos-powerpc.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 10 Nov 2024 10:18:48 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Fix cmath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/spatial/ckdtree/src/build.cxx     |  4 ++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/Faddeeva.cc               |  2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/_round.h                  |  5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/boost_special_functions.h | 10 +++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/special/bessel.h          | 24 ++++++++++++------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/special/par_cyl.h         |  5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/special/sph_bessel.h      | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/stirling2.h               |  5 +++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- scipy/special/wright.cc                 |  2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9 files changed, 46 insertions(+), 23 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/spatial/ckdtree/src/build.cxx scipy/spatial/ckdtree/src/build.cxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f6a064d06..1083fc16f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/spatial/ckdtree/src/build.cxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/spatial/ckdtree/src/build.cxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13,6 +13,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdexcept>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <ios>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+using std::isinf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define tree_buffer_root(buf) (&(buf)[0][0])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static ckdtree_intp_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/Faddeeva.cc scipy/special/Faddeeva.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 370516dc0..8148fe60b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/Faddeeva.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/Faddeeva.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -122,6 +122,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <cmath>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define complex std::complex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define isinf std::isinf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define isnan std::isnan
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /////////////////////////////////////////////////////////////////////////
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/_round.h scipy/special/_round.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 91447c260..a251f2327 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/_round.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/_round.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,6 +5,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef ROUND_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ROUND_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <cmath>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+using std::isnan;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <math.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/boost_special_functions.h scipy/special/boost_special_functions.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 668aa7a9c..0e79c2ec4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/boost_special_functions.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/boost_special_functions.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -78,7 +78,7 @@ Real ibeta_wrap(Real a, Real b, Real x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Real y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(a) || isnan(b) || isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(a) || std::isnan(b) || std::isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return NAN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if ((a <= 0) || (b <= 0) || (x < 0) || (x > 1)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -122,7 +122,7 @@ Real ibetac_wrap(Real a, Real b, Real x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Real y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(a) || isnan(b) || isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(a) || std::isnan(b) || std::isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return NAN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if ((a <= 0) || (b <= 0) || (x < 0) || (x > 1)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -166,7 +166,7 @@ Real ibeta_inv_wrap(Real a, Real b, Real p, const Policy& policy_)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Real y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(a) || isnan(b) || isnan(p)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(a) || std::isnan(b) || std::isnan(p)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return NAN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if ((a <= 0) || (b <= 0) || (p < 0) || (p > 1)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -210,7 +210,7 @@ Real ibetac_inv_wrap(Real a, Real b, Real p)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Real y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(a) || isnan(b) || isnan(p)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(a) || std::isnan(b) || std::isnan(p)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return NAN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if ((a <= 0) || (b <= 0) || (p < 0) || (p > 1)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -428,7 +428,7 @@ Real hyp1f1_wrap(Real a, Real b, Real x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Real y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(a) || isnan(b) || isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(a) || std::isnan(b) || std::isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return NAN;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (b <= 0 && std::trunc(b) == b) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/special/bessel.h scipy/special/special/bessel.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4532cc97f..85e17224a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/special/bessel.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/special/bessel.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -600,7 +600,7 @@ inline std::complex<double> cyl_bessel_je(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy_j;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -645,7 +645,7 @@ inline std::complex<double> cyl_bessel_ye(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy_y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -698,7 +698,7 @@ inline std::complex<double> cyl_bessel_ie(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_k.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_k.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -742,7 +742,7 @@ T cyl_bessel_ie(T v, T x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inline std::complex<double> cyl_bessel_ke(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     std::complex<double> cy{NAN, NAN};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(std::real(z)) || isnan(std::imag(z))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(std::real(z)) || std::isnan(std::imag(z))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -795,7 +795,7 @@ inline std::complex<double> cyl_hankel_1e(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -823,7 +823,7 @@ inline std::complex<double> cyl_hankel_2e(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int sign = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     std::complex<double> cy{NAN, NAN};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -856,7 +856,7 @@ inline std::complex<double> cyl_bessel_j(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy_j;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -914,7 +914,7 @@ inline std::complex<double> cyl_bessel_y(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_y.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy_y;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -985,7 +985,7 @@ inline std::complex<double> cyl_bessel_i(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_k.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy_k.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1026,7 +1026,7 @@ inline std::complex<float> cyl_bessel_i(float v, std::complex<float> x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inline std::complex<double> cyl_bessel_k(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     std::complex<double> cy(NAN, NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (std::isnan(v) || std::isnan(std::real(z)) || isnan(std::imag(z))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(std::real(z)) || std::isnan(std::imag(z))) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1086,7 +1086,7 @@ inline std::complex<double> cyl_hankel_1(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1116,7 +1116,7 @@ inline std::complex<double> cyl_hankel_2(double v, std::complex<double> z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy.real(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cy.imag(NAN);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(v) || isnan(z.real()) || isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(v) || std::isnan(z.real()) || std::isnan(z.imag())) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return cy;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (v < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/special/par_cyl.h scipy/special/special/par_cyl.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index eae11ff8a..b37fb2125 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/special/par_cyl.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/special/par_cyl.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2,6 +2,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "specfun/specfun.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <cmath>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+using std::isnan;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace special {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace detail {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/special/sph_bessel.h scipy/special/special/sph_bessel.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9e356764a..59d270ac3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/special/sph_bessel.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/special/sph_bessel.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -144,7 +144,7 @@ T sph_bessel_y(long n, T x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     T s0, s1, sn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int idx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -179,7 +179,7 @@ T sph_bessel_y(long n, T x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         sn = (2 * idx + 3) * s1 / x - s0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         s0 = s1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         s1 = sn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if (isinf(sn)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (std::isinf(sn)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             // Overflow occurred already: terminate recurrence.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return sn;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -229,7 +229,7 @@ T sph_bessel_y_jac(long n, T x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template <typename T>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- T sph_bessel_i(long n, T x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -246,7 +246,7 @@ T sph_bessel_i(long n, T x) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isinf(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isinf(x)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         // https://dlmf.nist.gov/10.49.E8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (x == -std::numeric_limits<T>::infinity()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return std::pow(-1, n) * std::numeric_limits<T>::infinity();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -314,7 +314,7 @@ T sph_bessel_i_jac(long n, T z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- template <typename T>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- T sph_bessel_k(long n, T z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isnan(z)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isnan(z)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return z;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -327,7 +327,7 @@ T sph_bessel_k(long n, T z) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return std::numeric_limits<T>::infinity();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (isinf(z)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (std::isinf(z)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         // https://dlmf.nist.gov/10.52.E6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (z == std::numeric_limits<T>::infinity()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/stirling2.h scipy/special/stirling2.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9120be008..88043b6d0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/stirling2.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/stirling2.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,6 +1,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef STIRLING_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define STIRLING_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <cmath>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+using std::isinf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <complex.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <math.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git scipy/special/wright.cc scipy/special/wright.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00c042516..5d199a41a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- scipy/special/wright.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ scipy/special/wright.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -84,6 +84,8 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "sf_error.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- using std::complex;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+using std::isinf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+using std::isnan;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TWOITERTOL DBL_EPSILON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/0001-patch-extra-flags.patch b/python/py-scipy/files/0001-patch-extra-flags.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ea3a7f1fbb7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-scipy/files/0001-patch-extra-flags.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig       2025-01-04 21:37:05
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build    2025-01-04 21:38:30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -91,6 +91,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if host_machine.system() == 'darwin'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  add_project_arguments('-Wno-error=incompatible-pointer-types', language: 'c')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if cc.has_link_argument('-Wl,-dead_strip')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Allow linker to strip unused symbols
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     add_project_link_arguments('-Wl,-dead_strip', language : ['c', 'cpp', 'fortran'])
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/0003-Use-legacysupport-manually-for-strnlen.patch b/python/py-scipy/files/0002-Use-legacysupport-manually-for-strnlen.patch
</span>similarity index 87%
rename from python/py-scipy/files/0003-Use-legacysupport-manually-for-strnlen.patch
rename to python/py-scipy/files/0002-Use-legacysupport-manually-for-strnlen.patch
<span style='display:block; white-space:pre;color:#808080;'>index 84f8e9e030c..7f6f775f8d2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-scipy/files/0003-Use-legacysupport-manually-for-strnlen.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-scipy/files/0002-Use-legacysupport-manually-for-strnlen.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,19 +32,6 @@ diff --git scipy/optimize/meson.build scipy/optimize/meson.build
</span> index d6c20d3d5..9e682eca1 100644
 --- scipy/optimize/meson.build
 +++ scipy/optimize/meson.build
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -100,7 +100,11 @@ py3.extension_module('_lbfgsb',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     f2py_gen.process('lbfgsb_src/lbfgsb.pyf'),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   fortran_args: fortran_ignore_warnings,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  link_args: version_link_args,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  include_directories: ['@PREFIX@/include/LegacySupport'],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  link_args: [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    version_link_args,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    '-Wl,-lMacportsLegacySupport'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   dependencies: [lapack_dep, blas_dep, fortranobject_dep],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   override_options: ['b_lto=false'],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   install: true,
</span> @@ -134,7 +138,11 @@ py3.extension_module('_cobyla',
  py3.extension_module('_minpack2',
    [f2py_gen.process('minpack2/minpack2.pyf'), 'minpack2/dcsrch.f', 'minpack2/dcstep.f'],
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/0002-patch-extra-flags.patch b/python/py-scipy/files/0002-patch-extra-flags.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 57300d64cda..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-scipy/files/0002-patch-extra-flags.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- meson.build    2024-08-21 06:43:12.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ meson.build    2024-11-13 10:15:29.000000000 +0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -88,10 +88,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if host_machine.system() == 'darwin'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if cc.has_link_argument('-Wl,-ld_classic')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    # New linker introduced in macOS 14 not working yet, see gh-19357 and gh-19387
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    add_project_link_arguments('-Wl,-ld_classic', language : ['c', 'cpp', 'fortran'])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  add_project_arguments('-Wno-error=incompatible-pointer-types', language: 'c')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if cc.has_link_argument('-Wl,-dead_strip')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # Allow linker to strip unused symbols
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     add_project_link_arguments('-Wl,-dead_strip', language : ['c', 'cpp', 'fortran'])
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/patch-version-caps-pyproject.toml.diff b/python/py-scipy/files/patch-version-caps-pyproject.toml.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 0504d882ad4..e0c094767cd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-scipy/files/patch-version-caps-pyproject.toml.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-scipy/files/patch-version-caps-pyproject.toml.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,25 +1,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- pyproject.toml.orig    2024-11-04 21:11:08
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ pyproject.toml 2024-11-04 21:12:18
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,10 +24,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # The upper bound on Cython is pre-emptive only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     "Cython>=3.0.8,<3.1.0",        # when updating version, also update check in meson.build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # The upper bound on pybind11 is pre-emptive only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "pybind11>=2.12.0,<2.13.0",     # when updating version, also update check in scipy/meson.build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "pybind11>=2.12.0",     # when updating version, also update check in scipy/meson.build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # The upper bound on pythran is pre-emptive only; 0.16.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # is released/working at time of writing.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "pythran>=0.14.0,<0.17.0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "pythran>=0.14.0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # numpy requirement for wheel builds for distribution on PyPI - building
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # against 2.x yields wheels that are also compatible with numpy 1.x at
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,8 +35,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     # Note that building against numpy 1.x works fine too - users and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyproject.toml.orig    2025-01-04 21:26:30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyproject.toml 2025-01-04 21:27:40
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,7 +38,7 @@
</span>      # redistributors can do this by installing the numpy version they like and
      # disabling build isolation.
<span style='display:block; white-space:pre;background:#ffe0e0;'>--    "numpy>=2.0.0rc1,<2.3",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "numpy>=2.1.0rc1; python_version>='3.13'",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    "numpy>=1.23.5,<2.3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # NOTE: need numpy>=2.1.3 for free-threaded CPython 3.13 support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy>=2.0.0,<2.5",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "numpy>=1.23.5,<2.5",
</span>  ]
  
  [project]
</pre><pre style='margin:0'>

</pre>