pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/shells/ksh93 shells/ksh93: import package



details:   https://anonhg.NetBSD.org/pkgsrc/rev/dbf8eb0e683b
branches:  trunk
changeset: 381300:dbf8eb0e683b
user:      pin <pin%pkgsrc.org@localhost>
date:      Sun Jul 03 20:57:38 2022 +0000

description:
shells/ksh93: import package

Packaged in wip by Paolo Vincenzo Olivo.

Between 2017 and 2020 there was an ultimately unsuccessful attempt to breathe
new life into the KornShell by extensively refactoring the last unstable AST
beta version (93v-). While that ksh2020 effort is now abandoned and still has
many critical bugs, it also had a lot of bugs fixed. More importantly, the AST
issue tracker now contains a lot of documentation on how to fix those bugs,
which made it possible to backport many of them to the last stable release
instead. This ksh 93u+m reboot now incorporates many of these bugfixes, plus
patches from OpenSUSE, Red Hat, and Solaris, as well as many new fixes from the
community (1, 2). Though there are many bugs left to fix, we are confident at
this point that 93u+m is already the least buggy version of ksh93 ever
released. As of late 2021, distributions such as Debian and Slackware have
begun to package it as their default version of ksh93.

diffstat:

 shells/ksh93/DESCR                                         |  12 +++
 shells/ksh93/Makefile                                      |  51 ++++++++++++++
 shells/ksh93/PLIST                                         |   3 +
 shells/ksh93/distinfo                                      |   6 +
 shells/ksh93/patches/patch-src_lib_libast_features_syscall |  32 ++++++++
 5 files changed, 104 insertions(+), 0 deletions(-)

diffs (124 lines):

