summaryrefslogtreecommitdiff
path: root/dev-libs/libffi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-09-25 19:33:39 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-09-25 19:33:39 +0100
commita5b65c81168c90928784a1e92cda84ed5d6b9eb3 (patch)
tree4aa7483cd0ad7de54338afc8e7971417abe1dd81 /dev-libs/libffi
parente8f81810baa21f490d6910e8e2d424546b72a333 (diff)
gentoo resync : 25.09.2019
Diffstat (limited to 'dev-libs/libffi')
-rw-r--r--dev-libs/libffi/Manifest4
-rw-r--r--dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch31
-rw-r--r--dev-libs/libffi/libffi-3.2.1-r3.ebuild70
-rw-r--r--dev-libs/libffi/libffi-3.3_rc0.ebuild2
4 files changed, 105 insertions, 2 deletions
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
index befa2d6875ff..1933d01d74a8 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -4,6 +4,7 @@ AUX libffi-3.2.1-complex_alpha.patch 605 BLAKE2B 3b14addb7797ff99a465101487be49c
AUX libffi-3.2.1-ia64-small-struct.patch 2306 BLAKE2B 1bace1573d4bdb93e7be97a8609426d35a1217cbb0718e7580c2a3b646a7d493d4b7aecc25dee35f61f7e036904e6b7dde8d3d398842dab7149053da2a2761a3 SHA512 4f33d849210da633629e16e96779dce2e03c0d1e6f44b91b68410e35433378f8cf0a04736d161539ea368f54a713177e6e8df2fde93d40c6917d03ad74a99c2c
AUX libffi-3.2.1-include-path-autogen.patch 2901 BLAKE2B 836e61b6f64b9d649e969799e42c5dd808750ba51997d7486eef58e636ef2e1f215f9a26b5e88e61366d57e758688c4e69f578edd81167e1dbb0a8357f049150 SHA512 6c8b2d7dca0cdc6f69b2393777f546b6722b6260cfa6fcb814915975227185cc3b467b6537939f8f8d05df5fd8f245301030aa4ef74a3c2fa073e6200e91d47f
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_rc0-hppa-no-TEXTREL.patch 2821 BLAKE2B fcc7eb0ed4a3f9b31718bf7761de8194a5fff6dc0c32be843e15e3da089ccd3819b656843844475199eb5ecc53312f4ad5c1b26d896df464d077ce15ee32eb13 SHA512 202b0685ecbf058a0414e1f2e673e4c793f5381b5714e5e8f025307068eb48f5c7eb85081859194b4500cbc5b6981f07fb4b6efc866071ea0e64f9231852444c
AUX libffi-3.3_rc0-ppc-macos-go.patch 2100 BLAKE2B 7ae1309b08be9293acee042d141bb632b0763af9e14200ef7206db763b01e289a68ce544709c8abc5a86adca5f1c0c895c6bf24f667429b118bf660ffa95bb39 SHA512 4684b87f1d36a0098ebde7996e4417718b3535eb66ec7c619be74fa30e4446849c246b491cad3aea1ac44bdf9e9fbf6e952000cb85299faf5b1d8598136b184b
@@ -11,6 +12,7 @@ DIST libffi-3.2.1.tar.gz 940837 BLAKE2B d202ccaa185acfd2476ed2a9b011891507cd8efb
DIST libffi-3.3-rc0.tar.gz 1084854 BLAKE2B 2c38d60f17ef52bcf270178c13c218f6ee320c9785091621d4689bcf6cee31d07eaaca12790965e1ae3ad71ad2c408342743968bf1d23f81a07fbdf6cfd55b90 SHA512 e6e695d32cd6eb7d65983f32986fccdfc786a593d2ea18af30ce741f58cfa1eb264b1a8d09df5084cb916001aea15187b005c2149a0620a44397a4453b6137d4
EBUILD libffi-3.2.1-r1.ebuild 2269 BLAKE2B e2075034b9e9bec42427dcacbfc03aa114d9c2e5fd3cbda307bd24ae63573a8ab27459ed0b73177bd969232be7640b737a35bae7f5be69876b92de4351dfcbff SHA512 1f27cd306112d3de8762f0cfab1f6196819a6793585c477027b3e0a48fdf0259f764d87b8cb221c5b32aabd5ae47d8535f040d0960256064d14a4d78a67bcfb9
EBUILD libffi-3.2.1-r2.ebuild 2328 BLAKE2B 26926447321e54807371c9e2154b062def22f04e298ee1ccbc5f92fed4bedab44d19622f034460c0727838fa1c6146c42cbd7fe83bc385df03c827535c42b949 SHA512 04a18c564ca898ffc3434ab7d62f2c2380300937726dae6c50f5e0d479009b059d020d48589b52970aa34723f6530bbeddd0f8f5f6fe3a865d90a48dd494e189
+EBUILD libffi-3.2.1-r3.ebuild 2380 BLAKE2B bfad9eae814e06536a2d6bedc8d746fb57d0746a4324fe6ed6474c7cec772b0b5e52cab4889a022489cbb3dc3a6dc368086462f8cde048ad0abfe102d2a05021 SHA512 03f7403c11b9b5395ff6ca0b57639a5c5a897372af9e9e638dd8d902dc35afdb5bb4615cc8408820853e79097d9350ea6794cfdd809e219418a4f675c2df4707
EBUILD libffi-3.2.1.ebuild 1968 BLAKE2B 611f038994a687222d26a6709163e1848d15114dccd3e87c9b0a28cdc5851c6cb769eba5517d18f196cf0d27a1703ed01b40ae73e04d4e15b9cc26c07ecc9acb SHA512 f9f3b0a71a8a57adb563eb6c1ed64602976f18ff8e653f777d8dd14928bfc27417ee1aa81eab2529be1dd6b7fb70af274fe2d7cc1c0c09d29e48f37661ddeec7
-EBUILD libffi-3.3_rc0.ebuild 2110 BLAKE2B e5641dec038a77e1df1e332bc66fcc3d29b8976037321c2cf55775579c5428a0b5f94e3cd6b56d1565f4f78c8b588a68163098d3790dc28208e6a50ce27816fe SHA512 0a380d8d78429531b649ad5b1b6f9240c7af1019db080f6fe45f8e5df8742420303f79c4433dfda5ff9443534dd28e11cb0627c1db4c960cb24f1c9d1bebc2b9
+EBUILD libffi-3.3_rc0.ebuild 2108 BLAKE2B a56dfde1ab20a6e7c327db771abb78ccd67d43710b3cc347ce0fe42fbbb1cd2d014cefac6afe8a29894111f819c639907d7388c025072af3b563e7d4ae53d410 SHA512 23cf7b84ee253a8e86125f51f6ee6ab2c63c9120526a139b486f665a50cdacc9c674a3894972278835ff63b2a522d58b156d594aeecea645241501c089fbecca
MISC metadata.xml 1956 BLAKE2B fa40a1a4cfe54a77a1a7d8e4d5ae8a1f80c4497c38a2e700e242ddab26090ccbaf4738e67c288e5f337c393aab085b161f23138f50fb8b1bfdac2de1eb440428 SHA512 87638bd9030782e1e8e917fc1fb9e28744b7dfd927d42e36a249cec835f734db3c6430c2ebc807b7541fd9ba8d805b57ced30486e8bd046dde2edb56a4af7906
diff --git a/dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch b/dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch
new file mode 100644
index 000000000000..7c011d2b6d07
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.2.1-musl-emutramp.patch
@@ -0,0 +1,31 @@
+https://github.com/libffi/libffi/commit/e169ba2b83c780058fe626856cfdb5903a85cb97.patch
+https://bugs.gentoo.org/694916
+
+From e169ba2b83c780058fe626856cfdb5903a85cb97 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Fri, 29 Apr 2016 21:04:07 -0400
+Subject: [PATCH] Fix usage on musl libc
+
+A gcc compiled on musl does not define __gnu_linux__, it defines __linux__.
+Only on glibc does __gnu_linux__ get defined, but both define __linux__, so
+we should check for that instead.
+
+With this patch, libffi works perfectly, and passes its testsuite entirely
+on musl libc systems.
+---
+ src/closures.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/closures.c b/src/closures.c
+index 3dec0e31..05849e06 100644
+--- a/src/closures.c
++++ b/src/closures.c
+@@ -35,7 +35,7 @@
+ #include <ffi_common.h>
+
+ #if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
+-# if __gnu_linux__ && !defined(__ANDROID__)
++# if __linux__ && !defined(__ANDROID__)
+ /* This macro indicates it may be forbidden to map anonymous memory
+ with both write and execute permission. Code compiled when this
+ option is defined will attempt to map such pages once, but if it
diff --git a/dev-libs/libffi/libffi-3.2.1-r3.ebuild b/dev-libs/libffi/libffi-3.2.1-r3.ebuild
new file mode 100644
index 000000000000..45d1209a70d6
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.2.1-r3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit eutils libtool multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="https://sourceware.org/libffi/"
+SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~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"
+
+RDEPEND=""
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
+ "${FILESDIR}"/${PN}-3.2.1-complex_alpha.patch
+ "${FILESDIR}"/${PN}-3.1-darwin-x32.patch
+ "${FILESDIR}"/${PN}-3.2.1-complex-ia64.patch
+ "${FILESDIR}"/${PN}-3.2.1-include-path.patch
+ "${FILESDIR}"/${PN}-3.2.1-include-path-autogen.patch
+ "${FILESDIR}"/${PN}-3.2.1-ia64-small-struct.patch #634190
+ "${FILESDIR}"/${PN}-3.2.1-musl-emutramp.patch #694916
+)
+
+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
+
+ sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+ elibtoolize
+}
+
+multilib_src_configure() {
+ use userland_BSD && export HOST="${CHOST}"
+ # python does not like miltilib-wrapped headers: bug #643582
+ # thus we install includes into ABI-specific paths
+ local includes="${EPREFIX}"/usr/$(get_libdir)/${P}/include/
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable pax_kernel pax_emutramp) \
+ $(use_enable debug) \
+ --includedir="${includes}"
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+ einstalldocs
+}
diff --git a/dev-libs/libffi/libffi-3.3_rc0.ebuild b/dev-libs/libffi/libffi-3.3_rc0.ebuild
index a0ba5f260239..18a18785d98c 100644
--- a/dev-libs/libffi/libffi-3.3_rc0.ebuild
+++ b/dev-libs/libffi/libffi-3.3_rc0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.ta
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-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~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"
RDEPEND=""