<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/df937b0e8d2efacf47bbf4e7d5c96baa383a86e5">https://github.com/macports/macports-ports/commit/df937b0e8d2efacf47bbf4e7d5c96baa383a86e5</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 df937b0e8d2 python310: fix universal build (#14786)
</span>df937b0e8d2 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit df937b0e8d2efacf47bbf4e7d5c96baa383a86e5
</span>Author: MarcusCalhoun-Lopez <MarcusCalhoun-Lopez@users.noreply.github.com>
AuthorDate: Mon May 9 19:20:03 2022 -0700

<span style='display:block; white-space:pre;color:#404040;'>    python310: fix universal build (#14786)
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Patching the file _sysconfigdata__darwin_darwin.py in post-build
</span><span style='display:block; white-space:pre;color:#404040;'>    seems to cause rebuilds (without the `-arch` flags) during the
</span><span style='display:block; white-space:pre;color:#404040;'>    destroot phase.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Revbump is needed since the universal build can be incorrect.
</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/63782
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Co-authored-by: Joshua Root <jmr@macports.org>
</span>---
 lang/python310/Portfile | 49 ++++++++++++++++++++++---------------------------
 1 file changed, 22 insertions(+), 27 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310/Portfile b/lang/python310/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8d1eba7555d..07ccf08d378 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python310/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python310/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,6 +8,7 @@ name                python310
</span> 
 # Remember to keep py310-tkinter and py310-gdbm's versions sync'd with this
 version             3.10.4
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          lang
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,33 +115,6 @@ platform darwin {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set buildlibdir [lindex [glob -directory ${worksrcpath}/build lib.*-*-*-${branch}] 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # preserve mtime of sysconfig data file to avoid rebuilding things after changing it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set oldmtime [file mtime ${buildlibdir}/_sysconfigdata__darwin_darwin.py]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Without this, LINKFORSHARED is set to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # ... $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # (this becomes Python.framework/Versions/3.10/Python) which doesn't
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # work for dependents that incorrectly use this variable to find out
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # how to link against python (see ticket #15099); instead we mirror
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # the behavior of `python-config --ldflags` here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set lfs_pattern {^([[:space:]]*'LINKFORSHARED':).*}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set lfs_replacement "\\1 '-L${framewdir}/lib/python${branch}/${confdir} -lpython${branch} -ldl -framework CoreFoundation',"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -E s|${lfs_pattern}|${lfs_replacement}| \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${buildlibdir}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # remove -arch flags from the config
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -E {s|-arch [a-z0-9_]+||g} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${buildlibdir}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # also remove gettext overlinking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|-lintl||" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${buildlibdir}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mtime ${buildlibdir}/_sysconfigdata__darwin_darwin.py $oldmtime
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     post-destroot {
         foreach dir { Headers Resources Python Versions/Current } {
             file delete ${destroot}${framewpath}/${dir}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -159,6 +133,27 @@ platform darwin {
</span> 
         reinplace "s|-lintl||" \
            ${destroot}${framewdir}/lib/python${branch}/${confdir}/Makefile
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Without this, LINKFORSHARED is set to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ... $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # (this becomes Python.framework/Versions/3.10/Python) which doesn't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # work for dependents that incorrectly use this variable to find out
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # how to link against python (see ticket #15099); instead we mirror
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # the behavior of `python-config --ldflags` here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set lfs_pattern {^([[:space:]]*'LINKFORSHARED':).*}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set lfs_replacement "\\1 '-L${framewdir}/lib/python${branch}/${confdir} -lpython${branch} -ldl -framework CoreFoundation',"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E s|${lfs_pattern}|${lfs_replacement}| \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${framewdir}/lib/python${branch}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # remove -arch flags from the config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E {s|-arch [a-z0-9_]+||g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${framewdir}/lib/python${branch}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # also remove gettext overlinking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|-lintl ||" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${framewdir}/lib/python${branch}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath} "env DYLD_FRAMEWORK_PATH=. ./python.exe -E -m compileall -d [shellescape ${framewdir}/lib/python${branch}] -o 0 -o 1 -o 2 [shellescape ${destroot}${framewdir}/lib/python${branch}/_sysconfigdata__darwin_darwin.py]"
</span>     }
 }
 
</pre><pre style='margin:0'>

</pre>