<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/eea28397c811c477a04407cbe3c105c76efd9219">https://github.com/macports/macports-ports/commit/eea28397c811c477a04407cbe3c105c76efd9219</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit eea28397c811c477a04407cbe3c105c76efd9219
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Fri Nov 22 11:00:23 2024 +0000

<span style='display:block; white-space:pre;color:#404040;'>    libgcc11: Make pure stub port on ARM or Darwin<12
</span>---
 lang/gcc11/Portfile | 117 ++++++++++++++++++++++++++++++----------------------
 1 file changed, 67 insertions(+), 50 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 9ca95048311..6558d8e5e4b 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;'>@@ -401,73 +401,90 @@ if {${subport} eq ${libgccname}} {
</span>     depends_build-append {*}${depends_lib}
     depends_lib
 
<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:#e0ffe0;'>+    # On arm or Darwin 11 and older nothing is installed so skip build entirely
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.arch} eq "arm" || ${os.major} < 12 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+        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:#e0ffe0;'>+        }
</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:#e0ffe0;'>+    } else {
</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:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --libdir=${prefix}/lib/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --libdir=${prefix}/lib/libgcc
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/54766
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --includedir=${prefix}/include/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --includedir=${prefix}/include/gcc
</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;'>+        configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            --with-gxx-include-dir=${prefix}/include/gcc/c++/
</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 ${install_dylibs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-destroot {
</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;'>+            # Temporary working dir for dylibs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file mkdir ${destroot}${prefix}/lib/libgcc.merged
</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;'>+            # loop over libs to install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            foreach dylib ${install_dylibs} {
</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:#e0ffe0;'>+                # 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:#e0ffe0;'>+                # https://trac.macports.org/ticket/40098
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # https://trac.macports.org/ticket/40100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {![file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    continue
</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;'>+                # Move dylib to temp area
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # Universal support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        if {[file exists ${archdir}/${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            system "install_name_tool -id ${prefix}/lib/libgcc/${dylib} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            foreach link [glob -tails -directory ${archdir} *.dylib] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                system "install_name_tool -change ${archdir_nodestroot}${link} ${prefix}/lib/libgcc/${link} ${archdir}/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            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;'>-                        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;'>-            # 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:#e0ffe0;'>+                # strip debug symbols to supress debugger warnings:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # http://trac.macports.org/attachment/ticket/34831
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {! [string match *libgcc_ext* ${dylib}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span>             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Remove stuff not provided by libgccX ports
</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:#e0ffe0;'>+            # Remove stuff not provided by libgccX ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/libexec
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Move temporary lib dir back in place
</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:#e0ffe0;'>+            # Move temporary lib dir back in place
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            move ${destroot}${prefix}/lib/libgcc.merged ${destroot}${prefix}/lib/libgcc
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Remove includes. Provided by newer libgcc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Remove includes. Provided by newer libgcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file delete -force ${destroot}${prefix}/include
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set doc_dir ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 -d ${doc_dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "echo ${subport} provides additional runtime > ${doc_dir}/README"
</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 additional runtime > ${doc_dir}/README"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
     }
 
</pre><pre style='margin:0'>

</pre>