<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/882019a99daa8fa009f03ff9e1de50c9617de0c9">https://github.com/macports/macports-ports/commit/882019a99daa8fa009f03ff9e1de50c9617de0c9</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 882019a99da gccN-libcxx: Take copy of libc++ headers insstead of symlink to originals Allows runtime dependency on clang-N port to be dropped.
</span>882019a99da is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 882019a99daa8fa009f03ff9e1de50c9617de0c9
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Thu Nov 17 11:14:12 2022 +0000

<span style='display:block; white-space:pre;color:#404040;'>    gccN-libcxx: Take copy of libc++ headers insstead of symlink to originals
</span><span style='display:block; white-space:pre;color:#404040;'>    Allows runtime dependency on clang-N port to be dropped.
</span>---
 lang/gcc-devel/Portfile | 28 +++++++++++++++++-----------
 lang/gcc10/Portfile     | 28 +++++++++++++++++-----------
 lang/gcc11/Portfile     | 28 +++++++++++++++++-----------
 lang/gcc12/Portfile     | 28 +++++++++++++++++-----------
 4 files changed, 68 insertions(+), 44 deletions(-)

<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 d02e2da1030..2a1c0ace8b5 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;'>@@ -211,29 +211,31 @@ pre-configure {
</span> 
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_incpath ${prefix}/libexec/${name}/libc++/include/c++/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport ${libcxxname} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    PortGroup compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup compilers     1.0
</span>     compilers.choose        cxx
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    compilers.setup         -gcc -fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compilers.setup         -gcc -fortran -clangdevel -clang34 -clang35 -clang36 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -clang37 -clang50 -clang60 -clang70 -clang80 -clang90
</span>     if { ![clang_variant_isset] } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Default default clang version to use
</span>         if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
             default_variants-append +clang11
         } else {
             default_variants-append +clang14
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision [ expr ${revision} + 0 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description             Link to libc++ implementation to be used by ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision                [ expr ${revision} + 1 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description             libc++ header implementation to be used by ${name}
</span>     long_description        {*}${description}
     depends_build
     depends_extract
     depends_run
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib
</span>     distfiles
     patchfiles
     use_configure           no
     supported_archs         noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build                   {}
</span>     # Find clang/llvm version to use from active variant
     proc getClangVersion {} {
         if { [regexp {clang(.*)} [clang_variant_name] -> clang_v] } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -242,11 +244,15 @@ subport ${libcxxname} {
</span>         return ""
     }
     set mp_clang_ver [getClangVersion]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib port:clang-${mp_clang_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Copy headers from clang-N during build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${worksrcpath}/headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${worksrcpath}/headers/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set incpath ${destroot}${prefix}/libexec/${name}/libc++/include/c++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${incpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${incpath}/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set base_dir [file dirname ${libcxx_incpath}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${base_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/headers/v1 ${destroot}${base_dir}
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -263,7 +269,7 @@ if { ${subport} ne ${libcxxname} } {
</span>         if {${subport} eq ${name}} {
             depends_run-append port:${libcxxname}
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append --with-gxx-libcxx-include-dir="${prefix}/libexec/${name}/libc++/include/c++/v1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append --with-gxx-libcxx-include-dir="${libcxx_incpath}"
</span>     }
 
     # libcxx is unavailable on PPC
<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 7637a8014df..40a9543d393 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;'>@@ -192,29 +192,31 @@ pre-configure {
</span> 
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_incpath ${prefix}/libexec/${name}/libc++/include/c++/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport ${libcxxname} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    PortGroup compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup compilers     1.0
</span>     compilers.choose        cxx
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    compilers.setup         -gcc -fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compilers.setup         -gcc -fortran -clangdevel -clang34 -clang35 -clang36 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -clang37 -clang50 -clang60 -clang70 -clang80 -clang90
</span>     if { ![clang_variant_isset] } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Default default clang version to use
</span>         if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
             default_variants-append +clang11
         } else {
             default_variants-append +clang14
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision [ expr ${revision} + 0 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description             Link to libc++ implementation to be used by ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision                [ expr ${revision} + 1 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description             libc++ header implementation to be used by ${name}
</span>     long_description        {*}${description}
     depends_build
     depends_extract
     depends_run
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib
</span>     distfiles
     patchfiles
     use_configure           no
     supported_archs         noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build                   {}
</span>     # Find clang/llvm version to use from active variant
     proc getClangVersion {} {
         if { [regexp {clang(.*)} [clang_variant_name] -> clang_v] } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -223,11 +225,15 @@ subport ${libcxxname} {
</span>         return ""
     }
     set mp_clang_ver [getClangVersion]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib port:clang-${mp_clang_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Copy headers from clang-N during build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${worksrcpath}/headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${worksrcpath}/headers/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set incpath ${destroot}${prefix}/libexec/${name}/libc++/include/c++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${incpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${incpath}/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set base_dir [file dirname ${libcxx_incpath}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${base_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/headers/v1 ${destroot}${base_dir}
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -244,7 +250,7 @@ if { ${subport} ne ${libcxxname} } {
</span>         if {${subport} eq ${name}} {
             depends_run-append port:${libcxxname}
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append --with-gxx-libcxx-include-dir="${prefix}/libexec/${name}/libc++/include/c++/v1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append --with-gxx-libcxx-include-dir="${libcxx_incpath}"
</span>     }
 
     # libcxx is unavailable on PPC
<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 29efc7e5c56..4ac0148aa02 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;'>@@ -214,29 +214,31 @@ pre-configure {
</span> 
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_incpath ${prefix}/libexec/${name}/libc++/include/c++/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport ${libcxxname} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    PortGroup compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup compilers     1.0
</span>     compilers.choose        cxx
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    compilers.setup         -gcc -fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compilers.setup         -gcc -fortran -clangdevel -clang34 -clang35 -clang36 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -clang37 -clang50 -clang60 -clang70 -clang80 -clang90
</span>     if { ![clang_variant_isset] } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Default default clang version to use
</span>         if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
             default_variants-append +clang11
         } else {
             default_variants-append +clang14
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision [ expr ${revision} + 0 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description             Link to libc++ implementation to be used by ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision                [ expr ${revision} + 1 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description             libc++ header implementation to be used by ${name}
</span>     long_description        {*}${description}
     depends_build
     depends_extract
     depends_run
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib
</span>     distfiles
     patchfiles
     use_configure           no
     supported_archs         noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build                   {}
</span>     # Find clang/llvm version to use from active variant
     proc getClangVersion {} {
         if { [regexp {clang(.*)} [clang_variant_name] -> clang_v] } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -245,11 +247,15 @@ subport ${libcxxname} {
</span>         return ""
     }
     set mp_clang_ver [getClangVersion]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib port:clang-${mp_clang_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Copy headers from clang-N during build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${worksrcpath}/headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${worksrcpath}/headers/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set incpath ${destroot}${prefix}/libexec/${name}/libc++/include/c++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${incpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${incpath}/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set base_dir [file dirname ${libcxx_incpath}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${base_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/headers/v1 ${destroot}${base_dir}
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -266,7 +272,7 @@ if { ${subport} ne ${libcxxname} } {
</span>         if {${subport} eq ${name}} {
             depends_run-append port:${libcxxname}
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append --with-gxx-libcxx-include-dir="${prefix}/libexec/${name}/libc++/include/c++/v1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append --with-gxx-libcxx-include-dir="${libcxx_incpath}"
</span>     }
 
     # libcxx is unavailable on PPC
<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 e7ff52f52b1..a0d3850647c 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;'>@@ -183,29 +183,31 @@ pre-configure {
</span> 
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_incpath ${prefix}/libexec/${name}/libc++/include/c++/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport ${libcxxname} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    PortGroup compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup compilers     1.0
</span>     compilers.choose        cxx
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    compilers.setup         -gcc -fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compilers.setup         -gcc -fortran -clangdevel -clang34 -clang35 -clang36 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -clang37 -clang50 -clang60 -clang70 -clang80 -clang90
</span>     if { ![clang_variant_isset] } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Default default clang version to use
</span>         if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
             default_variants-append +clang11
         } else {
             default_variants-append +clang14
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision [ expr ${revision} + 0 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description             Link to libc++ implementation to be used by ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision                [ expr ${revision} + 1 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description             libc++ header implementation to be used by ${name}
</span>     long_description        {*}${description}
     depends_build
     depends_extract
     depends_run
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib
</span>     distfiles
     patchfiles
     use_configure           no
     supported_archs         noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build                   {}
</span>     # Find clang/llvm version to use from active variant
     proc getClangVersion {} {
         if { [regexp {clang(.*)} [clang_variant_name] -> clang_v] } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -214,11 +216,15 @@ subport ${libcxxname} {
</span>         return ""
     }
     set mp_clang_ver [getClangVersion]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib port:clang-${mp_clang_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Copy headers from clang-N during build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${worksrcpath}/headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${worksrcpath}/headers/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set incpath ${destroot}${prefix}/libexec/${name}/libc++/include/c++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${incpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${prefix}/libexec/llvm-${mp_clang_ver}/include/c++/v1 ${incpath}/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set base_dir [file dirname ${libcxx_incpath}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${base_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/headers/v1 ${destroot}${base_dir}
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -235,7 +241,7 @@ if { ${subport} ne ${libcxxname} } {
</span>         if {${subport} eq ${name}} {
             depends_run-append port:${libcxxname}
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append --with-gxx-libcxx-include-dir="${prefix}/libexec/${name}/libc++/include/c++/v1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append --with-gxx-libcxx-include-dir="${libcxx_incpath}"
</span>     }
 
     # libcxx is unavailable on PPC
</pre><pre style='margin:0'>

</pre>