<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/d655b1a097b3b397ec57e326f60299d62e832a12">https://github.com/macports/macports-ports/commit/d655b1a097b3b397ec57e326f60299d62e832a12</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 d655b1a097b GCC 13: Make primary runtime provider
</span>d655b1a097b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d655b1a097b3b397ec57e326f60299d62e832a12
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Mon Oct 2 16:08:39 2023 +0100

<span style='display:block; white-space:pre;color:#404040;'>    GCC 13: Make primary runtime provider
</span>---
 lang/gcc11/Portfile  |   2 +-
 lang/gcc12/Portfile  | 106 ++++++++-------------------------------------------
 lang/gcc13/Portfile  |  22 +++++------
 lang/libgcc/Portfile |   6 +--
 4 files changed, 29 insertions(+), 107 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc11/Portfile b/lang/gcc11/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f2c9320a052..5a70e397200 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc11/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;'>@@ -359,7 +359,7 @@ if {${subport} eq ${libgccname}} {
</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:libgcc12
</span>     depends_build-append {*}${depends_lib}
     depends_lib
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc12/Portfile b/lang/gcc12/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3109670bd9b..aea93465520 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc12/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               0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               1
</span> name                gcc12
 
 homepage            https://gcc.gnu.org/
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,7 +23,7 @@ long_description    {*}${description}, including front ends for \
</span> 
 # Remember to reset all revision increments below to 0 on new versions
 version             12.3.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> 
 set libgccname      lib${name}
 subport             ${libgccname} { revision [ expr ${revision} + 0 ] }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -62,7 +62,7 @@ depends_lib-append  port:cctools \
</span>                     port:zlib \
                     port:zstd
 depends_run-append  port:gcc_select \
<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;'>+                    port:libgcc12
</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;'>@@ -313,9 +313,6 @@ proc dylib_list {location} {
</span> 
 if {${subport} eq ${libgccname}} {
 
<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;'>@@ -353,93 +350,20 @@ if {${subport} eq ${libgccname}} {
</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 port:libiconv
</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 port:libiconv
</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;'>-    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:#ffe0e0;'>-
</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;'>-        set dylibs [dylib_list ${destroot}${prefix}/lib/libgcc]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dylib ${dylibs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Move dylib to temp area
</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:#e0ffe0;'>+    # No need to build as nothing that isn't provided by libgcc13
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # If needed create versionless sym link to dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set dylib_split [split ${dylib} "."]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set dylib_nover ${destroot}${prefix}/lib/libgcc.merged/[lindex ${dylib_split} 0].[lindex ${dylib_split} end]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![file exists ${dylib_nover}]  } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ln -s ${dylib} ${dylib_nover}
</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;'>-            # Universal support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_exists universal] && [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;'>+    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:#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:#e0ffe0;'>+    
</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;color:#808080;'>diff --git a/lang/gcc13/Portfile b/lang/gcc13/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 108c4803899..a138fede096 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,14 +19,11 @@ license             {GPL-3+ Permissive}
</span> 
 description         The GNU compiler collection
 long_description    {*}${description}, including front ends for \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    C, C++, Objective-C, Objective-C++ and Fortran. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    NOTE : NOT YET READY FOR MAINSTREAM USE \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    This version is test version to validate what support is \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    like accross the various OS versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    C, C++, Objective-C, Objective-C++ and Fortran.
</span> 
 # Remember to reset all revision increments below to 0 on new versions
 version             13.2.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> 
 set libgccname      lib${name}
 subport             ${libgccname} { revision [ expr ${revision} + 0 ] }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -287,9 +284,6 @@ compiler.blacklist-append {clang < 800} gcc-4.0 *gcc-4.2 {llvm-gcc-4.2 < 2336.1}
</span> # c++/v1/functional:1408:2: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
 compiler.blacklist-append {clang < 1001}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: '_Atomic' does not name a type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append {clang < 1100.0.33.8}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> platform darwin {
     # gcc can't be built by Xcode Clang 14.0.x
     # https://trac.macports.org/ticket/67416
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -328,10 +322,6 @@ if {${subport} eq ${libgccname}} {
</span>     # Always provides primary runtime so always in conflict
     conflicts libgcc-devel
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Currently under testing and does not provide primary runtime yet.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Therefore for now conflicts with libgcc12. To be removed once tested on all required platforms.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts-append libgcc12
</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;'>@@ -359,6 +349,14 @@ if {${subport} eq ${libgccname}} {
</span>                 registry_deactivate_composite libgcc11 "" [list ports_nodepcheck 1]
             }
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![catch {set installed [lindex [registry_active libgcc12] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Extract the epoch of the installed libgcc12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # If < 1 need to deactivate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[vercmp $_epoch < 1]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                registry_deactivate_composite libgcc12 "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         if {![catch {set installed [lindex [registry_active libgcc-devel] 0]}]} {
             # Extract the epoch of the installed libgcc-devel
             set _epoch [lindex $installed 5]
<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 b07c0568d28..73bdec8255c 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             6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             7.0
</span> revision            0
 
 conflicts           libgcc-devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +18,7 @@ distfiles
</span> use_configure       no
 
 description         Provides the appropriate gcc runtime.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    ${description} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description} \
</span>                     Picks the version to use based on macOS version.
 
 license             BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,7 @@ variant universal   { }
</span> if { ${os.major} < 10 } {
     set gcc_version 7
 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set gcc_version 12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gcc_version 13
</span> }
 depends_lib port:libgcc${gcc_version}
 
</pre><pre style='margin:0'>

</pre>