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