<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch release-2.10
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/231a6d7412bc548df56701127ca4670f8e30ddb8">https://github.com/macports/macports-base/commit/231a6d7412bc548df56701127ca4670f8e30ddb8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 231a6d7412bc548df56701127ca4670f8e30ddb8
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Sun May 25 21:12:44 2025 +0200
<span style='display:block; white-space:pre;color:#404040;'> src/port: Replace port-tclsh with binary
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> It seems like using scripts as interpreters in shebangs leads to
</span><span style='display:block; white-space:pre;color:#404040;'> unexpected effects on macOS, so let's just use a binary instead, which
</span><span style='display:block; white-space:pre;color:#404040;'> seems to work fine. Fortunately, this particular binary is very simple,
</span><span style='display:block; white-space:pre;color:#404040;'> too.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/72530
</span><span style='display:block; white-space:pre;color:#404040;'> (cherry picked from commit 92bae5a245d0d978b5f3112cd0a158704119e71f)
</span>---
configure.ac | 6 +++---
src/port/Makefile.in | 2 +-
src/port/port-tclsh.c.in | 20 ++++++++++++++++++++
src/port/port-tclsh.in | 2 --
4 files changed, 24 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/configure.ac b/configure.ac
</span><span style='display:block; white-space:pre;color:#808080;'>index 6334e3244..7b6ce6dc9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/configure.ac
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/configure.ac
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -431,8 +431,8 @@ AC_CONFIG_FILES([
</span> portmgr/dmg/postflight
setupenv.bash
src/Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>- src/cregistry/Makefile
</span> src/compat/Makefile
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/cregistry/Makefile
</span> src/darwintracelib1.0/Makefile
src/darwintracelib1.0/tests/Makefile
src/machista1.0/Makefile
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -443,11 +443,12 @@ AC_CONFIG_FILES([
</span> src/package1.0/Makefile
src/package1.0/package_test_autoconf.tcl
src/pextlib1.0/Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>- src/portlist1.0/Makefile
</span> src/port/Makefile
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/port/port-tclsh.c
</span> src/port1.0/Makefile
src/port1.0/port_autoconf.tcl
src/port1.0/port_test_autoconf.tcl
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/portlist1.0/Makefile
</span> src/programs/Makefile
src/registry2.0/Makefile
src/registry2.0/registry_autoconf.tcl
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -465,6 +466,5 @@ AC_CONFIG_FILES([src/dedup_portfiles.tcl], [chmod +x src/dedup_portfiles.tcl])
</span> AC_CONFIG_FILES([src/images_to_archives.tcl], [chmod +x src/images_to_archives.tcl])
AC_CONFIG_FILES([src/pkg_mkindex.sh], [chmod +x src/pkg_mkindex.sh])
AC_CONFIG_FILES([src/upgrade_sources_conf_default.tcl], [chmod +x src/upgrade_sources_conf_default.tcl])
<span style='display:block; white-space:pre;background:#ffe0e0;'>-AC_CONFIG_FILES([src/port/port-tclsh], [chmod +x src/port/port-tclsh])
</span>
AC_OUTPUT
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/Makefile.in b/src/port/Makefile.in
</span><span style='display:block; white-space:pre;color:#808080;'>index 8f6b89a9b..a47198281 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ include ../../Mk/macports.autoconf.mk
</span>
INSTALLDIR= ${prefix}
TOPSRCDIR= ../..
<span style='display:block; white-space:pre;background:#ffe0e0;'>-SCRIPTS= portmirror portindex port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SCRIPTS= portmirror portindex port port-tclsh
</span>
edit = sed -e 's,@TCLSH\@,$(TCLSH),g'
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port-tclsh.c.in b/src/port/port-tclsh.c.in
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 000000000..00c5686f2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/port-tclsh.c.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _XOPEN_SOURCE 600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int main(int argc, char *argv[]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (argc > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *newname = strdup("@TCLSH@");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (newname != NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ argv[0] = newname;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Ignore errors and just leave argv[0] the same, hoping that the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * executed program will still work fine. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ execvp("@TCLSH@", argv);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ perror("execvp('@TCLSH@', argv)");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return EXIT_FAILURE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port-tclsh.in b/src/port/port-tclsh.in
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c8a86468c..000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/port-tclsh.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,2 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#!/bin/sh
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-exec "@TCLSH@" "$@"
</span></pre><pre style='margin:0'>
</pre>