<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d45376ea224ffa9184c6a0ecbcbdf024ee447f12">https://github.com/macports/macports-ports/commit/d45376ea224ffa9184c6a0ecbcbdf024ee447f12</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d45376ea224ffa9184c6a0ecbcbdf024ee447f12
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Sun Jun 27 13:41:08 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    py-scipy: update to 1.7.0
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - add build dependency on pythran
</span><span style='display:block; white-space:pre;color:#404040;'>    - use boost PG, version 1.71
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    - remove test dependencies (no test phase defined) and py-nose from
</span><span style='display:block; white-space:pre;color:#404040;'>      depends_lib
</span>---
 python/py-scipy/Portfile                           | 25 ++++++----
 python/py-scipy/files/patch-allow-MP-boost.diff    | 48 +++++++++++++++++++
 .../files/patch-use__STDC_NO_THREADS__.diff        | 54 ++++++++++++++++++++++
 3 files changed, 118 insertions(+), 9 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 de16ef7ffc7..154aa3a9bd9 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;'>@@ -7,10 +7,10 @@ PortGroup               github 1.0
</span> PortGroup               compilers 1.0
 PortGroup               compiler_blacklist_versions 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup            scipy scipy 1.6.3 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  6707517e6453672754d29de617b4f97a16273af0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  df43ae5800a551a29a0ac3f12f53ae1039605dc412729c911e2558442fa48e92 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    21924207
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup            scipy scipy 1.7.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  a63f8c30d0a6901afcef88d132d240ec413d9d06 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  055b52003fd7746b930fa8125744489fb977b96cdfee97ed0f3ada5bdb35fa14 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    23187422
</span> revision                0
 
 name                    py-scipy
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,7 +85,18 @@ if {${name} ne ${subport}} {
</span> 
     } else {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append port:py${python.version}-mypy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # current release, which uses Boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PortGroup           boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        boost.version       1.71
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   patch-allow-MP-boost.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # force disable STDC THREADS from <threads.h> and instead just use __thread
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://trac.macports.org/ticket/62488
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   patch-use__STDC_NO_THREADS__.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:py${python.version}-pythran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append  port:py${python.version}-mypy
</span> 
         compiler.c_standard 2011
         compiler.cxx_standard 2014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -97,15 +108,11 @@ if {${name} ne ${subport}} {
</span>     }
 
     depends_lib-append      port:py${python.version}-numpy \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:py${python.version}-nose \
</span>                             port:py${python.version}-pybind11
 
     depends_build-append    port:swig-python \
                             port:py${python.version}-pip
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_test-append     port:py${python.version}-py \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:py${python.version}-pytest
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     worksrcdir              ${distname}
     build.env-append        "CCFLAGS=-I${prefix}/include -L${prefix}/lib"
     destroot.env-append     "CCFLAGS=-I${prefix}/include -L${prefix}/lib"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/patch-allow-MP-boost.diff b/python/py-scipy/files/patch-allow-MP-boost.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e6962af7c3c
</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-allow-MP-boost.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scipy/_lib/_boost_utils.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scipy/_lib/_boost_utils.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,10 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '''Helper functions to get location of header files.'''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import pathlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from typing import Union
</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;'>+ def _boost_dir(ret_path: bool = False) -> Union[pathlib.Path, str]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     '''Directory where root Boost/ directory lives.'''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # 1: see if the submodule is in use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     p = pathlib.Path(__file__).parent / 'boost'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return p if ret_path else str(p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if os.path.exists(p / 'README.md'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # 2: from a shell environment variable, in order of checking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # these are the top-level PREFIX for where Boost is installed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # such that `include/boost` and `lib` are subdirectories
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    p_env = ['BOOST_ROOT', 'BOOST_DIR', 'BOOSTROOT', 'BOOSTDIR']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    for t_p in p_env:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        print('checking for shell enviroment variable', t_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        t_p_v = os.getenv(t_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        print('value is', t_p_v)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if t_p_v is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if os.path.exists(pathlib.Path(t_p_v) / 'include' / 'boost'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                print('path exists; returning this Boost path')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return t_p_v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Boost not found!!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    raise RuntimeError("Missing the `boost` submodule! Run `git submodule "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                           "update --init` to fix this.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scipy/_lib/setup.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scipy/_lib/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,9 +5,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def check_boost_submodule():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     from scipy._lib._boost_utils import _boost_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if not os.path.exists(_boost_dir(ret_path=True) / 'README.md'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        raise RuntimeError("Missing the `boost` submodule! Run `git submodule "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                           "update --init` to fix this.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #if not os.path.exists(_boost_dir(ret_path=True) / 'README.md'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #    raise RuntimeError("Missing the `boost` submodule! Run `git submodule "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    #                       "update --init` to fix this.")
</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;'>+ def build_clib_pre_build_hook(cmd, ext):
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-scipy/files/patch-use__STDC_NO_THREADS__.diff b/python/py-scipy/files/patch-use__STDC_NO_THREADS__.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6e8e3080f34
</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-use__STDC_NO_THREADS__.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,54 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scipy/integrate/setup.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scipy/integrate/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,9 +37,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     config.add_library('mach', sources=mach_src, config_fc={'noopt': (__file__, 1)},
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        _pre_build_hook=pre_build_hook)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     config.add_library('quadpack', sources=quadpack_src, _pre_build_hook=pre_build_hook)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    config.add_library('lsoda', sources=lsoda_src, _pre_build_hook=pre_build_hook)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    config.add_library('vode', sources=vode_src, _pre_build_hook=pre_build_hook)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    config.add_library('dop', sources=dop_src, _pre_build_hook=pre_build_hook)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    config.add_library('lsoda', sources=lsoda_src, _pre_build_hook=pre_build_hook, macros=[('__STDC_NO_THREADS__',1)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    config.add_library('vode', sources=vode_src, _pre_build_hook=pre_build_hook, macros=[('__STDC_NO_THREADS__',1)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    config.add_library('dop', sources=dop_src, _pre_build_hook=pre_build_hook, macros=[('__STDC_NO_THREADS__',1)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Extensions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # quadpack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scipy/linalg/setup.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scipy/linalg/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -59,7 +59,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     config.add_extension('_flapack',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          sources=sources,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          depends=depends,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                         extra_info=lapack_opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                         extra_info=lapack_opt,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                         define_macros=[('__STDC_NO_THREADS__',1)]
</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 uses_blas64():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -96,7 +97,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ext = config.add_extension('_interpolative',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                sources=[join('src', 'id_dist', 'src', '*.f'),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                         "interpolative.pyf"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                               extra_info=lapack_opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               extra_info=lapack_opt,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               define_macros=[('__STDC_NO_THREADS__',1)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ext._pre_build_hook = gfortran_legacy_flag_hook
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scipy/optimize/setup.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scipy/optimize/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -78,10 +78,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          depends=[join('tnc', 'tnc.h')],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          **numpy_nodepr_api)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    local_macros = numpy_nodepr_api
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    local_macros['define_macros'].append(('__STDC_NO_THREADS__',1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     config.add_extension('_cobyla',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          sources=[join('cobyla', x) for x in [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              'cobyla.pyf', 'cobyla2.f', 'trstlp.f']],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                         **numpy_nodepr_api)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                         **local_macros)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     sources = ['minpack2.pyf', 'dcsrch.f', 'dcstep.f']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     config.add_extension('minpack2',
</span></pre><pre style='margin:0'>

</pre>