[tlbuild] MacOS scripting languages (was: Re: Broken shebangs in TeX Live scripts)

Siep Kroonenberg siepo at bitmuis.nl
Wed Apr 13 20:17:13 CEST 2022


On Wed, Apr 13, 2022 at 05:19:19PM +0200, Bruno Voisin wrote:
> Reinhard Kotucha wrote:
> 
> > Is it difficult to install Bash on the systems you mentioned?  Are
> > there package managers available which allow installation of free
> > software as easily as on Linux?
> 
> bash is still part of macOS, and at the expected location. Here on
> the very latest beta (macOS Monterey 12.4 Beta):
> 
> 	% which bash /bin/bash
> 
> But it is no longer the default shell (zsh is). I have read that
> bash might be removed at some point, but could not found any
> official Apple statement about this.
> 
> Apparently, it all comes down to a license issue.
> <https://dev.to/bphogan/use-modern-bash-shell-on-macos-22a6>
> writes
> 
> "macOS ships with an older version of the Bash shell, because
> newer versions use a license that makes it more difficult for
> Apple to integrate into their OS. In macOS Catalina, Apple changed
> the default shell to ZSH for this reason."
> 
> and mention the older version as 3.2.57(1)-release. Indeed, on
> macOS 12.4 Beta,
> 
> 	% bash --version GNU bash, version 3.2.57(1)-release
> 	(arm64-apple-darwin21) Copyright (C) 2007 Free Software
> 	Foundation, Inc.
> 
> More worrying for the future is the planned removal of scripting
> languages. Python was removed in macOS 12.3, which forced TeX Live
> Utility (the Mac GUI to tlmgr, and more), largely written in
> Python, to embed a Python framework.
> 
> Next in line are Perl and Tcl. Right now you get:
> 
> 	% tclsh
> 
> 	WARNING: This version of tcl is included in macOS for
> 	compatibility with legacy software.  In future versions of macOS
> 	the tcl runtime will not be available by default, and may require
> 	you to install an additional package.
> 
> and
> 
> 	% perl -de1
> 
> 	WARNING: This version of perl is included in macOS for
> 	compatibility with legacy software.  In future versions of macOS
> 	the perl runtime will not be available by default, and may
> 	require you to install an additional package.
> 
> So the countdown has started already for those two!
> 
> There is a nice pre-built macOS Python package at
> <https://www.python.org>, but no such thing for Tcl at
> <https://www.tcl.tk> nor Perl at <https://www.perl.org>.
> 
> The approach used in TeX Live for Windows
> <https://tug.org/texlive/windows.html>, namely provide minimal
> Perl and Tcl setups inside TeX Live, in a way that does not affect
> PATH, seems promising.
> 
> Being part of the MacTeX team, I looked rapidly through the TeX
> Live source, to find info on how these setups are created (ie
> which perl and tcl packages are selected -- for example are
> LWP::UserAgent and Mozilla::CA included for Perl --, how they are
> built, how they are installed), to prepare for the future, see
> whether/how the approach could be adapted to macOS. But I couldn't
> find anything. Does anybody here know about this?

Windows versions of perl, of required perl modules and of Tcl/Tk are
built separately. This is explained in
<TLroot>/source/tlperl/tlperl.README and
<TLroot>/source/tlgui/tltcl/tltcl.README.

-- 
Siep Kroonenberg


More information about the tlbuild mailing list.