notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)

Current status

The server has been repaired, with a new power supply, for $23. I am waiting for lower COVID rates before visiting the datacenter to return it.
Port details
modernish POSIX shell feature detection and language extension library
0.16.5 shells on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 0.16.5Version of this port present on the latest quarterly branch.
Maintainer: 0mp@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2021-03-06 19:46:26
Last Update: 2021-04-28 12:57:47
Commit Hash: 0e66f42
License: ISCL
Description:
SVNWeb : git : Homepage
pkg-plist: as obtained via: make generate-plist
Expand this list (277 items)
Collapse this list.
  1. /usr/local/share/licenses/modernish-0.16.5/catalog.mk
  2. /usr/local/share/licenses/modernish-0.16.5/LICENSE
  3. /usr/local/share/licenses/modernish-0.16.5/ISCL
  4. bin/modernish
  5. lib/modernish/aux/cap/BUG_LNNONEG.sh
  6. lib/modernish/aux/cap/BUG_LOOPRET3.sh
  7. lib/modernish/aux/cap/BUG_TRAPFNEXI.sh
  8. lib/modernish/aux/cap/DOTARG.sh
  9. lib/modernish/aux/ematch.awk
  10. lib/modernish/aux/fatal.sh
  11. lib/modernish/aux/id.sh
  12. lib/modernish/aux/std.sh
  13. lib/modernish/aux/sys/base/tac.awk
  14. lib/modernish/aux/sys/cmd/mapr.awk
  15. lib/modernish/aux/var/loop/find-ok.sh
  16. lib/modernish/aux/var/loop/find-path.sh
  17. lib/modernish/aux/var/loop/find.awk
  18. lib/modernish/aux/var/loop/find.sh
  19. lib/modernish/cap/ADDASSIGN.t
  20. lib/modernish/cap/ANONFUNC.t
  21. lib/modernish/cap/ARITHCMD.t
  22. lib/modernish/cap/ARITHFOR.t
  23. lib/modernish/cap/ARITHPP.t
  24. lib/modernish/cap/BUG_ALIASCSHD.t
  25. lib/modernish/cap/BUG_ALIASCSUB.t
  26. lib/modernish/cap/BUG_ALIASPOSX.t
  27. lib/modernish/cap/BUG_APPENDC.t
  28. lib/modernish/cap/BUG_ARITHINIT.t
  29. lib/modernish/cap/BUG_ARITHLNNO.t
  30. lib/modernish/cap/BUG_ARITHSPLT.t
  31. lib/modernish/cap/BUG_ARITHTYPE.t
  32. lib/modernish/cap/BUG_ASGNCC01.t
  33. lib/modernish/cap/BUG_ASGNLOCAL.t
  34. lib/modernish/cap/BUG_BRACQUOT.t
  35. lib/modernish/cap/BUG_CASELIT.t
  36. lib/modernish/cap/BUG_CASEPAREN.t
  37. lib/modernish/cap/BUG_CASESTAT.t
  38. lib/modernish/cap/BUG_CDPCANON.t
  39. lib/modernish/cap/BUG_CMDEXEC.t
  40. lib/modernish/cap/BUG_CMDEXPAN.t
  41. lib/modernish/cap/BUG_CMDOPTEXP.t
  42. lib/modernish/cap/BUG_CMDPV.t
  43. lib/modernish/cap/BUG_CMDSETPP.t
  44. lib/modernish/cap/BUG_CMDSPASGN.t
  45. lib/modernish/cap/BUG_CMDSPEXIT.t
  46. lib/modernish/cap/BUG_CMDVRESV.t
  47. lib/modernish/cap/BUG_CSNHDBKSL.t
  48. lib/modernish/cap/BUG_CSUBRMLF.t
  49. lib/modernish/cap/BUG_CSUBSTDO.t
  50. lib/modernish/cap/BUG_DEVTTY.t
  51. lib/modernish/cap/BUG_DOLRCSUB.t
  52. lib/modernish/cap/BUG_DQGLOB.t
  53. lib/modernish/cap/BUG_EVALCOBR.t
  54. lib/modernish/cap/BUG_EXPORTUNS.t
  55. lib/modernish/cap/BUG_FNSUBSH.t
  56. lib/modernish/cap/BUG_FORLOCAL.t
  57. lib/modernish/cap/BUG_GETOPTSMA.t
  58. lib/modernish/cap/BUG_HDOCBKSL.t
  59. lib/modernish/cap/BUG_HDOCMASK.t
  60. lib/modernish/cap/BUG_IFSCC01PP.t
  61. lib/modernish/cap/BUG_IFSGLOBC.t
  62. lib/modernish/cap/BUG_IFSGLOBP.t
  63. lib/modernish/cap/BUG_IFSGLOBS.t
  64. lib/modernish/cap/BUG_IFSISSET.t
  65. lib/modernish/cap/BUG_ISSETLOOP.t
  66. lib/modernish/cap/BUG_KUNSETIFS.t
  67. lib/modernish/cap/BUG_LNNOALIAS.t
  68. lib/modernish/cap/BUG_LNNOEVAL.t
  69. lib/modernish/cap/BUG_LNNONEG.t
  70. lib/modernish/cap/BUG_LOOPRET1.t
  71. lib/modernish/cap/BUG_LOOPRET2.t
  72. lib/modernish/cap/BUG_LOOPRET3.t
  73. lib/modernish/cap/BUG_MULTIBIFS.t
  74. lib/modernish/cap/BUG_NOCHCLASS.t
  75. lib/modernish/cap/BUG_NOEXPRO.t
  76. lib/modernish/cap/BUG_NOOCTAL.t
  77. lib/modernish/cap/BUG_NOUNSETEX.t
  78. lib/modernish/cap/BUG_OPTNOLOG.t
  79. lib/modernish/cap/BUG_PFRPAD.t
  80. lib/modernish/cap/BUG_PP_01.t
  81. lib/modernish/cap/BUG_PP_02.t
  82. lib/modernish/cap/BUG_PP_03.t
  83. lib/modernish/cap/BUG_PP_03A.t
  84. lib/modernish/cap/BUG_PP_03B.t
  85. lib/modernish/cap/BUG_PP_03C.t
  86. lib/modernish/cap/BUG_PP_04.t
  87. lib/modernish/cap/BUG_PP_04A.t
  88. lib/modernish/cap/BUG_PP_04D.t
  89. lib/modernish/cap/BUG_PP_04E.t
  90. lib/modernish/cap/BUG_PP_04_S.t
  91. lib/modernish/cap/BUG_PP_05.t
  92. lib/modernish/cap/BUG_PP_06.t
  93. lib/modernish/cap/BUG_PP_06A.t
  94. lib/modernish/cap/BUG_PP_07.t
  95. lib/modernish/cap/BUG_PP_07A.t
  96. lib/modernish/cap/BUG_PP_08.t
  97. lib/modernish/cap/BUG_PP_08B.t
  98. lib/modernish/cap/BUG_PP_09.t
  99. lib/modernish/cap/BUG_PP_10.t
  100. lib/modernish/cap/BUG_PP_10A.t
  101. lib/modernish/cap/BUG_PP_1ARG.t
  102. lib/modernish/cap/BUG_PP_MDIGIT.t
  103. lib/modernish/cap/BUG_PSUBASNCC.t
  104. lib/modernish/cap/BUG_PSUBBKSL1.t
  105. lib/modernish/cap/BUG_PSUBEMIFS.t
  106. lib/modernish/cap/BUG_PSUBEMPT.t
  107. lib/modernish/cap/BUG_PSUBIFSNW.t
  108. lib/modernish/cap/BUG_PSUBIFSWH.t
  109. lib/modernish/cap/BUG_PSUBNEWLN.t
  110. lib/modernish/cap/BUG_PSUBSQHD.t
  111. lib/modernish/cap/BUG_PSUBSQUOT.t
  112. lib/modernish/cap/BUG_PUTIOERR.t
  113. lib/modernish/cap/BUG_READWHSP.t
  114. lib/modernish/cap/BUG_REDIRIO.t
  115. lib/modernish/cap/BUG_REDIRPOS.t
  116. lib/modernish/cap/BUG_SCLOSEDFD.t
  117. lib/modernish/cap/BUG_SELECTEOF.t
  118. lib/modernish/cap/BUG_SELECTRPL.t
  119. lib/modernish/cap/BUG_SETOUTVAR.t
  120. lib/modernish/cap/BUG_SHIFTERR0.t
  121. lib/modernish/cap/BUG_SPCBILOC.t
  122. lib/modernish/cap/BUG_TESTERR0.t
  123. lib/modernish/cap/BUG_TESTERR1A.t
  124. lib/modernish/cap/BUG_TESTERR1B.t
  125. lib/modernish/cap/BUG_TESTILNUM.t
  126. lib/modernish/cap/BUG_TESTONEG.t
  127. lib/modernish/cap/BUG_TESTRMPAR.t
  128. lib/modernish/cap/BUG_TRAPEMPT.t
  129. lib/modernish/cap/BUG_TRAPEXIT.t
  130. lib/modernish/cap/BUG_TRAPFNEXI.t
  131. lib/modernish/cap/BUG_TRAPRETIR.t
  132. lib/modernish/cap/BUG_TRAPSUB0.t
  133. lib/modernish/cap/BUG_TRAPUNSRE.t
  134. lib/modernish/cap/BUG_UNSETUNXP.t
  135. lib/modernish/cap/BUG_ZSHNAMES.t
  136. lib/modernish/cap/BUG_ZSHNAMES2.t
  137. lib/modernish/cap/CESCQUOT.t
  138. lib/modernish/cap/DBLBRACKET.t
  139. lib/modernish/cap/DBLBRACKETERE.t
  140. lib/modernish/cap/DBLBRACKETV.t
  141. lib/modernish/cap/DOTARG.t
  142. lib/modernish/cap/HERESTR.t
  143. lib/modernish/cap/KSH88FUNC.t
  144. lib/modernish/cap/KSH93FUNC.t
  145. lib/modernish/cap/KSHARRAY.t
  146. lib/modernish/cap/LEPIPEMAIN.t
  147. lib/modernish/cap/LINENO.t
  148. lib/modernish/cap/LOCALVARS.t
  149. lib/modernish/cap/NONFORKSUBSH.t
  150. lib/modernish/cap/PRINTFV.t
  151. lib/modernish/cap/PROCREDIR.t
  152. lib/modernish/cap/PROCSUBST.t
  153. lib/modernish/cap/PSREPLACE.t
  154. lib/modernish/cap/QRK_32BIT.t
  155. lib/modernish/cap/QRK_ANDORBG.t
  156. lib/modernish/cap/QRK_APIPEMAIN.t
  157. lib/modernish/cap/QRK_ARITHEMPT.t
  158. lib/modernish/cap/QRK_ARITHWHSP.t
  159. lib/modernish/cap/QRK_BCDANGER.t
  160. lib/modernish/cap/QRK_EMPTPPFLD.t
  161. lib/modernish/cap/QRK_EMPTPPWRD.t
  162. lib/modernish/cap/QRK_EVALNOOPT.t
  163. lib/modernish/cap/QRK_EXECFNBI.t
  164. lib/modernish/cap/QRK_HDPARQUOT.t
  165. lib/modernish/cap/QRK_IFSFINAL.t
  166. lib/modernish/cap/QRK_LOCALINH.t
  167. lib/modernish/cap/QRK_LOCALSET.t
  168. lib/modernish/cap/QRK_LOCALSET2.t
  169. lib/modernish/cap/QRK_LOCALUNS.t
  170. lib/modernish/cap/QRK_LOCALUNS2.t
  171. lib/modernish/cap/QRK_OPTABBR.t
  172. lib/modernish/cap/QRK_OPTCASE.t
  173. lib/modernish/cap/QRK_OPTDASH.t
  174. lib/modernish/cap/QRK_OPTNOPRFX.t
  175. lib/modernish/cap/QRK_OPTULINE.t
  176. lib/modernish/cap/QRK_PPIPEMAIN.t
  177. lib/modernish/cap/QRK_SPCBIXP.t
  178. lib/modernish/cap/QRK_UNSETF.t
  179. lib/modernish/cap/RANDOM.t
  180. lib/modernish/cap/README.md
  181. lib/modernish/cap/ROFUNC.t
  182. lib/modernish/cap/TESTERE.t
  183. lib/modernish/cap/TESTO.t
  184. lib/modernish/cap/TRAPPRSUBSH.t
  185. lib/modernish/cap/TRAPZERR.t
  186. lib/modernish/cap/WRN_EREMBYTE.t
  187. lib/modernish/cap/WRN_MULTIBYTE.t
  188. lib/modernish/cap/WRN_NOSIGPIPE.t
  189. lib/modernish/mdl/_IN/opt.mm
  190. lib/modernish/mdl/_IN/sig.mm
  191. lib/modernish/mdl/safe.mm
  192. lib/modernish/mdl/sys/base/mktemp.mm
  193. lib/modernish/mdl/sys/base/readlink.mm
  194. lib/modernish/mdl/sys/base/rev.mm
  195. lib/modernish/mdl/sys/base/seq.mm
  196. lib/modernish/mdl/sys/base/tac.mm
  197. lib/modernish/mdl/sys/base/which.mm
  198. lib/modernish/mdl/sys/base/yes.mm
  199. lib/modernish/mdl/sys/cmd/extern.mm
  200. lib/modernish/mdl/sys/cmd/harden.mm
  201. lib/modernish/mdl/sys/cmd/mapr.mm
  202. lib/modernish/mdl/sys/cmd/procsubst.mm
  203. lib/modernish/mdl/sys/dir/countfiles.mm
  204. lib/modernish/mdl/sys/dir/mkcd.mm
  205. lib/modernish/mdl/sys/term/readkey.mm
  206. lib/modernish/mdl/var/arith/cmp.mm
  207. lib/modernish/mdl/var/arith/ops.mm
  208. lib/modernish/mdl/var/assign.mm
  209. lib/modernish/mdl/var/genoptparser.mm
  210. lib/modernish/mdl/var/local.mm
  211. lib/modernish/mdl/var/loop.mm
  212. lib/modernish/mdl/var/loop/find.mm
  213. lib/modernish/mdl/var/loop/for.mm
  214. lib/modernish/mdl/var/loop/repeat.mm
  215. lib/modernish/mdl/var/loop/select.mm
  216. lib/modernish/mdl/var/mapr.mm
  217. lib/modernish/mdl/var/readf.mm
  218. lib/modernish/mdl/var/stack/extra/clearstack.mm
  219. lib/modernish/mdl/var/stack/extra/printstack.mm
  220. lib/modernish/mdl/var/stack/extra/stackempty.mm
  221. lib/modernish/mdl/var/stack/extra/stacksize.mm
  222. lib/modernish/mdl/var/stack/trap.mm
  223. lib/modernish/mdl/var/string/append.mm
  224. lib/modernish/mdl/var/string/replacein.mm
  225. lib/modernish/mdl/var/string/touplow.mm
  226. lib/modernish/mdl/var/string/trim.mm
  227. lib/modernish/mdl/var/unexport.mm
  228. lib/modernish/tst/@sanitychecks.t
  229. lib/modernish/tst/arith.t
  230. lib/modernish/tst/builtin.t
  231. lib/modernish/tst/io.t
  232. lib/modernish/tst/is.t
  233. lib/modernish/tst/isset.t
  234. lib/modernish/tst/local.t
  235. lib/modernish/tst/loop_cond.t
  236. lib/modernish/tst/match.t
  237. lib/modernish/tst/posparam.t
  238. lib/modernish/tst/posparam_spc.t
  239. lib/modernish/tst/process.t
  240. lib/modernish/tst/run.sh
  241. lib/modernish/tst/shellquote.t
  242. lib/modernish/tst/stack.t
  243. lib/modernish/tst/string.t
  244. lib/modernish/tst/sys.t
  245. lib/modernish/tst/trap.t
  246. lib/modernish/tst/unexport.t
  247. share/doc/modernish/CODINGSTYLE
  248. share/doc/modernish/DESIGN.md
  249. share/doc/modernish/EXAMPLES.md
  250. share/doc/modernish/HELP
  251. share/doc/modernish/NEWS
  252. share/doc/modernish/README.md
  253. share/doc/modernish/examples
  254. share/doc/modernish/tests/README
  255. share/doc/modernish/tests/die-bg-test.sh
  256. share/doc/modernish/tests/harden-test.sh
  257. share/doc/modernish/tests/local-test.sh
  258. share/doc/modernish/tests/mktemp-stresstest.sh
  259. share/doc/modernish/tests/shellquote-test.sh
  260. share/doc/modernish/utils/README
  261. share/doc/modernish/utils/bundle-diff-update.sh
  262. share/doc/modernish/utils/git-restore-timestamps.sh
  263. share/doc/modernish/utils/mktoc.sh
  264. share/doc/modernish/utils/modules-unalias-update.sh
  265. share/doc/modernish/utils/showTODO.sh
  266. share/doc/modernish/utils/testshells.sh
  267. share/examples/modernish/README
  268. share/examples/modernish/copy-timestamps.sh
  269. share/examples/modernish/dice.sh
  270. share/examples/modernish/get-firefox.sh
  271. share/examples/modernish/procsubst.sh
  272. share/examples/modernish/resurrectjoe/SAMPLE_DEADJOE
  273. share/examples/modernish/resurrectjoe/resurrectjoe.sh
  274. share/examples/modernish/sort-music.sh
  275. @owner
  276. @group
  277. @mode
