commit:     a00c963757178daa0cd775d36f6fa5443516a29b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed May  7 21:21:32 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May  7 21:22:32 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a00c9637

sys-libs/binutils-libs: EAPI 8, use dot-a.eclass, fix tests

* Use EAPI 8
* ... so we can use dot-a.eclass, to not install broken static libraries
  with LTO (bug #924360)
* Fix tests which were sometimes not running because of broken detection
  (bug #955595)

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

 ...bs-9999.ebuild => binutils-libs-2.44-r1.ebuild} | 23 +++++++++++++++-------
 sys-libs/binutils-libs/binutils-libs-9999.ebuild   | 23 +++++++++++++++-------
 2 files changed, 32 insertions(+), 14 deletions(-)

diff --git a/sys-libs/binutils-libs/binutils-libs-9999.ebuild 
b/sys-libs/binutils-libs/binutils-libs-2.44-r1.ebuild
similarity index 93%
copy from sys-libs/binutils-libs/binutils-libs-9999.ebuild
copy to sys-libs/binutils-libs/binutils-libs-2.44-r1.ebuild
index 6b4dbbfd6979..d9210a6401ad 100644
--- a/sys-libs/binutils-libs/binutils-libs-9999.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.44-r1.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 flag-o-matic libtool toolchain-funcs multilib-minimal
+inherit dot-a flag-o-matic libtool toolchain-funcs multilib-minimal
 
 DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for 
external packages"
 HOMEPAGE="https://sourceware.org/binutils/";
@@ -53,8 +53,6 @@ RDEPEND="${DEPEND}
 
 RESTRICT="!test? ( test )"
 
-MY_BUILDDIR=${WORKDIR}/build
-
 MULTILIB_WRAPPED_HEADERS=(
        /usr/include/bfd.h
 )
@@ -94,7 +92,6 @@ src_unpack() {
        fi
 
        cd "${WORKDIR}" || die
-       mkdir -p "${MY_BUILDDIR}" || die
 }
 
 src_prepare() {
@@ -128,6 +125,11 @@ pkgversion() {
        [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
 }
 
+src_configure() {
+       use static-libs && lto-guarantee-fat
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        filter-lto
 
@@ -168,8 +170,8 @@ multilib_src_configure() {
                # USE=64-bit-bfd changes data structures of exported API
                --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex 
multitarget mt st)-$(usex 64-bit-bfd 64 def)
 
-               # avoid automagic dependency on (currently prefix) systems
-               # systems with debuginfod library, bug #754753
+               # Avoid automagic dependency on (currently prefix) systems
+               # with debuginfod library, bug #754753
                --without-debuginfod
 
                # Revisit if it's useful, we do have binutils[zstd] though
@@ -207,6 +209,12 @@ multilib_src_configure() {
                Makefile || die
 }
 
+multilib_src_test() {
+       # Without this, the default `src_test` check for the 'check' target
+       # with `-n` may fail with parallel make and silently skip tests (bug 
#955595)
+       emake check
+}
+
 multilib_src_install() {
        emake DESTDIR="${D}" install
 
@@ -221,4 +229,5 @@ multilib_src_install() {
 
 multilib_src_install_all() {
        use static-libs || find "${ED}"/usr -name '*.la' -delete
+       strip-lto-bytecode
 }

diff --git a/sys-libs/binutils-libs/binutils-libs-9999.ebuild 
b/sys-libs/binutils-libs/binutils-libs-9999.ebuild
index 6b4dbbfd6979..d9210a6401ad 100644
--- a/sys-libs/binutils-libs/binutils-libs-9999.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-9999.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 flag-o-matic libtool toolchain-funcs multilib-minimal
+inherit dot-a flag-o-matic libtool toolchain-funcs multilib-minimal
 
 DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for 
external packages"
 HOMEPAGE="https://sourceware.org/binutils/";
@@ -53,8 +53,6 @@ RDEPEND="${DEPEND}
 
 RESTRICT="!test? ( test )"
 
-MY_BUILDDIR=${WORKDIR}/build
-
 MULTILIB_WRAPPED_HEADERS=(
        /usr/include/bfd.h
 )
@@ -94,7 +92,6 @@ src_unpack() {
        fi
 
        cd "${WORKDIR}" || die
-       mkdir -p "${MY_BUILDDIR}" || die
 }
 
 src_prepare() {
@@ -128,6 +125,11 @@ pkgversion() {
        [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
 }
 
+src_configure() {
+       use static-libs && lto-guarantee-fat
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        filter-lto
 
@@ -168,8 +170,8 @@ multilib_src_configure() {
                # USE=64-bit-bfd changes data structures of exported API
                --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex 
multitarget mt st)-$(usex 64-bit-bfd 64 def)
 
-               # avoid automagic dependency on (currently prefix) systems
-               # systems with debuginfod library, bug #754753
+               # Avoid automagic dependency on (currently prefix) systems
+               # with debuginfod library, bug #754753
                --without-debuginfod
 
                # Revisit if it's useful, we do have binutils[zstd] though
@@ -207,6 +209,12 @@ multilib_src_configure() {
                Makefile || die
 }
 
+multilib_src_test() {
+       # Without this, the default `src_test` check for the 'check' target
+       # with `-n` may fail with parallel make and silently skip tests (bug 
#955595)
+       emake check
+}
+
 multilib_src_install() {
        emake DESTDIR="${D}" install
 
@@ -221,4 +229,5 @@ multilib_src_install() {
 
 multilib_src_install_all() {
        use static-libs || find "${ED}"/usr -name '*.la' -delete
+       strip-lto-bytecode
 }

Reply via email to