Gentoo Archives: gentoo-dev

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
Date: Sun, 26 Nov 2017 17:20:22
Message-Id: 73f07090-102e-379c-edc0-5d2d4b032b02@gentoo.org
In Reply to: Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng by "Andreas K. Huettel"
1 On 11/26/17 10:50 AM, Andreas K. Huettel wrote:
2 > Am Samstag, 25. November 2017, 15:01:20 CET schrieb Anthony G. Basile:
3 >> Hi everyone,
4 >>
5 >> With the stabilization of gcc-6.4.0, the uclibc build broke because the
6 >> eclass requires UCLIBC_VER to be define on uclibc systems else it will
7 >> die(). Since uclibc specific patches are no longer needed in gcc-6 and
8 >> above, we don't want to error out in the eclass when the patchset is not
9 >> found.
10 >>
11 >
12 > I'd guard this so it only applies to gcc-6 and later... for the simple reason that
13 > otherwise people will try to emerge some historical gcc versions and fail..
14
15 I don't think that's necessary because the ebuild is supposed to provide
16 a value of UCLIBC_VER if and only if a patchset is needed, and writing
17 the ebuild is up to us toolchain folks. I can see the possibility of
18 upstream porting the fix to versions of gcc previous to 6 and then we'd
19 have to go back and hack away at the toolchain.eclass.
20
21 I'm planning to use the same logic for musl specific patches: if
22 MUSL_VER is provided in the gcc ebuild, then there is a musl patchset to
23 be applied, otherwise there isn't.
24
25 This seems to be the cleanest approach without littering the eclass with
26 tc_version_is_at_least.
27
28 Comment?
29
30 >
31 > Otherwise WFM
32 >
33 > diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
34 > index 503f7dbe94f..58d859dfaf3 100644
35 > --- a/eclass/toolchain.eclass
36 > +++ b/eclass/toolchain.eclass
37 > @@ -378,9 +378,6 @@ toolchain_pkg_pretend() {
38 > "in your make.conf if you want to use this
39 > version."
40 > fi
41 >
42 > - [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \
43 > - die "Sorry, this version does not support uClibc"
44 > -
45 > if ! use_if_iuse cxx ; then
46 > use_if_iuse go && ewarn 'Go requires a C++ compiler,
47 > disabled due to USE="-cxx"'
48 > use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++
49 > compiler, disabled due to USE="-cxx"'
50 >
51
52
53 --
54 Anthony G. Basile, Ph.D.
55 Gentoo Linux Developer [Hardened]
56 E-Mail : blueness@g.o
57 GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
58 GnuPG ID : F52D4BBA