pkgsrc/shells/pbosh/Makefile

60 lines
1.6 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.21 2021/11/19 11:24:28 micha Exp $
DISTNAME= schily-2021-09-18
PKGNAME= pbosh-20210918
CATEGORIES= shells
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=schilytools/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= micha@NetBSD.org
Updated shells/{,p}bosh to 2020-04-18 (devel/smake and archives/star probably could do with an update). Bosh changes (we skipped 2 intermediate releases): New features with AN-2020-03-11: - Bourne Shell: set -m now works in scripts as well. Before, bosh did never call startjobs() when the shell startup was done with a shell script. - Bourne Shell: The shell now supports the alternate ;& switch command limiter in addition to ;; where ;& implements a fallthrough to the next command list regardless on thether there is a match or not. New features with AN-2020-03-27: - Bourne Shell: The case statement now supports the alternate end case symbol ";;&" that has been introduced by bash. If ";;&" is used instead of ";;", the next pattern list is evaluated and if there is a match, the related command list is executed. New features with AN-2020-04-18: - Bourne Shell: IRIX has ls(1) installed as /sbin/ls and this caused some of our unit tests to fail. We now only check for "bin/ls" and no longer for "/bin/ls" in "type" return messages. - Bourne Shell/bsh: signames.c has been modified to work correctly if the number of statically defined realtime signals is odd. This applies to NetBSD and caused the shells to miss RTMIN+15 on NetBSD. Thanks to Robert Elz for reporting - Bourne Shell: A new trap code "ERR" as been introduced. This is modeled after a feature from ksh88. "trap cmd ERR" causes "cmd" to be called whenever a command causes a non-zero exit code. The "cmd" is not called in case that with "set -e" the shell would not exit. This is not required by POSIX but helpful. - Bourne Shell: A new set of unit tests for the ERR trap has been added. - Bourne Shell: An attempt to fix the POSIX behavior for set -e from October 2018 has been identified to be wrong. If we kept that change, a list with "set -e; ..." and a failing command would not exit as expected. - Bourne Shell: A new piece of code has been added to handle set -e for function calls. - Bourne Shell: The man page now better explains the behavior, if in set -e mode. - Bourne Shell: print.c::prs_cntl() could cause a buffer overflow with "unprintable" multi byte UNICODE characters that are printed as list of octal escape sequences. the buffer overflow happened because there was only redzone space for one such octal escape sequence. Thanks to Heiko Eißfeldt for reporting
2020-04-18 17:54:40 +02:00
HOMEPAGE= https://sourceforge.net/projects/schilytools/
COMMENT= The Schily Bourne Shell
LICENSE= cddl-1.0
MAKE_JOBS_SAFE= no
.include "../../mk/bsd.prefs.mk"
TOOL_DEPENDS+= smake>=1.3nb11:../../devel/smake
SMAKE= MAKEFLAGS= smake
MAKE_FLAGS+= DESTDIR=${DESTDIR} INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR}
# Honor CPPFLAGS, CFLAGS and LDFLAGS
MAKE_FLAGS+= CPPOPTX=${CPPFLAGS:Q} COPTX=${CFLAGS:Q} LDOPTX=${LDFLAGS:Q}
PKG_SHELL= bin/pbosh
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
.include "../../mk/bsd.prefs.mk"
# Shared platform specific code for schilytools (provided by smake package)
.include "../../devel/smake/Makefile.common"
do-configure:
cd ${WRKSRC}/inc && ${SMAKE} ${MAKE_FLAGS}
do-build:
cd ${WRKSRC} && for library in \
libschily libxtermcap libfind libgetopt libshedit; \
do \
cd ${WRKSRC}/$${library} && ${SMAKE} ${MAKE_FLAGS}; \
done
cd ${WRKSRC}/pbosh && ${SMAKE} ${MAKE_FLAGS}
# Process tables in manpage
post-build:
.if !empty(USE_TOOLS:Mtbl)
cd ${WRKSRC} && ${TBL} sh/sh.1 >sh/pbosh.1.tmp; \
${MV} -f sh/pbosh.1.tmp sh/pbosh.1
.else
cd ${WRKSRC} && ${MV} -f sh/sh.1 sh/pbosh.1
.endif
do-install:
cd ${WRKSRC}/sh && \
${INSTALL_PROGRAM} ${WRKSRC}/pbosh/OBJ/*/pbosh \
${DESTDIR}${PREFIX}/bin/pbosh; \
${INSTALL_MAN} ${WRKSRC}/sh/pbosh.1 \
pbosh: Update to 20200211 New features with AN-2020-02-11: - Bourne Shell: now also using GETOPT_PLUS_FL - Bourne Shell: A new variable ${.sh.path} returns the absolute path of the binary associated to the exec() for this shell. - Bourne Shell: The definition of NUMBUFLEN was moved from print.c to defs.h to allow others to write into numbuf, knowing it's length. - Bourne Shell: The archive sh/dotfiles.tar.bz2 now contains an updated .shrc file that makes use of the new shell variable ${.sh.path} - Bourne Shell: "for i in; do cmd ...; done" is now valid syntax even though this is useless, since bosh did already accept: "for i in $emptyvar ; do cmd ...; done" But this is in the POSIX standard and other recent shells seem to accept it. Thanks to Robert Elz for reporting - Bourne Shell: Added a new conformance test for the for loop - Bourne Shell: The call "bosh -version" now prints 2020... - Bourne Shell Missing features for POSIX compliance: - Support for $'...' quoting (this is not needed for the current version of POSIX but for the next POSIX version that will be named SUSv8). The development of SUSv8 will start in late 2016. We are now expecting the Bourne Shell to be fully POSIX compliant. - libschily: new man pages starthandlecond.3 and unhandlecond.3 - libschily: handlecond.3 and raisecond.3 now correctly mention handlecond() & raisecond() instead of handle()/raise(). The old names from 1980 had to be renamed because os an unfriendly actt from the C standard commitee. Thanks to Eric Ackermann for reporting as a side effect of a code review for SchilliX-ON - libschily: various small fixes in various man pages from libschily. Thanks to Eric Ackermann for reporting as a side effect of a code review for SchilliX-ON [...] - Bourne Shell further TODO list: - Finish loadable builtin support. - POSIX does not allow us to implement ". -h", so we will add a "source" builtin to be able to implement "source -h" - The following builtins (that are available in bsh) are still missing in the Bourne Shell: err echo with output going to stderr glob echo with '\0' instead of ' ' between args env a builtin version of /usr/bin/env The following bsh intrinsics are still missing in the Bourne Shell: - the restricted bsh has restriction features that are missing in the Bourne shell. - source -h read file into history but do not execute and probably more features not yet identified to be bsh unique.
2020-03-04 12:44:13 +01:00
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
.include "../../mk/bsd.pkg.mk"