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 v3 1/2] app-shells/mksh: USE=static now uses the system libc
Date: Mon, 25 Nov 2019 07:27:40
Message-Id: 20191125072722.6253-1-contact@hacktivis.me
In Reply to: Re: [gentoo-proxy-maint] [PATCH v2 1/2] app-shells/mksh: USE=static now uses the system libc by "Michał Górny"
1 Which means that glibc needs to be masked as it's static-linking is
2 broken.
3
4 I considered dietlibc as a replacement to klibc but:
5 - dietlibc is maintained-needed too
6 - it could be a elibc_glibc? in DEPEND but this would probably be a
7 noblah USE flag
8 - it would mean that arches where mksh is believed to work and some of
9 our libc do but not dietlibc or klibc (like alpha with bug #487672)
10 would be prevented from USE=static
11
12 Closes: https://bugs.gentoo.org/653388
13 Signed-off-by: Haelwenn (lanodan) Monnier <contact@×××××××××.me>
14 ---
15 app-shells/mksh/mksh-57-r2.ebuild | 54 +++++++++++++++++++++++
16 app-shells/mksh/mksh-9999.ebuild | 16 ++++---
17 profiles/base/package.use.mask | 4 ++
18 profiles/features/musl/package.use.mask | 3 ++
19 profiles/features/uclibc/package.use.mask | 3 ++
20 5 files changed, 73 insertions(+), 7 deletions(-)
21 create mode 100644 app-shells/mksh/mksh-57-r2.ebuild
22
23 diff --git a/app-shells/mksh/mksh-57-r2.ebuild b/app-shells/mksh/mksh-57-r2.ebuild
24 new file mode 100644
25 index 00000000000..b818b1caf1a
26 --- /dev/null
27 +++ b/app-shells/mksh/mksh-57-r2.ebuild
28 @@ -0,0 +1,54 @@
29 +# Copyright 1999-2019 Gentoo Authors
30 +# Distributed under the terms of the GNU General Public License v2
31 +
32 +EAPI=7
33 +
34 +inherit toolchain-funcs
35 +
36 +if [[ $PV = 9999 ]]; then
37 + inherit cvs
38 + ECVS_SERVER="anoncvs.mirbsd.org:/cvs"
39 + ECVS_MODULE="mksh"
40 + ECVS_USER="_anoncvs"
41 + ECVS_AUTH="ext"
42 + KEYWORDS=""
43 +else
44 + SRC_URI="https://www.mirbsd.org/MirOS/dist/mir/mksh/${PN}-R${PV}.tgz"
45 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
46 +fi
47 +
48 +DESCRIPTION="MirBSD Korn Shell"
49 +# Host is TLSv1.0-only, keep to http for compatibility with modern browsers
50 +HOMEPAGE="http://mirbsd.de/mksh"
51 +
52 +LICENSE="BSD"
53 +SLOT="0"
54 +IUSE="static test"
55 +RESTRICT="!test? ( test )"
56 +
57 +DEPEND="
58 + test? (
59 + dev-lang/perl
60 + sys-apps/ed
61 + )
62 +"
63 +
64 +S="${WORKDIR}/${PN}"
65 +
66 +src_compile() {
67 + tc-export CC
68 + use static && export LDSTATIC="-static"
69 + export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\""
70 + sh Build.sh -r || die
71 +}
72 +
73 +src_install() {
74 + into /
75 + dobin mksh
76 + doman mksh.1
77 + dodoc dot.mkshrc
78 +}
79 +
80 +src_test() {
81 + ./mksh test.sh -v || die
82 +}
83 diff --git a/app-shells/mksh/mksh-9999.ebuild b/app-shells/mksh/mksh-9999.ebuild
84 index 3aa638fe245..b818b1caf1a 100644
85 --- a/app-shells/mksh/mksh-9999.ebuild
86 +++ b/app-shells/mksh/mksh-9999.ebuild
87 @@ -13,29 +13,31 @@ if [[ $PV = 9999 ]]; then
88 ECVS_AUTH="ext"
89 KEYWORDS=""
90 else
91 - SRC_URI="http://www.mirbsd.org/MirOS/dist/mir/mksh/${PN}-R${PV}.tgz"
92 - KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
93 + SRC_URI="https://www.mirbsd.org/MirOS/dist/mir/mksh/${PN}-R${PV}.tgz"
94 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
95 fi
96
97 DESCRIPTION="MirBSD Korn Shell"
98 +# Host is TLSv1.0-only, keep to http for compatibility with modern browsers
99 HOMEPAGE="http://mirbsd.de/mksh"
100 +
101 LICENSE="BSD"
102 SLOT="0"
103 IUSE="static test"
104 -RDEPEND="static? ( dev-libs/klibc )"
105 +RESTRICT="!test? ( test )"
106 +
107 DEPEND="
108 - ${RDEPEND}
109 test? (
110 dev-lang/perl
111 sys-apps/ed
112 )
113 "
114 +
115 S="${WORKDIR}/${PN}"
116
117 src_compile() {
118 tc-export CC
119 - # we want to build static with klibc
120 - if use static; then export CC="/usr/bin/klcc"; export LDSTATIC="-static"; fi
121 + use static && export LDSTATIC="-static"
122 export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\""
123 sh Build.sh -r || die
124 }
125 @@ -48,5 +50,5 @@ src_install() {
126 }
127
128 src_test() {
129 - ./test.sh -v || die
130 + ./mksh test.sh -v || die
131 }
132 diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask
133 index d6371f5ea88..c9009411e0b 100644
134 --- a/profiles/base/package.use.mask
135 +++ b/profiles/base/package.use.mask
136 @@ -7,6 +7,10 @@
137 # This file is only for generic masks. For arch-specific masks (i.e.
138 # mask everywhere, unmask on arch/*) use arch/base.
139
140 +# Haelwenn (lanodan) Monnier <contact@×××××××××.me> (2019-09-19)
141 +# broken static-linking in glibc and maybe others
142 +>app-shells/mksh-57-r1 static
143 +
144 # Michał Górny <mgorny@g.o> (2019-11-09)
145 # eMovix is being removed.
146 kde-apps/k3b emovix
147 diff --git a/profiles/features/musl/package.use.mask b/profiles/features/musl/package.use.mask
148 index e8ef0ab07a3..117568e0a6b 100644
149 --- a/profiles/features/musl/package.use.mask
150 +++ b/profiles/features/musl/package.use.mask
151 @@ -20,3 +20,6 @@ app-shells/bash mem-scramble
152 # lto builds are known to cause an OOM issue during build.
153 mail-client/thunderbird lto
154 www-client/firefox lto
155 +
156 +# static linking works with musl
157 +app-shells/mksh -static
158 diff --git a/profiles/features/uclibc/package.use.mask b/profiles/features/uclibc/package.use.mask
159 index eb7b5dc0216..b00ae69a84a 100644
160 --- a/profiles/features/uclibc/package.use.mask
161 +++ b/profiles/features/uclibc/package.use.mask
162 @@ -22,3 +22,6 @@ dev-util/geany-plugins gtkspell
163 # 'append-libs', but xfsdump's build system doesn't honor $LIBS.
164 # So this is the best way for now. See 570548.
165 sys-fs/xfsdump nls
166 +
167 +# static linking works with uClibc
168 +app-shells/mksh -static
169 --
170 2.23.0

Replies

Subject Author
[gentoo-proxy-maint] [PATCH v3 2/2] app-shells/mksh: Add USE=lksh "Haelwenn (lanodan) Monnier" <contact@×××××××××.me>