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 | 30 +++++++++++++++++++++++++++++- |
8 |
app-shells/mksh/mksh-9999.ebuild | 30 +++++++++++++++++++++++++++++- |
9 |
3 files changed, 64 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 cb6db11f38c..d4a21a7175f 100644 |
28 |
--- a/app-shells/mksh/mksh-57-r2.ebuild |
29 |
+++ b/app-shells/mksh/mksh-57-r2.ebuild |
30 |
@@ -21,7 +21,7 @@ DESCRIPTION="MirBSD Korn Shell" |
31 |
HOMEPAGE="http://mirbsd.de/mksh" |
32 |
LICENSE="BSD" |
33 |
SLOT="0" |
34 |
-IUSE="static test" |
35 |
+IUSE="lksh static test" |
36 |
DEPEND=" |
37 |
test? ( |
38 |
dev-lang/perl |
39 |
@@ -30,10 +30,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 |
if use static; then export LDSTATIC="-static"; fi |
53 |
export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\"" |
54 |
+ |
55 |
+ if use lksh; then |
56 |
+ pushd "${S}"_lksh || die |
57 |
+ CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \ |
58 |
+ sh Build.sh -r -L || die |
59 |
+ popd || die |
60 |
+ fi |
61 |
+ |
62 |
sh Build.sh -r || die |
63 |
} |
64 |
|
65 |
@@ -42,8 +57,21 @@ src_install() { |
66 |
dobin mksh |
67 |
doman mksh.1 |
68 |
dodoc dot.mkshrc |
69 |
+ |
70 |
+ if use lksh; then |
71 |
+ pushd "${S}"_lksh || die |
72 |
+ dobin lksh |
73 |
+ doman lksh.1 |
74 |
+ popd || die |
75 |
+ fi |
76 |
} |
77 |
|
78 |
src_test() { |
79 |
./test.sh -v || die |
80 |
+ |
81 |
+ if use lksh; then |
82 |
+ pushd "${S}"_lksh || die |
83 |
+ ./test.sh -v || die |
84 |
+ popd || die |
85 |
+ fi |
86 |
} |
87 |
diff --git a/app-shells/mksh/mksh-9999.ebuild b/app-shells/mksh/mksh-9999.ebuild |
88 |
index cb6db11f38c..d4a21a7175f 100644 |
89 |
--- a/app-shells/mksh/mksh-9999.ebuild |
90 |
+++ b/app-shells/mksh/mksh-9999.ebuild |
91 |
@@ -21,7 +21,7 @@ DESCRIPTION="MirBSD Korn Shell" |
92 |
HOMEPAGE="http://mirbsd.de/mksh" |
93 |
LICENSE="BSD" |
94 |
SLOT="0" |
95 |
-IUSE="static test" |
96 |
+IUSE="lksh static test" |
97 |
DEPEND=" |
98 |
test? ( |
99 |
dev-lang/perl |
100 |
@@ -30,10 +30,25 @@ DEPEND=" |
101 |
" |
102 |
S="${WORKDIR}/${PN}" |
103 |
|
104 |
+src_prepare() { |
105 |
+ default |
106 |
+ if use lksh; then |
107 |
+ cp -pr "${S}" "${S}"_lksh || die |
108 |
+ fi |
109 |
+} |
110 |
+ |
111 |
src_compile() { |
112 |
tc-export CC |
113 |
if use static; then export LDSTATIC="-static"; fi |
114 |
export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\"" |
115 |
+ |
116 |
+ if use lksh; then |
117 |
+ pushd "${S}"_lksh || die |
118 |
+ CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \ |
119 |
+ sh Build.sh -r -L || die |
120 |
+ popd || die |
121 |
+ fi |
122 |
+ |
123 |
sh Build.sh -r || die |
124 |
} |
125 |
|
126 |
@@ -42,8 +57,21 @@ src_install() { |
127 |
dobin mksh |
128 |
doman mksh.1 |
129 |
dodoc dot.mkshrc |
130 |
+ |
131 |
+ if use lksh; then |
132 |
+ pushd "${S}"_lksh || die |
133 |
+ dobin lksh |
134 |
+ doman lksh.1 |
135 |
+ popd || die |
136 |
+ fi |
137 |
} |
138 |
|
139 |
src_test() { |
140 |
./test.sh -v || die |
141 |
+ |
142 |
+ if use lksh; then |
143 |
+ pushd "${S}"_lksh || die |
144 |
+ ./test.sh -v || die |
145 |
+ popd || die |
146 |
+ fi |
147 |
} |
148 |
-- |
149 |
2.21.0 |