Gentoo Archives: gentoo-commits

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