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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8759dbd93fb71e89a59cd58be4ca2d854db24535">https://github.com/macports/macports-ports/commit/8759dbd93fb71e89a59cd58be4ca2d854db24535</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 8759dbd93fb {lib}gcc11:        Add new GCC major version libgcc,{lib}gcc10: Update to use gcc11 as primary runtime on Darwin>10
</span>8759dbd93fb is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8759dbd93fb71e89a59cd58be4ca2d854db24535
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Tue May 11 08:28:55 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    {lib}gcc11:        Add new GCC major version
</span><span style='display:block; white-space:pre;color:#404040;'>    libgcc,{lib}gcc10: Update to use gcc11 as primary runtime on Darwin>10
</span>---
 _resources/port1.0/compilers/gcc_compilers.tcl |   2 +-
 _resources/port1.0/group/compilers-1.0.tcl     |   6 +-
 lang/gcc-devel/Portfile                        |   6 +-
 lang/gcc10/Portfile                            | 125 +++++----------------
 lang/{gcc10 => gcc11}/Portfile                 | 145 ++++++++++++++-----------
 lang/gcc11/files/mp-gcc11                      |   6 +
 lang/gcc9/Portfile                             |   5 +-
 lang/libgcc/Portfile                           |   4 +-
 8 files changed, 122 insertions(+), 177 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/compilers/gcc_compilers.tcl b/_resources/port1.0/compilers/gcc_compilers.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 8976566c62c..3593ef2079b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/compilers/gcc_compilers.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/compilers/gcc_compilers.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@
</span> global os.major os.arch
 
 if { ${os.major} >= 11 } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend compilers macports-gcc-10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend compilers macports-gcc-11 macports-gcc-10
</span> }
 
 if { ${os.arch} ne "arm" } {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/compilers-1.0.tcl b/_resources/port1.0/group/compilers-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 6bcdfc8a53d..5a8208e5cc9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/compilers-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/compilers-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -84,7 +84,7 @@ if {${os.major} < 10} {
</span> } elseif {${os.major} < 11} {
     set compilers.gcc_default gcc8
 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set compilers.gcc_default gcc10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set compilers.gcc_default gcc11
</span> }
 
 set compilers.list {cc cxx cpp objc fc f77 f90}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -92,7 +92,7 @@ set compilers.list {cc cxx cpp objc fc f77 f90}
</span> # build database of gcc compiler attributes
 # Should match those in compilers/gcc_compilers.tcl
 if { ${os.arch} eq "arm" } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set gcc_versions {10 devel}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gcc_versions {10 11 devel}
</span> } else {
     set gcc_versions {}
     if { ${os.major} < 20 } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +102,7 @@ if { ${os.arch} eq "arm" } {
</span>         lappend gcc_versions 8
     }
     if { ${os.major} >= 11 } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend gcc_versions 9 10 devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend gcc_versions 9 10 11 devel
</span>     }
 }
 # GCC version providing the primary runtime
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc-devel/Portfile b/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 08e7b037f25..1f0b33b2e9f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           compiler_blacklist_versions  1.0
</span> PortGroup           active_variants              1.1
 PortGroup           conflicts_build              1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               5
