Gentoo Archives: gentoo-proxy-maint

From: "Haelwenn (lanodan) Monnier" <contact@×××××××××.me>
To: gentoo-proxy-maint@l.g.o
Cc: "Haelwenn (lanodan) Monnier" <contact@×××××××××.me>
Subject: [gentoo-proxy-maint] [PATCH v2 2/2] app-shells/mksh: Add USE=lksh
Date: Tue, 22 Oct 2019 17:03:27
Message-Id: 20191022170257.32621-2-contact@hacktivis.me
In Reply to: [gentoo-proxy-maint] [PATCH v2 1/2] app-shells/mksh: USE=static now uses the system libc by "Haelwenn (lanodan) Monnier"
1 lksh is a variant of mksh intended for legacy scripts and strict
2 POSIX-compatibility
3
4 Signed-off-by: Haelwenn (lanodan) Monnier <contact@×××××××××.me>
5 ---
6 app-shells/mksh/metadata.xml | 6 ++++++
7 app-shells/mksh/mksh-57-r2.ebuild | 28 +++++++++++++++++++++++++++-
8 app-shells/mksh/mksh-9999.ebuild | 28 +++++++++++++++++++++++++++-
9 3 files changed, 60 insertions(+), 2 deletions(-)
10
11 diff --git a/app-shells/mksh/metadata.xml b/app-shells/mksh/metadata.xml
12 index 9df017effeb..c22c0afc77d 100644
13 --- a/app-shells/mksh/metadata.xml
14 +++ b/app-shells/mksh/metadata.xml
15 @@ -9,4 +9,10 @@
16 <email>proxy-maint@g.o</email>
17 <name>Proxy Maintainers</name>
18 </maintainer>
19 + <use>
20 + <flag name="lksh">
21 +variant that uses POSIX-compliant arithmetics with the host “long” data type
22 +and is automatically in POSIX mode when called as /bin/sh
23 + </flag>
24 + </use>
25 </pkgmetadata>
26 diff --git a/app-shells/mksh/mksh-57-r2.ebuild b/app-shells/mksh/mksh-57-r2.ebuild
27 index ae3367f2066..7d0ae08e130 100644
28 --- a/app-shells/mksh/mksh-57-r2.ebuild
29 +++ b/app-shells/mksh/mksh-57-r2.ebuild
30 @@ -22,7 +22,7 @@ HOMEPAGE="http://mirbsd.de/mksh"
31
32 LICENSE="BSD"
33 SLOT="0"
34 -IUSE="static test"
35 +IUSE="lksh static test"
36
37 DEPEND="
38 test? (
39 @@ -33,10 +33,25 @@ DEPEND="
40
41 S="${WORKDIR}/${PN}"
42
43 +src_prepare() {
44 + default
45 + if use lksh; then
46 + cp -pr "${S}" "${S}"_lksh || die
47 + fi
48 +}
49 +
50 src_compile() {
51 tc-export CC
52 use static && export LDSTATIC="-static"
53 export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\""
54 +
55 + if use lksh; then
56 + pushd "${S}"_lksh >/dev/null || die
57 + CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
58 + sh Build.sh -r -L || die
59 + popd >/dev/null || die
60 + fi
61 +
62 sh Build.sh -r || die
63 }
64
65 @@ -45,8 +60,19 @@ src_install() {
66 dobin mksh
67 doman mksh.1
68 dodoc dot.mkshrc
69 +
70 + dobin "${S}"_lksh/lksh
71 + doman "${S}"_lksh/lksh.1
72 }
73
74 src_test() {
75 + einfo "Testing regular mksh."
76 sh test.sh -v || die
77 +
78 + if use lksh; then
79 + einfo "Testing lksh, POSIX long-bit mksh."
80 + pushd "${S}"_lksh >/dev/null || die
81 + ./test.sh -v || die
82 + popd >/dev/null || die
83 + fi
84 }
85 diff --git a/app-shells/mksh/mksh-9999.ebuild b/app-shells/mksh/mksh-9999.ebuild
86 index ae3367f2066..7d0ae08e130 100644
87 --- a/app-shells/mksh/mksh-9999.ebuild
88 +++ b/app-shells/mksh/mksh-9999.ebuild
89 @@ -22,7 +22,7 @@ HOMEPAGE="http://mirbsd.de/mksh"
90
91 LICENSE="BSD"
92 SLOT="0"
93 -IUSE="static test"
94 +IUSE="lksh static test"
95
96 DEPEND="
97 test? (
98 @@ -33,10 +33,25 @@ DEPEND="
99
100 S="${WORKDIR}/${PN}"
101
102 +src_prepare() {
103 + default
104 + if use lksh; then
105 + cp -pr "${S}" "${S}"_lksh || die
106 + fi
107 +}
108 +
109 src_compile() {
110 tc-export CC
111 use static && export LDSTATIC="-static"
112 export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\""
113 +
114 + if use lksh; then
115 + pushd "${S}"_lksh >/dev/null || die
116 + CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
117 + sh Build.sh -r -L || die
118 + popd >/dev/null || die
119 + fi
120 +
121 sh Build.sh -r || die
122 }
123
124 @@ -45,8 +60,19 @@ src_install() {
125 dobin mksh
126 doman mksh.1
127 dodoc dot.mkshrc
128 +
129 + dobin "${S}"_lksh/lksh
130 + doman "${S}"_lksh/lksh.1
131 }
132
133 src_test() {
134 + einfo "Testing regular mksh."
135 sh test.sh -v || die
136 +
137 + if use lksh; then
138 + einfo "Testing lksh, POSIX long-bit mksh."
139 + pushd "${S}"_lksh >/dev/null || die
140 + ./test.sh -v || die
141 + popd >/dev/null || die
142 + fi
143 }
144 --
145 2.23.0