Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
On 11/26/17 10:50 AM, Andreas K. Huettel wrote: > Am Samstag, 25. November 2017, 15:01:20 CET schrieb Anthony G. Basile: >> Hi everyone, >> >> With the stabilization of gcc-6.4.0, the uclibc build broke because the >> eclass requires UCLIBC_VER to be define on uclibc systems else it will >> die(). Since uclibc specific patches are no longer needed in gcc-6 and >> above, we don't want to error out in the eclass when the patchset is not >> found. >> > > I'd guard this so it only applies to gcc-6 and later... for the simple reason > that > otherwise people will try to emerge some historical gcc versions and fail.. I don't think that's necessary because the ebuild is supposed to provide a value of UCLIBC_VER if and only if a patchset is needed, and writing the ebuild is up to us toolchain folks. I can see the possibility of upstream porting the fix to versions of gcc previous to 6 and then we'd have to go back and hack away at the toolchain.eclass. I'm planning to use the same logic for musl specific patches: if MUSL_VER is provided in the gcc ebuild, then there is a musl patchset to be applied, otherwise there isn't. This seems to be the cleanest approach without littering the eclass with tc_version_is_at_least. Comment? > > Otherwise WFM > > diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass > index 503f7dbe94f..58d859dfaf3 100644 > --- a/eclass/toolchain.eclass > +++ b/eclass/toolchain.eclass > @@ -378,9 +378,6 @@ toolchain_pkg_pretend() { > "in your make.conf if you want to use this > version." > fi > > - [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \ > - die "Sorry, this version does not support uClibc" > - > if ! use_if_iuse cxx ; then > use_if_iuse go && ewarn 'Go requires a C++ compiler, > disabled due to USE="-cxx"' > use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ > compiler, disabled due to USE="-cxx"' > -- Anthony G. Basile, Ph.D. Gentoo Linux Developer [Hardened] E-Mail: bluen...@gentoo.org GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA GnuPG ID : F52D4BBA
Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
Am Samstag, 25. November 2017, 15:01:20 CET schrieb Anthony G. Basile: > Hi everyone, > > With the stabilization of gcc-6.4.0, the uclibc build broke because the > eclass requires UCLIBC_VER to be define on uclibc systems else it will > die(). Since uclibc specific patches are no longer needed in gcc-6 and > above, we don't want to error out in the eclass when the patchset is not > found. > I'd guard this so it only applies to gcc-6 and later... for the simple reason that otherwise people will try to emerge some historical gcc versions and fail.. Otherwise WFM diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 503f7dbe94f..58d859dfaf3 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -378,9 +378,6 @@ toolchain_pkg_pretend() { "in your make.conf if you want to use this version." fi - [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \ - die "Sorry, this version does not support uClibc" - if ! use_if_iuse cxx ; then use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"' use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"' -- 2.13.6 > Note that there are some musl specific patches which I would like to > migrate out of the overlay and into the tree. In a future patch, I'd > like to duplicate the uclibc code for musl in toolchain.eclass. > > Feedback welcome. -- Andreas K. Hüttel dilfri...@gentoo.org Gentoo Linux developer (council, perl, libreoffice) signature.asc Description: This is a digitally signed message part.
[gentoo-dev] Patch for toolchain.eclass for uclibc-ng
Hi everyone, With the stabilization of gcc-6.4.0, the uclibc build broke because the eclass requires UCLIBC_VER to be define on uclibc systems else it will die(). Since uclibc specific patches are no longer needed in gcc-6 and above, we don't want to error out in the eclass when the patchset is not found. Note that there are some musl specific patches which I would like to migrate out of the overlay and into the tree. In a future patch, I'd like to duplicate the uclibc code for musl in toolchain.eclass. Feedback welcome. -- Anthony G. Basile, Ph.D. Gentoo Linux Developer [Hardened] E-Mail: bluen...@gentoo.org GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA GnuPG ID : F52D4BBA From 909298f47c98f698923c834f67e53bed3bc6ab25 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Sat, 25 Nov 2017 08:47:41 -0500 Subject: [PATCH] eclass/toolchain.eclass: do not die if uclibc patches are not available gcc-6 and above no longer needs uclibc specific patches, so we don't die if the patchset is not available. We do, however, still apply it if UCLIBC_VER is defined in the ebuild to future proof the code in case we need to reintroduce the patchset in the future. --- eclass/toolchain.eclass | 3 --- 1 file changed, 3 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 503f7dbe94f..58d859dfaf3 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -378,9 +378,6 @@ toolchain_pkg_pretend() { "in your make.conf if you want to use this version." fi - [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \ - die "Sorry, this version does not support uClibc" - if ! use_if_iuse cxx ; then use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"' use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"' -- 2.13.6
[gentoo-dev] Patch for toolchain.eclass for uclibc-ng
-- Anthony G. Basile, Ph.D. Gentoo Linux Developer [Hardened] E-Mail: bluen...@gentoo.org GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA GnuPG ID : F52D4BBA From 909298f47c98f698923c834f67e53bed3bc6ab25 Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Sat, 25 Nov 2017 08:47:41 -0500 Subject: [PATCH] eclass/toolchain.eclass: do not die if uclibc patches are not available gcc-6 and above no longer needs uclibc specific patches, so we don't die if the patchset is not available. We do, however, still apply it if UCLIBC_VER is defined in the ebuild to future proof the code in case we need to reintroduce the patchset in the future. --- eclass/toolchain.eclass | 3 --- 1 file changed, 3 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 503f7dbe94f..58d859dfaf3 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -378,9 +378,6 @@ toolchain_pkg_pretend() { "in your make.conf if you want to use this version." fi - [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \ - die "Sorry, this version does not support uClibc" - if ! use_if_iuse cxx ; then use_if_iuse go && ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"' use_if_iuse objc++ && ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"' -- 2.13.6