<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3c1ace9d14ed87685e8104301ff091df3519a97d">https://github.com/macports/macports-ports/commit/3c1ace9d14ed87685e8104301ff091df3519a97d</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 3c1ace9d14e gawk: reenable arm64 build
</span>3c1ace9d14e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3c1ace9d14ed87685e8104301ff091df3519a97d
</span>Author: Mark Mentovai <mark@mentovai.com>
AuthorDate: Wed Nov 23 00:19:08 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    gawk: reenable arm64 build
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Upstream gawk has added a “PMA” (persistent memory allocator) feature
</span><span style='display:block; white-space:pre;color:#404040;'>    that unfortunately requires gawk to be built as a non-PIE
</span><span style='display:block; white-space:pre;color:#404040;'>    (position-independent executable). Non-PIE is not supported at all on
</span><span style='display:block; white-space:pre;color:#404040;'>    mac-arm64, so the upstream default as of
</span><span style='display:block; white-space:pre;color:#404040;'>    https://git.savannah.gnu.org/cgit/gawk.git/commit?id=0d9727bcd312da8555ca59942790adfee5fcafea
</span><span style='display:block; white-space:pre;color:#404040;'>    is to forcibly build gawk as mac-x86_64, requiring it to run under
</span><span style='display:block; white-space:pre;color:#404040;'>    Rosetta binary translation on mac-arm64. Informed opinion: the
</span><span style='display:block; white-space:pre;color:#404040;'>    upstream’s approach is misguided for multiple reasons.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The recent update of the gawk port to 5.2.1 at 42141802c346 honored this
</span><span style='display:block; white-space:pre;color:#404040;'>    upstream default, causing problems for mac-arm64 systems without Rosetta
</span><span style='display:block; white-space:pre;color:#404040;'>    installed, and problems upgrading the gawk port to this new version in
</span><span style='display:block; white-space:pre;color:#404040;'>    the likely case that the existing gettext-runtime dependency was not
</span><span style='display:block; white-space:pre;color:#404040;'>    installed as its universal variant.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    To reenable the arm64 build of gawk, configure it to disable its PMA
</span><span style='display:block; white-space:pre;color:#404040;'>    feature, allowing it to be built as PIE and thus as a proper arm64
</span><span style='display:block; white-space:pre;color:#404040;'>    executable.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    As non-PIE is deprecated when targeting macOS ≥ 12 on any architecture,
</span><span style='display:block; white-space:pre;color:#404040;'>    disable gawk’s PMA feature in that case as well.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/66327
</span>---
 lang/gawk/Portfile | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gawk/Portfile b/lang/gawk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5781a79cb08..8d29f2f55d1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gawk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gawk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup               legacysupport 1.1
</span> 
 name                    gawk
 version                 5.2.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                1
</span> categories              lang
 license                 GPL-3+
 installs_libs           no
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,12 +28,20 @@ depends_build           port:gettext
</span> 
 depends_lib             port:gettext-runtime
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # See README.macos: gawk has to be built as a x86_64 binary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        PortGroup       active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args          --with-libiconv-prefix=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --without-mpfr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --without-readline \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ac_cv_libsigsegv=no \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ac_cv_prog_AWK=awk
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        require_active_variants gettext-runtime universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${build_arch} eq "arm64" || ${os.major} >= 21} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # See README_d/README.macosx: PMA (persistent memory allocator) requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # non-PIE (position-independent executable), but this is impossible on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # mac-arm64, and deprecated when targeting macOS 12 and later. Disable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # the PMA feature in those cases.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --disable-pma
</span>     }
 
     # https://trac.macports.org/ticket/65944
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,12 +52,6 @@ platform darwin {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args          --with-libiconv-prefix=${prefix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        --without-mpfr \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        --without-readline \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ac_cv_libsigsegv=no \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ac_cv_prog_AWK=awk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # fix build on Tiger see https://trac.macports.org/ticket/55145
 platform darwin 8 {
     configure.cppflags-append -D__DARWIN_UNIX03
</pre><pre style='margin:0'>

</pre>