On Sun, 24 Aug 2025 13:27:59 +0200, Antoine Jacoutot wrote: > On August 24, 2025 1:06:07 PM GMT+02:00, Pascal Stumpf > <pas...@stumpf.co> wrote: >On Sun, 24 Aug 2025 12:33:10 +0200, Antoine > Jacoutot wrote: >> On Sat, Aug 23, 2025 at 03:50:21PM +0200, Theo > Buehler wrote: >> > > The KSH found at configure time is propagated > to most scripts that are >> > > installed. It's quite possible that > all of these work as intended with >> > > /bin/ksh, but maybe it's > best to not take any chances. >> > >> > Depending on shells/ksh93 > is problematic due to the conflict with >> > devel/libast. Now both > have consumers, so the conflict bit me in my >> > last bulk: >> >> > Thanks for the head up. >> What about statically compiling ksh? > >I'd > rather keep libshell, how about a subpackage? > > >Index: Makefile > >=================================================================== > >RCS file: /home/cvs/ports/shells/ksh93/Makefile,v >diff -u -p -r1.25 > Makefile >--- Makefile 1 Sep 2024 09:54:01 -0000 1.25 >+++ Makefile > 24 Aug 2025 11:01:14 -0000 >@@ -1,11 +1,14 @@ >-COMMENT = AT&T Korn > Shell >+COMMENT-main = AT&T Korn Shell >+COMMENT-libshell = AT&T > Korn Shell, dynamic libraries > > V = 1.0.10 > GH_ACCOUNT = ksh93 > > GH_PROJECT = ksh > GH_TAGNAME = v${V} >-PKGNAME = ksh93-$V >-EPOCH = 0 > >+PKGNAME-main = ksh93-$V >+PKGNAME-libshell = libshell-$V >+EPOCH-main > = 0 >+REVISION-main = 0 > > SO_VERSION = 0.0 > >@@ -16,6 +19,8 @@ > SHARED_LIBS += shell > > CATEGORIES = shells > >+MULTI_PACKAGES = > -main -libshell >+ > HOMEPAGE = https://github.com/ksh93/ksh > > > MAINTAINER = Pascal Stumpf <pas...@stumpf.co> >@@ -40,7 +45,7 @@ > do-build: > HOSTTYPE="${HOSTTYPE}" > > do-install: >- ${INSTALL_PROGRAM} > ${AST_ARCH}/dyn/bin/ksh ${PREFIX}/bin/ksh93 >+ ${INSTALL_PROGRAM} > ${AST_ARCH}/bin/ksh ${PREFIX}/bin/ksh93 > cd ${PREFIX}/bin && ln ksh93 > rksh93 > ${INSTALL_DATA} ${AST_ARCH}/lib/lib{ast,cmd,dll,shell}.a > \ > ${PREFIX}/lib >Index: pkg/DESCR > >=================================================================== > >RCS file: pkg/DESCR >diff -N pkg/DESCR >--- pkg/DESCR 13 Oct 2012 > 15:11:51 -0000 1.1.1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ > -1,11 +0,0 @@ >-KSH-93 is the most recent version of the KornShell > Language described >-in "The KornShell Command and Programming > Language," by Morris >-Bolsky and David Korn of AT&T Bell Laboratories. > The KornShell is >-a shell programming language, which is upward > compatible with "sh" >-(the Bourne Shell), and is intended to conform > to the IEEE P1003.2/ISO >-9945.2 Shell and Utilities standard. KSH-93 > provides an enhanced >-programming environment in addition to the > major command-entry >-features of the BSD shell "csh". With KSH-93, > medium-sized programming >-tasks can be performed at shell-level without > a significant loss >-in performance. In addition, "sh" scripts can > be run on KSH-93 >-without modification. >Index: pkg/DESCR-libshell > >=================================================================== > >RCS file: pkg/DESCR-libshell >diff -N pkg/DESCR-libshell >--- > /dev/null 1 Jan 1970 00:00:00 -0000 >+++ pkg/DESCR-libshell 24 Aug 2025 > 11:02:21 -0000 >@@ -0,0 +1,13 @@ >+KSH-93 is the most recent version > of the KornShell Language described >+in "The KornShell Command and > Programming Language," by Morris >+Bolsky and David Korn of AT&T Bell > Laboratories. The KornShell is >+a shell programming language, which is > upward compatible with "sh" >+(the Bourne Shell), and is intended to > conform to the IEEE P1003.2/ISO >+9945.2 Shell and Utilities standard. > KSH-93 provides an enhanced >+programming environment in addition to > the major command-entry >+features of the BSD shell "csh". With KSH-93, > medium-sized programming >+tasks can be performed at shell-level > without a significant loss >+in performance. In addition, "sh" scripts > can be run on KSH-93 >+without modification. >+ >+This package > contains the dynamic libraries and headers. >Index: pkg/DESCR-main > >=================================================================== > >RCS file: pkg/DESCR-main >diff -N pkg/DESCR-main >--- /dev/null 1 > Jan 1970 00:00:00 -0000 >+++ pkg/DESCR-main 13 Oct 2012 15:11:51 > -0000 >@@ -0,0 +1,11 @@ >+KSH-93 is the most recent version of the > KornShell Language described >+in "The KornShell Command and Programming > Language," by Morris >+Bolsky and David Korn of AT&T Bell Laboratories. > The KornShell is >+a shell programming language, which is upward > compatible with "sh" >+(the Bourne Shell), and is intended to conform > to the IEEE P1003.2/ISO >+9945.2 Shell and Utilities standard. KSH-93 > provides an enhanced >+programming environment in addition to the > major command-entry >+features of the BSD shell "csh". With KSH-93, > medium-sized programming >+tasks can be performed at shell-level > without a significant loss >+in performance. In addition, "sh" scripts > can be run on KSH-93 >+without modification. >Index: pkg/PLIST > >=================================================================== > >RCS file: pkg/PLIST >diff -N pkg/PLIST >--- pkg/PLIST 1 Sep > 2024 09:54:01 -0000 1.6 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 > >@@ -1,122 +0,0 @@ >-@conflict libast-* >-@shell bin/ksh93 > >-@shell bin/rksh93 >-include/ast/ >-include/ast/align.h > >-include/ast/aso.h >-include/ast/ast.h >-include/ast/ast_api.h > >-include/ast/ast_ccode.h >-include/ast/ast_common.h > >-include/ast/ast_dir.h >-include/ast/ast_dirent.h > >-include/ast/ast_fcntl.h >-include/ast/ast_float.h > >-include/ast/ast_fs.h >-include/ast/ast_iconv.h >-include/ast/ast_lib.h > >-include/ast/ast_limits.h >-include/ast/ast_map.h > >-include/ast/ast_mmap.h >-include/ast/ast_mode.h > >-include/ast/ast_ndbm.h >-include/ast/ast_nl_types.h > >-include/ast/ast_param.h >-include/ast/ast_sizeof.h > >-include/ast/ast_standards.h >-include/ast/ast_std.h > >-include/ast/ast_stdio.h >-include/ast/ast_sys.h > >-include/ast/ast_time.h >-include/ast/ast_tty.h > >-include/ast/ast_wait.h >-include/ast/ast_wchar.h > >-include/ast/ast_wctype.h >-include/ast/ast_windows.h > >-include/ast/bytesex.h >-include/ast/ccode.h >-include/ast/cdt.h > >-include/ast/cmd.h >-include/ast/cmdarg.h >-include/ast/cmdext.h > >-include/ast/cmdlist.h >-include/ast/debug.h >-include/ast/dirent.h > >-include/ast/dlldefs.h >-include/ast/endian.h >-include/ast/error.h > >-include/ast/find.h >-include/ast/fmtmsg.h >-include/ast/fnmatch.h > >-include/ast/fnv.h >-include/ast/fts.h >-include/ast/ftw.h > >-include/ast/ftwalk.h >-include/ast/glob.h >-include/ast/hash.h > >-include/ast/hashkey.h >-include/ast/hashpart.h > >-include/ast/history.h >-include/ast/iconv.h >-include/ast/ip6.h > >-include/ast/lc.h >-include/ast/ls.h >-include/ast/magic.h > >-include/ast/magicid.h >-include/ast/mc.h >-include/ast/mime.h > >-include/ast/mnt.h >-include/ast/modecanon.h >-include/ast/modex.h > >-include/ast/namval.h >-include/ast/nl_types.h >-include/ast/nval.h > >-include/ast/option.h >-include/ast/proc.h >-include/ast/re_comp.h > >-include/ast/recfmt.h >-include/ast/regex.h >-include/ast/regexp.h > >-include/ast/releaseflags.h >-include/ast/sfdisc.h > >-include/ast/sfio.h >-include/ast/sfio_s.h >-include/ast/sfio_t.h > >-include/ast/shcmd.h >-include/ast/shell.h >-include/ast/sig.h > >-include/ast/stak.h >-include/ast/stdio.h >-include/ast/stk.h > >-include/ast/sum.h >-include/ast/swap.h >-include/ast/tar.h > >-include/ast/times.h >-include/ast/tm.h >-include/ast/tmx.h > >-include/ast/tok.h >-include/ast/tv.h >-include/ast/vdb.h > >-include/ast/wait.h >-include/ast/wchar.h >-include/ast/wctype.h > >-include/ast/wordexp.h >-@static-lib lib/libast.a >-@lib > lib/libast.so.${LIBast_VERSION} >-@static-lib lib/libcmd.a >-@lib > lib/libcmd.so.${LIBcmd_VERSION} >-@static-lib lib/libdll.a >-@lib > lib/libdll.so.${LIBdll_VERSION} >-@static-lib lib/libshell.a >-@lib > lib/libshell.so.${LIBshell_VERSION} >-@man man/man1/ksh93.1 >-@man > man/man1/rksh93.1 >-@man man/man3/shell.3 >-share/examples/ksh93/ > >-share/examples/ksh93/autocd >-share/examples/ksh93/cd > >-share/examples/ksh93/dirs >-share/examples/ksh93/man > >-share/examples/ksh93/mcd >-share/examples/ksh93/popd > >-share/examples/ksh93/pushd >Index: pkg/PLIST-libshell > >=================================================================== > >RCS file: pkg/PLIST-libshell >diff -N pkg/PLIST-libshell >--- > /dev/null 1 Jan 1970 00:00:00 -0000 >+++ pkg/PLIST-libshell 24 > Aug 2025 11:00:22 -0000 >@@ -0,0 +1,110 @@ >+@conflict libast-* > >+include/ast/ >+include/ast/align.h >+include/ast/aso.h > >+include/ast/ast.h >+include/ast/ast_api.h >+include/ast/ast_ccode.h > >+include/ast/ast_common.h >+include/ast/ast_dir.h > >+include/ast/ast_dirent.h >+include/ast/ast_fcntl.h > >+include/ast/ast_float.h >+include/ast/ast_fs.h > >+include/ast/ast_iconv.h >+include/ast/ast_lib.h > >+include/ast/ast_limits.h >+include/ast/ast_map.h > >+include/ast/ast_mmap.h >+include/ast/ast_mode.h > >+include/ast/ast_ndbm.h >+include/ast/ast_nl_types.h > >+include/ast/ast_param.h >+include/ast/ast_sizeof.h > >+include/ast/ast_standards.h >+include/ast/ast_std.h > >+include/ast/ast_stdio.h >+include/ast/ast_sys.h > >+include/ast/ast_time.h >+include/ast/ast_tty.h > >+include/ast/ast_wait.h >+include/ast/ast_wchar.h > >+include/ast/ast_wctype.h >+include/ast/ast_windows.h > >+include/ast/bytesex.h >+include/ast/ccode.h >+include/ast/cdt.h > >+include/ast/cmd.h >+include/ast/cmdarg.h >+include/ast/cmdext.h > >+include/ast/cmdlist.h >+include/ast/debug.h >+include/ast/dirent.h > >+include/ast/dlldefs.h >+include/ast/endian.h >+include/ast/error.h > >+include/ast/find.h >+include/ast/fmtmsg.h >+include/ast/fnmatch.h > >+include/ast/fnv.h >+include/ast/fts.h >+include/ast/ftw.h > >+include/ast/ftwalk.h >+include/ast/glob.h >+include/ast/hash.h > >+include/ast/hashkey.h >+include/ast/hashpart.h > >+include/ast/history.h >+include/ast/iconv.h >+include/ast/ip6.h > >+include/ast/lc.h >+include/ast/ls.h >+include/ast/magic.h > >+include/ast/magicid.h >+include/ast/mc.h >+include/ast/mime.h > >+include/ast/mnt.h >+include/ast/modecanon.h >+include/ast/modex.h > >+include/ast/namval.h >+include/ast/nl_types.h >+include/ast/nval.h > >+include/ast/option.h >+include/ast/proc.h >+include/ast/re_comp.h > >+include/ast/recfmt.h >+include/ast/regex.h >+include/ast/regexp.h > >+include/ast/releaseflags.h >+include/ast/sfdisc.h >+include/ast/sfio.h > >+include/ast/sfio_s.h >+include/ast/sfio_t.h >+include/ast/shcmd.h > >+include/ast/shell.h >+include/ast/sig.h >+include/ast/stak.h > >+include/ast/stdio.h >+include/ast/stk.h >+include/ast/sum.h > >+include/ast/swap.h >+include/ast/tar.h >+include/ast/times.h > >+include/ast/tm.h >+include/ast/tmx.h >+include/ast/tok.h > >+include/ast/tv.h >+include/ast/vdb.h >+include/ast/wait.h > >+include/ast/wchar.h >+include/ast/wctype.h >+include/ast/wordexp.h > >+@static-lib lib/libast.a >+@lib lib/libast.so.${LIBast_VERSION} > >+@static-lib lib/libcmd.a >+@lib lib/libcmd.so.${LIBcmd_VERSION} > >+@static-lib lib/libdll.a >+@lib lib/libdll.so.${LIBdll_VERSION} > >+@static-lib lib/libshell.a >+@lib lib/libshell.so.${LIBshell_VERSION} > >+@man man/man3/shell.3 >Index: pkg/PLIST-main > >=================================================================== > >RCS file: pkg/PLIST-main >diff -N pkg/PLIST-main >--- /dev/null > 1 Jan 1970 00:00:00 -0000 >+++ pkg/PLIST-main 24 Aug 2025 > 11:03:55 -0000 >@@ -0,0 +1,13 @@ >+@pkgpath shells/ksh93 >+@shell > bin/ksh93 >+@shell bin/rksh93 >+@man man/man1/ksh93.1 >+@man > man/man1/rksh93.1 >+share/examples/ksh93/ >+share/examples/ksh93/autocd > >+share/examples/ksh93/cd >+share/examples/ksh93/dirs > >+share/examples/ksh93/man >+share/examples/ksh93/mcd > >+share/examples/ksh93/popd >+share/examples/ksh93/pushd > > No strong opinion ony side but would ksh93 work without also installing > the libshell sub package?
Sure. That's pretty much the point of this part: do-install: - ${INSTALL_PROGRAM} ${AST_ARCH}/dyn/bin/ksh ${PREFIX}/bin/ksh93 + ${INSTALL_PROGRAM} ${AST_ARCH}/bin/ksh ${PREFIX}/bin/ksh93 which will install /usr/local/bin/ksh93: Start End Type Open Ref GrpRef Name 000004feabe42000 000004feabfa9000 exe 1 0 0 /usr/local/bin/ksh93 00000500dd5b5000 00000500dd5e6000 rlib 0 1 0 /usr/lib/libm.so.10.1 0000050193288000 00000501932a2000 rlib 0 1 0 /usr/lib/libutil.so.21.0 0000050167557000 0000050167660000 rlib 0 1 0 /usr/lib/libc.so.101.0 000005010ad4f000 000005010ad4f000 ld.so 0 1 0 /usr/libexec/ld.so instead of the one depending on libshell. > > -- Antoine