public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
@ 2017-11-25 13:57 Anthony G. Basile
  0 siblings, 0 replies; 4+ messages in thread
From: Anthony G. Basile @ 2017-11-25 13:57 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]


-- 
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail    : blueness@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA

[-- Attachment #2: 0001-eclass-toolchain.eclass-do-not-die-if-uclibc-patches.patch --]
[-- Type: text/plain, Size: 1188 bytes --]

From 909298f47c98f698923c834f67e53bed3bc6ab25 Mon Sep 17 00:00:00 2001
From: "Anthony G. Basile" <blueness@gentoo.org>
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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
@ 2017-11-25 14:01 Anthony G. Basile
  2017-11-26 15:50 ` Andreas K. Huettel
  0 siblings, 1 reply; 4+ messages in thread
From: Anthony G. Basile @ 2017-11-25 14:01 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

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    : blueness@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA

[-- Attachment #2: 0001-eclass-toolchain.eclass-do-not-die-if-uclibc-patches.patch --]
[-- Type: text/plain, Size: 1188 bytes --]

From 909298f47c98f698923c834f67e53bed3bc6ab25 Mon Sep 17 00:00:00 2001
From: "Anthony G. Basile" <blueness@gentoo.org>
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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
  2017-11-25 14:01 [gentoo-dev] Patch for toolchain.eclass for uclibc-ng Anthony G. Basile
@ 2017-11-26 15:50 ` Andreas K. Huettel
  2017-11-26 17:19   ` Anthony G. Basile
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas K. Huettel @ 2017-11-26 15:50 UTC (permalink / raw
  To: gentoo-dev; +Cc: Anthony G. Basile


[-- Attachment #1.1: Type: text/plain, Size: 1566 bytes --]

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
dilfridge@gentoo.org
Gentoo Linux developer (council, perl, libreoffice)

[-- Attachment #1.2: Type: text/html, Size: 8459 bytes --]

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 981 bytes --]

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [gentoo-dev] Patch for toolchain.eclass for uclibc-ng
  2017-11-26 15:50 ` Andreas K. Huettel
@ 2017-11-26 17:19   ` Anthony G. Basile
  0 siblings, 0 replies; 4+ messages in thread
From: Anthony G. Basile @ 2017-11-26 17:19 UTC (permalink / raw
  To: gentoo-dev

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    : blueness@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-26 17:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-25 14:01 [gentoo-dev] Patch for toolchain.eclass for uclibc-ng Anthony G. Basile
2017-11-26 15:50 ` Andreas K. Huettel
2017-11-26 17:19   ` Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2017-11-25 13:57 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox