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,79 +1,67 @@ -# 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 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 USE_GITHUB= yes 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 OPTIONS_DEFAULT= KSH93 EXAMPLES OPTIONS_DEFINE= EXAMPLES STATIC OPTIONS_SINGLE= BIN_KSH OPTIONS_SINGLE_BIN_KSH= KSH KSH93 KSH93D 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" KSH93D_PLIST_SUB= 93="93d" .include .if ${PORT_OPTIONS:MKSH93D} PSUFFIX= 93d .elif ${PORT_OPTIONS:MKSH93} 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 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.gz