summaryrefslogtreecommitdiff
path: root/dev-libs/libffi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-12-15 18:09:03 +0000
commit7bc9c63c9da678a7e6fceb095d56c634afd22c56 (patch)
tree4a67d50a439e9af63947e5f8b6ba3719af98b6c9 /dev-libs/libffi
parentb284a3168fa91a038925d2ecf5e4791011ea5e7d (diff)
gentoo resync : 15.12.2019
Diffstat (limited to 'dev-libs/libffi')
-rw-r--r--dev-libs/libffi/Manifest4
-rw-r--r--dev-libs/libffi/files/libffi-3.3-power7.patch39
-rw-r--r--dev-libs/libffi/libffi-3.3-r1.ebuild84
-rw-r--r--dev-libs/libffi/libffi-3.3.ebuild72
4 files changed, 199 insertions, 0 deletions
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
index 5b9a00093340..4a67d6181ff9 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -6,16 +6,20 @@ AUX libffi-3.2.1-include-path-autogen.patch 2901 BLAKE2B 836e61b6f64b9d649e96979
AUX libffi-3.2.1-include-path.patch 1156 BLAKE2B b5842f5dc6462edac0a5f58265246599d0283bb148f954fb79d8037e37ae332a664f57a201589b89022d63932d8a4e56c4b0c6a7a9a2240ae6602e847fff3a55 SHA512 f387590510ee5e3aedc03744fcf1faae35c105a81d4c2f646e495d489bc6467cd88d4a0a63b40a29fe620ad71db1a05c1fe483af63974222f366135f73f36cb3
AUX libffi-3.2.1-musl-emutramp.patch 1182 BLAKE2B 44db381b87d3f3f85b60379398b1a1d97437e14a8ab75d1035ee1cf498a6cb79b6d68a3a38d87e9e16ddd74d66a585064831a5e9370227289f2ddd297d90542d SHA512 cfd5106226fa45beaecf3b7eb039d77f5113e393b9e958625b8d015550daaea527365938a97f2ce5286777662df4848d6112961cb76653d8335950a734da43c5
AUX libffi-3.2.1-o-tmpfile-eacces.patch 660 BLAKE2B 651067a56e0bd0980a696ad12c8fa76d68d914fa370fb93c3f5f5759dd4837895a077510606fa451beafb75e7da19f42a9f88e3d56d6c283f684da695ad69960 SHA512 0887063ce1d812c31a34d662f852cf2944e008f2f60bd07941572f9032861e749968b090686e0d788f7cc3c5c8f1ed2388418ff000c42fd2d592f9837e782f65
+AUX libffi-3.3-power7.patch 1172 BLAKE2B 42408c0774553fde9c086ea3c2b0d0152d15a9dce63860e8884c683ce92553c3db38d6fdddcdee644f7819f56a28a12e639ee05a0956cf0fa3fed521157754f7 SHA512 17062f152ce2aa8d46e4e01c3c0b8e52c67d30c3405b9b2f40656dfe731c774fd67ff3ad397f426d9e56ca4fe4ec4908f5c8f6082d52975cf19171ca4e39c534
AUX libffi-3.3_rc0-hppa-no-TEXTREL.patch 2821 BLAKE2B fcc7eb0ed4a3f9b31718bf7761de8194a5fff6dc0c32be843e15e3da089ccd3819b656843844475199eb5ecc53312f4ad5c1b26d896df464d077ce15ee32eb13 SHA512 202b0685ecbf058a0414e1f2e673e4c793f5381b5714e5e8f025307068eb48f5c7eb85081859194b4500cbc5b6981f07fb4b6efc866071ea0e64f9231852444c
AUX libffi-3.3_rc0-ppc-macos-go.patch 2100 BLAKE2B 7ae1309b08be9293acee042d141bb632b0763af9e14200ef7206db763b01e289a68ce544709c8abc5a86adca5f1c0c895c6bf24f667429b118bf660ffa95bb39 SHA512 4684b87f1d36a0098ebde7996e4417718b3535eb66ec7c619be74fa30e4446849c246b491cad3aea1ac44bdf9e9fbf6e952000cb85299faf5b1d8598136b184b
DIST libffi-3.2.1.tar.gz 940837 BLAKE2B d202ccaa185acfd2476ed2a9b011891507cd8efbbda60f67c583268d1563853442ed829acecbf81c9b6b9a930345780bb7a4bd80e71e50ef544c7f4eab8cb01f SHA512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483
DIST libffi-3.3-rc0.tar.gz 1084854 BLAKE2B 2c38d60f17ef52bcf270178c13c218f6ee320c9785091621d4689bcf6cee31d07eaaca12790965e1ae3ad71ad2c408342743968bf1d23f81a07fbdf6cfd55b90 SHA512 e6e695d32cd6eb7d65983f32986fccdfc786a593d2ea18af30ce741f58cfa1eb264b1a8d09df5084cb916001aea15187b005c2149a0620a44397a4453b6137d4
DIST libffi-3.3-rc1.tar.gz 1122483 BLAKE2B c849f3c20bfb899f6659303bc739e894b842a3e0d85138a73915eafb8b2fe25b8d491f7eb023c735a9acd83933a9aa6cec562ca035513d774f5754c22a786fea SHA512 e1421d1bff8b71433dc06f6397f2f47894180b4f85e0a80b465b3a3edb904921e74be19d8ea15ef40f13275050e4b2c1432b6059372127c74560a4c73f18e18f
DIST libffi-3.3-rc2.tar.gz 1126497 BLAKE2B 40960c8e8bfb6b266192436a8cbfa7cf5d5e5290b753b3360f965ef28b99fa51fa887845b6a2646b02f4ca4c1472d381df0c63cb64d1412ace737a064c2bbf57 SHA512 d792fea8252e68178ba87a0a53087e46c126129e5c9094ea77ad1b4863e009904bd53f213eaa7f78133e7c5645c280a7523343a7e0b79607a61af90ded4cd36a
+DIST libffi-3.3.tar.gz 1305466 BLAKE2B cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa SHA512 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f
EBUILD libffi-3.2.1-r1.ebuild 2272 BLAKE2B b954d489dbc91b6e96bfd6184c769721c07a5d42b724b28d7302aea956a787a31267e2fd3fcadc76cd4e5f5b987150da7dceef16cb2f8cd66312a8ad0e444b9c SHA512 ed2e6c8bb1fdb8fcfbb6462deb5488aa8551f431c20f96787eafb9e56ae909a3494203908aa79fbb504b8c27a3c57bdb4c085068abd79c14d6e50640a4c17927
EBUILD libffi-3.2.1-r2.ebuild 2331 BLAKE2B eddb0fbdd95f528bdac1739e7d401eb595bac249d322e3f59a7409869d8a33cf19d29356c22286afec4fbfc2f05d5249fbc265c48f9b3332b87ef87aef43c6a5 SHA512 d802ce84be1a8da75315c2291f97a48d0cdb7f2f1f39b6bda9a1b52623e0c36c86405a7129fb168a759e6834aeabcb87e86a0af9314ebf0b92539901811b01b3
EBUILD libffi-3.2.1-r3.ebuild 2386 BLAKE2B 5b3e0429fa498c23aeb3950604089cf51f677229085e7d60b0b02c3413ae3328f6cfd78bdc399bf973d4f56412fde4399ede5584357c92282ea003d1f1712145 SHA512 bf4dbcceecce19e59f197383deb95967482f408f7ee02e2a0f32bb3f62a1a73b1115c0c60774376671aeaa51d03d225d481730f13f4688c697ae74417261d82e
EBUILD libffi-3.2.1.ebuild 1971 BLAKE2B c0f52976c95a892d9537d9834b4b1624f9ad99054990f3cb83548778eb05f882c79483be9ad900397e19c42d05c5d3038effaaffefc4a13f32d19d25ba07f23b SHA512 2d784dc96c51b78238a02de4570ef479aa54bca77e2b704f030c05a3e534285cb4dae44979c2c684b60aa030df5676a02ced2b3ad4e945e58697d8a872e46ba5
+EBUILD libffi-3.3-r1.ebuild 2713 BLAKE2B b28474075c916f1a0b41069782f54477a277b97f7c171cabf153236e3ffbc635dfd188279dd571a84a7af6dc7982d61b84df0d6bb6c119a53ba07c79707d7df6 SHA512 67adf25a459d4788d917463c3a43bb5f82b22a29eefbe2eb582a652c4fcf2a078afbaba5284765efe8a49d93043f14f5a87535f27bd582aaec9e9469f44c5de6
+EBUILD libffi-3.3.ebuild 2189 BLAKE2B 3317970c1d2b634eaa24f267efe66b1d2e25b41d2a016429ba4e1182f7fc4af89e50ddf220685831bb55e9e09550be7bbd640e3e33b94d9f32c4118af1aeed2c SHA512 7ae2bf15d3952120ac022578a41603fa93c8838415077882b716718df2e60763dc780d239f1ee90ca1b53be30508dc903d18d5a88e2c05cbc9b418224b0b2c26
EBUILD libffi-3.3_rc0.ebuild 2046 BLAKE2B ff84c9c3acd60f0fb191c0447987cdb3410e739456c94d8248e0a66b721fa74e5c5518a24a8edb008e1606e2d8b32b251154d9b6a8eeb84edb86c7b9bee9c4d6 SHA512 f8ca97d42cdb4da9c372424f64d4246fc85d0bbd8c2422a0c577e7d1db3759dc68c316a277b7fe6911ea1b8c56135a0297a01a4b59e5f3265f6bc3e79651f6e2
EBUILD libffi-3.3_rc1.ebuild 2006 BLAKE2B ed7da466fbf5ff5d0736544ef4d656f869c57472289a4e130d44e4d77757947427c1ae1d603a3f5a972c3bda1cb4b2347d7a1655c70b236fc621275dc10ce346 SHA512 cebfc9c5c6aa0a0b99832d482afcef6f78f12cfe1b7c61b9dd353b7c120ae5b2c2317f5a6b2154d5e886e5f324381bfdfd15f52337732b204f00f4f72a83ced8
EBUILD libffi-3.3_rc2.ebuild 2189 BLAKE2B 3317970c1d2b634eaa24f267efe66b1d2e25b41d2a016429ba4e1182f7fc4af89e50ddf220685831bb55e9e09550be7bbd640e3e33b94d9f32c4118af1aeed2c SHA512 7ae2bf15d3952120ac022578a41603fa93c8838415077882b716718df2e60763dc780d239f1ee90ca1b53be30508dc903d18d5a88e2c05cbc9b418224b0b2c26
diff --git a/dev-libs/libffi/files/libffi-3.3-power7.patch b/dev-libs/libffi/files/libffi-3.3-power7.patch
new file mode 100644
index 000000000000..83f518f4c2e3
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.3-power7.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/701128
+
+From 2138adb2a5b6a0bc2fe3518e0645eacc89b6f392 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 28 Nov 2019 00:02:42 +0000
+Subject: [PATCH] powerpc: fix build failure on power7 and older
+
+Build failure looks as:
+```
+libtool: compile: powerpc-unknown-linux-gnu-gcc \
+ -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ...
+In file included from src/powerpc/ffi.c:33:
+src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target
+ 65 | typedef __int128 float128;
+ | ^~~~~~~~
+```
+
+The fix avoids using __int128 in favour of aligned char[16].
+
+Closes: https://github.com/libffi/libffi/issues/531
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ src/powerpc/ffi_powerpc.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/powerpc/ffi_powerpc.h
++++ b/src/powerpc/ffi_powerpc.h
+@@ -62,7 +62,7 @@ typedef _Float128 float128;
+ #elif defined(__FLOAT128__)
+ typedef __float128 float128;
+ #else
+-typedef __int128 float128;
++typedef char float128[16] __attribute__((aligned(16)));
+ #endif
+
+ void FFI_HIDDEN ffi_closure_SYSV (void);
+--
+2.24.0
+
diff --git a/dev-libs/libffi/libffi-3.3-r1.ebuild b/dev-libs/libffi/libffi-3.3-r1.ebuild
new file mode 100644
index 000000000000..2377c7956365
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.3-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib multilib-minimal toolchain-funcs
+
+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"
+
+LICENSE="MIT"
+SLOT="0/7" # SONAME=libffi.so.7
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug pax_kernel static-libs test test-bhaible"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README.md"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
+ "${FILESDIR}"/${PN}-3.3_rc0-ppc-macos-go.patch
+ "${FILESDIR}"/${PN}-3.3-power7.patch
+)
+
+S=${WORKDIR}/${MY_P}
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+ # Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
+ if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+ local base="${T}"/conftest
+ echo 'int main() { }' > "${base}".c
+ $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+ if [ $? -eq 0 ]; then
+ eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+ eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+ die "The system is in inconsistent state with unknown libffi installed."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ if ! use test-bhaible; then
+ # These tests are very heavyweight (hours of runtime)
+ rm -v testsuite/libffi.bhaible/bhaible.exp || die
+ fi
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ # --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 pax_kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+ einstalldocs
+}
diff --git a/dev-libs/libffi/libffi-3.3.ebuild b/dev-libs/libffi/libffi-3.3.ebuild
new file mode 100644
index 000000000000..8e60ade28961
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib multilib-minimal toolchain-funcs
+
+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"
+
+LICENSE="MIT"
+SLOT="0/7" # SONAME=libffi.so.7
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug pax_kernel static-libs test test-bhaible"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README.md"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
+ "${FILESDIR}"/${PN}-3.3_rc0-ppc-macos-go.patch
+)
+
+S=${WORKDIR}/${MY_P}
+
+ECONF_SOURCE=${S}
+
+pkg_setup() {
+ # Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
+ if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
+ local base="${T}"/conftest
+ echo 'int main() { }' > "${base}".c
+ $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
+ if [ $? -eq 0 ]; then
+ eerror "The linker reported linking against -lffi to be working while it shouldn't have."
+ eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
+ die "The system is in inconsistent state with unknown libffi installed."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ if ! use test-bhaible; then
+ # These tests are very heavyweight (hours of runtime)
+ rm -v testsuite/libffi.bhaible/bhaible.exp || die
+ fi
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ econf \
+ --includedir="${EPREFIX}"/usr/$(get_libdir)/${P}/include \
+ --disable-multi-os-directory \
+ $(use_enable static-libs static) \
+ $(use_enable pax_kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name "*.la" -delete || die
+ einstalldocs
+}