<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/ae7839b66f8f6b7eda66bda5585cdc6d33101a9b">https://github.com/macports/macports-ports/commit/ae7839b66f8f6b7eda66bda5585cdc6d33101a9b</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 ae7839b66f8 python38: update to 3.8.10
</span>ae7839b66f8 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ae7839b66f8f6b7eda66bda5585cdc6d33101a9b
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat May 8 05:04:35 2021 +1000

<span style='display:block; white-space:pre;color:#404040;'>    python38: update to 3.8.10
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also backport relaxation of distutils' MACOSX_DEPLOYMENT_TARGET check.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/62757
</span>---
 lang/python38/Portfile                       | 14 +++++------
 lang/python38/files/distutils_spawn.py.patch | 29 +++++++++++++++++++++++
 lang/python38/files/patch-arm64.diff         | 35 ----------------------------
 lang/python38/files/patch-setup.py.diff      | 30 +++++++++++++-----------
 python/py-gdbm/Portfile                      | 10 ++++----
 python/py-tkinter/Portfile                   | 10 ++++----
 6 files changed, 63 insertions(+), 65 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python38/Portfile b/lang/python38/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 03953bceab4..951d7cc8146 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python38/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python38/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,7 +8,7 @@ name                python38
</span> 
 epoch               1
 # Remember to keep py38-tkinter, py38-htmldocs, and py38-gdbm's versions sync'd with this
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.8.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.8.10
</span> 
 set major           [lindex [split $version .] 0]
 set branch          [join [lrange [split ${version} .] 0 1] .]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,10 +27,10 @@ master_sites        ${homepage}ftp/python/${version}/
</span> 
 distname            Python-${version}
 use_xz              yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5 51b5bbf2ab447e66d15af4883db1c133 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 fb13a5a53796ecc6acce509cf4fe49f3be61666e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 5e391f3ec45da2954419cab0beaefd8be38895ea5ce33577c3ec14940c4b9572 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size   18271948
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           md5 d9eee4b20155553830a2025e4dcaa7b3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 eaffc74bd79021ef7a6309f494ca387860e8af9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size   18433456
</span> 
 patchfiles          patch-setup.py.diff \
                     patch-Lib-cgi.py.diff \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,8 +38,8 @@ patchfiles          patch-setup.py.diff \
</span>                     patch-Lib-ctypes-macholib-dyld.py.diff \
                     patch-libedit.diff \
                     patch-configure-xcode4bug.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-arm64.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sysconfig.py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sysconfig.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    distutils_spawn.py.patch
