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 }