Collapse this list.
Dependency lines:
  • modernish>0:shells/modernish
To install the port: cd /usr/ports/shells/modernish/ && make install clean
To add the package: pkg install modernish
PKGNAME: modernish
Flavors: there is no flavor information for this port.
distinfo:
Packages: (move your mouse over the cells for more information)
modernish
ABIlatestquarterly
FreeBSD:11:aarch64--
FreeBSD:11:amd640.16.50.16.5
FreeBSD:11:armv6--
FreeBSD:11:i3860.16.50.16.5
FreeBSD:11:mips--
FreeBSD:11:mips64--
FreeBSD:12:aarch64-0.16.5
FreeBSD:12:amd640.16.50.16.5
FreeBSD:12:armv6--
FreeBSD:12:armv7--
FreeBSD:12:i3860.16.50.16.5
FreeBSD:12:mips--
FreeBSD:12:mips64--
FreeBSD:12:powerpc64-0.16.5
FreeBSD:13:aarch64-0.16.5
FreeBSD:13:amd640.16.50.16.5
FreeBSD:13:armv6-0.16.5
FreeBSD:13:armv7--
FreeBSD:13:i3860.16.50.16.5
FreeBSD:13:mips--
FreeBSD:13:mips64--
FreeBSD:13:powerpc64-0.16.5
FreeBSD:14:aarch640.16.5-
FreeBSD:14:amd640.16.5-
FreeBSD:14:armv6--
FreeBSD:14:armv7--
FreeBSD:14:i3860.16.5-
FreeBSD:14:mips--
FreeBSD:14:mips640.16.5-
FreeBSD:14:powerpc64--
 

