<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/01734363205ed290e109b22550b43739e0956dbf">https://github.com/macports/macports-ports/commit/01734363205ed290e109b22550b43739e0956dbf</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 0173436  python36: handle -isysroot without a space
</span>0173436 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 01734363205ed290e109b22550b43739e0956dbf
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Oct 16 23:35:26 2019 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python36: handle -isysroot without a space
</span>---
 lang/python36/Portfile                         |  5 +-
 lang/python36/files/patch-_osx_support.py.diff | 95 ++++++++++++++++++++++++++
 2 files changed, 98 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python36/Portfile b/lang/python36/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1de075c..27dd80a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python36/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python36/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,7 +8,7 @@ name                python36
</span> epoch               20170717
 # Remember to keep py36-tkinter and py36-gdbm's versions sync'd with this
 version             3.6.9
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            2
</span> 
 set major           [lindex [split $version .] 0]
 set branch          [join [lrange [split ${version} .] 0 1] .]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,8 @@ patchfiles          patch-setup.py.diff \
</span>                     patch-Lib-ctypes-macholib-dyld.py.diff \
                     patch-libedit.diff \
                     omit-local-site-packages.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-configure-xcode4bug.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-configure-xcode4bug.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-_osx_support.py.diff
</span> 
 depends_build       port:pkgconfig
 depends_lib         port:bzip2 \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python36/files/patch-_osx_support.py.diff b/lang/python36/files/patch-_osx_support.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..fdeab3a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python36/files/patch-_osx_support.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,95 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/distutils/unixccompiler.py.orig    2019-07-03 06:25:39.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/distutils/unixccompiler.py 2019-10-16 23:24:39.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -282,7 +282,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             # vs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             #   /usr/lib/libedit.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             cflags = sysconfig.get_config_var('CFLAGS')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            m = re.search(r'-isysroot\s+(\S+)', cflags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            m = re.search(r'-isysroot\s*(\S+)', cflags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if m is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 sysroot = '/'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/_osx_support.py.orig       2019-07-09 04:03:50.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/_osx_support.py    2019-09-30 09:39:16.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -211,7 +211,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if cv in _config_vars and cv not in os.environ:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             flags = _config_vars[cv]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             flags = re.sub(r'-arch\s+\w+\s', ' ', flags, flags=re.ASCII)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            flags = re.sub('-isysroot [^ \t]*', ' ', flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            flags = re.sub('-isysroot\s*\S+', ' ', flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             _save_modified_value(_config_vars, cv, flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return _config_vars
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,7 +287,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # to /usr and /System/Library by either a standalone CLT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # package or the CLT component within Xcode.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cflags = _config_vars.get('CFLAGS', '')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    m = re.search(r'-isysroot\s+(\S+)', cflags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    m = re.search(r'-isysroot\s*(\S+)', cflags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if m is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         sdk = m.group(1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not os.path.exists(sdk):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -295,7 +295,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 # Do not alter a config var explicitly overridden by env var
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 if cv in _config_vars and cv not in os.environ:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     flags = _config_vars[cv]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    flags = re.sub(r'-isysroot\s+\S+(?:\s|$)', ' ', flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    flags = re.sub(r'-isysroot\s*\S+(?:\s|$)', ' ', flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     _save_modified_value(_config_vars, cv, flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return _config_vars
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -320,7 +320,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stripArch = stripSysroot = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stripArch = '-arch' in cc_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        stripSysroot = '-isysroot' in cc_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        stripSysroot = any(arg for arg in cc_args if arg.find('-isysroot') == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if stripArch or 'ARCHFLAGS' in os.environ:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         while True:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -337,11 +337,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         compiler_so = compiler_so + os.environ['ARCHFLAGS'].split()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if stripSysroot:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        while True:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        indices = [i for i,x in enumerate(compiler_so) if x.find('-isysroot') == 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for index in indices:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                index = compiler_so.index('-isysroot')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                # Strip this argument and the next one:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                del compiler_so[index:index+2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if compiler_so[index] == '-isysroot':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    # Strip this argument and the next one:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    del compiler_so[index:index+2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    # It's '-isysroot/some/path' in one arg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    del compiler_so[index:index+1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             except ValueError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -349,12 +353,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # the universal build requires the usage of a universal SDK and not all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # users have that installed by default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     sysroot = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if '-isysroot' in cc_args:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        idx = cc_args.index('-isysroot')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        sysroot = cc_args[idx+1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    elif '-isysroot' in compiler_so:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        idx = compiler_so.index('-isysroot')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        sysroot = compiler_so[idx+1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    argvar = cc_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    indices = [i for i,x in enumerate(cc_args) if x.find('-isysroot') == 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if not indices:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        argvar = compiler_so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        indices = [i for i,x in enumerate(compiler_so) if x.find('-isysroot') == 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    for idx in indices:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if argvar[idx] == '-isysroot':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            sysroot = argvar[idx+1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            sysroot = argvar[idx][len('-isysroot'):]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if sysroot and not os.path.isdir(sysroot):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         from distutils import log
</span></pre><pre style='margin:0'>

</pre>