1 |
commit: 910e61b822801e3be2702a5b205bd218457815a9 |
2 |
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jul 7 21:48:18 2021 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jul 7 21:48:54 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=910e61b8 |
7 |
|
8 |
dev-libs/libffi: bump up to 3.4_rc1, SOVERSION=8 (take 2) |
9 |
|
10 |
Without KEYWORDS this time. |
11 |
|
12 |
Package-Manager: Portage-3.0.20, Repoman-3.0.3 |
13 |
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> |
14 |
|
15 |
dev-libs/libffi/Manifest | 1 + |
16 |
dev-libs/libffi/libffi-3.4.2.ebuild | 69 +++++++++++++++++++++++++++++++++++++ |
17 |
dev-libs/libffi/metadata.xml | 1 + |
18 |
3 files changed, 71 insertions(+) |
19 |
|
20 |
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest |
21 |
index a1c499b413f..6351b7c81d9 100644 |
22 |
--- a/dev-libs/libffi/Manifest |
23 |
+++ b/dev-libs/libffi/Manifest |
24 |
@@ -1 +1,2 @@ |
25 |
DIST libffi-3.3.tar.gz 1305466 BLAKE2B cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa SHA512 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f |
26 |
+DIST libffi-3.4.2.tar.gz 1351355 BLAKE2B a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308 SHA512 31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1 |
27 |
|
28 |
diff --git a/dev-libs/libffi/libffi-3.4.2.ebuild b/dev-libs/libffi/libffi-3.4.2.ebuild |
29 |
new file mode 100644 |
30 |
index 00000000000..55fcfb49624 |
31 |
--- /dev/null |
32 |
+++ b/dev-libs/libffi/libffi-3.4.2.ebuild |
33 |
@@ -0,0 +1,69 @@ |
34 |
+# Copyright 1999-2021 Gentoo Authors |
35 |
+# Distributed under the terms of the GNU General Public License v2 |
36 |
+ |
37 |
+EAPI=7 |
38 |
+inherit multilib-minimal |
39 |
+ |
40 |
+MY_PV=${PV/_rc/-rc} |
41 |
+MY_P=${PN}-${MY_PV} |
42 |
+ |
43 |
+DESCRIPTION="a portable, high level programming interface to various calling conventions" |
44 |
+HOMEPAGE="https://sourceware.org/libffi/" |
45 |
+SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" |
46 |
+ |
47 |
+LICENSE="MIT" |
48 |
+SLOT="0/8" # SONAME=libffi.so.8 |
49 |
+#unkeyworded for initial testing |
50 |
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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" |
51 |
+IUSE="debug exec-static-trampoline pax-kernel pax_kernel static-libs test" |
52 |
+ |
53 |
+RESTRICT="!test? ( test )" |
54 |
+# If you are USE=pax_kernel user you really want USE=pax-kernel as well. |
55 |
+# That's a flag rename: https://archives.gentoo.org/gentoo-dev/message/273f5ec9ebc8075f6ee8d8cdda9e759e |
56 |
+REQUIRED_USE="pax_kernel? ( pax-kernel )" |
57 |
+ |
58 |
+RDEPEND="" |
59 |
+DEPEND="" |
60 |
+BDEPEND="test? ( dev-util/dejagnu )" |
61 |
+ |
62 |
+DOCS="ChangeLog* README.md" |
63 |
+ |
64 |
+S=${WORKDIR}/${MY_P} |
65 |
+ |
66 |
+ECONF_SOURCE=${S} |
67 |
+ |
68 |
+src_prepare() { |
69 |
+ default |
70 |
+ if [[ ${CHOST} == arm64-*-darwin* ]] ; then |
71 |
+ # ensure we use aarch64 asm, not x86 on arm64 |
72 |
+ sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ |
73 |
+ configure configure.host || die |
74 |
+ fi |
75 |
+} |
76 |
+ |
77 |
+multilib_src_configure() { |
78 |
+ use userland_BSD && export HOST="${CHOST}" |
79 |
+ # --includedir= path maintains a few properties: |
80 |
+ # 1. have stable name across libffi versions: some packages like |
81 |
+ # dev-lang/ghc or kde-frameworks/networkmanager-qt embed |
82 |
+ # ${includedir} at build-time. Don't require those to be |
83 |
+ # rebuilt unless SONAME changes. bug #695788 |
84 |
+ # |
85 |
+ # We use /usr/.../${PN} (instead of former /usr/.../${P}). |
86 |
+ # |
87 |
+ # 2. have ${ABI}-specific location as ffi.h is target-dependent. |
88 |
+ # |
89 |
+ # We use /usr/$(get_libdir)/... to have ABI identifier. |
90 |
+ econf \ |
91 |
+ --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ |
92 |
+ --disable-multi-os-directory \ |
93 |
+ $(use_enable static-libs static) \ |
94 |
+ $(use_enable exec-static-trampoline exec-static-tramp) \ |
95 |
+ $(use_enable pax-kernel pax_emutramp) \ |
96 |
+ $(use_enable debug) |
97 |
+} |
98 |
+ |
99 |
+multilib_src_install_all() { |
100 |
+ find "${ED}" -name "*.la" -delete || die |
101 |
+ einstalldocs |
102 |
+} |
103 |
|
104 |
diff --git a/dev-libs/libffi/metadata.xml b/dev-libs/libffi/metadata.xml |
105 |
index 85b52eeb3e0..1846097c8bc 100644 |
106 |
--- a/dev-libs/libffi/metadata.xml |
107 |
+++ b/dev-libs/libffi/metadata.xml |
108 |
@@ -34,6 +34,7 @@ |
109 |
between the two languages. |
110 |
</longdescription> |
111 |
<use> |
112 |
+ <flag name="exec-static-trampoline">Don't rely on dynamic code generation for trampolines.</flag> |
113 |
<flag name="pax-kernel">Use PaX emulated trampolines, for we can't use PROT_EXEC</flag> |
114 |
<flag name="pax_kernel">DEPRECATED alias for 'pax-kernel'. Do not use.</flag> |
115 |
</use> |