<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/750711ce73239cc24afdd60440310badbf37159b">https://github.com/macports/macports-ports/commit/750711ce73239cc24afdd60440310badbf37159b</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 750711ce732 python39: bug fixes
</span>750711ce732 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 750711ce73239cc24afdd60440310badbf37159b
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Mar 31 15:20:58 2021 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python39: bug fixes
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Apply upstream fix for compilation of ctypes with older gcc. Relax
</span><span style='display:block; white-space:pre;color:#404040;'>    MACOSX_DEPLOYMENT_TARGET check in distutils.
</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/62020
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/62450
</span>---
 lang/python39/Portfile                             |  6 ++--
 .../python39/files/_ctypes_callback.c-pragma.patch | 35 ++++++++++++++++++++++
 lang/python39/files/distutils_spawn.py.patch       | 29 ++++++++++++++++++
 3 files changed, 68 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39/Portfile b/lang/python39/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cba0d18f4ec..bef5b06c768 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python39/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python39/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ name                python39
</span> 
 # Remember to keep py39-tkinter and py39-gdbm's versions sync'd with this
 version             3.9.2
<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 branch          [join [lrange [split ${version} .] 0 1] .]
 categories          lang
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,7 +34,9 @@ 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;'>-                    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;'>+                    _ctypes_callback.c-pragma.patch \
</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/python39/files/_ctypes_callback.c-pragma.patch b/lang/python39/files/_ctypes_callback.c-pragma.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6bbf3b7ee4e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python39/files/_ctypes_callback.c-pragma.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 132e31f4bf20818a469cbcdba75068f26cb19a65 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Miss Islington (bot)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <31488909+miss-islington@users.noreply.github.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 27 Feb 2021 16:51:36 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] bpo-43335: Update macro to check gcc version (GH-24662)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit bf9de7ab24d9d7068645b202bc47146b9a4f2726)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Co-authored-by: Dong-hee Na <donghee.na@python.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Modules/_ctypes/callbacks.c | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Modules/_ctypes/callbacks.c b/Modules/_ctypes/callbacks.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 19c77f4f57ef5..e6e101829a699 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/_ctypes/callbacks.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/_ctypes/callbacks.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -430,7 +430,7 @@ CThunkObject *_ctypes_alloc_callback(PyObject *callable,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #pragma clang diagnostic push
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #pragma clang diagnostic ignored "-Wdeprecated-declarations"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #pragma GCC diagnostic push
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -439,7 +439,7 @@ CThunkObject *_ctypes_alloc_callback(PyObject *callable,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(__clang__) || defined(MACOSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #pragma clang diagnostic pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         #pragma GCC diagnostic pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39/files/distutils_spawn.py.patch b/lang/python39/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/python39/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></pre><pre style='margin:0'>

</pre>