</span> 
 if {${os.platform} eq "darwin" && ${os.major} < 10} {
     # work around no copyfile and/or pthread_threadid_np on older systems
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python38/files/distutils_spawn.py.patch b/lang/python38/files/distutils_spawn.py.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8403b095101
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python38/files/distutils_spawn.py.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/pypa/distutils/pull/36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/distutils/spawn.py b/distutils/spawn.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a73b8b9..b012d00 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/distutils/spawn.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/distutils/spawn.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,13 +60,17 @@ def spawn(cmd, search_path=1, verbose=0, dry_run=0, env=None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if _cfg_target:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if _cfg_target:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            # ensure that the deployment target of build process is not less
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            # than that used when the interpreter was built. This ensures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            # extension modules are built with correct compatibility values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # Ensure that the deployment target of the build process is not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # less than 10.3 if the interpreter was built for 10.3 or later.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # This ensures extension modules are built with correct
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # compatibility values, specifically LDSHARED which can use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # '-undefined dynamic_lookup' which only works on >= 10.3.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            cur_target_split = [int(x) for x in cur_target.split('.')]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if _cfg_target_split[:2] >= [10, 3] and cur_target_split[:2] < [10, 3]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                          'now "%s" but "%s" during configure'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                          'now "%s" but "%s" during configure;'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                          'must use 10.3 or later'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 % (cur_target, _cfg_target))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 raise DistutilsPlatformError(my_msg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             env = dict(os.environ,
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python38/files/patch-arm64.diff b/lang/python38/files/patch-arm64.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 3c9a1e56866..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python38/files/patch-arm64.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,35 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Mac/Tools/pythonw.c    2020-07-13 05:11:53.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Mac/Tools/pythonw.c    2020-07-18 14:22:39.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -121,6 +121,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cpu_types[0] = CPU_TYPE_POWERPC;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__i386__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cpu_types[0] = CPU_TYPE_X86;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(__arm64__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    cpu_types[0] = CPU_TYPE_ARM64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #       error "Unknown CPU"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Modules/_decimal/libmpdec/mpdecimal.h  2020-07-13 05:11:53.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Modules/_decimal/libmpdec/mpdecimal.h  2020-07-18 14:24:04.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -135,6 +135,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   #elif defined(__x86_64__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     #define CONFIG_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     #define ASM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #elif defined(__arm64__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    #define CONFIG_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    #define ANSI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     #error "unknown architecture for universal build."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure      2020-07-13 05:11:53.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure      2020-07-18 14:21:25.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9260,6 +9260,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           case `/usr/bin/arch` in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          arm64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  MACOSX_DEFAULT_ARCH="arm64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           i386)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   MACOSX_DEFAULT_ARCH="x86_64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ;;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python38/files/patch-setup.py.diff b/lang/python38/files/patch-setup.py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 37f3c532d42..eb382720d48 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python38/files/patch-setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python38/files/patch-setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- setup.py.orig  2019-12-10 08:22:20.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ setup.py       2019-12-10 08:24:52.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,7 +24,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py.orig  2021-05-03 19:47:56.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py       2021-05-08 04:51:51.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,7 +25,7 @@
</span>  TEST_EXTENSIONS = True
  
  # This global variable is used to hold the list of modules to be disabled.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +9,7 @@
</span>  
  
  def get_platform():
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -648,9 +648,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -633,9 +633,6 @@
</span>          # Ensure that /usr/local is always used, but the local build
          # directories (i.e. '.' and 'Include') must be first.  See issue
          # 10520.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,7 +19,19 @@
</span>          # only change this for cross builds for 3.3, issues on Mageia
          if CROSS_COMPILING:
              self.add_cross_compiling_paths()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1851,8 +1848,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1660,10 +1657,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # Build the _uuid module if possible
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if uuid_incs is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if self.compiler.find_library_file(self.lib_dirs, 'uuid'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                uuid_libs = ['uuid']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                uuid_libs = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            uuid_libs = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             self.add(Extension('_uuid', ['_uuidmodule.c'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                libraries=uuid_libs,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                include_dirs=uuid_incs))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1836,8 +1830,8 @@
</span>          # Rather than complicate the code below, detecting and building
          # AquaTk is a separate method. Only one Tkinter will be built on
          # Darwin - either AquaTk, if it is found, or X11 based Tk.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,11 +42,3 @@
</span>  
          # Assume we haven't found any of the libraries or include files
          # The versions with dots are used on Unix, and the versions without
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2045,7 +2042,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             # OS X 10.5 comes with libffi.dylib; the include files are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             # in /usr/include/ffi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            ffi_inc_dirs.append('/usr/include/ffi')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not ffi_inc or ffi_inc[0] == '':
</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 a2f69ac032c..5473ab9eb19 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;'>@@ -124,14 +124,14 @@ subport py37-gdbm {
</span> }
 subport py38-gdbm {
     maintainers     nomaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version         3.8.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         3.8.10
</span>     revision        0
     homepage        https://docs.python.org/release/${version}/library/dbm.html
     use_xz                     yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       md5 51b5bbf2ab447e66d15af4883db1c133 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 fb13a5a53796ecc6acce509cf4fe49f3be61666e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 5e391f3ec45da2954419cab0beaefd8be38895ea5ce33577c3ec14940c4b9572 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size   18271948
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       md5 d9eee4b20155553830a2025e4dcaa7b3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 eaffc74bd79021ef7a6309f494ca387860e8af9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size   18433456
</span>     set setup_py "setup-py3k.py"
     set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
     livecheck.regex {Python (3\.8\.[0-9]+)}
<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 7ce93800bee..f037582e752 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;'>@@ -117,14 +117,14 @@ subport py37-tkinter {
</span> }
 subport py38-tkinter {
     maintainers nomaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version     3.8.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     3.8.10
</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 51b5bbf2ab447e66d15af4883db1c133 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160 fb13a5a53796ecc6acce509cf4fe49f3be61666e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256 5e391f3ec45da2954419cab0beaefd8be38895ea5ce33577c3ec14940c4b9572 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                size   18271948
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   md5 d9eee4b20155553830a2025e4dcaa7b3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rmd160 eaffc74bd79021ef7a6309f494ca387860e8af9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256 6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size   18433456
</span>     append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
     set module_name tkinter
 }
</pre><pre style='margin:0'>

</pre>