<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>