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 1/2] app-shells/mksh: USE=static now uses the system libc
Date: Tue, 22 Oct 2019 17:03:25
Message-Id: 20191022170257.32621-1-contact@hacktivis.me
In Reply to: Re: [gentoo-proxy-maint] [PATCH 2/2] app-shells/mksh: Add USE=lksh 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 | 52 +++++++++++++++++++++++
16 app-shells/mksh/mksh-9999.ebuild | 12 +++---
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, 68 insertions(+), 6 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..ae3367f2066
26 --- /dev/null
27 +++ b/app-shells/mksh/mksh-57-r2.ebuild
28 @@ -0,0 +1,52 @@
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="http://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 +HOMEPAGE="http://mirbsd.de/mksh"
50 +
51 +LICENSE="BSD"
52 +SLOT="0"
53 +IUSE="static test"
54 +
55 +DEPEND="
56 + test? (
57 + dev-lang/perl
58 + sys-apps/ed
59 + )
60 +"
61 +
62 +S="${WORKDIR}/${PN}"
63 +
64 +src_compile() {
65 + tc-export CC
66 + use static && export LDSTATIC="-static"
67 + export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\""
68 + sh Build.sh -r || die
69 +}
70 +
71 +src_install() {
72 + into /
73 + dobin mksh
74 + doman mksh.1
75 + dodoc dot.mkshrc
76 +}
77 +
78 +src_test() {
79 + sh test.sh -v || die
80 +}
81 diff --git a/app-shells/mksh/mksh-9999.ebuild b/app-shells/mksh/mksh-9999.ebuild
82 index 3aa638fe245..ae3367f2066 100644
83 --- a/app-shells/mksh/mksh-9999.ebuild
84 +++ b/app-shells/mksh/mksh-9999.ebuild
85 @@ -14,28 +14,28 @@ if [[ $PV = 9999 ]]; then
86 KEYWORDS=""
87 else
88 SRC_URI="http://www.mirbsd.org/MirOS/dist/mir/mksh/${PN}-R${PV}.tgz"
89 - KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
90 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
91 fi
92
93 DESCRIPTION="MirBSD Korn Shell"
94 HOMEPAGE="http://mirbsd.de/mksh"
95 +
96 LICENSE="BSD"
97 SLOT="0"
98 IUSE="static test"
99 -RDEPEND="static? ( dev-libs/klibc )"
100 +
101 DEPEND="
102 - ${RDEPEND}
103 test? (
104 dev-lang/perl
105 sys-apps/ed
106 )
107 "
108 +
109 S="${WORKDIR}/${PN}"
110
111 src_compile() {
112 tc-export CC
113 - # we want to build static with klibc
114 - if use static; then export CC="/usr/bin/klcc"; export LDSTATIC="-static"; fi
115 + use static && export LDSTATIC="-static"
116 export CPPFLAGS="${CPPFLAGS} -DMKSH_DEFAULT_PROFILEDIR=\\\"${EPREFIX}/etc\\\""
117 sh Build.sh -r || die
118 }
119 @@ -48,5 +48,5 @@ src_install() {
120 }
121
122 src_test() {
123 - ./test.sh -v || die
124 + sh test.sh -v || die
125 }
126 diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask
127 index 11e10e8cf56..6d573a628c2 100644
128 --- a/profiles/base/package.use.mask
129 +++ b/profiles/base/package.use.mask
130 @@ -7,6 +7,10 @@
131 # This file is only for generic masks. For arch-specific masks (i.e.
132 # mask everywhere, unmask on arch/*) use arch/base.
133
134 +# Haelwenn (lanodan) Monnier <contact@×××××××××.me> (2019-09-19)
135 +# broken static-linking in glibc and maybe others
136 +>app-shells/mksh-57-r1 static
137 +
138 # Michał Górny <mgorny@g.o> (2019-10-05)
139 # net-libs/openslp is being removed.
140 net-nds/openldap slp
141 diff --git a/profiles/features/musl/package.use.mask b/profiles/features/musl/package.use.mask
142 index 28e05a4e490..42fe7d31b2c 100644
143 --- a/profiles/features/musl/package.use.mask
144 +++ b/profiles/features/musl/package.use.mask
145 @@ -16,3 +16,6 @@ sys-fs/e2fsprogs nls
146 # as a fail-only stub in musl. breaks horribly if enabled.
147 # bash: xmalloc: locale.c:81: cannot allocate 18 bytes (0 bytes allocated)
148 app-shells/bash mem-scramble
149 +
150 +# static linking works with musl
151 +app-shells/mksh -static
152 diff --git a/profiles/features/uclibc/package.use.mask b/profiles/features/uclibc/package.use.mask
153 index eb7b5dc0216..b00ae69a84a 100644
154 --- a/profiles/features/uclibc/package.use.mask
155 +++ b/profiles/features/uclibc/package.use.mask
156 @@ -22,3 +22,6 @@ dev-util/geany-plugins gtkspell
157 # 'append-libs', but xfsdump's build system doesn't honor $LIBS.
158 # So this is the best way for now. See 570548.
159 sys-fs/xfsdump nls
160 +
161 +# static linking works with uClibc
162 +app-shells/mksh -static
163 --
164 2.23.0

Replies

Subject Author
[gentoo-proxy-maint] [PATCH v2 2/2] app-shells/mksh: Add USE=lksh "Haelwenn (lanodan) Monnier" <contact@×××××××××.me>
Re: [gentoo-proxy-maint] [PATCH v2 1/2] app-shells/mksh: USE=static now uses the system libc "Michał Górny" <mgorny@g.o>