There are no ports dependent upon this port

Configuration Options:
Options name:
Master Sites:
Expand this list (1 items)
Collapse this list.
  1. https://codeload.github.com/modernish/modernish/tar.gz/v0.16.5?dummy=/
Collapse this list.

Number of commits found: 7

Commit History - (may be incomplete: see SVNWeb link above for full details)
DateByDescription
28 Apr 2021 12:57:47
 files touched by this commit commit hash:0e66f4260178b5e9528cd6009d4c3c735bf46350  0.16.5
0mp search for other commits by this committer
shells/modernish: Fix build

It looks like modernish requires /dev/tty to be available during the
installation as it tries to run its install-time test suite. A solution
to that is wrapping ./install.sh with script(1) to make a TTY available.
Interestingly, if we replace script(1) with daemon(8), we can reproduce
the error present in the pkg fallout logs.
26 Apr 2021 13:57:12
 files touched by this commit commit hash:c2dfc2d552371266c482980d632ddfdb92f02831  0.16.5
0mp search for other commits by this committer
shells/modernish: Use INSTALL_DATA instead of MV

Reported by:	mat
26 Apr 2021 12:20:59
 files touched by this commit commit hash:b080275ea6e0c79e0b94974192eb6fe582180614  0.16.5
0mp search for other commits by this committer
shells/modernish: Disable failing install-time tests

This issue has been reported upstream:
https://github.com/modernish/modernish/issues/10
15 Apr 2021 11:23:03
 files touched by this commit commit hash:43ebfaa30d8d8744bf0e345ab29cd133640740e4  0.16.5
0mp search for other commits by this committer
shells/modernish: Make the build more verbose

Our official poudriere instances fail to build this port for unknown
reasons. Let's get some additional logs in order to fix the issue.

Reported by:	pkg-fallout
07 Apr 2021 08:09:01
 files touched by this commit commit hash:cf118ccf875508b9a1c570044c93cfcc82bd455c  0.16.5
mat search for other commits by this committer
One more small cleanup, forgotten yesterday.
Reported by:	lwhsu
06 Apr 2021 14:31:07
 files touched by this commit commit hash:305f148f482daf30dcf728039d03d019f88344eb  0.16.5
mat search for other commits by this committer
Remove # $FreeBSD$ from Makefiles.
06 Mar 2021 19:46:17
Original commit files touched by this commit Revision:567514  0.16.5
0mp search for other commits by this committer
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

Number of commits found: 7