Date: Tue, 03 Mar 2026 02:26:52 +0000 From: Cy Schubert <cy@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Martijn Dekker <martijn@inlv.org> Subject: git: 80018994a56b - main - shells/ksh-devel: Update to latest github commit plus additional fixes Message-ID: <69a646ec.214a1.3e1fa885@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/ports/commit/?id=80018994a56b26897efd1e5b170ec91257caa434 commit 80018994a56b26897efd1e5b170ec91257caa434 Author: Martijn Dekker <martijn@inlv.org> AuthorDate: 2026-03-03 02:14:07 +0000 Commit: Cy Schubert <cy@FreeBSD.org> CommitDate: 2026-03-03 02:24:52 +0000 shells/ksh-devel: Update to latest github commit plus additional fixes Main changes: - Removal of obsolete comments and build system workarounds. - Update build/test command invocations. - Add -j${MAKE_JOBS_NUMBER} flag to enable parallel building (I added support for this last year). - Ensure that ${SH} (/bin/sh) is used for shell actions while building. - Install default shell functions in /usr/local/share/fun (for use with FPATH and the autoload command). Symlink /usr/local/share/examples/ksh* to that. (Of course you may decide to handle this differently, but it would be good if the canonical share/fun directory were available.) - Install the version with dynamic (*.so*) libraries by default (the STATIC option can now be used to link those libraries statically). The version with the libraries is preferred because this enables access to all the libcmd built-ins (which are bound to /opt/ast/bin by default) and allows writing C programs that link against these libraries -- you can even embed the entire shell as a library. It would be good if this received wider testing. - Install development headers and section 3 manual pages if the dynamic libraries are installed. Submitted by: Martijn Dekker <martijn@inlv.org> ksh93 upstream --- shells/ksh-devel/Makefile | 48 +++--- shells/ksh-devel/distinfo | 6 +- shells/ksh-devel/files/patch-src_cmd_INIT_mamake.c | 18 --- shells/ksh-devel/pkg-plist | 168 ++++++++++++++++++++- 4 files changed, 185 insertions(+), 55 deletions(-) diff --git a/shells/ksh-devel/Makefile b/shells/ksh-devel/Makefile index 5ed155352059..dbf3972645d1 100644 --- a/shells/ksh-devel/Makefile +++ b/shells/ksh-devel/Makefile @@ -1,13 +1,3 @@ -# Make sure that your configuration DOES NOT set ANY gcc-related -# variables. ksh93 will not compile if you set even the seemingly -# most unrelated variable related to gcc configuration. This means -# especially any flag which attempts to set the cputype. Setting the -# cputype does absolutely nothing except cause systems to fail in -# horrible ways. For any modern processor, setting the cputype only -# serves to expose gcc bugs and does nothing to speed up any known -# program. If you are really unconvinced, go ahead but do not -# complain to me about it. - PORTNAME= ksh PORTVERSION= ${AST_COMMIT_DATE} CATEGORIES= shells @@ -15,12 +5,14 @@ PKGNAMESUFFIX= -devel MAINTAINER= cy@FreeBSD.org COMMENT= ksh93u+m is the development branch ksh93 based on AT&T ksh93u+ (stable) -WWW= http://www.kornshell.com/ +WWW= https://github.com/ksh93/ksh -LICENSE= EPL +LICENSE= EPL +LICENSE_FILE= ${WRKSRC}/COPYRIGHT +LICENSE_FILE_EPL= ${WRKSRC}/LICENSE.md -HASH= 0180e76e -AST_COMMIT_DATE= 2026.02.26 +HASH= a215b8be +AST_COMMIT_DATE= 2026.03.02 USES= compiler:c11 @@ -29,9 +21,6 @@ GH_ACCOUNT= ksh93 GH_PROJECT= ksh GH_TAGNAME= ${HASH} -# IMPORTANT: Disabling conflicts, i.e. -DDISABLE_CONFLICTS will result in -# arcane build failures due to already installed ksh/ksh93 in -# $PATH. KSH_CONFLICTS= pdksh KSH93_CONFLICTS= ksh93 ast-ksh KSH93D_CONFLICTS= ast-ksh @@ -44,10 +33,11 @@ KSH_DESC= Install to ${PREFIX}/bin/ksh KSH93_DESC= Install to ${PREFIX}/bin/ksh93 KSH93D_DESC= Install to ${PREFIX}/bin/ksh93d (development) -CFLAGS+= -DMAP_TYPE -LDFLAGS+= -lm -MAKE_ENV= CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses" CFLAGS="${CFLAGS}" -STATIC_MAKE_ENV= LDFLAGS+=-static +STATIC_MAKE_ENV= AST_NO_DYLIB="y" +MAKE_ENV= CCFLAGS="${CFLAGS}" + +STATIC_PLIST_SUB= DYNAMIC="@comment " +STATIC_PLIST_SUB_OFF= DYNAMIC="" KSH_PLIST_SUB= 93="" KSH93_PLIST_SUB= 93="93" @@ -61,19 +51,17 @@ PSUFFIX= 93d PSUFFIX= 93 .endif -post-patch: - @${REINPLACE_CMD} -e 's|SF_FLAGS|SFIO_FLAGS|g' ${WRKSRC}/src/lib/libast/include/sfio*.h ${WRKSRC}/src/lib/libast/sfio/*.c - do-build: - @cd ${WRKSRC}/ && ${SETENV} -i ${MAKE_ENV} ${SH} bin/package flat make + @cd ${WRKSRC}/ && ${SETENV} -i ${MAKE_ENV} ${SH} bin/package make -j${MAKE_JOBS_NUMBER} SHELL=${SH} do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/bin/ksh ${STAGEDIR}${PREFIX}/bin/ksh${PSUFFIX} - ${INSTALL_MAN} ${WRKSRC}/man/man1/sh.1 ${STAGEDIR}${PREFIX}/share/man/man1/ksh${PSUFFIX}.1 - ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}${PSUFFIX}/ - cd ${WRKSRC}/fun/ && ${INSTALL_SCRIPT} dirs popd pushd ${STAGEDIR}${EXAMPLESDIR}${PSUFFIX}/ + @cd ${WRKSRC}/ && \ + ${SETENV} -i ${MAKE_ENV} ${SH} bin/package install ${PREFIX} DESTDIR=${STAGEDIR} SHELL=${SH} && \ + mv ${STAGEDIR}${PREFIX}/bin/ksh ${STAGEDIR}${PREFIX}/bin/ksh${PSUFFIX} && \ + mv ${STAGEDIR}${PREFIX}/share/man/man1/ksh.1 ${STAGEDIR}${PREFIX}/share/man/man1/ksh${PSUFFIX}.1 && \ + ln -s ../fun ${STAGEDIR}${EXAMPLESDIR}${PSUFFIX} do-test: - cd ${WRKSRC}/src/cmd/ksh93/tests/ && ${SETENV} SHELL=${WRKSRC}/bin/ksh ${WRKSRC}/bin/ksh shtests + @cd ${WRKSRC}/ && bin/shtests .include <bsd.port.mk> diff --git a/shells/ksh-devel/distinfo b/shells/ksh-devel/distinfo index 22b20ffab294..20d706e68837 100644 --- a/shells/ksh-devel/distinfo +++ b/shells/ksh-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1772212264 -SHA256 (ksh93-ksh-2026.02.26-0180e76e_GH0.tar.gz) = af7a1ae2eb6aa057f7f0d807a16d2ff5ddecc64d4720d669a9d0a038aeb67888 -SIZE (ksh93-ksh-2026.02.26-0180e76e_GH0.tar.gz) = 1978842 +TIMESTAMP = 1772495724 +SHA256 (ksh93-ksh-2026.03.02-a215b8be_GH0.tar.gz) = 8534dbe15fb92aea3edd5a0649a32195f7a7056d13bbd5f537160a86d8032699 +SIZE (ksh93-ksh-2026.03.02-a215b8be_GH0.tar.gz) = 1980097 diff --git a/shells/ksh-devel/files/patch-src_cmd_INIT_mamake.c b/shells/ksh-devel/files/patch-src_cmd_INIT_mamake.c deleted file mode 100644 index a589e3638358..000000000000 --- a/shells/ksh-devel/files/patch-src_cmd_INIT_mamake.c +++ /dev/null @@ -1,18 +0,0 @@ ---- src/cmd/INIT/mamake.c.orig 2026-02-25 16:06:24.000000000 -0800 -+++ src/cmd/INIT/mamake.c 2026-03-01 08:17:37.760046000 -0800 -@@ -3011,15 +3011,6 @@ - state.maxjobs = 0; - - /* -- * standards compliance for shell actions -- */ -- -- setenv("POSIXLY_CORRECT", "y", 1); --#if __QNX__ -- setenv("POSIX_STRICT", "y", 1); /* required for /bin/cp on QNX to update the target's last-modified date */ --#endif -- -- /* - * load the environment - */ - diff --git a/shells/ksh-devel/pkg-plist b/shells/ksh-devel/pkg-plist index 5756c25ed572..d036894f7e37 100644 --- a/shells/ksh-devel/pkg-plist +++ b/shells/ksh-devel/pkg-plist @@ -1,6 +1,166 @@ @shell bin/ksh%%93%% +bin/shcomp share/man/man1/ksh%%93%%.1.gz -share/examples/ksh%%93%%/dirs -share/examples/ksh%%93%%/popd -share/examples/ksh%%93%%/pushd - +share/man/man1/shcomp.1.gz +share/fun/autocd +share/fun/cd +share/fun/dirs +share/fun/man +share/fun/mcd +share/fun/popd +share/fun/pushd +share/examples/ksh%%93%% +%%DYNAMIC%%lib/libast.so +%%DYNAMIC%%lib/libast.so.8 +%%DYNAMIC%%lib/libast.so.8.0 +%%DYNAMIC%%lib/libcmd.so +%%DYNAMIC%%lib/libcmd.so.4 +%%DYNAMIC%%lib/libcmd.so.4.0 +%%DYNAMIC%%lib/libdll.so +%%DYNAMIC%%lib/libdll.so.4 +%%DYNAMIC%%lib/libdll.so.4.0 +%%DYNAMIC%%lib/libshell.so +%%DYNAMIC%%lib/libshell.so.4 +%%DYNAMIC%%lib/libshell.so.4.0 +%%DYNAMIC%%include/ast/align.h +%%DYNAMIC%%include/ast/aso.h +%%DYNAMIC%%include/ast/assert.h +%%DYNAMIC%%include/ast/ast.h +%%DYNAMIC%%include/ast/ast_api.h +%%DYNAMIC%%include/ast/ast_ccode.h +%%DYNAMIC%%include/ast/ast_common.h +%%DYNAMIC%%include/ast/ast_dir.h +%%DYNAMIC%%include/ast/ast_dirent.h +%%DYNAMIC%%include/ast/ast_fcntl.h +%%DYNAMIC%%include/ast/ast_float.h +%%DYNAMIC%%include/ast/ast_fs.h +%%DYNAMIC%%include/ast/ast_iconv.h +%%DYNAMIC%%include/ast/ast_lib.h +%%DYNAMIC%%include/ast/ast_limits.h +%%DYNAMIC%%include/ast/ast_map.h +%%DYNAMIC%%include/ast/ast_mode.h +%%DYNAMIC%%include/ast/ast_ndbm.h +%%DYNAMIC%%include/ast/ast_nl_types.h +%%DYNAMIC%%include/ast/ast_param.h +%%DYNAMIC%%include/ast/ast_random.h +%%DYNAMIC%%include/ast/ast_release.h +%%DYNAMIC%%include/ast/ast_sizeof.h +%%DYNAMIC%%include/ast/ast_standards.h +%%DYNAMIC%%include/ast/ast_std.h +%%DYNAMIC%%include/ast/ast_stdio.h +%%DYNAMIC%%include/ast/ast_sys.h +%%DYNAMIC%%include/ast/ast_time.h +%%DYNAMIC%%include/ast/ast_tty.h +%%DYNAMIC%%include/ast/ast_wchar.h +%%DYNAMIC%%include/ast/ast_wctype.h +%%DYNAMIC%%include/ast/ast_windows.h +%%DYNAMIC%%include/ast/bytesex.h +%%DYNAMIC%%include/ast/ccode.h +%%DYNAMIC%%include/ast/cdt.h +%%DYNAMIC%%include/ast/cmd.h +%%DYNAMIC%%include/ast/cmdarg.h +%%DYNAMIC%%include/ast/cmdext.h +%%DYNAMIC%%include/ast/cmdlist.h +%%DYNAMIC%%include/ast/debug.h +%%DYNAMIC%%include/ast/dirent.h +%%DYNAMIC%%include/ast/dlldefs.h +%%DYNAMIC%%include/ast/endian.h +%%DYNAMIC%%include/ast/error.h +%%DYNAMIC%%include/ast/find.h +%%DYNAMIC%%include/ast/fnmatch.h +%%DYNAMIC%%include/ast/fnv.h +%%DYNAMIC%%include/ast/fts.h +%%DYNAMIC%%include/ast/ftw.h +%%DYNAMIC%%include/ast/ftwalk.h +%%DYNAMIC%%include/ast/glob.h +%%DYNAMIC%%include/ast/hash.h +%%DYNAMIC%%include/ast/hashkey.h +%%DYNAMIC%%include/ast/hashpart.h +%%DYNAMIC%%include/ast/history.h +%%DYNAMIC%%include/ast/iconv.h +%%DYNAMIC%%include/ast/ip6.h +%%DYNAMIC%%include/ast/lc.h +%%DYNAMIC%%include/ast/ls.h +%%DYNAMIC%%include/ast/mc.h +%%DYNAMIC%%include/ast/mnt.h +%%DYNAMIC%%include/ast/modecanon.h +%%DYNAMIC%%include/ast/modex.h +%%DYNAMIC%%include/ast/namval.h +%%DYNAMIC%%include/ast/nl_types.h +%%DYNAMIC%%include/ast/nval.h +%%DYNAMIC%%include/ast/option.h +%%DYNAMIC%%include/ast/proc.h +%%DYNAMIC%%include/ast/re_comp.h +%%DYNAMIC%%include/ast/recfmt.h +%%DYNAMIC%%include/ast/regex.h +%%DYNAMIC%%include/ast/sfdisc.h +%%DYNAMIC%%include/ast/sfio.h +%%DYNAMIC%%include/ast/sfio_s.h +%%DYNAMIC%%include/ast/sfio_t.h +%%DYNAMIC%%include/ast/shcmd.h +%%DYNAMIC%%include/ast/shell.h +%%DYNAMIC%%include/ast/sig.h +%%DYNAMIC%%include/ast/stak.h +%%DYNAMIC%%include/ast/stdio.h +%%DYNAMIC%%include/ast/stk.h +%%DYNAMIC%%include/ast/sum.h +%%DYNAMIC%%include/ast/swap.h +%%DYNAMIC%%include/ast/tar.h +%%DYNAMIC%%include/ast/times.h +%%DYNAMIC%%include/ast/tm.h +%%DYNAMIC%%include/ast/tmx.h +%%DYNAMIC%%include/ast/tok.h +%%DYNAMIC%%include/ast/tv.h +%%DYNAMIC%%include/ast/vdb.h +%%DYNAMIC%%include/ast/vmalloc.h +%%DYNAMIC%%include/ast/wait.h +%%DYNAMIC%%include/ast/wchar.h +%%DYNAMIC%%include/ast/wctype.h +%%DYNAMIC%%include/ast/wordexp.h +%%DYNAMIC%%share/man/man3/LIBAST.3ast.gz +%%DYNAMIC%%share/man/man3/aso.3ast.gz +%%DYNAMIC%%share/man/man3/ast.3ast.gz +%%DYNAMIC%%share/man/man3/cdt.3ast.gz +%%DYNAMIC%%share/man/man3/chr.3ast.gz +%%DYNAMIC%%share/man/man3/compat.3ast.gz +%%DYNAMIC%%share/man/man3/error.3ast.gz +%%DYNAMIC%%share/man/man3/find.3ast.gz +%%DYNAMIC%%share/man/man3/fmt.3ast.gz +%%DYNAMIC%%share/man/man3/fmtls.3ast.gz +%%DYNAMIC%%share/man/man3/ftwalk.3ast.gz +%%DYNAMIC%%share/man/man3/getcwd.3ast.gz +%%DYNAMIC%%share/man/man3/hash.3ast.gz +%%DYNAMIC%%share/man/man3/iblocks.3ast.gz +%%DYNAMIC%%share/man/man3/ip6.3ast.gz +%%DYNAMIC%%share/man/man3/mem.3ast.gz +%%DYNAMIC%%share/man/man3/modecanon.3ast.gz +%%DYNAMIC%%share/man/man3/nval.3ast.gz +%%DYNAMIC%%share/man/man3/optget.3ast.gz +%%DYNAMIC%%share/man/man3/path.3ast.gz +%%DYNAMIC%%share/man/man3/proc.3ast.gz +%%DYNAMIC%%share/man/man3/regex.3ast.gz +%%DYNAMIC%%share/man/man3/setenviron.3ast.gz +%%DYNAMIC%%share/man/man3/sfio.3ast.gz +%%DYNAMIC%%share/man/man3/shell.3ast.gz +%%DYNAMIC%%share/man/man3/sig.3ast.gz +%%DYNAMIC%%share/man/man3/spawnveg.3ast.gz +%%DYNAMIC%%share/man/man3/stk.3ast.gz +%%DYNAMIC%%share/man/man3/strcopy.3ast.gz +%%DYNAMIC%%share/man/man3/strdup.3ast.gz +%%DYNAMIC%%share/man/man3/strelapsed.3ast.gz +%%DYNAMIC%%share/man/man3/stresc.3ast.gz +%%DYNAMIC%%share/man/man3/strexpr.3ast.gz +%%DYNAMIC%%share/man/man3/strgid.3ast.gz +%%DYNAMIC%%share/man/man3/strmatch.3ast.gz +%%DYNAMIC%%share/man/man3/stropt.3ast.gz +%%DYNAMIC%%share/man/man3/strperm.3ast.gz +%%DYNAMIC%%share/man/man3/strsort.3ast.gz +%%DYNAMIC%%share/man/man3/strtape.3ast.gz +%%DYNAMIC%%share/man/man3/strton.3ast.gz +%%DYNAMIC%%share/man/man3/struid.3ast.gz +%%DYNAMIC%%share/man/man3/swap.3ast.gz +%%DYNAMIC%%share/man/man3/tm.3ast.gz +%%DYNAMIC%%share/man/man3/tmx.3ast.gz +%%DYNAMIC%%share/man/man3/tok.3ast.gz +%%DYNAMIC%%share/man/man3/touch.3ast.gz +%%DYNAMIC%%share/man/man3/tv.3ast.gzhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69a646ec.214a1.3e1fa885>
