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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/0be9e510710a8390dc018d4443c8977dd80deae6">https://github.com/macports/macports-ports/commit/0be9e510710a8390dc018d4443c8977dd80deae6</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 0be9e510710 gcc10-bootstrap: fixed universal variant
</span>0be9e510710 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0be9e510710a8390dc018d4443c8977dd80deae6
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Sat Feb 19 17:41:06 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    gcc10-bootstrap: fixed universal variant
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    it also addresses a number of small issues when port may reuse something
</span><span style='display:block; white-space:pre;color:#404040;'>    from installed MacPorts ports like zstd.
</span>---
 lang/gcc10-bootstrap/Portfile | 128 ++++++++++++++++++++++++++++++------------
 1 file changed, 91 insertions(+), 37 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10-bootstrap/Portfile b/lang/gcc10-bootstrap/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 37585f390a5..fce2c75977c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,7 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           muniversal 1.0
</span> 
 # ideally for this bootstrap port we want no deps on any MacPorts port. This port
 # should build cleanly from system roots and use and/or link to nothing in MacPorts.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +10,7 @@ name                gcc10-bootstrap
</span> 
 # Note, this is the last version of gcc which haven't required c++11 for bootstrap
 version             10.3.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> epoch               0
 
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -118,7 +119,7 @@ if { ${os.platform} eq "darwin" && ${os.major} > 20} {
</span> }
 
 if { ${os.platform} eq "darwin" && ${os.major} > 19} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # replace std=gnu++98 to std=c++ on macOS 11 and 12 fixes linking error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # replace std=gnu++98 to std=c++11 on macOS 11 and 12 fixes linking error
</span>     # See: https://trac.macports.org/ticket/64316
     patchfiles-append patch-darwin21-cxx11.diff
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -128,34 +129,25 @@ compiler.cpath
</span> compiler.library_path
 
 configure.cxx_stdlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxxflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.cflags
<span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags
</span> configure.cppflags
 configure.optflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cc_archflags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_archflags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.objc_archflags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ld_archflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ldflags
</span> 
 configure.universal_cflags
 configure.universal_cxxflags
<span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_cppflags
</span> configure.universal_ldflags
 configure.universal_args
 
 configure.ccache    no
 configure.distcc    no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file mkdir ${workpath}/bins
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ln -s /usr/bin/ld ${workpath}/bins/ld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ln -s /usr/bin/as ${workpath}/bins/as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ln -s /usr/bin/cpp ${workpath}/bins/cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# add our bins directory to the front of the PATH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.env-append    PATH=${workpath}/bins:/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env-append        PATH=${workpath}/bins:/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# sterilize PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append    PATH=/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append        PATH=/usr/bin:/bin:/usr/sbin:/sbin
</span> 
 platform darwin 8 {
     # Tiger comes with make 3.80 and we need 3.81
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -169,61 +161,123 @@ platform darwin 8 {
</span>                         size    1564560
 
     pre-configure {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${workpath}/bins
</span>         system -W ${workpath}/${MAKE_V} "CC=/usr/bin/cc ./configure && make"
         ln -s ${workpath}/${MAKE_V}/make   ${workpath}/bins/make
     }
 
     configure.env-append    MAKE=${workpath}/bins/make
     build.env-append        MAKE=${workpath}/bins/make
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set prefix          ${prefix}/libexec/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-replace   PATH=/usr/bin:/bin:/usr/sbin:/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            PATH=${workpath}/bins:/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-replace       PATH=/usr/bin:/bin:/usr/sbin:/sbin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            PATH=${workpath}/bins:/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 configure.cmd       ${worksrcpath}/configure
 configure.dir       ${workpath}/build
<span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args  --prefix=${prefix}/libexec/${name}
</span> configure.args      --enable-languages=c,c++,objc,obj-c++ \
                     --enable-bootstrap \
                     --with-system-zlib \
                     --disable-nls \
                     --disable-tls \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-multilib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-multiarch \
</span>                     --with-bugurl=https://trac.macports.org/newticket
 
 if {${os.major} >= 18 && ${configure.sdkroot} ne ""} {
     configure.args-append --with-sysroot="[regsub {MacOSX1[0-9]\.[0-9]+\.sdk} ${configure.sdkroot} {MacOSX.sdk}]"
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} < 18} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    universal_variant yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants +universal
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    universal_variant no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --disable-multilib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set universal_targets ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    switch -- ${arch} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        arm64   {set universal_targets "${universal_targets},aarch64-apple-${os.platform}${os.version}"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        x86_64  {set universal_targets "${universal_targets},x86_64-apple-${os.platform}${os.version}"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        i386    {set universal_targets "${universal_targets},i686-apple-${os.platform}${os.version}"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ppc     {set universal_targets "${universal_targets},powerpc-apple-${os.platform}${os.version}"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ppc64   {set universal_targets "${universal_targets},powerpc64-apple-${os.platform}${os.version}"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform powerpc {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.universal_archs ppc ppc64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.universal_archs i386 x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform arm {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.universal_archs x86_64 arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-multilib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-multilib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --disable-multiarch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-multiarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [string length ${universal_targets}] > 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --enable-targets=[string replace ${universal_targets} 0 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants    +universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform darwin 8 {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append --with-dwarf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-dwarf2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+merger_arch_flag            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+merger_arch_compiler        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+merger_must_run_binaries    yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_host(arm64)  aarch64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_host(i386)   i386-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_host(ppc)    powerpc-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_host(ppc64)  powerpc64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_configure_args(arm64)  --build=aarch64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_configure_args(i386)   --build=i386-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_configure_args(ppc)    --build=powerpc-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_configure_args(ppc64)  --build=powerpc64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --host=aarch64-apple-${os.platform}${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --build=aarch64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${build_arch} eq "ppc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --host=powerpc-apple-${os.platform}${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --build=powerpc-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${build_arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --host=powerpc64-apple-${os.platform}${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --build=powerpc64-apple-${os.platform}${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --host=${build_arch}-apple-${os.platform}${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --build=${build_arch}-apple-${os.platform}${os.major}
</span> }
 
 build.dir           ${configure.dir}
 build.target        bootstrap-lean
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# They differ when universal due to gcc multilib being messy non-universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.delete_la_files yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> notes "
 To use this bootstrap version of gcc instead of the default compiler, add the\
 following lines to the Portfile:
 
 depends_lib-append      port:${name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cc            ${prefix}/bin/gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx           ${prefix}/bin/gcc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cc            \$\{prefix\}/libexec/${name}/bin/gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxx           \$\{prefix\}/libexec/${name}/bin/g++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If you would like to build universal port with this compiler,\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see clang-11-bootstrap port as example.
</span> "
 
 livecheck.type      none
</pre><pre style='margin:0'>

</pre>