</span> name                gcc-devel
 
 homepage            https://gcc.gnu.org/
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +102,7 @@ platform darwin {
</span> }
 
 set gcc_configure_langs {c c++ objc obj-c++ lto fortran}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "gcc-devel"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span>     lappend gcc_configure_langs jit
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -210,7 +210,7 @@ conflicts_build-append libunwind-headers
</span> # gcc port.
 set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgcc_s.2.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.6.dylib libubsan.1.dylib libatomic.1.dylib}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "libgcc-devel"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} ne ${name}} {
</span> 
     # Set conflict against port providing primary runtime
     if { ${os.major} < 10 } {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10/Portfile b/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f338c6a6da0..7868a725dd1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,11 +7,10 @@ PortGroup           active_variants              1.1
</span> PortGroup           conflicts_build              1.0
 PortGroup           cltversion                   1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               6
</span> name                gcc10
 version             10.3.0
 revision            0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport             libgcc10 { revision 0 }
</span> platforms           darwin
 categories          lang
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,11 +34,6 @@ master_sites        https://ftpmirror.gnu.org/gcc/gcc-${version}/ \
</span>                     ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
                     ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
                     gnu:gcc/gcc-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# snapshots and RC candidates
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites-append https://mirror.koddos.net/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    https://bigsearcher.com/mirrors/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/
</span> 
 # Use specific patched version, taken from homebrew comment
 # https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gcc.rb
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,9 +54,13 @@ if { ${os.arch} eq "arm" } {
</span>                     size    76692288
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+subport             libgcc10 { revision [ expr ${revision} + 1 ] }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> patchfiles          patch-fix-libgccjit-soname
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:cctools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:texinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:cctools \
</span>                     port:gmp \
                     path:lib/pkgconfig/isl.pc:isl \
                     port:ld64 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,8 +68,8 @@ depends_lib         port:cctools \
</span>                     port:libmpc \
                     port:mpfr \
                     port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run         port:gcc_select \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    path:share/doc/libgcc/README:libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append  port:gcc_select \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libgcc10
</span> 
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc zlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,7 +81,7 @@ platform darwin {
</span> }
 
 set gcc_configure_langs {c c++ objc obj-c++ lto fortran}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "gcc10"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span>     lappend gcc_configure_langs jit
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -194,7 +192,7 @@ if { ${os.major} < 11 } {
</span>     known_fail  yes
     pre-fetch {
         ui_error "${name} ${version} is not supported on Darwin ${os.major} ${os.arch}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "incompatible OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "incompatible macOS version"
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -207,10 +205,7 @@ conflicts_build-append libunwind-headers
</span> # gcc port.
 set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgcc_s.2.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.6.dylib libubsan.1.dylib libatomic.1.dylib}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "libgcc10"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Always provides primary runtime so always in conflict
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} ne ${name}} {
</span> 
     # Activate hack for new libgcc
     # https://trac.macports.org/wiki/PortfileRecipes#deactivatehack
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -233,92 +228,24 @@ if {${subport} eq "libgcc10"} {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/35770
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/38814
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # While there can be multiple versions of these runtimes in a single
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # process, it is not possible to pass objects between different versions,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # so we simplify this by having the libgcc port provide the newest version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # of these runtimes for all versions of gcc to use.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # If there is a binary incompatible change to the runtime in a future
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # version of gcc, then the latest version of gcc to provide a given ABI
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # version should continue to provide a subport for that and older gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # versions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-delete   port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append {*}${depends_lib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib          port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --libdir=${prefix}/lib/${name} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --libdir=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # see https://trac.macports.org/ticket/54766
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --includedir=${prefix}/include/${name} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --includedir=${prefix}/include/gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        --with-gxx-include-dir=${prefix}/include/gcc/c++/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # TODO: Possibly disable bootstrap with appropriate configure flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       the problem is that libstdc++'s configure script tests for tls support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       using the running compiler (not gcc for which libstdc++ is being built).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       Thus when we build with clang, we get a mismatch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/36116
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #compiler.blacklist-append {clang < 425}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #configure.args-append --disable-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #build.target        all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Temporary working dir for dylibs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gcc8 runtime versions are identical to that in gcc9, so libgcc8 does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # need to provide anything, hence do not build anything.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # port still defined as needed to satisfy dependency tree
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # loop over libs to install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib ${dylibs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run   path:share/doc/libgcc/README:libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # https://trac.macports.org/ticket/40098
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # https://trac.macports.org/ticket/40100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {! [file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                continue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fetch.type    none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build         { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {[file exists ${archdir}/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        system "install_name_tool -id ${prefix}/lib/libgcc/${dylib} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        foreach link [glob -tails -directory ${archdir} *.dylib] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            system "install_name_tool -change ${archdir_nodestroot}${link} ${prefix}/lib/libgcc/${link} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        system "lipo -create -output ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib} ${archdir}/${dylib} && mv ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</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;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # strip debug symbols to supress debugger warnings:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # http://trac.macports.org/attachment/ticket/34831
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {! [string match *libgcc_ext* ${dylib}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/share
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/libexec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        move ${destroot}${prefix}/lib/libgcc.merged ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # For binary compatibility with binaries that linked against the old libstdcxx port
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s libgcc/libstdc++.6.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set doc_dir ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 755 -d ${doc_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "echo ${subport} provides no runtime > ${doc_dir}/README"
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span> } else {
 
     post-destroot {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -340,7 +267,7 @@ if {${subport} eq "libgcc10"} {
</span>                 delete ${destroot}${prefix}/lib/${name}/${dylib}
                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10/Portfile b/lang/gcc11/Portfile
</span>similarity index 80%
copy from lang/gcc10/Portfile
copy to lang/gcc11/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index f338c6a6da0..7bf50968af4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,16 +7,19 @@ PortGroup           active_variants              1.1
</span> PortGroup           conflicts_build              1.0
 PortGroup           cltversion                   1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name                gcc10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             10.3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                gcc11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             11.1.0
</span> revision            0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport             libgcc10 { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platforms           darwin
 categories          lang
 maintainers         nomaintainer
 # an exception in the license allows dependents to not be GPL
 license             {GPL-3+ Permissive}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> description         The GNU compiler collection
 long_description    The GNU compiler collection, including front ends for \
                     C, C++, Objective-C, Objective-C++ and Fortran.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,34 +38,31 @@ master_sites        https://ftpmirror.gnu.org/gcc/gcc-${version}/ \
</span>                     ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
                     ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
                     gnu:gcc/gcc-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# snapshots and RC candidates
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites-append https://mirror.koddos.net/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    https://bigsearcher.com/mirrors/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/
</span> 
 # Use specific patched version, taken from homebrew comment
 # https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gcc.rb
 # Branch from the Darwin maintainer of GCC with Apple Silicon support
 if { ${os.arch} eq "arm" } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version         10.2.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision        1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         11.1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision        0
</span>     master_sites    https://github.com/fxcoudert/gcc/archive
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    distname        gcc-10-arm-20210220
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       rmd160  7ad0ba740d46554b5a5ccdfdc75f4401a76108b4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  53beed690e4e0355d972ad58917a11e01af1cfe67b2e7602ca1ef89c98417a67 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    118840250
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distname        gcc-${version}-arm-20210504
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       rmd160  ccb26e52571aff9230f4bdf067fe8c9d1fb79235 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  ce862b4a4bdc8f36c9240736d23cd625a48af82c2332d2915df0e16e1609a74c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    125460899
</span> } else {
     distname        gcc-${version}
     use_xz          yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       rmd160  8edb715cf1159fd8de773d0d5208d2e83ca36402 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    76692288
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       rmd160  083384ca351ea1cb6e04d15425af2103c908edf4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    78877216
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-fix-libgccjit-soname
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport             libgcc11 { revision [ expr ${revision} + 0 ] }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:cctools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:texinfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:cctools \
</span>                     port:gmp \
                     path:lib/pkgconfig/isl.pc:isl \
                     port:ld64 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,7 +70,7 @@ depends_lib         port:cctools \
</span>                     port:libmpc \
                     port:mpfr \
                     port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run         port:gcc_select \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append  port:gcc_select \
</span>                     path:share/doc/libgcc/README:libgcc
 
 depends_skip_archcheck-append gcc_select ld64 cctools
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,10 +83,15 @@ platform darwin {
</span> }
 
 set gcc_configure_langs {c c++ objc obj-c++ lto fortran}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "gcc10"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span>     lappend gcc_configure_langs jit
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set gcc_as ${prefix}/bin/as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set gcc_ld ${prefix}/bin/ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set gcc_ar ${prefix}/bin/ar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set gcc_nm ${prefix}/bin/nm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.dir       ${workpath}/build
 configure.cmd       ${worksrcpath}/configure
 configure.args      --enable-languages=[join ${gcc_configure_langs} ","] \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -109,9 +114,6 @@ configure.args      --enable-languages=[join ${gcc_configure_langs} ","] \
</span>                     --enable-lto \
                     --enable-libstdcxx-time \
                     --with-build-config=bootstrap-debug \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-as=${prefix}/bin/as \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-ld=${prefix}/bin/ld \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-ar=${prefix}/bin/ar \
</span>                     --with-bugurl=https://trac.macports.org/newticket \
                     --enable-host-shared
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -121,37 +123,31 @@ configure.args      --enable-languages=[join ${gcc_configure_langs} ","] \
</span> configure.args-append \
                     --disable-tls
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { [vercmp ${xcodeversion} 12.5] >= 0 || [ vercmp ${cltversion} 12.5 ] >= 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # gcc has build issues on macOS 11.3 with the use of Xcode clang via cctools for ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100340
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://trac.macports.org/ticket/62775
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  --without-build-config
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-as=${gcc_as} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-ld=${gcc_ld} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-ar=${gcc_ar} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.env-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    AR_FOR_TARGET=${prefix}/bin/ar \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    AS_FOR_TARGET=${prefix}/bin/as \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LD_FOR_TARGET=${prefix}/bin/ld \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    NM_FOR_TARGET=${prefix}/bin/nm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    AR_FOR_TARGET=${gcc_ar} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    AS_FOR_TARGET=${gcc_as} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LD_FOR_TARGET=${gcc_ld} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    NM_FOR_TARGET=${gcc_nm} \
</span>                     OBJDUMP_FOR_TARGET=${prefix}/bin/objdump \
                     RANLIB_FOR_TARGET=${prefix}/bin/ranlib \
                     STRIP_FOR_TARGET=${prefix}/bin/strip \
                     OTOOL=${prefix}/bin/otool \
                     OTOOL64=${prefix}/bin/otool
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang (as) from Xcode 12.5 has various problems with gcc build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.platform} eq "darwin" && \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ( [ vercmp ${xcodeversion} 12.5 ] >= 0 || [ vercmp ${cltversion} 12.5 ] >= 0 ) } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_warn "Applying '--without-build-config' workaround to Xcode ${xcodeversion} / CLT ${cltversion}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_warn "If versions > 12.5 please check if it is still required"
</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;'>-    # clang 11 and older have issues with macOS 11.3 (Xcode 12.5) SDK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/62770
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.blacklist-append {macports-clang-[5-9].0} {macports-clang-1[0-1]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # gcc has build issues on macOS 11.3 with the use of Xcode clang as 'as'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100340
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/62775
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append  --without-build-config
</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;'>-
</span> pre-configure {
 
     # Set package info
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -178,7 +174,11 @@ pre-configure {
</span> # https://trac.macports.org/ticket/29104
 # https://trac.macports.org/ticket/47996
 # https://trac.macports.org/ticket/58493
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 800} gcc-4.0 *gcc-4.2 {macports-clang-3.[4-7]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 800} gcc-4.0 *gcc-4.2 {llvm-gcc-4.2 < 2336.1} {macports-clang-3.[4-7]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://build.macports.org/builders/ports-10.13_x86_64-builder/builds/105513/steps/install-port/logs/stdio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# c++/v1/functional:1408:2: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 1000}
</span> 
 # "-stdlib" would be passed on to the bootstrap compiler if present
 configure.cxx_stdlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -190,11 +190,11 @@ use_parallel_build  yes
</span> destroot.target     install install-info-host
 
 # Is this gcc release supported here.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    known_fail  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    known_fail   yes
</span>     pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "${name} ${version} is not supported on Darwin ${os.major} ${os.arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "incompatible OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "${name} ${version} is not supported on Darwin ${os.major}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "incompatible macOS version"
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -205,9 +205,12 @@ conflicts_build-append libunwind-headers
</span> # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
 # doesn't know how to change the id of stubs, and it's easier than recreating them for each
 # gcc port.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgcc_s.2.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.6.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgcc_s.2.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.6.dylib libubsan.1.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                libatomic.1.dylib}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "libgcc10"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${subport} ne ${name}} {
</span> 
     # Always provides primary runtime so always in conflict
     conflicts libgcc-devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -215,19 +218,19 @@ if {${subport} eq "libgcc10"} {
</span>     # Activate hack for new libgcc
     # https://trac.macports.org/wiki/PortfileRecipes#deactivatehack
     pre-activate {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![catch {set installed [lindex [registry_active libgcc9] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![catch {set installed [lindex [registry_active libgcc10] 0]}]} {
</span>             # Extract the epoch of the installed libgcc9
             set _epoch [lindex $installed 5]
             # If < 3 need to deactivate
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[vercmp $_epoch 3] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                registry_deactivate_composite libgcc9 "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[vercmp $_epoch 6] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite libgcc10 "" [list ports_nodepcheck 1]
</span>             }
         }
         if {![catch {set installed [lindex [registry_active libgcc-devel] 0]}]} {
             # Extract the epoch of the installed libgcc-devel
             set _epoch [lindex $installed 5]
             # If < 4 need to deactivate
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[vercmp $_epoch 4] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[vercmp $_epoch 5] < 0} {
</span>                 registry_deactivate_composite libgcc-devel "" [list ports_nodepcheck 1]
             }
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -283,12 +286,12 @@ if {${subport} eq "libgcc10"} {
</span>             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
             # https://trac.macports.org/ticket/40100
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {! [file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
</span>                 continue
             }
 
             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                     set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                     if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -308,15 +311,18 @@ if {${subport} eq "libgcc10"} {
</span>             }
         }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Remove stuff not provided by libgccX ports
</span>         file delete -force ${destroot}${prefix}/bin
         file delete -force ${destroot}${prefix}/share
         file delete -force ${destroot}${prefix}/lib/libgcc
         file delete -force ${destroot}${prefix}/libexec
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Move temporary lib dir back in place
</span>         move ${destroot}${prefix}/lib/libgcc.merged ${destroot}${prefix}/lib/libgcc
 
         # For binary compatibility with binaries that linked against the old libstdcxx port
         ln -s libgcc/libstdc++.6.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     }
 
 } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -340,7 +346,7 @@ if {${subport} eq "libgcc10"} {
</span>                 delete ${destroot}${prefix}/lib/${name}/${dylib}
                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -360,8 +366,17 @@ if {${subport} eq "libgcc10"} {
</span> platform powerpc {
     configure.universal_archs ppc ppc64
 }
<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:#e0ffe0;'>+if { ${os.platform} eq "darwin" && ${os.major} >= 20 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform i386 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_archs x86_64 arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform arm {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_archs x86_64 arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform i386 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.universal_archs i386 x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 variant universal {
     configure.args-delete --disable-multilib
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc11/files/mp-gcc11 b/lang/gcc11/files/mp-gcc11
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ee0de6dec26
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc11/files/mp-gcc11
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/gcc-mp-11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/cpp-mp-11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/g++-mp-11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/gcov-mp-11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/gfortran-mp-11
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc9/Portfile b/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1bde85ad774..6da79e6e142 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -196,9 +196,6 @@ set install_dylibs {libasan.5.dylib}
</span> 
 if {${subport} eq "libgcc9"} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Always provides primary runtime so always in conflict
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts libgcc-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     # Activate hack for new libgcc
     # https://trac.macports.org/wiki/PortfileRecipes#deactivatehack
     pre-activate {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -232,7 +229,7 @@ if {${subport} eq "libgcc9"} {
</span>     # version should continue to provide a subport for that and older gcc
     # versions.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run path:share/doc/libgcc/README:libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run port:libgcc10
</span>     depends_build-append {*}${depends_lib}
     depends_lib
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libgcc/Portfile b/lang/libgcc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d106b8df66d..289aebfcac3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libgcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libgcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup select    1.0
</span> 
 epoch               3
 name                libgcc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             4.0
</span> revision            0
 
 conflicts           libgcc-devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,7 +37,7 @@ if { ${os.major} < 10 } {
</span>     if { ${os.major} < 11 } {
         set gcc_version 8
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set gcc_version 10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set gcc_version 11
</span>     }
 }
 depends_lib port:libgcc${gcc_version}
</pre><pre style='margin:0'>

</pre>