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

</pre>
<p><a href="https://github.com/macports/macports-base/commit/3c92893ddacf244d4470347ed637302df40b2386">https://github.com/macports/macports-base/commit/3c92893ddacf244d4470347ed637302df40b2386</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 3c92893ddacf244d4470347ed637302df40b2386
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Feb 14 05:57:27 2025 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Avoid repeatedly building tcllibc and critcl
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    These build as part of the install command and don't seem to have
</span><span style='display:block; white-space:pre;color:#404040;'>    checks to skip this if nothing has been updated. So create a file to
</span><span style='display:block; white-space:pre;color:#404040;'>    indicate that they have already been destrooted.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Note that this means that manual cleaning or removing the .stamp file
</span><span style='display:block; white-space:pre;color:#404040;'>    is needed after changing the source of these vendored packages, which
</span><span style='display:block; white-space:pre;color:#404040;'>    should however hopefully be infrequent.
</span>---
 .gitignore         |  1 +
 vendor/Makefile.in | 35 +++++++++++++++++++++++++----------
 2 files changed, 26 insertions(+), 10 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/.gitignore b/.gitignore
</span><span style='display:block; white-space:pre;color:#808080;'>index e42a5e456..6d742c338 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/.gitignore
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/.gitignore
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,6 +45,7 @@ tests/test/trace/test.tcl
</span> vendor/vendor-destroot/
 vendor/tclsh
 vendor/install/build/
<span style='display:block; white-space:pre;background:#e0ffe0;'>+vendor/.stamp-*
</span> vendor/**/*.o
 vendor/**/*.a
 vendor/**/*.dylib
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/vendor/Makefile.in b/vendor/Makefile.in
</span><span style='display:block; white-space:pre;color:#808080;'>index 931cca4dd..a393cd692 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/vendor/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/vendor/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,11 +46,13 @@ DISTCLEAN_TARGETS= distclean-tcl distclean-tcllib distclean-tclx distclean-signi
</span> ifneq (@OS_PLATFORM@,linux)
 DESTROOT_TARGETS+=   destroot-signify
 endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>+CPCMD=cp -p
</span> ifeq (@HAVE_CLONEFILE@,yes)
 ifeq (@HAVE_DECL_CLONE_NOOWNERCOPY@,yes)
 DESTROOT_TARGETS+=   destroot-install
 CLEAN_TARGETS+= clean-install
 DISTCLEAN_TARGETS+= distclean-install
<span style='display:block; white-space:pre;background:#e0ffe0;'>+CPCMD+= -c
</span> endif
 endif
 ifeq (@OS_PLATFORM@,darwin)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,15 +74,21 @@ destroot-tcllib: all-tcl
</span>   @umask 0022; $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ "DESTDIR=${DESTROOT}" TCLSH_PROG=@INTREE_TCLSH@ @VENDOR_TCLLIB_INSTALL@
        @chmod -R ugo+rX ${DESTROOT}${PREFIX}/libexec/macports/lib/tcllib*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot-critcl: all-tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.stamp-critcl: | all-tcl
</span>   @echo ===\> staging to destroot in ${DIRPRFX}${CRITCL_SUBDIR}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        @umask 0022; cd ${CRITCL_SUBDIR} && "@INTREE_TCLSH@" ./build.tcl install --prefix "${PREFIX}/libexec/macports" --dest-dir "${DESTROOT}" $(CRITCL_TARGET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @umask 0022; cd ${CRITCL_SUBDIR} && /usr/bin/env "HOME=@abs_top_builddir@/vendor" "@INTREE_TCLSH@" ./build.tcl install --prefix "${PREFIX}/libexec/macports" --dest-dir "${DESTROOT}" $(CRITCL_TARGET)
</span>   @chmod -R ugo+rX ${DESTROOT}${PREFIX}/libexec/macports/lib/critcl*
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        @touch .stamp-critcl
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot-tcllibc: all-tcl destroot-critcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot-critcl: .stamp-critcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.stamp-tcllibc: .stamp-critcl
</span>   @echo ===\> staging tcllibc to destroot in ${DIRPRFX}@VENDOR_TCLLIB_SUBDIR@
        @umask 0022; /usr/bin/env "PATH=${DESTROOT}${PREFIX}/libexec/macports/bin:$$PATH" $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ "DESTDIR=${DESTROOT}" "CRITCL_TARGET=$(CRITCL_TARGET)" TCLSH_PROG=@INTREE_TCLSH@ install-binaries
        @chmod -R ugo+rX ${DESTROOT}${PREFIX}/libexec/macports/lib/tcllib*
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        @touch .stamp-tcllibc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot-tcllibc: .stamp-tcllibc
</span> 
 destroot-signify:
        @echo ===\> staging to destroot in ${DIRPRFX}${SIGNIFY_SUBDIR}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,10 +149,16 @@ install-tcllib:
</span>   @umask 0022; $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ TCLSH_PROG=@INTREE_TCLSH@ @VENDOR_TCLLIB_INSTALL@
        @chmod -R ugo+rX $(DESTDIR)${PREFIX}/libexec/macports/lib/tcllib*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-install-tcllibc: install-tcllib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   @echo ===\> making $(@:%-tcllibc=%) in ${DIRPRFX}@VENDOR_TCLLIB_SUBDIR@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   @umask 0022; /usr/bin/env "PATH=${DESTROOT}${PREFIX}/libexec/macports/bin:$$PATH" $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ TCLSH_PROG=@INTREE_TCLSH@ install-binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   @chmod -R ugo+rX $(DESTDIR)${PREFIX}/libexec/macports/lib/tcllib*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+install-tcllibc: .stamp-tcllibc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @echo ===\> making $(@:%-tcllibc=%)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @umask 0022; cd "${DESTROOT}${PREFIX}/libexec/macports/lib"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       for d in $(find tcllibc* -type d); do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           mkdir -p "$(DESTDIR)${PREFIX}/libexec/macports/lib/$d"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       done; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       for f in $(find tcllibc* -type f); do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           $(CPCMD) "$d" "$(DESTDIR)${PREFIX}/libexec/macports/lib/$d"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   @chmod -R ugo+rX $(DESTDIR)${PREFIX}/libexec/macports/lib/tcllibc*
</span> 
 install-signify:
        @echo ===\> making $(@:%-signify=%) in ${DIRPRFX}${SIGNIFY_SUBDIR}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,11 +171,12 @@ install-install:
</span> test:
 
 clean: $(CLEAN_TARGETS)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        rm -rf ${DESTROOT}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rm -rf vendor-destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rm -f .stamp-*
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distclean: $(DISTCLEAN_TARGETS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distclean: clean $(DISTCLEAN_TARGETS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rm -rf .critcl
</span>   rm -f Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        rm -rf vendor-destroot
</span>   rm -f tclsh
 
 codesign:: signify-osx/signify tcl/unix/libtcl8.6.dylib tcl/unix/tclsh tclx/libtclx8.6.dylib tcl/unix/pkgs/itcl4.3.2/libitcl4.3.2.dylib tcl/unix/pkgs/tdbc1.1.10/libtdbc1.1.10.dylib tcl/unix/pkgs/tdbcpostgres1.1.10/libtdbcpostgres1.1.10.dylib tcl/unix/pkgs/thread2.8.11/libthread2.8.11.dylib tcl/unix/pkgs/tdbcmysql1.1.10/libtdbcmysql1.1.10.dylib tcl/unix/pkgs/tdbcodbc1.1.10/libtdbcodbc1.1.10.dylib tcl/unix/pkgs/sqlite3.47.2/libsqlite3.47.2.dylib
</pre><pre style='margin:0'>

</pre>