commit:     6676442e3694fcd557ffdbffb028b9ee1fe6d830
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 26 08:32:53 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 26 08:33:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6676442e

sys-devel/binutils: make gprofng optional (masked USE flag)

We can enable this by default in future, but it's brand new
in 2.39 with several bugs:
- Doesn't build on musl (https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
- No man pages (https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
- Broken at runtime without Java 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
- binutils-config (and this ebuild?) needs adaptation first 
(https://bugs.gentoo.org/865113)

Bug: https://bugs.gentoo.org/865113
Signed-off-by: Sam James <sam <AT> gentoo.org>

 profiles/base/package.use.mask          |  4 ++++
 sys-devel/binutils/binutils-2.39.ebuild | 10 +++++++++-
 sys-devel/binutils/binutils-9999.ebuild | 10 +++++++++-
 sys-devel/binutils/metadata.xml         |  1 +
 4 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/profiles/base/package.use.mask b/profiles/base/package.use.mask
index 81fc4c65ee87..9678d0c1b0eb 100644
--- a/profiles/base/package.use.mask
+++ b/profiles/base/package.use.mask
@@ -6,6 +6,10 @@
 # This file is only for generic masks. For arch-specific masks (i.e.
 # mask everywhere, unmask on arch/*) use arch/base.
 
+# Sam James <[email protected]> (2022-08-26)
+# Broken at runtime for now (bug #865113).
+sys-devel/binutils gprofng
+
 # Matthew Smith <[email protected]> (2022-08-19)
 # Upstream recommends that tbb be built with a patch to avoid bugs.
 # https://github.com/rui314/mold/releases/tag/v1.4.1

diff --git a/sys-devel/binutils/binutils-2.39.ebuild 
b/sys-devel/binutils/binutils-2.39.ebuild
index d3766ed10148..297f02af663b 100644
--- a/sys-devel/binutils/binutils-2.39.ebuild
+++ b/sys-devel/binutils/binutils-2.39.ebuild
@@ -8,7 +8,7 @@ inherit elisp-common libtool flag-o-matic gnuconfig 
strip-linguas toolchain-func
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
 LICENSE="GPL-3+"
-IUSE="cet default-gold doc emacs gold multitarget +nls pgo +plugins 
static-libs test vanilla"
+IUSE="cet default-gold doc emacs gold gprofng multitarget +nls pgo +plugins 
static-libs test vanilla"
 REQUIRED_USE="default-gold? ( gold )"
 
 # Variables that can be set here  (ignored for live ebuilds)
@@ -286,6 +286,14 @@ src_configure() {
                # Ideally we would like automagic-or-disabled here.
                # But the check does not quite work on i686: bug #760926.
                $(use_enable cet)
+
+               # We can enable this by default in future, but it's brand new
+               # in 2.39 with several bugs:
+               # - Doesn't build on musl 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
+               # - No man pages 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
+               # - Broken at runtime without Java 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
+               # - binutils-config (and this ebuild?) needs adaptation first 
(https://bugs.gentoo.org/865113)
+               $(use_enable gprofng)
        )
 
        if ! is_cross ; then

diff --git a/sys-devel/binutils/binutils-9999.ebuild 
b/sys-devel/binutils/binutils-9999.ebuild
index aa5e1dcfdffe..98858772e782 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -8,7 +8,7 @@ inherit elisp-common libtool flag-o-matic gnuconfig 
strip-linguas toolchain-func
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
 LICENSE="GPL-3+"
-IUSE="cet default-gold doc emacs +gold multitarget +nls pgo +plugins 
static-libs test vanilla"
+IUSE="cet default-gold doc emacs gold gprofng multitarget +nls pgo +plugins 
static-libs test vanilla"
 REQUIRED_USE="default-gold? ( gold )"
 
 # Variables that can be set here  (ignored for live ebuilds)
@@ -285,6 +285,14 @@ src_configure() {
                # Ideally we would like automagic-or-disabled here.
                # But the check does not quite work on i686: bug #760926.
                $(use_enable cet)
+
+               # We can enable this by default in future, but it's brand new
+               # in 2.39 with several bugs:
+               # - Doesn't build on musl 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29477)
+               # - No man pages 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29521)
+               # - Broken at runtime without Java 
(https://sourceware.org/bugzilla/show_bug.cgi?id=29479)
+               # - binutils-config (and this ebuild?) needs adaptation first 
(https://bugs.gentoo.org/865113)
+               $(use_enable gprofng)
        )
 
        if ! is_cross ; then

diff --git a/sys-devel/binutils/metadata.xml b/sys-devel/binutils/metadata.xml
index e05bf0bdd552..9b80e61912f4 100644
--- a/sys-devel/binutils/metadata.xml
+++ b/sys-devel/binutils/metadata.xml
@@ -9,6 +9,7 @@
                <flag name="cet">Enable Intel Control-flow Enforcement 
Technology.</flag>
                <flag name="default-gold">Set ld to point to ld.gold instead of 
ld.bfd</flag>
                <flag name="gold">Build ld.gold linker</flag>
+               <flag name="gprofng">Enable the next-generation gprofng 
profiler</flag>
                <flag name="pgo">Build binutils with Profile Guided 
Optimization (PGO) and LTO</flag>
                <flag name="plugins">Enable plugin support in tools</flag>
                <flag name="multitarget">Adds support to binutils for cross 
compiling (does not work with gas)</flag>

Reply via email to