Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Aug 2022 21:19:53 GMT
From:      Cy Schubert <cy@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 039bde8216ed - main - shells/ksh93: Introduce new ksh port
Message-ID:  <202208282119.27SLJrQm034499@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=039bde8216ed7bb5dcf3bb2fc5af72a8fec317f2

commit 039bde8216ed7bb5dcf3bb2fc5af72a8fec317f2
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2022-08-28 19:17:30 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2022-08-28 21:16:45 +0000

    shells/ksh93: Introduce new ksh port
    
    Now that ksh development has resumed under a new account on github,
    this introduces the fourth stable release (1.0.3) of ksh93/ksh to ports
---
 shells/Makefile      |  1 +
 shells/ksh/Makefile  | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 shells/ksh/distinfo  |  3 +++
 shells/ksh/pkg-descr | 13 +++++++++
 shells/ksh/pkg-plist |  6 +++++
 5 files changed, 98 insertions(+)

diff --git a/shells/Makefile b/shells/Makefile
index 923ce5c04e9a..bd4ce24c9f24 100644
--- a/shells/Makefile
+++ b/shells/Makefile
@@ -23,6 +23,7 @@
     SUBDIR += ion
     SUBDIR += jailkit
     SUBDIR += klish
+    SUBDIR += ksh
     SUBDIR += ksh-devel
     SUBDIR += ksh2020
     SUBDIR += ksh93
diff --git a/shells/ksh/Makefile b/shells/ksh/Makefile
new file mode 100644
index 000000000000..1780a8047211
--- /dev/null
+++ b/shells/ksh/Makefile
@@ -0,0 +1,75 @@
+# 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.
+
+DISTVERSIONPREFIX=	v
+PORTNAME=	ksh
+PORTVERSION=	1.0.3
+CATEGORIES=	shells
+
+MAINTAINER=	cy@FreeBSD.org
+COMMENT=	Development branch of AT&T KornShell 93
+
+LICENSE=	EPL
+
+BROKEN_aarch64=		Fails to link: missing sbrk
+BROKEN_riscv64=		Fails to link: missing sbrk
+
+USES=		compiler:c11
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ksh93
+GH_PROJECT=	ksh
+
+# 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=	ksh2020 ksh93 ast-ksh ksh-devel
+
+OPTIONS_DEFAULT=	KSH93 EXAMPLES
+OPTIONS_DEFINE=		EXAMPLES STATIC
+OPTIONS_SINGLE=		BIN_KSH
+OPTIONS_SINGLE_BIN_KSH=	KSH KSH93
+KSH_DESC=		Install to ${PREFIX}/bin/ksh
+KSH93_DESC=		Install to ${PREFIX}/bin/ksh93
+
+CFLAGS+=	-DMAP_TYPE
+LDFLAGS+=	-lm
+MAKE_ENV=	CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses" CFLAGS="${CFLAGS}"
+
+STATIC_MAKE_ENV=	LDFLAGS+=-static
+
+KSH_PLIST_SUB=		93=""
+KSH93_PLIST_SUB=	93="93"
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MKSH93}
+PNAME=		ksh93
+.else
+PNAME=		ksh
+.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
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/ksh ${STAGEDIR}${PREFIX}/bin/${PNAME}
+	${INSTALL_MAN} ${WRKSRC}/man/man1/sh.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/${PNAME}.1
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
+	cd ${WRKSRC}/fun/ && ${INSTALL_SCRIPT} dirs popd pushd ${STAGEDIR}${EXAMPLESDIR}/
+
+do-test:
+	cd ${WRKSRC}/src/cmd/ksh93/tests/ && ${SETENV} SHELL=${WRKSRC}/bin/ksh ${WRKSRC}/bin/ksh shtests
+
+.include <bsd.port.mk>
diff --git a/shells/ksh/distinfo b/shells/ksh/distinfo
new file mode 100644
index 000000000000..89b779b50bf6
--- /dev/null
+++ b/shells/ksh/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1661710772
+SHA256 (ksh93-ksh-v1.0.3_GH0.tar.gz) = e554a96ecf7b64036ecb730fcc2affe1779a2f14145eb6a95d0dfe8b1aba66b5
+SIZE (ksh93-ksh-v1.0.3_GH0.tar.gz) = 2110771
diff --git a/shells/ksh/pkg-descr b/shells/ksh/pkg-descr
new file mode 100644
index 000000000000..ee3150bac1cd
--- /dev/null
+++ b/shells/ksh/pkg-descr
@@ -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.
+
+WWW: http://www.kornshell.com/
diff --git a/shells/ksh/pkg-plist b/shells/ksh/pkg-plist
new file mode 100644
index 000000000000..39bd9a3d8408
--- /dev/null
+++ b/shells/ksh/pkg-plist
@@ -0,0 +1,6 @@
+@shell bin/ksh%%93%%
+man/man1/ksh%%93%%.1.gz
+share/examples/ksh/dirs
+share/examples/ksh/popd
+share/examples/ksh/pushd
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202208282119.27SLJrQm034499>