Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng

2017-11-26 Thread Anthony G. Basile
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

2017-11-26 Thread Andreas K. Huettel
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

2017-11-25 Thread 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.

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

2017-11-25 Thread Anthony G. Basile

-- 
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