svn commit: r567514 - in head/shells: . modernish
Mateusz Piotrowski
0mp at FreeBSD.org
Sat Mar 6 19:46:19 UTC 2021
Author: 0mp
Date: Sat Mar 6 19:46:17 2021
New Revision: 567514
URL: https://svnweb.freebsd.org/changeset/ports/567514
Log:
Add shells/modernish
The programming/scripting language that incorporates the most frustrating
combination of deficiencies and awesome power is probably the POSIX shell with
accompanying utilities, which all exist in several variant implementations. Due
to said power, the shell refuses to die as a scripting language. But when
scripters are bitten by arcane grammar pitfalls, defective tutorials on the
web, or shell functionality deficits, then 'use a real programming language
instead' is generally the mantra.
Enter modernish, a new vision on shell scripting. Modernish aims to provide a
standard library that allows for writing robust, portable, readable, and
powerful programs for POSIX-based shells and utilities. It can solve the shell
language problems mentioned above, and many more. With modernish, you'd almost
think the shell has become a modern programming language!
The library builds on the POSIX 2018 Edition standard, so it should run on any
sufficiently POSIX-compliant shell and operating system. But it also takes
advantage of certain shell-specific enhancements if it detects them.
WWW: https://github.com/modernish/modernish
Differential Revision: https://reviews.freebsd.org/D19350
Added:
head/shells/modernish/
head/shells/modernish/Makefile (contents, props changed)
head/shells/modernish/distinfo (contents, props changed)
head/shells/modernish/pkg-descr (contents, props changed)
head/shells/modernish/pkg-plist (contents, props changed)
Modified:
head/shells/Makefile
Modified: head/shells/Makefile
==============================================================================
--- head/shells/Makefile Sat Mar 6 18:57:24 2021 (r567513)
+++ head/shells/Makefile Sat Mar 6 19:46:17 2021 (r567514)
@@ -31,6 +31,7 @@
SUBDIR += ksh93
SUBDIR += ksh93-devel
SUBDIR += mksh
+ SUBDIR += modernish
SUBDIR += nologinmsg
SUBDIR += ohmyzsh
SUBDIR += oksh
Added: head/shells/modernish/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/shells/modernish/Makefile Sat Mar 6 19:46:17 2021 (r567514)
@@ -0,0 +1,30 @@
+# $FreeBSD$
+
+PORTNAME= modernish
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.16.5
+CATEGORIES= shells
+
+MAINTAINER= 0mp at FreeBSD.org
+COMMENT= POSIX shell feature detection and language extension library
+
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USE_GITHUB= yes
+
+NO_ARCH= yes
+NO_BUILD= yes
+
+OPTIONS_DEFINE= DOCS EXAMPLES
+
+do-install:
+ cd ${WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} ./install.sh -d ${PREFIX} -D ${STAGEDIR} -n -s ${SH}
+
+ ${RM} ${STAGEDIR}${DOCSDIR}/LICENSE
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR:H}
+ ${MV} ${STAGEDIR}${DOCSDIR}/examples ${STAGEDIR}${EXAMPLESDIR}
+ ${RLN} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}${DOCSDIR}/examples
+
+.include <bsd.port.mk>
Added: head/shells/modernish/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/shells/modernish/distinfo Sat Mar 6 19:46:17 2021 (r567514)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1615056285
+SHA256 (modernish-modernish-v0.16.5_GH0.tar.gz) = 0964bbe0fe0b24eecf62dfbef089710358d468c1eb09e2d48008ca7753beb8e1
+SIZE (modernish-modernish-v0.16.5_GH0.tar.gz) = 342457
Added: head/shells/modernish/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/shells/modernish/pkg-descr Sat Mar 6 19:46:17 2021 (r567514)
@@ -0,0 +1,19 @@
+The programming/scripting language that incorporates the most frustrating
+combination of deficiencies and awesome power is probably the POSIX shell with
+accompanying utilities, which all exist in several variant implementations. Due
+to said power, the shell refuses to die as a scripting language. But when
+scripters are bitten by arcane grammar pitfalls, defective tutorials on the
+web, or shell functionality deficits, then 'use a real programming language
+instead' is generally the mantra.
+
+Enter modernish, a new vision on shell scripting. Modernish aims to provide a
+standard library that allows for writing robust, portable, readable, and
+powerful programs for POSIX-based shells and utilities. It can solve the shell
+language problems mentioned above, and many more. With modernish, you'd almost
+think the shell has become a modern programming language!
+
+The library builds on the POSIX 2018 Edition standard, so it should run on any
+sufficiently POSIX-compliant shell and operating system. But it also takes
+advantage of certain shell-specific enhancements if it detects them.
+
+WWW: https://github.com/modernish/modernish
Added: head/shells/modernish/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/shells/modernish/pkg-plist Sat Mar 6 19:46:17 2021 (r567514)
@@ -0,0 +1,271 @@
+bin/modernish
+lib/modernish/aux/cap/BUG_LNNONEG.sh
+lib/modernish/aux/cap/BUG_LOOPRET3.sh
+lib/modernish/aux/cap/BUG_TRAPFNEXI.sh
+lib/modernish/aux/cap/DOTARG.sh
+lib/modernish/aux/ematch.awk
+lib/modernish/aux/fatal.sh
+lib/modernish/aux/id.sh
+lib/modernish/aux/std.sh
+lib/modernish/aux/sys/base/tac.awk
+lib/modernish/aux/sys/cmd/mapr.awk
+lib/modernish/aux/var/loop/find-ok.sh
+lib/modernish/aux/var/loop/find-path.sh
+lib/modernish/aux/var/loop/find.awk
+lib/modernish/aux/var/loop/find.sh
+lib/modernish/cap/ADDASSIGN.t
+lib/modernish/cap/ANONFUNC.t
+lib/modernish/cap/ARITHCMD.t
+lib/modernish/cap/ARITHFOR.t
+lib/modernish/cap/ARITHPP.t
+lib/modernish/cap/BUG_ALIASCSHD.t
+lib/modernish/cap/BUG_ALIASCSUB.t
+lib/modernish/cap/BUG_ALIASPOSX.t
+lib/modernish/cap/BUG_APPENDC.t
+lib/modernish/cap/BUG_ARITHINIT.t
+lib/modernish/cap/BUG_ARITHLNNO.t
+lib/modernish/cap/BUG_ARITHSPLT.t
+lib/modernish/cap/BUG_ARITHTYPE.t
+lib/modernish/cap/BUG_ASGNCC01.t
+lib/modernish/cap/BUG_ASGNLOCAL.t
+lib/modernish/cap/BUG_BRACQUOT.t
+lib/modernish/cap/BUG_CASELIT.t
+lib/modernish/cap/BUG_CASEPAREN.t
+lib/modernish/cap/BUG_CASESTAT.t
+lib/modernish/cap/BUG_CDPCANON.t
+lib/modernish/cap/BUG_CMDEXEC.t
+lib/modernish/cap/BUG_CMDEXPAN.t
+lib/modernish/cap/BUG_CMDOPTEXP.t
+lib/modernish/cap/BUG_CMDPV.t
+lib/modernish/cap/BUG_CMDSETPP.t
+lib/modernish/cap/BUG_CMDSPASGN.t
+lib/modernish/cap/BUG_CMDSPEXIT.t
+lib/modernish/cap/BUG_CMDVRESV.t
+lib/modernish/cap/BUG_CSNHDBKSL.t
+lib/modernish/cap/BUG_CSUBRMLF.t
+lib/modernish/cap/BUG_CSUBSTDO.t
+lib/modernish/cap/BUG_DEVTTY.t
+lib/modernish/cap/BUG_DOLRCSUB.t
+lib/modernish/cap/BUG_DQGLOB.t
+lib/modernish/cap/BUG_EVALCOBR.t
+lib/modernish/cap/BUG_EXPORTUNS.t
+lib/modernish/cap/BUG_FNSUBSH.t
+lib/modernish/cap/BUG_FORLOCAL.t
+lib/modernish/cap/BUG_GETOPTSMA.t
+lib/modernish/cap/BUG_HDOCBKSL.t
+lib/modernish/cap/BUG_HDOCMASK.t
+lib/modernish/cap/BUG_IFSCC01PP.t
+lib/modernish/cap/BUG_IFSGLOBC.t
+lib/modernish/cap/BUG_IFSGLOBP.t
+lib/modernish/cap/BUG_IFSGLOBS.t
+lib/modernish/cap/BUG_IFSISSET.t
+lib/modernish/cap/BUG_ISSETLOOP.t
+lib/modernish/cap/BUG_KUNSETIFS.t
+lib/modernish/cap/BUG_LNNOALIAS.t
+lib/modernish/cap/BUG_LNNOEVAL.t
+lib/modernish/cap/BUG_LNNONEG.t
+lib/modernish/cap/BUG_LOOPRET1.t
+lib/modernish/cap/BUG_LOOPRET2.t
+lib/modernish/cap/BUG_LOOPRET3.t
+lib/modernish/cap/BUG_MULTIBIFS.t
+lib/modernish/cap/BUG_NOCHCLASS.t
+lib/modernish/cap/BUG_NOEXPRO.t
+lib/modernish/cap/BUG_NOOCTAL.t
+lib/modernish/cap/BUG_NOUNSETEX.t
+lib/modernish/cap/BUG_OPTNOLOG.t
+lib/modernish/cap/BUG_PFRPAD.t
+lib/modernish/cap/BUG_PP_01.t
+lib/modernish/cap/BUG_PP_02.t
+lib/modernish/cap/BUG_PP_03.t
+lib/modernish/cap/BUG_PP_03A.t
+lib/modernish/cap/BUG_PP_03B.t
+lib/modernish/cap/BUG_PP_03C.t
+lib/modernish/cap/BUG_PP_04.t
+lib/modernish/cap/BUG_PP_04A.t
+lib/modernish/cap/BUG_PP_04D.t
+lib/modernish/cap/BUG_PP_04E.t
+lib/modernish/cap/BUG_PP_04_S.t
+lib/modernish/cap/BUG_PP_05.t
+lib/modernish/cap/BUG_PP_06.t
+lib/modernish/cap/BUG_PP_06A.t
+lib/modernish/cap/BUG_PP_07.t
+lib/modernish/cap/BUG_PP_07A.t
+lib/modernish/cap/BUG_PP_08.t
+lib/modernish/cap/BUG_PP_08B.t
+lib/modernish/cap/BUG_PP_09.t
+lib/modernish/cap/BUG_PP_10.t
+lib/modernish/cap/BUG_PP_10A.t
+lib/modernish/cap/BUG_PP_1ARG.t
+lib/modernish/cap/BUG_PP_MDIGIT.t
+lib/modernish/cap/BUG_PSUBASNCC.t
+lib/modernish/cap/BUG_PSUBBKSL1.t
+lib/modernish/cap/BUG_PSUBEMIFS.t
+lib/modernish/cap/BUG_PSUBEMPT.t
+lib/modernish/cap/BUG_PSUBIFSNW.t
+lib/modernish/cap/BUG_PSUBIFSWH.t
+lib/modernish/cap/BUG_PSUBNEWLN.t
+lib/modernish/cap/BUG_PSUBSQHD.t
+lib/modernish/cap/BUG_PSUBSQUOT.t
+lib/modernish/cap/BUG_PUTIOERR.t
+lib/modernish/cap/BUG_READWHSP.t
+lib/modernish/cap/BUG_REDIRIO.t
+lib/modernish/cap/BUG_REDIRPOS.t
+lib/modernish/cap/BUG_SCLOSEDFD.t
+lib/modernish/cap/BUG_SELECTEOF.t
+lib/modernish/cap/BUG_SELECTRPL.t
+lib/modernish/cap/BUG_SETOUTVAR.t
+lib/modernish/cap/BUG_SHIFTERR0.t
+lib/modernish/cap/BUG_SPCBILOC.t
+lib/modernish/cap/BUG_TESTERR0.t
+lib/modernish/cap/BUG_TESTERR1A.t
+lib/modernish/cap/BUG_TESTERR1B.t
+lib/modernish/cap/BUG_TESTILNUM.t
+lib/modernish/cap/BUG_TESTONEG.t
+lib/modernish/cap/BUG_TESTRMPAR.t
+lib/modernish/cap/BUG_TRAPEMPT.t
+lib/modernish/cap/BUG_TRAPEXIT.t
+lib/modernish/cap/BUG_TRAPFNEXI.t
+lib/modernish/cap/BUG_TRAPRETIR.t
+lib/modernish/cap/BUG_TRAPSUB0.t
+lib/modernish/cap/BUG_TRAPUNSRE.t
+lib/modernish/cap/BUG_UNSETUNXP.t
+lib/modernish/cap/BUG_ZSHNAMES.t
+lib/modernish/cap/BUG_ZSHNAMES2.t
+lib/modernish/cap/CESCQUOT.t
+lib/modernish/cap/DBLBRACKET.t
+lib/modernish/cap/DBLBRACKETERE.t
+lib/modernish/cap/DBLBRACKETV.t
+lib/modernish/cap/DOTARG.t
+lib/modernish/cap/HERESTR.t
+lib/modernish/cap/KSH88FUNC.t
+lib/modernish/cap/KSH93FUNC.t
+lib/modernish/cap/KSHARRAY.t
+lib/modernish/cap/LEPIPEMAIN.t
+lib/modernish/cap/LINENO.t
+lib/modernish/cap/LOCALVARS.t
+lib/modernish/cap/NONFORKSUBSH.t
+lib/modernish/cap/PRINTFV.t
+lib/modernish/cap/PROCREDIR.t
+lib/modernish/cap/PROCSUBST.t
+lib/modernish/cap/PSREPLACE.t
+lib/modernish/cap/QRK_32BIT.t
+lib/modernish/cap/QRK_ANDORBG.t
+lib/modernish/cap/QRK_APIPEMAIN.t
+lib/modernish/cap/QRK_ARITHEMPT.t
+lib/modernish/cap/QRK_ARITHWHSP.t
+lib/modernish/cap/QRK_BCDANGER.t
+lib/modernish/cap/QRK_EMPTPPFLD.t
+lib/modernish/cap/QRK_EMPTPPWRD.t
+lib/modernish/cap/QRK_EVALNOOPT.t
+lib/modernish/cap/QRK_EXECFNBI.t
+lib/modernish/cap/QRK_HDPARQUOT.t
+lib/modernish/cap/QRK_IFSFINAL.t
+lib/modernish/cap/QRK_LOCALINH.t
+lib/modernish/cap/QRK_LOCALSET.t
+lib/modernish/cap/QRK_LOCALSET2.t
+lib/modernish/cap/QRK_LOCALUNS.t
+lib/modernish/cap/QRK_LOCALUNS2.t
+lib/modernish/cap/QRK_OPTABBR.t
+lib/modernish/cap/QRK_OPTCASE.t
+lib/modernish/cap/QRK_OPTDASH.t
+lib/modernish/cap/QRK_OPTNOPRFX.t
+lib/modernish/cap/QRK_OPTULINE.t
+lib/modernish/cap/QRK_PPIPEMAIN.t
+lib/modernish/cap/QRK_SPCBIXP.t
+lib/modernish/cap/QRK_UNSETF.t
+lib/modernish/cap/RANDOM.t
+lib/modernish/cap/README.md
+lib/modernish/cap/ROFUNC.t
+lib/modernish/cap/TESTERE.t
+lib/modernish/cap/TESTO.t
+lib/modernish/cap/TRAPPRSUBSH.t
+lib/modernish/cap/TRAPZERR.t
+lib/modernish/cap/WRN_EREMBYTE.t
+lib/modernish/cap/WRN_MULTIBYTE.t
+lib/modernish/cap/WRN_NOSIGPIPE.t
+lib/modernish/mdl/_IN/opt.mm
+lib/modernish/mdl/_IN/sig.mm
+lib/modernish/mdl/safe.mm
+lib/modernish/mdl/sys/base/mktemp.mm
+lib/modernish/mdl/sys/base/readlink.mm
+lib/modernish/mdl/sys/base/rev.mm
+lib/modernish/mdl/sys/base/seq.mm
+lib/modernish/mdl/sys/base/tac.mm
+lib/modernish/mdl/sys/base/which.mm
+lib/modernish/mdl/sys/base/yes.mm
+lib/modernish/mdl/sys/cmd/extern.mm
+lib/modernish/mdl/sys/cmd/harden.mm
+lib/modernish/mdl/sys/cmd/mapr.mm
+lib/modernish/mdl/sys/cmd/procsubst.mm
+lib/modernish/mdl/sys/dir/countfiles.mm
+lib/modernish/mdl/sys/dir/mkcd.mm
+lib/modernish/mdl/sys/term/readkey.mm
+lib/modernish/mdl/var/arith/cmp.mm
+lib/modernish/mdl/var/arith/ops.mm
+lib/modernish/mdl/var/assign.mm
+lib/modernish/mdl/var/genoptparser.mm
+lib/modernish/mdl/var/local.mm
+lib/modernish/mdl/var/loop.mm
+lib/modernish/mdl/var/loop/find.mm
+lib/modernish/mdl/var/loop/for.mm
+lib/modernish/mdl/var/loop/repeat.mm
+lib/modernish/mdl/var/loop/select.mm
+lib/modernish/mdl/var/mapr.mm
+lib/modernish/mdl/var/readf.mm
+lib/modernish/mdl/var/stack/extra/clearstack.mm
+lib/modernish/mdl/var/stack/extra/printstack.mm
+lib/modernish/mdl/var/stack/extra/stackempty.mm
+lib/modernish/mdl/var/stack/extra/stacksize.mm
+lib/modernish/mdl/var/stack/trap.mm
+lib/modernish/mdl/var/string/append.mm
+lib/modernish/mdl/var/string/replacein.mm
+lib/modernish/mdl/var/string/touplow.mm
+lib/modernish/mdl/var/string/trim.mm
+lib/modernish/mdl/var/unexport.mm
+lib/modernish/tst/@sanitychecks.t
+lib/modernish/tst/arith.t
+lib/modernish/tst/builtin.t
+lib/modernish/tst/io.t
+lib/modernish/tst/is.t
+lib/modernish/tst/isset.t
+lib/modernish/tst/local.t
+lib/modernish/tst/loop_cond.t
+lib/modernish/tst/match.t
+lib/modernish/tst/posparam.t
+lib/modernish/tst/posparam_spc.t
+lib/modernish/tst/process.t
+lib/modernish/tst/run.sh
+lib/modernish/tst/shellquote.t
+lib/modernish/tst/stack.t
+lib/modernish/tst/string.t
+lib/modernish/tst/sys.t
+lib/modernish/tst/trap.t
+lib/modernish/tst/unexport.t
+%%PORTDOCS%%%%DOCSDIR%%/CODINGSTYLE
+%%PORTDOCS%%%%DOCSDIR%%/DESIGN.md
+%%PORTDOCS%%%%DOCSDIR%%/EXAMPLES.md
+%%PORTDOCS%%%%DOCSDIR%%/HELP
+%%PORTDOCS%%%%DOCSDIR%%/NEWS
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/examples
+%%PORTDOCS%%%%DOCSDIR%%/tests/README
+%%PORTDOCS%%%%DOCSDIR%%/tests/die-bg-test.sh
+%%PORTDOCS%%%%DOCSDIR%%/tests/harden-test.sh
+%%PORTDOCS%%%%DOCSDIR%%/tests/local-test.sh
+%%PORTDOCS%%%%DOCSDIR%%/tests/mktemp-stresstest.sh
+%%PORTDOCS%%%%DOCSDIR%%/tests/shellquote-test.sh
+%%PORTDOCS%%%%DOCSDIR%%/utils/README
+%%PORTDOCS%%%%DOCSDIR%%/utils/bundle-diff-update.sh
+%%PORTDOCS%%%%DOCSDIR%%/utils/git-restore-timestamps.sh
+%%PORTDOCS%%%%DOCSDIR%%/utils/mktoc.sh
+%%PORTDOCS%%%%DOCSDIR%%/utils/modules-unalias-update.sh
+%%PORTDOCS%%%%DOCSDIR%%/utils/showTODO.sh
+%%PORTDOCS%%%%DOCSDIR%%/utils/testshells.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copy-timestamps.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dice.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/get-firefox.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/procsubst.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resurrectjoe/SAMPLE_DEADJOE
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resurrectjoe/resurrectjoe.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sort-music.sh
More information about the svn-ports-head
mailing list