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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ff1a560467485426831d05ee6700ecd2befea6ee">https://github.com/macports/macports-ports/commit/ff1a560467485426831d05ee6700ecd2befea6ee</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ff1a560467485426831d05ee6700ecd2befea6ee
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed Aug 10 13:39:46 2022 +0200

<span style='display:block; white-space:pre;color:#404040;'>    cctools: add darwin-xtools variant
</span>---
 devel/cctools/Portfile | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/cctools/Portfile b/devel/cctools/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index aec14733f92..5339ab9738d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/cctools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/cctools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,7 +55,7 @@ patchfiles              cctools-829-lto.patch \
</span> # see https://github.com/macports/macports-ports/pull/9796
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>         system "cd ${workpath}/ld64-${ld64_version} && patch -p0 < ${filespath}/ld64-512-work-around-older-compilers-without-has-include.diff"
     }
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,7 +81,7 @@ set llvm_version {}
</span> 
 foreach variantname $all_llvm_variants {
     set this_llvm_version $llvm_variant_version($variantname)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant $variantname conflicts xcode {*}[ldelete $all_llvm_variants $variantname] description "Use llvm-${this_llvm_version} for libLTO, llvm-mc, llvm-size, and llvm-nm" "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant $variantname conflicts xcode xtools {*}[ldelete $all_llvm_variants $variantname] description "Use llvm-${this_llvm_version} for libLTO, llvm-mc, llvm-size, and llvm-nm" "
</span>         set llvm_version        $this_llvm_version
         depends_lib-append      port:llvm-${this_llvm_version}
     "
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -97,7 +97,7 @@ proc some_llvm_variant_set {} {
</span>     return no
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![some_llvm_variant_set] && ![variant_isset xcode] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ![some_llvm_variant_set] && ![variant_isset xcode] && ![variant_isset xtools] } {
</span>     # Xcode 11 has a newer cctools than the current cctools port
     # Check if Xcode is 11 or newer, or if not installed if the CLT is 11 or newer
     # This +xcode cutoff can be moved up as the cctools port is updated
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -163,6 +163,21 @@ variant xcode description "Use Xcode supplied cctools" {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant xtools description "Use darwin-xtools as cctools" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxx_stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run     port:darwin-xtools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set xtools_cmds {nm as ar otool ranlib lipo libtool segedit strip size strings}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach xtools_cmd $xtools_cmds {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s ../libexec/darwin-xtools/bin/${xtools_cmd} ${destroot}${prefix}/bin/${xtools_cmd}
</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;'>+
</span> destroot.args           RAW_DSTROOT=${destroot} DSTROOT=${destroot}${prefix} RC_ProjectSourceVersion=${version}
 
 # reconfirmed 20210818 - cctools +llvm10 will not build universal on BigSur
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -172,19 +187,19 @@ if {${os.major} >= 20} {
</span>     universal_variant yes
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>     depends_build       port:libunwind-headers
 }
 
 post-extract {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>         file copy ${worksrcpath}/../ld64-${ld64_version}/src/other/PruneTrie.cpp ${worksrcpath}/misc
         system "touch ${worksrcpath}/../ld64-${ld64_version}/src/abstraction/configure.h"
     }
 }
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>         # We don't want to build cctools ld.  We want to use ld64
         reinplace "/^SUBDIRS_32/s/ld//" ${worksrcpath}/Makefile
         reinplace "/^COMMON_SUBDIRS/s/ ld / /" ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -267,7 +282,7 @@ configure.cppflags-append \
</span>                         -I${worksrcpath}/include
 
 pre-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>         build.args-append \
             RC_ProjectSourceVersion=${version} \
             USE_DEPENDENCY_FILE=NO \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -293,7 +308,7 @@ pre-build {
</span> }
 
 pre-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>         destroot.args-append \
             RC_ProjectSourceVersion=${version} \
             USE_DEPENDENCY_FILE=NO \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -326,7 +341,7 @@ platform macosx {
</span> destroot.target install_tools
 destroot.args-append DSTROOT=${destroot}
 post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset xcode]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset xcode] && ![variant_isset xtools]} {
</span>         file delete -force ${destroot}${prefix}/OpenSourceLicenses
         file delete -force ${destroot}${prefix}/OpenSourceVersions
         file delete -force ${destroot}${prefix}/RelNotes
</pre><pre style='margin:0'>

</pre>