<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/4558194eef422bf78fa49534a790062000a236c2">https://github.com/macports/macports-ports/commit/4558194eef422bf78fa49534a790062000a236c2</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 4558194  python27: update to 2.7.17
</span>4558194 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 4558194eef422bf78fa49534a790062000a236c2
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Oct 21 01:18:42 2019 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python27: update to 2.7.17
</span>---
 lang/python27/Portfile                         | 11 ++-
 lang/python27/files/lchmod.patch               | 31 ---------
 lang/python27/files/patch-_osx_support.py.diff | 94 ++++++++++++++++++++++++++
 python/py-gdbm/Portfile                        |  8 +--
 python/py-tkinter/Portfile                     |  8 +--
 5 files changed, 107 insertions(+), 45 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python27/Portfile b/lang/python27/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f5c085b..3386a3a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python27/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python27/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,8 +7,7 @@ PortGroup           clang_dependency 1.0
</span> name                python27
 epoch               2
 # Remember to keep py27-tkinter and py27-gdbm's versions sync'd with this
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2.7.16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.7.17
</span> 
 set major           [lindex [split $version .] 0]
 set branch          [join [lrange [split ${version} .] 0 1] .]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,9 +27,9 @@ master_sites        ${homepage}ftp/python/${version}/
</span> distname            Python-${version}
 use_xz              yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5 30157d85a2c0479c09ea2cbe61f2aaf5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 2e4ab325a9c9edf1687b6a5969cdafeb3cc954da \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           md5 b3b6d2c92f42a60667814358ab9f0cfd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 55e05d1475d4e27873e71802529499361ba25e14 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 4d43f033cdbd0aa7b7023c81b0e986fd11e653b5248dac9144d508f11812ba41
</span> 
 patchfiles          patch-Makefile.pre.in.diff \
                     patch-setup.py.diff \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,7 +38,7 @@ patchfiles          patch-Makefile.pre.in.diff \
</span>                     patch-configure.diff \
                     patch-libedit.diff \
                     enable-loadable-sqlite-extensions.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    lchmod.patch
</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/python27/files/lchmod.patch b/lang/python27/files/lchmod.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5d696e3..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python27/files/lchmod.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,31 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- pyconfig.h.in.orig     2019-03-03 05:17:42.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ pyconfig.h.in  2019-04-02 01:27:33.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -439,6 +439,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the 'lchflags' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_LCHFLAGS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Define to 1 if you have the `lchmod' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#undef HAVE_LCHMOD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Define to 1 if you have the `lchown' function. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HAVE_LCHOWN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.orig 2019-04-02 01:23:31.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2019-04-02 01:24:03.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10622,10 +10620,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # links. Some libc implementations have a stub lchmod implementation that always
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # returns an error.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "$MACHDEP" != linux; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  for ac_func in lchmod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+do :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ac_fn_c_check_func "$LINENO" "lchmod" "ac_cv_func_lchmod"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "x$ac_cv_func_lchmod" = xyes; then :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  cat >>confdefs.h <<_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define HAVE_LCHMOD 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_ACEOF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python27/files/patch-_osx_support.py.diff b/lang/python27/files/patch-_osx_support.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..8a65517
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python27/files/patch-_osx_support.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,94 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/_osx_support.py.orig       2019-10-20 05:38:44.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/_osx_support.py    2019-10-21 00:34:17.000000000 +1100
</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('-arch\s+\w+\s', ' ', flags)
</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(r'-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;'>+@@ -338,23 +338,34 @@
</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;'>+-            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;'>++            indices = [i for i,x in enumerate(compiler_so) 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;'>++                break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            index = indices[0]
</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;'>+-            except ValueError:
</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;'>++                # 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;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Check if the SDK that is used during compilation actually exists,
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/distutils/unixccompiler.py.orig    2019-10-20 05:38:44.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/distutils/unixccompiler.py 2019-10-21 00:35:38.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -272,7 +272,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;color:#808080;'>diff --git a/python/py-gdbm/Portfile b/python/py-gdbm/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bb923b9..4fd072d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-gdbm/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-gdbm/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,12 +32,12 @@ subport py26-gdbm {
</span> }
 subport py27-gdbm {
     maintainers     {jmr @jmroot} openmaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version         2.7.16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         2.7.17
</span>     revision        0
     use_xz                     yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       md5 30157d85a2c0479c09ea2cbe61f2aaf5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 2e4ab325a9c9edf1687b6a5969cdafeb3cc954da \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       md5 b3b6d2c92f42a60667814358ab9f0cfd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 55e05d1475d4e27873e71802529499361ba25e14 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 4d43f033cdbd0aa7b7023c81b0e986fd11e653b5248dac9144d508f11812ba41
</span>     livecheck.regex       Python (2.7.\[0-9\]+)
 }
 subport py32-gdbm {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tkinter/Portfile b/python/py-tkinter/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3743c5a..6591d35 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-tkinter/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tkinter/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,13 +32,13 @@ subport py26-tkinter {
</span> }
 subport py27-tkinter {
     maintainers {jmr @jmroot} openmaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version     2.7.16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     2.7.17
</span>     revision    0
     homepage    https://docs.python.org/release/${version}/library/tkinter.html
     use_xz      yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums   md5 30157d85a2c0479c09ea2cbe61f2aaf5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160 2e4ab325a9c9edf1687b6a5969cdafeb3cc954da \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256 f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   md5 b3b6d2c92f42a60667814358ab9f0cfd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rmd160 55e05d1475d4e27873e71802529499361ba25e14 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256 4d43f033cdbd0aa7b7023c81b0e986fd11e653b5248dac9144d508f11812ba41
</span>     append extract_files " Modules/tkinter.h"
 }
 subport py32-tkinter {
</pre><pre style='margin:0'>

</pre>