From ffe80045a9404b845d48ae052dc6a8826fee6fb2 Mon Sep 17 00:00:00 2001 From: Nicolas PARLANT Date: Tue, 16 Dec 2025 06:34:43 +0100 Subject: [PATCH] sys-libs/libsepol: use dot-a.eclass ... to avoid installing broken static libraries w/ LTO. Closes: https://bugs.gentoo.org/957978 Signed-off-by: Nicolas PARLANT Part-of: https://github.com/gentoo/gentoo/pull/45044 Closes: https://github.com/gentoo/gentoo/pull/45044 Signed-off-by: Sam James --- sys-libs/libsepol/libsepol-3.8.1.ebuild | 9 +++++++-- sys-libs/libsepol/libsepol-9999.ebuild | 11 ++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/sys-libs/libsepol/libsepol-3.8.1.ebuild b/sys-libs/libsepol/libsepol-3.8.1.ebuild index 37c01b9d4b73..06dc7151a40d 100644 --- a/sys-libs/libsepol/libsepol-3.8.1.ebuild +++ b/sys-libs/libsepol/libsepol-3.8.1.ebuild @@ -3,7 +3,7 @@ EAPI="8" -inherit toolchain-funcs multilib-minimal +inherit dot-a toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -34,6 +34,7 @@ src_prepare() { } my_make() { + use static-libs && lto-guarantee-fat emake \ PREFIX="${EPREFIX}/usr" \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ @@ -51,5 +52,9 @@ multilib_src_compile() { multilib_src_install() { my_make DESTDIR="${D}" install - use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die + if use static-libs; then + strip-lto-bytecode + else + rm "${ED}"/usr/$(get_libdir)/*.a || die + fi } diff --git a/sys-libs/libsepol/libsepol-9999.ebuild b/sys-libs/libsepol/libsepol-9999.ebuild index 95aea8cbafe3..ec76ef1ec0a4 100644 --- a/sys-libs/libsepol/libsepol-9999.ebuild +++ b/sys-libs/libsepol/libsepol-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" -inherit toolchain-funcs multilib-minimal +inherit dot-a toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -34,6 +34,7 @@ src_prepare() { } my_make() { + use static-libs && lto-guarantee-fat emake \ PREFIX="${EPREFIX}/usr" \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ @@ -51,5 +52,9 @@ multilib_src_compile() { multilib_src_install() { my_make DESTDIR="${D}" install - use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die + if use static-libs; then + strip-lto-bytecode + else + rm "${ED}"/usr/$(get_libdir)/*.a || die + fi }