<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/b683362ad826470f617527339bfb5a1253728488">https://github.com/macports/macports-ports/commit/b683362ad826470f617527339bfb5a1253728488</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 b683362ad82 py-scipy: add py312 subport
</span>b683362ad82 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit b683362ad826470f617527339bfb5a1253728488
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Thu Jan 11 23:27:17 2024 -0500

<span style='display:block; white-space:pre;color:#404040;'>    py-scipy: add py312 subport
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - currently only supports OpenBlas, variants for other BLAS/LAPACK
</span><span style='display:block; white-space:pre;color:#404040;'>      implementation should be added but have to be fixed in NumPy first
</span>---
 python/py-scipy/Portfile                        | 272 +++++++++++++-----------
 python/py-scipy/files/patch-pyproject.toml.diff |  50 +++++
 2 files changed, 198 insertions(+), 124 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 264c212e7d9..67f4f6d1db7 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;'>@@ -29,7 +29,7 @@ long_description        {*}${description}
</span> 
 homepage                https://www.scipy.org/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions         38 39 310 311
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions         38 39 310 311 312
</span> 
 # When updating to meson.build later, please do it conditionally,
 # unless build is confirmed on older systems as well.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,144 +114,168 @@ if {${name} ne ${subport}} {
</span>         reinplace "s|@MACOS_V@|${macosx_deployment_target}|g" ${worksrcpath}/scipy/_build_utils/compiler_helper.py
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    worksrcdir              ${distname}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append        "CCFLAGS=-I${prefix}/include -L${prefix}/lib"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append     "CCFLAGS=-I${prefix}/include -L${prefix}/lib"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.fflags-append -fno-second-underscore
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append        SETUPTOOLS_USE_DISTUTILS=stdlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append     SETUPTOOLS_USE_DISTUTILS=stdlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set fc_options      "config_fc --fcompiler gnu95 --f77exec ${configure.f77} --f77flags='${configure.f77_archflags} ${configure.fflags}' --f90exec ${configure.f90} --f90flags='${configure.f90_archflags} ${configure.fflags}'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set config_options  "config --cc ${configure.cc} --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.cmd-append    ${fc_options} ${config_options}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.cmd-append ${fc_options} ${config_options}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.env-append    CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CFLAGS=${configure.cc_archflags} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CXXFLAGS=${configure.cxx_archflags} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CPPFLAGS=${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.env-append CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CFLAGS=${configure.cc_archflags} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CXXFLAGS=${configure.cxx_archflags} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            CPPFLAGS=${configure.cppflags}
</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;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # for some reason read-world is not set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "chmod -R a+r ${destroot}${prefix}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${python.version} == 312} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.pep517   yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.pep517_backend meson
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant atlas conflicts openblas mkl description "Use MacPorts ATLAS libraries" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append  port:atlas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:pkgconfig
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant openblas conflicts atlas mkl description "Use MacPorts OpenBLAS Libraries" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # TODO: implement variants with different BLAS/LAPACK implementations; these need to be fixed in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #       py-numpy port as well after the switch to meson
</span>         depends_lib-append  path:lib/libopenblas.dylib:OpenBLAS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant mkl conflicts atlas openblas description "Use MacPorts MKL Libraries" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append  port:py${python.version}-mkl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:py${python.version}-mkl-include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   patch-pyproject.toml.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Make +openblas a default variant, at least temporarily, to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # overcome issues with Apple's /usr/lib/libblas.* and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # /usr/lib/liblapack.* missing a symbol. see also:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/57829
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset atlas] &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ![variant_isset openblas] &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ![variant_isset mkl]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants +openblas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.fflags-append -fno-second-underscore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # meson build systems is looking for default filenames without the version suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s ${prefix}/bin/pybind11-config-${python.branch} ${worksrcpath}/pybind11-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s ${prefix}/bin/cython-${python.branch} ${worksrcpath}/cython
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s ${prefix}/bin/pythran-${python.branch} ${worksrcpath}/pythran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.env-append    PATH=$env(PATH):${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        worksrcdir              ${distname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.env-append        "CCFLAGS=-I${prefix}/include -L${prefix}/lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.env-append     "CCFLAGS=-I${prefix}/include -L${prefix}/lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.fflags-append -fno-second-underscore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.env-append        SETUPTOOLS_USE_DISTUTILS=stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.env-append     SETUPTOOLS_USE_DISTUTILS=stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set fc_options      "config_fc --fcompiler gnu95 --f77exec ${configure.f77} --f77flags='${configure.f77_archflags} ${configure.fflags}' --f90exec ${configure.f90} --f90flags='${configure.f90_archflags} ${configure.fflags}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set config_options  "config --cc ${configure.cc} --include-dirs ${prefix}/include --library-dirs ${prefix}/lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.cmd-append    ${fc_options} ${config_options}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.cmd-append ${fc_options} ${config_options}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.env-append    CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CFLAGS=${configure.cc_archflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CXXFLAGS=${configure.cxx_archflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CPPFLAGS=${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.env-append CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CFLAGS=${configure.cc_archflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CXXFLAGS=${configure.cxx_archflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                CPPFLAGS=${configure.cppflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # for some reason read-world is not set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "chmod -R a+r ${destroot}${prefix}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant atlas conflicts openblas mkl description "Use MacPorts ATLAS libraries" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append  port:atlas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset atlas]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # use MacPorts atlas
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.env-append    OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            MKLROOT=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            LAPACK=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            BLAS=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.env-append OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            MKLROOT=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            LAPACK=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            BLAS=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # scipy needs fortran; so we only need to check if atlas is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # compiled with +nofortran
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![catch {set result [active_variants atlas "" nofortran]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {!$result} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    return -code error \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-"You have selected the +atlas variant but atlas was built with +nofortran.\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-scipy needs a fortran enabled atlas. Please rebuild atlas without the +nofortran\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant openblas conflicts atlas mkl description "Use MacPorts OpenBLAS Libraries" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append  path:lib/libopenblas.dylib:OpenBLAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant mkl conflicts atlas openblas description "Use MacPorts MKL Libraries" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append  port:py${python.version}-mkl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:py${python.version}-mkl-include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Make +openblas a default variant, at least temporarily, to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # overcome issues with Apple's /usr/lib/libblas.* and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # /usr/lib/liblapack.* missing a symbol. see also:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://trac.macports.org/ticket/57829
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![variant_isset atlas] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset openblas] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset mkl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants +openblas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset atlas]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # use MacPorts atlas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.env-append    OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                MKLROOT=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                LAPACK=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                BLAS=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.env-append OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                MKLROOT=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                LAPACK=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                BLAS=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # scipy needs fortran; so we only need to check if atlas is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # compiled with +nofortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {![catch {set result [active_variants atlas "" nofortran]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {!$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        return -code error \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "You have selected the +atlas variant but atlas was built with +nofortran.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    scipy needs a fortran enabled atlas. Please rebuild atlas without the +nofortran\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span>                 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # also check that numpy has the atlas variant active
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![catch {set result [active_variants py${python.version}-numpy atlas ""]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {!$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # also check that numpy has the atlas variant active
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {![catch {set result [active_variants py${python.version}-numpy atlas ""]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {!$result} {
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    return -code error \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-"You have selected the +atlas variant but py${python.version}-numpy does not\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-have the +atlas variant active. Please ensure that numpy is activated with the\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+atlas variant."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        return -code error \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "You have selected the +atlas variant but py${python.version}-numpy does not\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    have the +atlas variant active. Please ensure that numpy is activated with the\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    +atlas variant."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span>                 }
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {[variant_isset openblas]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # use MacPorts OpenBLAS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.env-append    OPENBLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            MKLROOT=None
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.env-append OPENBLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            MKLROOT=None
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {[variant_isset mkl]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # use MacPorts MKL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.env-append    OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            MKLROOT=${python.prefix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.env-append OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            MKLROOT=${python.prefix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # check that numpy has the mkl variant active
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![catch {set result [active_variants py${python.version}-numpy mkl ""]}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {!$result} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    return -code error \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-"You have selected the +mkl variant but py${python.version}-numpy does not\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-have the +mkl variant active. Please ensure that numpy is activated with the\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+mkl variant."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {[variant_isset openblas]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # use MacPorts OpenBLAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.env-append    OPENBLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                MKLROOT=None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.env-append OPENBLAS=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                MKLROOT=None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {[variant_isset mkl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # use MacPorts MKL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.env-append    OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                MKLROOT=${python.prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.env-append OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                MKLROOT=${python.prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # check that numpy has the mkl variant active
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {![catch {set result [active_variants py${python.version}-numpy mkl ""]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {!$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        return -code error \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "You have selected the +mkl variant but py${python.version}-numpy does not\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    have the +mkl variant active. Please ensure that numpy is activated with the\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    +mkl variant."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span>                 }
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # set absolute path to remove references to @rpath/libmkl_rt.2.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            foreach soname [exec find ${destroot}${python.pkgd}/scipy -name "*.so"] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                system "install_name_tool -change @rpath/libmkl_rt.2.dylib ${python.prefix}/lib/libmkl_rt.2.dylib ${soname}"
</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:#e0ffe0;'>+            # set absolute path to remove references to @rpath/libmkl_rt.2.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                foreach soname [exec find ${destroot}${python.pkgd}/scipy -name "*.so"] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    system "install_name_tool -change @rpath/libmkl_rt.2.dylib ${python.prefix}/lib/libmkl_rt.2.dylib ${soname}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # use Accelerate BLAS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.env-append    OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            LAPACK=/usr/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            BLAS=/usr/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.env-append OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            ATLAS=None \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            LAPACK=/usr/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            BLAS=/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # use Accelerate BLAS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.env-append    OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                LAPACK=/usr/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                BLAS=/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            destroot.env-append OPENBLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                ATLAS=None \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                LAPACK=/usr/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                BLAS=/usr/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/patch-pyproject.toml.diff b/python/py-scipy/files/patch-pyproject.toml.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d65c59d5331
</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/patch-pyproject.toml.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyproject.toml.orig    2024-01-11 23:28:08
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyproject.toml 2024-01-11 23:40:38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,13 +11,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build-backend = 'mesonpy'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ requires = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Reason for `<`: future-proofing (0.14.0 released and known to work)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "meson-python>=0.12.1,<0.15.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "meson-python>=0.12.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Reason for `<`: we want to build the 1.11.x releases with 0.29.x (too many changes in 3.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "Cython>=0.29.35,<3.0",   # when updating version, also update check in meson.build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "Cython>=0.29.35",   # when updating version, also update check in meson.build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Reason for `<`: future-proofing (2.11.1 is the most recent version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "pybind11>=2.10.4,<2.11.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "pybind11>=2.10.4",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Reason for `<`: future-proofing (0.14.0 released and known to work)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "pythran>=0.12.0,<0.15.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "pythran>=0.12.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # NumPy dependencies - to update these, sync from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # https://github.com/scipy/oldest-supported-numpy/, and then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,22 +27,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # now matches minimum supported version, keep here as separate requirement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # to be able to sync more easily with oldest-supported-numpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # loongarch64 requires numpy>=1.22.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy==1.22.0; python_version<'3.11' and platform_machine=='loongarch64'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy==1.22.0; python_version<'3.11' and platform_machine=='loongarch64'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # On Windows we need to avoid 1.21.6, 1.22.0 and 1.22.1 because they were
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # built with vc142. 1.22.3 is the first version that has 32-bit Windows
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # wheels *and* was built with vc141. So use that:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy==1.22.3; python_version=='3.9' and platform_system=='Windows' and platform_python_implementation != 'PyPy' and platform_machine!='loongarch64'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy' and platform_machine!='loongarch64'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy==1.22.3; python_version=='3.9' and platform_system=='Windows' and platform_python_implementation != 'PyPy' and platform_machine!='loongarch64'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy' and platform_machine!='loongarch64'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # default numpy requirements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy==1.21.6; python_version=='3.9' and (platform_system!='Windows' and platform_machine!='loongarch64') and platform_python_implementation != 'PyPy'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy==1.21.6; python_version=='3.9' and (platform_system!='Windows' and platform_machine!='loongarch64') and platform_python_implementation != 'PyPy'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Note that 1.21.3 was the first version with a complete set of 3.10 wheels,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # however macOS was broken and it's safe C API/ABI-wise to build against 1.21.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # (see oldest-supported-numpy issues gh-28 and gh-45)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy==1.21.6; python_version=='3.10' and (platform_system!='Windows' and platform_machine!='loongarch64') and platform_python_implementation != 'PyPy'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy==1.23.2; python_version=='3.11' and platform_python_implementation != 'PyPy'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "numpy>=1.26.0,<1.27.0; python_version=='3.12'",  # no `==` because we expect relevant bug fixes in 1.26.1/2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy==1.21.6; python_version=='3.10' and (platform_system!='Windows' and platform_machine!='loongarch64') and platform_python_implementation != 'PyPy'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy==1.23.2; python_version=='3.11' and platform_python_implementation != 'PyPy'",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #"numpy>=1.26.0,<1.27.0; python_version=='3.12'",  # no `==` because we expect relevant bug fixes in 1.26.1/2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # For Python versions which aren't yet officially supported,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # we specify an unpinned NumPy which allows source distributions
</span></pre><pre style='margin:0'>

</pre>