diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-12-13 05:39:05 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-12-13 05:39:05 +0000 |
commit | 22b4e2ee9c8011b75d7c030d6129a7487494aeba (patch) | |
tree | dac0fe56378ac0d61ca4558245fb3702bbf89821 /dev-libs/libffi | |
parent | 05644e4ce4886d97a712fcdca7d4144a7ced4191 (diff) |
gentoo auto-resync : 13:12:2023 - 05:39:04
Diffstat (limited to 'dev-libs/libffi')
-rw-r--r-- | dev-libs/libffi/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/libffi/files/libffi-3.4.4-lld-17.patch | 34 | ||||
-rw-r--r-- | dev-libs/libffi/libffi-3.4.4-r3.ebuild | 82 |
3 files changed, 118 insertions, 0 deletions
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest index 373dfbbe1e4b..bd851be7e9f2 100644 --- a/dev-libs/libffi/Manifest +++ b/dev-libs/libffi/Manifest @@ -1,9 +1,11 @@ AUX libffi-3.4.4-hppa-closure-function-ptrs.patch 5971 BLAKE2B ee754ca2d142022191cae572811082baed8321bc43a13efa4123bb455a721f0b88a8458a0337f3fe9572da9bc1251a1927ba7b2ceda926be0e25744cbe00875c SHA512 3384e316bdaf35022b0138f5ca4d51afab13c098278fa4d9780dc8400c524e4b49e51955e0c41a1bc7e7d2b959b1a808f91ffd2c5bd10009db38150d770dfa4a AUX libffi-3.4.4-hppa-jump-table.patch 7872 BLAKE2B c78216a9912e26e74733870d1a0f8825d426ef2e72eeed1541695bdfa058f0e029844639018579f61f03bd1b8b399e4b70f3c3760646a569425414b3630dbe89 SHA512 5e72ceede9902a7e236204f930f16b387164f7bff8762b881f1eecb2b8431684e061ab086ec0b1e9d73e23affb1b618ef5dc051f47d3029c45f41eef328e42ff AUX libffi-3.4.4-hppa-large-struct.patch 1129 BLAKE2B 3b172af9af01c629ce567309893e1b342b039a53a4992529b8395a426ed74a1741d6dceb660cb2b1d8c2ba1057e91bd08a52c54192ec1d429710322d2fe61ff9 SHA512 77eb9ca86651f550c4c9ae7b508cc0651bea7e17feac6f2a35963b1838c70aeeb2166606fe39f70e9e058a41a53979f2c599c1869a4714a420f2bb006d14107a +AUX libffi-3.4.4-lld-17.patch 828 BLAKE2B 3462bc7db0cf754cb14a9fa0de6377da401c78d021d5e86fc51501d78e4c1104bd821093047af557f1ef8bb375b2eff7c26972524bf179fdfd926089fd8fefc7 SHA512 48d804fe7167c373c0cb3aafc969aedf555651d698857a791062d81e77ba88ba5db3fcabdf975040e19298d418ae12161160fc31e5515017cfc441fc61e66e63 AUX libffi-3.4.4-sparc-float-typo.patch 830 BLAKE2B cdec73bd227f0bcfb077ae0383bdea782886015189da8f3ac89d693a94967f1055edaa34462815709327ebc8a2c3d195a89090b3553db0ee7fa03b92c2341043 SHA512 3314e46725276df7fc91032a2446b9a379d54e9eceee0875952424bd6fd8b6e41a5103bcb990865b18f59ab3264db3bd106474b27a24b3e00196e9257f111022 DIST libffi-3.4.4.tar.gz 1362394 BLAKE2B 189fe1ffe9507f204581b0ab09995dc7e7b761bb4eac7e338e9f5ff81431aebcef6c182c1839c9f9acb2706697a260c67e6d1351cf7e2aed7c4eb5d694f6f8fd SHA512 88680aeb0fa0dc0319e5cd2ba45b4b5a340bc9b4bcf20b1e0613b39cd898f177a3863aa94034d8e23a7f6f44d858a53dcd36d1bb8dee13b751ef814224061889 EBUILD libffi-3.4.4-r1.ebuild 2386 BLAKE2B 2fed1f1f77934bcd7cb23bb9121205f4d89d35af7415b684fbccb20559fa34c266bc8e43076e38f5c8417d84fc3822ab374cb7ccbcf1528e76ad6b5d8e8378ec SHA512 ee51d4c56849f5e8f35d71ea01b82fb4b34fdceef9a6fa4af2c3a99eadb54ce140389336c8f00e6ce9172f8a385e48ce33aee9e274ca0ee47a3f12b862c7ca33 EBUILD libffi-3.4.4-r2.ebuild 2442 BLAKE2B 690b00a0f8211039ed20126515468c8042161fee63cfd6d2f600dc9c548ac389e440543b9609326a15c70bd9310fcb0c4534387f7e1309e4d3926d1a30cddb10 SHA512 3acd597611c1ea754f4cd5963a84ef23b1d5469e5b490eda944756a915501c29839a41e6bbda4409a2cb213e1c8eb19ccdc7ca56dc2041aa85758e5f3900fef4 +EBUILD libffi-3.4.4-r3.ebuild 2513 BLAKE2B 29712c6986e6288206241a3f8a4e0b6bf130178160a10897c0a41f8fbe023f0dac402e04d36013322c326986867209ef7379ab1909a25b00c727a8f7aadef749 SHA512 2547cc73f48de955a5e7da2ca1360613c05301bffc87b17347eb736dd28343675ff1b5cde6026fecddbed20bf9090edce7c463c4d67cf08d22a3a52f142666c2 EBUILD libffi-3.4.4.ebuild 2234 BLAKE2B e4bfd05eb22e58723aeae755e760106d5b03278ffcfc11c7d65c6db54bb489bf8a500a9a5b383fafe0d67792c51ed3319a080a43b853ae7b31a7a979966a4607 SHA512 94461cdfdd44e7eab0491063cbe845e4ccb448730135974864a4260d514bcd9ea81cb773a1f004b4ee8afb3937a5ec6ce55ba71bcc1556e8414048e06b50d6d3 MISC metadata.xml 2110 BLAKE2B 2653be2cf09c047e45e489d7265d00165ddab2f94744988e4e8bca449bd1e40eeab74cb0b8d7d47a2d8b73563869460fcccb06e1fbccad697a9f213be362cb03 SHA512 e1a280792b929d38451fea1eb360053ed3a452592094f3e327ce4a4ff7eb8e0119435e8ee98f215585d8d98440512b5b68f92d1cd472a3bfd12e2f382e1981a1 diff --git a/dev-libs/libffi/files/libffi-3.4.4-lld-17.patch b/dev-libs/libffi/files/libffi-3.4.4-lld-17.patch new file mode 100644 index 000000000000..8e87814b23bf --- /dev/null +++ b/dev-libs/libffi/files/libffi-3.4.4-lld-17.patch @@ -0,0 +1,34 @@ +https://bugs.gentoo.org/915086 +https://github.com/libffi/libffi/pull/800 + +From 65f6869fd74630a9252ef89971b725b921f17061 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Tue, 10 Oct 2023 06:32:02 +0300 +Subject: [PATCH] Put optional symbols behind ifdefs + +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- a/libffi.map.in ++++ b/libffi.map.in +@@ -33,7 +33,10 @@ LIBFFI_BASE_8.0 { + ffi_raw_to_ptrarray; + ffi_raw_size; + ++#if !FFI_NATIVE_RAW_API + ffi_java_raw_call; ++#endif ++ + ffi_java_ptrarray_to_raw; + ffi_java_raw_to_ptrarray; + ffi_java_raw_size; +@@ -62,8 +65,10 @@ LIBFFI_CLOSURE_8.0 { + ffi_prep_closure_loc; + ffi_prep_raw_closure; + ffi_prep_raw_closure_loc; ++#if !FFI_NATIVE_RAW_API + ffi_prep_java_raw_closure; + ffi_prep_java_raw_closure_loc; ++#endif + } LIBFFI_BASE_8.0; + #endif + + diff --git a/dev-libs/libffi/libffi-3.4.4-r3.ebuild b/dev-libs/libffi/libffi-3.4.4-r3.ebuild new file mode 100644 index 000000000000..d2f584049789 --- /dev/null +++ b/dev-libs/libffi/libffi-3.4.4-r3.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2023 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 )" + +PATCHES=( + "${FILESDIR}"/${P}-hppa-large-struct.patch + "${FILESDIR}"/${P}-hppa-closure-function-ptrs.patch + "${FILESDIR}"/${P}-hppa-jump-table.patch + "${FILESDIR}"/${P}-sparc-float-typo.patch + "${FILESDIR}"/${P}-lld-17.patch +) + +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 +} |