<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>