From 145ac95c683ecda55a9b2cafc84dced2e9c29e03 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 24 Oct 2022 15:52:10 +0100 Subject: gentoo auto-resync : 24:10:2022 - 15:52:09 --- dev-libs/Manifest.gz | Bin 95950 -> 95944 bytes dev-libs/libclc/Manifest | 2 +- dev-libs/libclc/libclc-15.0.3.9999.ebuild | 67 ------------------------- dev-libs/libclc/libclc-15.0.4.9999.ebuild | 67 +++++++++++++++++++++++++ dev-libs/libffi/Manifest | 5 +- dev-libs/libffi/libffi-3.4.2-r1.ebuild | 78 ------------------------------ dev-libs/libffi/libffi-3.4.3.ebuild | 70 --------------------------- dev-libs/libffi/libffi-3.4.4.ebuild | 70 +++++++++++++++++++++++++++ 8 files changed, 140 insertions(+), 219 deletions(-) delete mode 100644 dev-libs/libclc/libclc-15.0.3.9999.ebuild create mode 100644 dev-libs/libclc/libclc-15.0.4.9999.ebuild delete mode 100644 dev-libs/libffi/libffi-3.4.2-r1.ebuild delete mode 100644 dev-libs/libffi/libffi-3.4.3.ebuild create mode 100644 dev-libs/libffi/libffi-3.4.4.ebuild (limited to 'dev-libs') diff --git a/dev-libs/Manifest.gz b/dev-libs/Manifest.gz index 68003a47a045..0a50cc2908c3 100644 Binary files a/dev-libs/Manifest.gz and b/dev-libs/Manifest.gz differ diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest index 5cef3423afb7..6b8e81a793ed 100644 --- a/dev-libs/libclc/Manifest +++ b/dev-libs/libclc/Manifest @@ -5,8 +5,8 @@ DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76 DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-b34ea582774c057d9bf5591174d683fd3d8aa02b.tar.gz 169735900 BLAKE2B d3a82a07f855b038071fc8eb3f41a88b4c220a577219985ecddeb9a535ea8b159dbad575699997d90a49db74c074b5f4354ad707e91d6934daaa7319e0d8ee9b SHA512 3f5525c7d893bdac701cff4cf82dafc31608920d788d9b7401654f320b2432528cf4ae8ef013182807b3dc0c5b758c71f1efeedb672dd47fdb8aa6f434dfb583 EBUILD libclc-14.0.6.ebuild 1390 BLAKE2B eb984d3f19f3b147d3974722c11218117240cad75033c12eb6664ef7d492e9ed77fd3c3dfef2fe59bb0c23716072b7ff3b10840b19b213fa96121d5aa7faa335 SHA512 66b74a3cb2ee6c54e6d348d64fe239f2ea72a43f28d1ab0cf22a4757cf87cadde427516d8aa74b4c95a947f38d01571f23e69388a04694527e2be9b0fd1bf94e -EBUILD libclc-15.0.3.9999.ebuild 1402 BLAKE2B 3c240051e1752ea60d9c040f75a5f95319e97754684c4e98c8bdcc8fe60ec266736d573f71929328f12ce96357ca33376244adf7305d674ec5e21a182b635bb6 SHA512 0986f1338d3048444632759c5276c1bbfc8ed4dc4450a83603985aea7643b26eef86d24550eba3b52be06e851c0ad4d866eee295e84385b26bc3df911c1ad9a6 EBUILD libclc-15.0.3.ebuild 1413 BLAKE2B 837a7970e531e7198059f14a7ab25f416852993c0775b76baf01e334cc6050ba0714cf74ce645b9c8aa6312152b5991b2aef2ae7d1d10d0235ab6724efe35a28 SHA512 047251cbf6e7185be5061d5d1e6db01833a97702b844511bc5a0db76b7323cb5f253f3ac77593c0b989515b7651c3bef2e3def8b017b1233457bd1ae4696dda5 +EBUILD libclc-15.0.4.9999.ebuild 1402 BLAKE2B 3c240051e1752ea60d9c040f75a5f95319e97754684c4e98c8bdcc8fe60ec266736d573f71929328f12ce96357ca33376244adf7305d674ec5e21a182b635bb6 SHA512 0986f1338d3048444632759c5276c1bbfc8ed4dc4450a83603985aea7643b26eef86d24550eba3b52be06e851c0ad4d866eee295e84385b26bc3df911c1ad9a6 EBUILD libclc-16.0.0.9999.ebuild 1423 BLAKE2B 340c42c12fee9ca7f7fca73019d304e182f4e67b4ccd01c742f893483246d95fceafb4bdbdb6b3832520803ab3a7c58b6a21ead7ae40e32c7f0a3cbd48cab862 SHA512 448e79b028b81c9a6a601abb16ed1b4e71ae73611820e5c0f4287a924011619fe9af7d06eb0f2458a3c07fec8e30d1298d3ab810d5bd8bd995fe4e3e894b84c5 EBUILD libclc-16.0.0_pre20221016.ebuild 1423 BLAKE2B 340c42c12fee9ca7f7fca73019d304e182f4e67b4ccd01c742f893483246d95fceafb4bdbdb6b3832520803ab3a7c58b6a21ead7ae40e32c7f0a3cbd48cab862 SHA512 448e79b028b81c9a6a601abb16ed1b4e71ae73611820e5c0f4287a924011619fe9af7d06eb0f2458a3c07fec8e30d1298d3ab810d5bd8bd995fe4e3e894b84c5 EBUILD libclc-16.0.0_pre20221023.ebuild 1423 BLAKE2B 340c42c12fee9ca7f7fca73019d304e182f4e67b4ccd01c742f893483246d95fceafb4bdbdb6b3832520803ab3a7c58b6a21ead7ae40e32c7f0a3cbd48cab862 SHA512 448e79b028b81c9a6a601abb16ed1b4e71ae73611820e5c0f4287a924011619fe9af7d06eb0f2458a3c07fec8e30d1298d3ab810d5bd8bd995fe4e3e894b84c5 diff --git a/dev-libs/libclc/libclc-15.0.3.9999.ebuild b/dev-libs/libclc/libclc-15.0.3.9999.ebuild deleted file mode 100644 index 95d6c01bbc6c..000000000000 --- a/dev-libs/libclc/libclc-15.0.3.9999.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) -inherit cmake llvm llvm.org python-any-r1 - -DESCRIPTION="OpenCL C library" -HOMEPAGE="https://libclc.llvm.org/" - -LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" -SLOT="0" -KEYWORDS="" -IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi" -IUSE="${IUSE_VIDEO_CARDS}" -REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )" - -LLVM_MAX_SLOT=15 -BDEPEND=" - ${PYTHON_DEPS} - || ( - sys-devel/clang:15 - sys-devel/clang:14 - sys-devel/clang:13 - ) -" - -LLVM_COMPONENTS=( libclc ) -llvm.org_set_globals - -llvm_check_deps() { - has_version -b "sys-devel/clang:${LLVM_SLOT}" -} - -pkg_setup() { - # we do not need llvm_pkg_setup - python-any-r1_pkg_setup -} - -src_configure() { - local libclc_targets=() - - use video_cards_nvidia && libclc_targets+=( - "nvptx--" - "nvptx64--" - "nvptx--nvidiacl" - "nvptx64--nvidiacl" - ) - use video_cards_r600 && libclc_targets+=( - "r600--" - ) - use video_cards_radeonsi && libclc_targets+=( - "amdgcn--" - "amdgcn-mesa-mesa3d" - "amdgcn--amdhsa" - ) - # TODO: spirv - [[ ${#libclc_targets[@]} ]] || die "libclc target missing!" - - libclc_targets=${libclc_targets[*]} - local mycmakeargs=( - -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}" - -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - ) - cmake_src_configure -} diff --git a/dev-libs/libclc/libclc-15.0.4.9999.ebuild b/dev-libs/libclc/libclc-15.0.4.9999.ebuild new file mode 100644 index 000000000000..95d6c01bbc6c --- /dev/null +++ b/dev-libs/libclc/libclc-15.0.4.9999.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake llvm llvm.org python-any-r1 + +DESCRIPTION="OpenCL C library" +HOMEPAGE="https://libclc.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )" +SLOT="0" +KEYWORDS="" +IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi" +IUSE="${IUSE_VIDEO_CARDS}" +REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )" + +LLVM_MAX_SLOT=15 +BDEPEND=" + ${PYTHON_DEPS} + || ( + sys-devel/clang:15 + sys-devel/clang:14 + sys-devel/clang:13 + ) +" + +LLVM_COMPONENTS=( libclc ) +llvm.org_set_globals + +llvm_check_deps() { + has_version -b "sys-devel/clang:${LLVM_SLOT}" +} + +pkg_setup() { + # we do not need llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_configure() { + local libclc_targets=() + + use video_cards_nvidia && libclc_targets+=( + "nvptx--" + "nvptx64--" + "nvptx--nvidiacl" + "nvptx64--nvidiacl" + ) + use video_cards_r600 && libclc_targets+=( + "r600--" + ) + use video_cards_radeonsi && libclc_targets+=( + "amdgcn--" + "amdgcn-mesa-mesa3d" + "amdgcn--amdhsa" + ) + # TODO: spirv + [[ ${#libclc_targets[@]} ]] || die "libclc target missing!" + + libclc_targets=${libclc_targets[*]} + local mycmakeargs=( + -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}" + -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + ) + cmake_src_configure +} diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest index bde9c2efcfe4..13ed8d0731eb 100644 --- a/dev-libs/libffi/Manifest +++ b/dev-libs/libffi/Manifest @@ -10,9 +10,8 @@ AUX libffi-3.4.2-backport-pr-722.patch 2813 BLAKE2B 6d89a670b64a62e88a6f9d4a59ae DIST libffi-3.3.tar.gz 1305466 BLAKE2B cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa SHA512 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f DIST libffi-3.4.2-loongarch64-20220428.patch.xz 64932 BLAKE2B d144dc28a7fce008bc5cd43d9e04125ea8e972324d77951d42039d46e818014079c871f87a0cdbec758b55320c02dff718cf2449f9c630cc899e8e1610784a60 SHA512 33715b21fe027692cc584d6524c03510af7876cc35f318221e1b2b91644cf165c02979c8b426228a8cc6c471e6a59d0435e761b6b7aef589c41a4f28caa36e62 DIST libffi-3.4.2.tar.gz 1351355 BLAKE2B a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308 SHA512 31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1 -DIST libffi-3.4.3.tar.gz 1358634 BLAKE2B 5e751c53a6b65316e438723810fbafe7f27732feb50466f1459d086c35a519f460b57968721212496a7502b0a5860546c84b22ec269e979728f18d0731fc918a SHA512 6e3620d3842ae0f983c47c3268364be32b6eeb2fc708b23d141531730e9149abb035c618b295be834999eadef64fabfa39df21c955c40473f3bbc9fd3170bad8 +DIST libffi-3.4.4.tar.gz 1362394 BLAKE2B 189fe1ffe9507f204581b0ab09995dc7e7b761bb4eac7e338e9f5ff81431aebcef6c182c1839c9f9acb2706697a260c67e6d1351cf7e2aed7c4eb5d694f6f8fd SHA512 88680aeb0fa0dc0319e5cd2ba45b4b5a340bc9b4bcf20b1e0613b39cd898f177a3863aa94034d8e23a7f6f44d858a53dcd36d1bb8dee13b751ef814224061889 EBUILD libffi-3.3-r2.ebuild 2257 BLAKE2B 5a212c60da8441e8fa7ae839bde431f4f74025cfb975836f3369138931ece80d140c109d79d5fba45bd5d684ae96abd273004e211c4782cfcd56d83714b76e93 SHA512 8d4be46533328714d161a6d52ef0316c2286f50d6cce723fa8c1ae9b2bb29336fbb666992c9662da4eaf0dd9d983be79f3177b3d398edceb1223a358340320be -EBUILD libffi-3.4.2-r1.ebuild 2528 BLAKE2B e94c8e41d88a5c24914d36fbcdc84b5ad9bf5454d1a440e2a6e8fb1a9e2f6da5ae4acc8fa4387422a949a200aab092cabd0fc324acd7fc58e1a95b6c9aa27795 SHA512 27b02c6d584a01b63b7ef542dee022fbdb550e4748c2c57f2d0b19c563793fe780a4fd73a00a7a3d25089699ea1d4a1489e5eaf5773ddb00994a48bd699658f4 EBUILD libffi-3.4.2-r2.ebuild 2603 BLAKE2B 26f4b9013b55be099f3d6235513e9797311efdbb6bce0b0da8900b16b4d1880b6a7f16b841edaf7200518b2e3ec89df0959835440a33fba59b8066931a0bbd81 SHA512 37885b1ae91666e275c56b70b32730163845157756f7197d44a3ee63e13529bbdae701bbc3798b472715150975c8eb494b07637d517bf1d7f526b5539b506709 -EBUILD libffi-3.4.3.ebuild 2286 BLAKE2B eeb2bc73ec94d064f82d8384ce153be1b5d06a483e830a5ad506a224364300ab0ff60a3439b35ca74f0fa04e45ea49e42e17f705db85fc59f83e8bab0b2a589f SHA512 24862afc48606c3470988b5eee04ce2856bbc5a5b78d4239f938a650968923d5df581dda70d217924dde182d05df43df91796c1cc8a31d7c95503b9d2a43639c +EBUILD libffi-3.4.4.ebuild 2286 BLAKE2B eeb2bc73ec94d064f82d8384ce153be1b5d06a483e830a5ad506a224364300ab0ff60a3439b35ca74f0fa04e45ea49e42e17f705db85fc59f83e8bab0b2a589f SHA512 24862afc48606c3470988b5eee04ce2856bbc5a5b78d4239f938a650968923d5df581dda70d217924dde182d05df43df91796c1cc8a31d7c95503b9d2a43639c MISC metadata.xml 2187 BLAKE2B b3d0fff226007e6f7f69b6d07b7ad703bca294c50d43101c1230acba690b6113eb15c979bcbfba590a5d8c209802fb7046c9fa8f98352b29c1be602cdc4d2b34 SHA512 144b470177885afb19c2f6f76552156c84fd2084be3840fb8168e75e8991ba99189d2549d6de567a5a2c881805099722c1dae9d67562e97ad05b2739f2d3ba92 diff --git a/dev-libs/libffi/libffi-3.4.2-r1.ebuild b/dev-libs/libffi/libffi-3.4.2-r1.ebuild deleted file mode 100644 index c5d52adb0a81..000000000000 --- a/dev-libs/libffi/libffi-3.4.2-r1.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-minimal preserve-libs - -MY_PV=${PV/_rc/-rc} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="a 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 - experimental-loong? ( https://dev.gentoo.org/~xen0n/distfiles/${MY_P}-loongarch64-20220428.patch.xz )" -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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="debug exec-static-trampoline experimental-loong pax-kernel static-libs test" - -RESTRICT="!test? ( test )" -BDEPEND="test? ( dev-util/dejagnu )" - -DOCS="ChangeLog* README.md" - -ECONF_SOURCE=${S} - -src_prepare() { - if use experimental-loong; then - PATCHES+=( "${WORKDIR}/${MY_P}-loongarch64-20220428.patch" ) - fi - - 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 \ - --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_install_all() { - find "${ED}" -name "*.la" -delete || die - einstalldocs -} - -pkg_preinst() { - preserve_old_lib /usr/$(get_libdir)/libffi.so.7 -} - -pkg_postinst() { - preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 -} diff --git a/dev-libs/libffi/libffi-3.4.3.ebuild b/dev-libs/libffi/libffi-3.4.3.ebuild deleted file mode 100644 index 0fc0888f7d94..000000000000 --- a/dev-libs/libffi/libffi-3.4.3.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-minimal preserve-libs - -MY_PV=${PV/_rc/-rc} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="a 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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_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 -} diff --git a/dev-libs/libffi/libffi-3.4.4.ebuild b/dev-libs/libffi/libffi-3.4.4.ebuild new file mode 100644 index 000000000000..0fc0888f7d94 --- /dev/null +++ b/dev-libs/libffi/libffi-3.4.4.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="a 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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_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 +} -- cgit v1.2.3