diff -r bdb96735c2b5 -r dbf8eb0e683b shells/ksh93/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/shells/ksh93/DESCR        Sun Jul 03 20:57:38 2022 +0000
@@ -0,0 +1,12 @@
+Between 2017 and 2020 there was an ultimately unsuccessful attempt to breathe
+new life into the KornShell by extensively refactoring the last unstable AST
+beta version (93v-). While that ksh2020 effort is now abandoned and still has
+many critical bugs, it also had a lot of bugs fixed. More importantly, the AST
+issue tracker now contains a lot of documentation on how to fix those bugs,
+which made it possible to backport many of them to the last stable release
+instead. This ksh 93u+m reboot now incorporates many of these bugfixes, plus
+patches from OpenSUSE, Red Hat, and Solaris, as well as many new fixes from the
+community (1, 2). Though there are many bugs left to fix, we are confident at
+this point that 93u+m is already the least buggy version of ksh93 ever
+released. As of late 2021, distributions such as Debian and Slackware have
+begun to package it as their default version of ksh93.
diff -r bdb96735c2b5 -r dbf8eb0e683b shells/ksh93/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/shells/ksh93/Makefile     Sun Jul 03 20:57:38 2022 +0000
@@ -0,0 +1,51 @@
+# $NetBSD: Makefile,v 1.1 2022/07/03 20:57:38 pin Exp $
+
+DISTNAME=      v1.0.0-beta.2
+PKGVER=                ${DISTNAME:S,^v,,:S,-beta,,}
+PKGNAME=       ${GITHUB_PROJECT}93-${PKGVER}
+CATEGORIES=    shells
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=ksh93/}
+GITHUB_PROJECT=        ksh
+GITHUB_TAG=    ${DISTNAME}
+
+MAINTAINER=    vms%retrobsd.ddns.net@localhost
+HOMEPAGE=      https://github.com/ksh93/ksh/
+COMMENT=       Actively developed fork of AT&T KornShell 93u+
+LICENSE=       epl-v1.0
+
+CONFLICTS+=            ast-ksh-[0-9]* static-ast-ksh-[0-9]*
+
+USE_LANGUAGES=         c
+FORTIFY_SUPPORTED=     no
+
+KSH=   ${TOOLS_PATH.ksh:Q}
+
+MAKEFLAGS+=            CC=${CC:Q} SHELL=${KSH}
+MAKEFLAGS+=            CCFLAGS=${CFLAGS:M*:Q}
+
+CFLAGS.SunOS+= -std=c11 -D__EXTENSIONS__
+
+PKG_SHELL=             bin/ksh93
+
+INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1
+
+WRKSRC=        ${WRKDIR}/ksh-${DISTNAME:S,^v,,}
+
+do-build:
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV}                           \
+               ${KSH} ./bin/package make ${MAKEFLAGS}
+
+do-install:
+       set -e;                                                         \
+       arch=`${WRKSRC}/bin/package host`;                              \
+       ${INSTALL_PROGRAM} ${WRKSRC}/arch/"$${arch}"/bin/ksh            \
+               ${DESTDIR}${PREFIX}/bin/ksh93
+
+       ${INSTALL_MAN} ${WRKSRC}/src/cmd/ksh93/sh.1                     \
+               ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ksh93.1
+
+do-test:
+       cd ${WRKSRC} && ${SETENV} SHELL=${KSH}                          \
+               ${KSH} ./bin/package test
+
+.include "../../mk/bsd.pkg.mk"
diff -r bdb96735c2b5 -r dbf8eb0e683b shells/ksh93/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/shells/ksh93/PLIST        Sun Jul 03 20:57:38 2022 +0000
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1 2022/07/03 20:57:38 pin Exp $
+bin/ksh93
+man/man1/ksh93.1
diff -r bdb96735c2b5 -r dbf8eb0e683b shells/ksh93/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/shells/ksh93/distinfo     Sun Jul 03 20:57:38 2022 +0000
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2022/07/03 20:57:38 pin Exp $
+
+BLAKE2s (v1.0.0-beta.2.tar.gz) = 1852a7f7963978ea6b80d47a915fe0da868bb91f8d9830056dfc6ea1b3303165
+SHA512 (v1.0.0-beta.2.tar.gz) = c2cd5a4b442bcff1dd2c1c054ee79c4cb131dce28d811dcd3476164d6cb7e88e6b317a094b16f227564a1266708ef0cfeca2af0929c00a19497cf1b67c647cf2
+Size (v1.0.0-beta.2.tar.gz) = 2238224 bytes
+SHA1 (patch-src_lib_libast_features_syscall) = 725fead538810678e808c6fdfd543fa1a0415645
diff -r bdb96735c2b5 -r dbf8eb0e683b shells/ksh93/patches/patch-src_lib_libast_features_syscall
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/shells/ksh93/patches/patch-src_lib_libast_features_syscall        Sun Jul 03 20:57:38 2022 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-src_lib_libast_features_syscall,v 1.1 2022/07/03 20:57:38 pin Exp $
+
+On NetBSD, use `SYS___getcwd' to get the getcwd(2) syscall. 
+
+--- src/lib/libast/features/syscall.orig       2021-12-17 03:20:04.000000000 +0000
++++ src/lib/libast/features/syscall
+@@ -1,9 +1,13 @@
+-lib   sysgetcwd note{ syscall(SYS_getcwd,buf,len) implemented }end link{
++lib    sysgetcwd note{ syscall(SYS_getcwd/SYS___getcwd,buf,len) implemented }end link{
+       #include <sys/syscall.h>
+       int main()
+       {
+               char    buf[256];
++      #ifdef __NetBSD__
++              return syscall(SYS___getcwd, buf, sizeof(buf)) < 0;
++      #else
+               return syscall(SYS_getcwd, buf, sizeof(buf)) < 0;
++      #endif
+       }
+ }end
+ 
+@@ -13,6 +17,10 @@ if  ( _lib_sysgetcwd ) {
+ endif
+ 
+ if    ( _lib_sysgetcwd ) {
++      #ifdef __NetBSD__
++      #define SYSGETCWD(a,b)          syscall(SYS___getcwd,a,b)
++      #else
+       #define SYSGETCWD(a,b)          syscall(SYS_getcwd,a,b)
++      #endif
+ }
+ endif



Home | Main Index | Thread Index | Old Index