Update to mksh-45. * [tg] Make “set -x” print the commands run in escaped form * [tg] PS4 in dot.mkshrc is now timestamped * [tg] The &> GNU bash I/O redir is no longer parsed in -o posix, -o sh modes, lksh (breaks valid scripts) * [tg] Implement ${ …;} more efficiently (deleted-open files) * [tg] For shf, %#s (if you can get it past GCC’s printf format attribute) calls print_value_quoted, ignoring field width and precision * [tg] Catch “typeset =” (regression) with better error message * [tg, Tonnerre Lombard] add “doch” alias to dot.mkshrc which just repeats the last input line with sudo(8) * [tg] Use unsigned integers for all calculations, to avoid ISO C “Undefined Behaviour” (and implementation-defined behaviour) throughout (most of) the code; emulate signed integer arithmetics using unsigned; not-lksh only * [tg] Emulate signed modulo naïvely, for correct sign of the result * [tg] Add <<< and >>> for ROL and ROR (rotate left and right, respectively) operations, <<<= and >>> assignments; bitwise AND the RHS of a shift/rotate op with 31 (not for lksh) * [tg] Remove a warning by working around a workaround found in dietlibc which works around a bug in broken software such as GNU tar (really!) * [tg] Correct and simplify list and categorisation of built-in commands as POSIX special and “everything else” plus a flag to keep assignments * [tg] Handle ((foo)) as “let]” internally to avoid a conflict with user-defined functions called let (LP#1156707) * [tg] Clean up the codediff -r1.22 -r1.23 pkgsrc/shells/mksh/Makefile
(bsiegert)
@@ -1,43 +1,43 @@ | @@ -1,43 +1,43 @@ | |||
1 | # $NetBSD: Makefile,v 1.22 2013/03/23 12:18:19 joerg Exp $ | 1 | # $NetBSD: Makefile,v 1.23 2013/04/30 17:58:44 bsiegert Exp $ | |
2 | 2 | |||
3 | DISTNAME= mksh-R44 | 3 | DISTNAME= mksh-R45 | |
4 | PKGNAME= ${DISTNAME:S/-R/-/} | 4 | PKGNAME= ${DISTNAME:S/-R/-/} | |
5 | CATEGORIES= shells | 5 | CATEGORIES= shells | |
6 | MASTER_SITES= http://www.mirbsd.org/MirOS/dist/mir/mksh/ \ | 6 | MASTER_SITES= http://www.mirbsd.org/MirOS/dist/mir/mksh/ \ | |
7 | http://pub.allbsd.org/MirOS/dist/mir/mksh/ | 7 | http://pub.allbsd.org/MirOS/dist/mir/mksh/ | |
8 | SITES.${DISTNAME}.cat1.gz= ${MASTER_SITES:S/dist/cats/} | 8 | SITES.${DISTNAME}.cat1.gz= ${MASTER_SITES:S/dist/cats/} | |
9 | 9 | |||
10 | EXTRACT_SUFX= .tgz | 10 | EXTRACT_SUFX= .tgz | |
11 | 11 | |||
12 | MAINTAINER= ahoka@NetBSD.org | 12 | MAINTAINER= ahoka@NetBSD.org | |
13 | HOMEPAGE= http://mirbsd.de/mksh | 13 | HOMEPAGE= http://mirbsd.de/mksh | |
14 | COMMENT= MirBSD Korn Shell | 14 | COMMENT= MirBSD Korn Shell | |
15 | LICENSE= miros | 15 | LICENSE= miros | |
16 | 16 | |||
17 | WRKSRC= ${WRKDIR}/mksh | 17 | WRKSRC= ${WRKDIR}/mksh | |
18 | WRKBUILD?= ${WRKSRC} | 18 | WRKBUILD?= ${WRKSRC} | |
19 | 19 | |||
20 | PKG_INSTALLATION_TYPES= pkgviews overwrite | 20 | PKG_INSTALLATION_TYPES= pkgviews overwrite | |
21 | 21 | |||
22 | PKG_SHELL= bin/mksh | 22 | PKG_SHELL= bin/mksh | |
23 | 23 | |||
24 | LIBS.Interix+= -lcrypt | 24 | LIBS.Interix+= -lcrypt | |
25 | 25 | |||
26 | INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/examples/mksh | 26 | INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/examples/mksh | |
27 | 27 | |||
28 | do-build: | 28 | do-build: | |
29 | cd ${WRKBUILD} && LIBS=${LIBS:Q} CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ | 29 | cd ${WRKBUILD} && LIBS=${LIBS:Q} CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ | |
30 | CPPFLAGS=${CPPFLAGS:Q} LDFLAGS=${LDFLAGS:Q} \ | 30 | CPPFLAGS=${CPPFLAGS:Q} LDFLAGS=${LDFLAGS:Q} \ | |
31 | ${TOOLS_SHELL} ${WRKSRC}/Build.sh -r | 31 | ${TOOLS_SHELL} ${WRKSRC}/Build.sh -r | |
32 | 32 | |||
33 | do-install: | 33 | do-install: | |
34 | ${INSTALL_PROGRAM} ${WRKBUILD}/mksh ${DESTDIR}${PREFIX}/bin/mksh | 34 | ${INSTALL_PROGRAM} ${WRKBUILD}/mksh ${DESTDIR}${PREFIX}/bin/mksh | |
35 | ${INSTALL_MAN} ${WRKSRC}/mksh.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ | 35 | ${INSTALL_MAN} ${WRKSRC}/mksh.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ | |
36 | ${INSTALL_DATA} ${WRKSRC}/dot.mkshrc ${DESTDIR}${PREFIX}/share/examples/mksh/ | 36 | ${INSTALL_DATA} ${WRKSRC}/dot.mkshrc ${DESTDIR}${PREFIX}/share/examples/mksh/ | |
37 | 37 | |||
38 | # Uncomment this if you want to run the regression tests | 38 | # Uncomment this if you want to run the regression tests | |
39 | #USE_TOOLS+= perl | 39 | #USE_TOOLS+= perl | |
40 | #do-test: | 40 | #do-test: | |
41 | # ${WRKBUILD}/test.sh -v | 41 | # ${WRKBUILD}/test.sh -v | |
42 | 42 | |||
43 | .include "../../mk/bsd.pkg.mk" | 43 | .include "../../mk/bsd.pkg.mk" |
@@ -1,6 +1,6 @@ | @@ -1,6 +1,6 @@ | |||
1 | $NetBSD: distinfo,v 1.21 2013/03/27 16:36:42 hiramatsu Exp $ | 1 | $NetBSD: distinfo,v 1.22 2013/04/30 17:58:44 bsiegert Exp $ | |
2 | 2 | |||
3 | SHA1 (mksh-R44.tgz) = 2e575f8de79305e42fc1c7fdda2c8051482a4758 | 3 | SHA1 (mksh-R45.tgz) = 1a870bfb9278be3eb40b39b69829fe905f0ca812 | |
4 | RMD160 (mksh-R44.tgz) = 4cf1525c477c4bece519c024cc73ee6ca064d34a | 4 | RMD160 (mksh-R45.tgz) = b376357d4aacade3fa888f78b6257ec76affb608 | |
5 | Size (mksh-R44.tgz) = 346239 bytes | 5 | Size (mksh-R45.tgz) = 346164 bytes | |
6 | SHA1 (patch-mksh.1) = dc76beab0bf95ab3f65841b5308a40126c128615 | 6 | SHA1 (patch-mksh.1) = c6b3e16c0c4d32377f52f508f0b6632dc201173d |
@@ -1,36 +1,38 @@ | @@ -1,36 +1,38 @@ | |||
1 | $NetBSD: patch-mksh.1,v 1.2 2013/03/27 16:36:43 hiramatsu Exp $ | 1 | $NetBSD: patch-mksh.1,v 1.3 2013/04/30 17:58:44 bsiegert Exp $ | |
2 | 2 | |||
3 | Kill the .Dt override and restore installation a normal man page. | 3 | Kill the .Dt override and restore installation a normal man page. | |
4 | --- mksh.1.orig 2013-03-23 12:06:12.000000000 +0000 | 4 | --- mksh.1.orig 2013-04-26 21:23:12.000000000 +0000 | |
5 | +++ mksh.1 | 5 | +++ mksh.1 | |
6 | @@ -62,29 +62,15 @@ | 6 | @@ -60,31 +60,11 @@ | |
7 | .\" | 7 | . ds en \(em | |
8 | .\" Implement .Dd with the Mdocdate RCS keyword | 8 | .\} | |
9 | .\" | 9 | .\" | |
10 | -.\" Implement .Dd with the Mdocdate RCS keyword | |||
11 | -.\" | |||
10 | -.rn Dd xD | 12 | -.rn Dd xD | |
11 | -.de Dd | 13 | -.de Dd | |
12 | -.ie \\$1$Mdocdate: \{\ | 14 | -.ie \\$1$Mdocdate: \{\ | |
13 | -. xD \\$2 \\$3, \\$4 | 15 | -. xD \\$2 \\$3, \\$4 | |
14 | -.\} | 16 | -.\} | |
15 | -.el .xD \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | 17 | -.el .xD \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
16 | -.. | 18 | -.. | |
17 | .\" | 19 | -.\" | |
18 | .\" .Dd must come before definition of .Mx, because when called | 20 | .\" .Dd must come before definition of .Mx, because when called | |
19 | .\" with -mandoc, it might implement .Mx itself, but we want to | 21 | .\" with -mandoc, it might implement .Mx itself, but we want to | |
20 | .\" use our own definition. And .Dd must come *first*, always. | 22 | .\" use our own definition. And .Dd must come *first*, always. | |
21 | .\" | 23 | .\" | |
22 | -.Dd $Mdocdate: February 19 2013 $ | 24 | -.Dd $Mdocdate: April 26 2013 $ | |
23 | +.Dd February 19, 2013 | 25 | -.\" | |
24 | .\" | 26 | -.\" Check which macro package we use, and do other -mdoc setup. | |
25 | .\" Check which macro package we use, and do other -mdoc setup. | 27 | -.\" | |
26 | .\" | |||
27 | -.ie \n(.g \{\ | 28 | -.ie \n(.g \{\ | |
28 | -. if \*[.T]utf8 .tr \[la]\*(Lt | 29 | -. if \*[.T]utf8 .tr \[la]\*(Lt | |
29 | -. if \*[.T]utf8 .tr \[ra]\*(Gt | 30 | -. if \*[.T]utf8 .tr \[ra]\*(Gt | |
30 | -. ie d volume-ds-1 .ds tT gnu | 31 | -. ie d volume-ds-1 .ds tT gnu | |
31 | -. el .ds tT bsd | 32 | -. el .ds tT bsd | |
32 | -.\} | 33 | -.\} | |
33 | -.el .ds tT ucb | 34 | -.el .ds tT ucb | |
35 | +.Dd April 26, 2013 | |||
34 | .\" | 36 | .\" | |
35 | .\" Implement .Mx (MirBSD) | 37 | .\" Implement .Mx (MirBSD) | |
36 | .\" | 38 | .\" |