diff options
Diffstat (limited to 'dev-libs/libffi')
-rw-r--r-- | dev-libs/libffi/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/libffi/libffi-3.4.5.ebuild | 73 |
2 files changed, 75 insertions, 0 deletions
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest index 441a2f4b78d6..f49b92425ecf 100644 --- a/dev-libs/libffi/Manifest +++ b/dev-libs/libffi/Manifest @@ -5,7 +5,9 @@ AUX libffi-3.4.4-lld-17.patch 828 BLAKE2B 3462bc7db0cf754cb14a9fa0de6377da401c78 AUX libffi-3.4.4-sparc-float-typo.patch 830 BLAKE2B cdec73bd227f0bcfb077ae0383bdea782886015189da8f3ac89d693a94967f1055edaa34462815709327ebc8a2c3d195a89090b3553db0ee7fa03b92c2341043 SHA512 3314e46725276df7fc91032a2446b9a379d54e9eceee0875952424bd6fd8b6e41a5103bcb990865b18f59ab3264db3bd106474b27a24b3e00196e9257f111022 AUX libffi-3.4.4-trampoline-c99.patch 1174 BLAKE2B da7990d940b5b0e6944c5b87d599c4955b75224c4f679477fd89cafdfa2ec7cab175986b25db08f0674c56f012456a20bcfce4cdabca1feb224ebd6ebf741e40 SHA512 5ba4e178d4d15a6149bd0bfa44542329812a8c98bae6350b0d2c760c5d4c376cb789c1f313bc6004f458578b18718f23f35c900fb14e5e697b43a2ebd02d7e57 DIST libffi-3.4.4.tar.gz 1362394 BLAKE2B 189fe1ffe9507f204581b0ab09995dc7e7b761bb4eac7e338e9f5ff81431aebcef6c182c1839c9f9acb2706697a260c67e6d1351cf7e2aed7c4eb5d694f6f8fd SHA512 88680aeb0fa0dc0319e5cd2ba45b4b5a340bc9b4bcf20b1e0613b39cd898f177a3863aa94034d8e23a7f6f44d858a53dcd36d1bb8dee13b751ef814224061889 +DIST libffi-3.4.5.tar.gz 1391548 BLAKE2B 6da78473741ef3861c548e0f99b98f0b05381a02eb3016875881c8fcc3a7e518c2589a541180b2defcf9f2efda23b07a6196e1efeaedfaa4f2dfff25a1e9905b SHA512 4834735e533be450c541a75555252759c8e00694539d040f248a85dbbf58329938db6ae3e2ce74c3e4e3c82e97eccedee1ea0caff1afd8dacd8976a1aa08702a EBUILD libffi-3.4.4-r2.ebuild 2434 BLAKE2B b4e7209406b797ccd41f7fab8ca7c3d4eb2453b2b35fb4a66076fdefa16a346bb6d9fba77fe27dbfa1b9b93a557c3abb7eae03992560477ff2ebd309715c8eec SHA512 de765af9a7397af03a32639dcf016da774308db2cc7e321b366dff6a162a633d2f5c57cfdbf6e8eb9e6c3deefe195de08f4ffe1c4366c93397989840107f9d0d EBUILD libffi-3.4.4-r3.ebuild 2505 BLAKE2B f19bc8a8647c27b43adcac916b0f3777ba09cdd08375eb5625ab5754fb691f56f05d49cf2dbad764bcb99cee93088c4ceaf8c0cd30e4e0565b7aa8382098a607 SHA512 0d7b3114383901960e8bf5b054bab7631910933e51f0faa0de41ba7e9ccba2c8f714770cdf744b65c7f1aa517469a42ecb48ffc91c517b38a568b00d3b2ffcd4 EBUILD libffi-3.4.4-r4.ebuild 2554 BLAKE2B 08e2c1f2860a9447e34ba67e7d19b95b2ca65ccf33dda9b1686d45d4e71321f4b2f78cb00f06539eefc292019c17bd570f2238bd263945c7901a57ff1c8cb9ad SHA512 65cf061acbe26d6c44cb69bf01c86d78cfe2674b03154c736c7b2cfb15a6bedf4037582372adcec0c3ce2fa41d35d9a75a5b9e02337243df5ce8cf8024a33e32 +EBUILD libffi-3.4.5.ebuild 2284 BLAKE2B 6bbe0dff74bb200acc138490e997874bbc04d51ef94f07f62d9b70989e56af36c159488fc4dabce93a7b807dd588184c64099e2ebc460eb6c0f548812cb3a613 SHA512 35db3a0397c54acc79e657991144cbfc19e39dd4deba63cecec3eaf256a315b3b599aa28c8c6929a6b1841124d28323402b352937f7df8a4109fa16f47e960bc MISC metadata.xml 2110 BLAKE2B 2653be2cf09c047e45e489d7265d00165ddab2f94744988e4e8bca449bd1e40eeab74cb0b8d7d47a2d8b73563869460fcccb06e1fbccad697a9f213be362cb03 SHA512 e1a280792b929d38451fea1eb360053ed3a452592094f3e327ce4a4ff7eb8e0119435e8ee98f215585d8d98440512b5b68f92d1cd472a3bfd12e2f382e1981a1 diff --git a/dev-libs/libffi/libffi-3.4.5.ebuild b/dev-libs/libffi/libffi-3.4.5.ebuild new file mode 100644 index 000000000000..999a90fa9eaa --- /dev/null +++ b/dev-libs/libffi/libffi-3.4.5.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Portable, high level programming interface to various calling conventions" +HOMEPAGE="https://sourceware.org/libffi/" +SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P} + +LICENSE="MIT" +# This is a core package which is depended on by e.g. Python. +# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users +# with FEATURES="-preserved-libs" or another package manager if SONAME changes. +SLOT="0/8" # SONAME=libffi.so.8 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="debug exec-static-trampoline pax-kernel static-libs test" + +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-util/dejagnu )" + +src_prepare() { + default + + if [[ ${CHOST} == arm64-*-darwin* ]] ; then + # ensure we use aarch64 asm, not x86 on arm64 + sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ + configure configure.host || die + fi +} + +multilib_src_configure() { + # --includedir= path maintains a few properties: + # 1. have stable name across libffi versions: some packages like + # dev-lang/ghc or kde-frameworks/networkmanager-qt embed + # ${includedir} at build-time. Don't require those to be + # rebuilt unless SONAME changes. bug #695788 + # + # We use /usr/.../${PN} (instead of former /usr/.../${P}). + # + # 2. have ${ABI}-specific location as ffi.h is target-dependent. + # + # We use /usr/$(get_libdir)/... to have ABI identifier. + ECONF_SOURCE="${S}" econf \ + --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ + --disable-multi-os-directory \ + $(use_enable static-libs static) \ + $(use_enable exec-static-trampoline exec-static-tramp) \ + $(use_enable pax-kernel pax_emutramp) \ + $(use_enable debug) +} + +multilib_src_test() { + emake -Onone check +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/libffi.so.7 +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 +} |