1 |
commit: ba4b499ebfd082c8022b05b828261dcde4d4800f |
2 |
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net> |
3 |
AuthorDate: Sat Jan 28 11:01:14 2023 +0000 |
4 |
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Feb 27 08:57:41 2023 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba4b499e |
7 |
|
8 |
dev-java/jffi: add 1.3.10 |
9 |
|
10 |
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net> |
11 |
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org> |
12 |
|
13 |
dev-java/jffi/Manifest | 1 + |
14 |
dev-java/jffi/jffi-1.3.10.ebuild | 118 +++++++++++++++++++++++++++++++++++++++ |
15 |
2 files changed, 119 insertions(+) |
16 |
|
17 |
diff --git a/dev-java/jffi/Manifest b/dev-java/jffi/Manifest |
18 |
index 1417241bf1c7..6dfe7544ed64 100644 |
19 |
--- a/dev-java/jffi/Manifest |
20 |
+++ b/dev-java/jffi/Manifest |
21 |
@@ -1 +1,2 @@ |
22 |
+DIST jffi-1.3.10.tar.gz 3304571 BLAKE2B a2ce4901d05b31cffcbe750e9a9294413057ae26426ae381f08ab07a085507afe38d447a60d4698d0878760ba1fe18bfdc31ce9b737676a70c93689d2e4533a7 SHA512 9e7d9aa1c16d7fa2486c75b71fd23465a3069ea3f314bc1b536115c982333d7cffa93f75a06ec86b740b83f4fca3be0c32cf99222d90bf1e6b45a9744ead1268 |
23 |
DIST jffi-1.3.9.tar.gz 3193992 BLAKE2B bcd2dba3f9528c293aebb13a8fbd0b2fd7afcbae0cc5fa231f7e8ab190b834adc9e3f40bfc1211d0019a34a9edbaf8810f44b88f3c44b1e3b8065b2b80ccc6dc SHA512 21bf6997c64c0764c1fe86c9ab9b854037241489789f443a3337253ecc95100c94723a57165c85eed7a6c3837b8c04751af4a1fb5873a9c9fcd9a4535b68fc10 |
24 |
|
25 |
diff --git a/dev-java/jffi/jffi-1.3.10.ebuild b/dev-java/jffi/jffi-1.3.10.ebuild |
26 |
new file mode 100644 |
27 |
index 000000000000..38a54daf093d |
28 |
--- /dev/null |
29 |
+++ b/dev-java/jffi/jffi-1.3.10.ebuild |
30 |
@@ -0,0 +1,118 @@ |
31 |
+# Copyright 1999-2023 Gentoo Authors |
32 |
+# Distributed under the terms of the GNU General Public License v2 |
33 |
+ |
34 |
+EAPI=8 |
35 |
+ |
36 |
+JAVA_PKG_IUSE="doc source test" |
37 |
+MAVEN_ID="com.github.jnr:jffi:1.3.10" |
38 |
+JAVA_TESTING_FRAMEWORKS="junit-4" |
39 |
+ |
40 |
+inherit java-pkg-2 java-pkg-simple |
41 |
+ |
42 |
+DESCRIPTION="Java Foreign Function Interface" |
43 |
+HOMEPAGE="https://github.com/jnr/jffi" |
44 |
+SRC_URI="https://github.com/jnr/${PN}/archive/${P}.tar.gz" |
45 |
+S="${WORKDIR}/${PN}-${P}" |
46 |
+ |
47 |
+LICENSE="Apache-2.0" |
48 |
+SLOT="1.3" |
49 |
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" |
50 |
+ |
51 |
+DEPEND=">=virtual/jdk-1.8:* |
52 |
+ >=dev-libs/libffi-3.4.2-r2:=" |
53 |
+RDEPEND=">=virtual/jre-1.8:* |
54 |
+ >=dev-libs/libffi-3.4.2-r2:=" |
55 |
+ |
56 |
+PATCHES=( "${FILESDIR}"/jffi-1.3.8-GNUmakefile.patch ) |
57 |
+ |
58 |
+JAVA_AUTOMATIC_MODULE_NAME="org.jnrproject.jffi" |
59 |
+JAVA_SRC_DIR="src/main/java" |
60 |
+ |
61 |
+# https://github.com/jnr/jffi/blob/b6ad5c066a6346072ea04f8ffa8177204aadcb13/build.xml#L26 |
62 |
+JAVA_TEST_EXTRA_ARGS="-Djffi.library.path=${S}/build/jni -Djffi.boot.library.path=${S}/build/jni" |
63 |
+JAVA_TEST_GENTOO_CLASSPATH="junit-4" |
64 |
+JAVA_TEST_SRC_DIR="src/test/java" |
65 |
+ |
66 |
+src_prepare() { |
67 |
+ java-pkg-2_src_prepare |
68 |
+ default |
69 |
+ cat > src/main/java/com/kenai/jffi/Version.java <<-EOF |
70 |
+ package com.kenai.jffi; |
71 |
+ import java.lang.annotation.Native; |
72 |
+ public final class Version { |
73 |
+ private Version() {} |
74 |
+ @Native |
75 |
+ public static final int MAJOR = $(ver_cut 1); |
76 |
+ @Native |
77 |
+ public static final int MINOR = $(ver_cut 2); |
78 |
+ @Native |
79 |
+ public static final int MICRO = $(ver_cut 3); |
80 |
+ } |
81 |
+ EOF |
82 |
+ |
83 |
+ # https://bugs.gentoo.org/829820 |
84 |
+ if use arm; then |
85 |
+ sed \ |
86 |
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \ |
87 |
+ -e '/invokeHeapDO()/i @Ignore' \ |
88 |
+ -e '/invokeHeapNO()/i @Ignore' \ |
89 |
+ -e '/invokeHeapOD()/i @Ignore' \ |
90 |
+ -e '/invokeHeapON()/i @Ignore' \ |
91 |
+ -e '/invokeHeapOO()/i @Ignore' \ |
92 |
+ -e '/invokeHeapO()/i @Ignore' \ |
93 |
+ -e '/invokeNativeDO()/i @Ignore' \ |
94 |
+ -e '/invokeNativeNO()/i @Ignore' \ |
95 |
+ -e '/invokeNativeOD()/i @Ignore' \ |
96 |
+ -e '/invokeNativeON()/i @Ignore' \ |
97 |
+ -e '/invokeNativeOO()/i @Ignore' \ |
98 |
+ -e '/invokeNativeO()/i @Ignore' \ |
99 |
+ -i src/test/java/com/kenai/jffi/InvokerTest.java || die |
100 |
+ sed \ |
101 |
+ -e '/import org.junit.Test/a import org.junit.Ignore;' \ |
102 |
+ -e '/returnDefaultF128HighPrecision/i @Ignore' \ |
103 |
+ -i src/test/java/com/kenai/jffi/NumberTest.java || die |
104 |
+ fi |
105 |
+} |
106 |
+ |
107 |
+src_compile() { |
108 |
+ java-pkg-simple_src_compile |
109 |
+ |
110 |
+ # generate headers |
111 |
+ mkdir -p build/jni |
112 |
+ javac -h build/jni -classpath target/classes \ |
113 |
+ ${JAVA_SRC_DIR}/com/kenai/jffi/{Foreign,ObjectBuffer,Version}.java \ |
114 |
+ || die |
115 |
+ |
116 |
+ #build native library. |
117 |
+ local args=( |
118 |
+ SRC_DIR=jni |
119 |
+ JNI_DIR=jni |
120 |
+ BUILD_DIR=build/jni |
121 |
+ VERSION=$(ver_cut 1-2) |
122 |
+ USE_SYSTEM_LIBFFI=1 |
123 |
+ CCACHE= |
124 |
+ -f jni/GNUmakefile |
125 |
+ ) |
126 |
+ emake "${args[@]}" |
127 |
+} |
128 |
+ |
129 |
+src_test() { |
130 |
+ # build native test library |
131 |
+ emake BUILD_DIR=build -f libtest/GNUmakefile |
132 |
+ |
133 |
+ # https://github.com/jnr/jffi/issues/60 |
134 |
+ LC_ALL=C java-pkg-simple_src_test |
135 |
+} |
136 |
+ |
137 |
+src_install() { |
138 |
+ local libname=".so" |
139 |
+ java-pkg_doso build/jni/lib${PN}-$(ver_cut 1-2)${libname} |
140 |
+ |
141 |
+ # must be after _doso to have JAVA_PKG_LIBDEST set |
142 |
+ cat > boot.properties <<-EOF |
143 |
+ jffi.boot.library.path = ${JAVA_PKG_LIBDEST} |
144 |
+ EOF |
145 |
+ jar -uf ${PN}.jar boot.properties || die |
146 |
+ |
147 |
+ java-pkg-simple_src_install |
148 |
+} |