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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2406f105d8f45121377f530ea54e0342d92abb9c">https://github.com/macports/macports-ports/commit/2406f105d8f45121377f530ea54e0342d92abb9c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 2406f105d8f45121377f530ea54e0342d92abb9c
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Dec 28 21:43:01 2024 +1100

<span style='display:block; white-space:pre;color:#404040;'>    tk: split into quartz and x11 subports
</span>---
 x11/tk/Portfile | 176 +++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 112 insertions(+), 64 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/tk/Portfile b/x11/tk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fa51e78475d..6b697ce913c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/tk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/tk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup           muniversal 1.1
</span> 
 name                tk
 version             8.6.15
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          x11
 license             Tcl/Tk
 maintainers         {mcalhoun @MarcusCalhoun-Lopez} {gmx.us:chrischavez @chrstphrchvz} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,82 +25,130 @@ checksums           md5 6d64b6eb021062f378017d403fedcbe6 \
</span>                     rmd160 3cb0ef6823829ed2f7ff0870c7754ea8be20b82a \
                     sha256 550969f35379f952b3020f3ab7b9dd5bfd11c1ef7c9b7c6a75f5c49aca793fec
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       port:pkgconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# force usage of MacPorts Tcl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:fontconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:tcl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:Xft2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:xorg-libXScrnSaver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          CGRect.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$subport eq $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Not noarch so arch checking works transitively
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.ignore_archs   yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platforms       any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_configure   no
</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;'>+        if {[variant_exists quartz] && [variant_isset quartz]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set tkdepname tk-quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set tkdepname tk-x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.dir      ${worksrcpath}/unix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.dir          ${configure.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set bindir ${prefix}/libexec/${tkdepname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s {*}[glob -directory ${bindir} *] ${destroot}${prefix}/bin
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --mandir=${prefix}/share/man --with-tcl=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# see https://trac.macports.org/ticket/58447
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cppflags-replace -I${prefix}/include -isystem${prefix}/include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ldflags   -L${worksrcpath} -L${prefix}/lib -lfontconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set incdir ${prefix}/include/${tkdepname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s {*}[glob -directory ${incdir} *] ${destroot}${prefix}/include
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# see https://trac.macports.org/ticket/17189
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.target-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    install-private-headers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ln -s wish8.6 ${destroot}${prefix}/bin/wish
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ln -s libtk8.6.dylib ${destroot}${prefix}/lib/libtk.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set libdir ${prefix}/lib/${tkdepname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s {*}[glob -types f -directory ${libdir} *] ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s {*}[glob -types d -directory ${libdir} tk*] ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s ${libdir}/pkgconfig/tk.pc ${destroot}${prefix}/lib/pkgconfig
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args.x86_64-append    --enable-64bit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args.ppc64-append     --enable-64bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set mandir ${prefix}/share/${tkdepname}/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach sect {1 3 n} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -d ${destroot}${prefix}/share/man/man${sect}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s {*}[glob -directory ${mandir}/man${sect} *] ${destroot}${prefix}/share/man/man${sect}
</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;'>+    if {${os.platform} eq "darwin" && ${os.subplatform} eq "macosx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        && ${os.major} >= 10 && ![string match ppc* ${build_arch}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant quartz conflicts x11 {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # The buildbot uses default variants, so binaries for ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # that don't depend on a specific tk subport will be linked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # with tk-quartz, which is thus always needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib port:tk-quartz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variant x11 conflicts quartz {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append port:tk-x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.subplatform} eq "macosx" && ${os.major} >= 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant quartz conflicts x11 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-delete \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:fontconfig \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:Xft2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:xorg-libXScrnSaver
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.ldflags-delete \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -lfontconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants +quartz
</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;'>+        depends_lib port:tk-x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Only check for 8.x versions - 9 will need to be a separate port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex     {Tcl/Tk (8(?:\.\d+)*)</a>}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build       path:bin/pkg-config:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib         port:tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles          CGRect.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.dir       ${worksrcpath}/unix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.dir           ${configure.dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set bindir          ${prefix}/libexec/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set incdir          ${prefix}/include/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set libdir          ${prefix}/lib/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set mandir          ${prefix}/share/${subport}/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args      --bindir=${bindir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --includedir=${incdir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --libdir=${libdir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --mandir=${mandir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        --with-tcl=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env       {TK_LIBRARY=$(libdir)/tk$(VERSION)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform darwin {
</span>         configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --enable-aqua
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            move \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${destroot}${prefix}/include/X11 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${destroot}${prefix}/include/X11_tk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            fs-traverse fl ${destroot}${prefix}/include {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[file extension ${fl}] eq ".h"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    reinplace -q "s|include <X11/|include <X11_tk/|g" ${fl}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    reinplace -q "s|include \"X11/|include \"X11_tk/|g" ${fl}
</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:#e0ffe0;'>+                        tcl_cv_type_64bit="long long"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/58447
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cppflags-replace -I${prefix}/include -isystem${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.ldflags   -L${worksrcpath} -L${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args.arm64-append     --enable-64bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args.x86_64-append    --enable-64bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args.ppc64-append     --enable-64bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/17189
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.target-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        install-private-headers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s wish8.6 ${destroot}${bindir}/wish
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s libtk8.6.dylib ${destroot}${libdir}/libtk.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach fl {tk3d.h tkFont.h} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 0644 ${workpath}/tk${version}/generic/${fl} ${destroot}${incdir}
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant x11 conflicts quartz {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run            yes
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants +quartz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Even though X11 is the only option, make a variant so that other ports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # can check for it being set with require_active_variants.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant x11 {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants +x11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type      none
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport tk-quartz {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platforms       {macosx >= 10}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    supported_archs arm64 i386 x86_64
</span>     configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    tcl_cv_type_64bit="long long"
</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;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach fl {tk3d.h tkFont.h} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 0644 ${workpath}/tk${version}/generic/${fl} ${destroot}${prefix}/include/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-aqua
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${incdir}/X11 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${incdir}/X11_tk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fs-traverse fl [list ${destroot}${incdir}] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[file extension ${fl}] eq ".h"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|include <X11/|include <X11_tk/|g" ${fl}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                reinplace -q "s|include \"X11/|include \"X11_tk/|g" ${fl}
</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:#ffe0e0;'>-test.run            yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     {Tcl/Tk (\d+(?:\.\d+)*)</a>}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport tk-x11 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:fontconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:Xft2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:xorg-libXScrnSaver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.ldflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -lfontconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>