commit:     04f82eb996d86d0efa79b96a4f7ee3220029ea20
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun May 18 11:33:32 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 18 12:05:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04f82eb9

sys-devel/binutils: EAPI 8, use dot-a

* EAPI 8 (which allows using dot-a)
* Use dot-a.eclass to avoid installing broken static libraries w/ LTO.
  Note that we have to do it even w/ USE=-static-libs, per
  b2d68e3a4bae7c7b144fabe58efdccf68c862628.

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

 sys-devel/binutils/binutils-2.44.9999.ebuild | 5 ++++-
 sys-devel/binutils/binutils-2.44.ebuild      | 7 +++++--
 sys-devel/binutils/binutils-9999.ebuild      | 5 ++++-
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/sys-devel/binutils/binutils-2.44.9999.ebuild 
b/sys-devel/binutils/binutils-2.44.9999.ebuild
index 63f2cf5091ce..ec413eb353d5 100644
--- a/sys-devel/binutils/binutils-2.44.9999.ebuild
+++ b/sys-devel/binutils/binutils-2.44.9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+inherit dot-a libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
 
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
@@ -194,6 +194,7 @@ src_configure() {
        strip-flags
        use cet && filter-flags -mindirect-branch -mindirect-branch=*
        use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+       lto-guarantee-fat
 
        local x
        echo
@@ -436,6 +437,8 @@ src_install() {
        emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
        rm -rf "${ED}"/${LIBPATH}/bin || die
        use static-libs || find "${ED}" -name '*.la' -delete
+       # Explicit "${ED}" as we need it to do things even w/ USE=-static-libs
+       strip-lto-bytecode "${ED}"
 
        # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
        cd "${ED}"/${LIBPATH} || die

diff --git a/sys-devel/binutils/binutils-2.44.ebuild 
b/sys-devel/binutils/binutils-2.44.ebuild
index 88da64be3e67..2203fe5beec1 100644
--- a/sys-devel/binutils/binutils-2.44.ebuild
+++ b/sys-devel/binutils/binutils-2.44.ebuild
@@ -1,9 +1,9 @@
 # Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
-inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+inherit dot-a libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
 
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
@@ -194,6 +194,7 @@ src_configure() {
        strip-flags
        use cet && filter-flags -mindirect-branch -mindirect-branch=*
        use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+       lto-guarantee-fat
 
        local x
        echo
@@ -436,6 +437,8 @@ src_install() {
        emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
        rm -rf "${ED}"/${LIBPATH}/bin || die
        use static-libs || find "${ED}" -name '*.la' -delete
+       # Explicit "${ED}" as we need it to do things even w/ USE=-static-libs
+       strip-lto-bytecode "${ED}"
 
        # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
        cd "${ED}"/${LIBPATH} || die

diff --git a/sys-devel/binutils/binutils-9999.ebuild 
b/sys-devel/binutils/binutils-9999.ebuild
index 2fd2fd1b0999..56005f5b75eb 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
+inherit dot-a libtool flag-o-matic gnuconfig strip-linguas toolchain-funcs
 
 DESCRIPTION="Tools necessary to build programs"
 HOMEPAGE="https://sourceware.org/binutils/";
@@ -194,6 +194,7 @@ src_configure() {
        strip-flags
        use cet && filter-flags -mindirect-branch -mindirect-branch=*
        use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+       lto-guarantee-fat
 
        local x
        echo
@@ -436,6 +437,8 @@ src_install() {
        emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
        rm -rf "${ED}"/${LIBPATH}/bin || die
        use static-libs || find "${ED}" -name '*.la' -delete
+       # Explicit "${ED}" as we need it to do things even w/ USE=-static-libs
+       strip-lto-bytecode "${ED}"
 
        # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905
        cd "${ED}"/${LIBPATH} || die

Reply via email to