commit:     1c2e87534ac3075a381a5993a43c67413f3a416b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 10 17:54:55 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 10 17:54:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c2e8753

dev-libs/libffi: use dot-a.eclass

... to avoid installing broken static libraries w/ LTO.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libffi/libffi-3.4.6-r3.ebuild | 8 +++++++-
 dev-libs/libffi/libffi-3.4.8-r1.ebuild | 8 +++++++-
 dev-libs/libffi/libffi-9999.ebuild     | 8 +++++++-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/dev-libs/libffi/libffi-3.4.6-r3.ebuild 
b/dev-libs/libffi/libffi-3.4.6-r3.ebuild
index aa2b81610756..7773456321b4 100644
--- a/dev-libs/libffi/libffi-3.4.6-r3.ebuild
+++ b/dev-libs/libffi/libffi-3.4.6-r3.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit multilib-minimal preserve-libs
+inherit dot-a multilib-minimal preserve-libs
 
 MY_PV=${PV/_rc/-rc}
 MY_P=${PN}-${MY_PV}
@@ -55,6 +55,11 @@ src_prepare() {
        fi
 }
 
+src_configure() {
+       use static-libs && lto-guarantee-fat
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        # --includedir= path maintains a few properties:
        # 1. have stable name across libffi versions: some packages like
@@ -83,6 +88,7 @@ multilib_src_test() {
 multilib_src_install_all() {
        einstalldocs
        find "${ED}" -name "*.la" -delete || die
+       strip-lto-bytecode
 }
 
 pkg_preinst() {

diff --git a/dev-libs/libffi/libffi-3.4.8-r1.ebuild 
b/dev-libs/libffi/libffi-3.4.8-r1.ebuild
index b53a7ca31e89..86ce6f2a9d68 100644
--- a/dev-libs/libffi/libffi-3.4.8-r1.ebuild
+++ b/dev-libs/libffi/libffi-3.4.8-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit multilib-minimal preserve-libs
+inherit dot-a multilib-minimal preserve-libs
 
 MY_PV=${PV/_rc/-rc}
 MY_P=${PN}-${MY_PV}
@@ -48,6 +48,11 @@ src_prepare() {
        fi
 }
 
+src_configure() {
+       use static-libs && lto-guarantee-fat
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        # --includedir= path maintains a few properties:
        # 1. have stable name across libffi versions: some packages like
@@ -76,6 +81,7 @@ multilib_src_test() {
 multilib_src_install_all() {
        einstalldocs
        find "${ED}" -name "*.la" -delete || die
+       strip-lto-bytecode
 }
 
 pkg_preinst() {

diff --git a/dev-libs/libffi/libffi-9999.ebuild 
b/dev-libs/libffi/libffi-9999.ebuild
index e000b77b4e7a..c210e2cd6086 100644
--- a/dev-libs/libffi/libffi-9999.ebuild
+++ b/dev-libs/libffi/libffi-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit multilib-minimal preserve-libs
+inherit dot-a multilib-minimal preserve-libs
 
 MY_PV=${PV/_rc/-rc}
 MY_P=${PN}-${MY_PV}
@@ -44,6 +44,11 @@ src_prepare() {
        fi
 }
 
+src_configure() {
+       use static-libs && lto-guarantee-fat
+       multilib-minimal_src_configure
+}
+
 multilib_src_configure() {
        # --includedir= path maintains a few properties:
        # 1. have stable name across libffi versions: some packages like
@@ -72,6 +77,7 @@ multilib_src_test() {
 multilib_src_install_all() {
        einstalldocs
        find "${ED}" -name "*.la" -delete || die
+       strip-lto-bytecode
 }
 
 pkg_preinst() {

Reply via email to