1 |
commit: 9eb362c301c9ca8a1968867436506860ac11a759 |
2 |
Author: Yuan Liao <liaoyuan <AT> gmail <DOT> com> |
3 |
AuthorDate: Thu Jan 6 18:03:27 2022 +0000 |
4 |
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 8 08:56:56 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9eb362c3 |
7 |
|
8 |
dev-java/jna: Add 5.10.0 |
9 |
|
10 |
Signed-off-by: Yuan Liao <liaoyuan <AT> gmail.com> |
11 |
Closes: https://github.com/gentoo/gentoo/pull/23679 |
12 |
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org> |
13 |
|
14 |
dev-java/jna/Manifest | 1 + |
15 |
dev-java/jna/files/5.10.0-build.xml.patch | 55 +++++++++++++++ |
16 |
dev-java/jna/files/5.10.0-tests-exclude.patch | 27 ++++++++ |
17 |
dev-java/jna/jna-5.10.0.ebuild | 99 +++++++++++++++++++++++++++ |
18 |
4 files changed, 182 insertions(+) |
19 |
|
20 |
diff --git a/dev-java/jna/Manifest b/dev-java/jna/Manifest |
21 |
index 20ee000d50be..ac70c75ad8e2 100644 |
22 |
--- a/dev-java/jna/Manifest |
23 |
+++ b/dev-java/jna/Manifest |
24 |
@@ -1 +1,2 @@ |
25 |
DIST jna-4.2.2.tar.gz 58638853 BLAKE2B 3941202ad7839f748c65f1abf53a335f6de7959def06de27a30520457147af3f70f6de54d640718b8314f6e61ab61ee9b26c39812d5cb1f918b8ff714d6b902e SHA512 11ab524f87f6dc7fe3ac8eb0620f9ba392445147770304be7b7fa5cd49de8efed983ad30c16077bfa6419eaf1ff50311a3ded811a78fdcd09bc686ef93ad7f9f |
26 |
+DIST jna-5.10.0.tar.gz 106258319 BLAKE2B f5605fd91bacc1e900e835494c27b0fdb4ba91b0c04bad1757133bed5938603264ce9fba89c5ce7e4644456b752b934f6e205d0131659e77bf0c58c2b44c61cd SHA512 93e1ab659a60d711557eb93620bcbd05f3dbe9c739b256cfb647d8ac2a4038d0bc638c614b58339b2875017ac18b219a4ddeb0d92e5ca25fef2e326bc14ae256 |
27 |
|
28 |
diff --git a/dev-java/jna/files/5.10.0-build.xml.patch b/dev-java/jna/files/5.10.0-build.xml.patch |
29 |
new file mode 100644 |
30 |
index 000000000000..242845bfd356 |
31 |
--- /dev/null |
32 |
+++ b/dev-java/jna/files/5.10.0-build.xml.patch |
33 |
@@ -0,0 +1,55 @@ |
34 |
+diff --git a/build.xml b/build.xml |
35 |
+index ed104c2..cd8895c 100644 |
36 |
+--- a/build.xml |
37 |
++++ b/build.xml |
38 |
+@@ -182,9 +182,9 @@ |
39 |
+ |
40 |
+ <target name="-prepare-anttools"> |
41 |
+ <subant antfile="build-ant-tools.xml" buildpath="${basedir}"></subant> |
42 |
+- <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${build}/ant-tools:$lib/asm-8.0.1.jar" /> |
43 |
+- <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${build}/ant-tools:lib/asm-8.0.1.jar" /> |
44 |
+- <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${build}/ant-tools:lib/asm-8.0.1.jar" /> |
45 |
++ <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${build}/ant-tools:${gentoo.classpath}" /> |
46 |
++ <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${build}/ant-tools:${gentoo.classpath}" /> |
47 |
++ <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${build}/ant-tools:${gentoo.classpath}" /> |
48 |
+ </target> |
49 |
+ |
50 |
+ <target name="-dynamic-properties" depends="-prepare-anttools"> |
51 |
+@@ -385,7 +385,9 @@ |
52 |
+ <pathelement path="${build}/${jar}"/> |
53 |
+ <pathelement path="${test.classes}"/> |
54 |
+ <pathelement path="${build}/${testjar}"/> |
55 |
++ <!-- |
56 |
+ <pathelement path="lib/clover.jar"/> |
57 |
++ --> |
58 |
+ <path refid="test.libs"/> |
59 |
+ </path> |
60 |
+ </target> |
61 |
+@@ -1265,8 +1267,10 @@ cd .. |
62 |
+ <mkdir dir="${build}/jws"/> |
63 |
+ <copy todir="${build}/jws" file="${build}/${jar}"/> |
64 |
+ <copy todir="${build}/jws" file="${build}/${testjar}"/> |
65 |
++ <!-- |
66 |
+ <copy todir="${build}/jws" file="lib/junit.jar"/> |
67 |
+ <copy todir="${build}/jws" file="lib/clover.jar"/> |
68 |
++ --> |
69 |
+ <jar jarfile="${build}/jws/jnidispatch.jar" createUnicodeExtraFields="never" encoding="UTF-8"> |
70 |
+ <fileset dir="${build.native}" includes="*jnidispatch.*"/> |
71 |
+ </jar> |
72 |
+diff --git a/contrib/platform/build.xml b/contrib/platform/build.xml |
73 |
+index 47fa8ed..a623ce6 100644 |
74 |
+--- a/contrib/platform/build.xml |
75 |
++++ b/contrib/platform/build.xml |
76 |
+@@ -115,9 +115,9 @@ |
77 |
+ |
78 |
+ <target name="-prepare-anttools"> |
79 |
+ <subant antfile="build-ant-tools.xml" buildpath="${basedir}/../../"></subant> |
80 |
+- <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${basedir}/../../build/ant-tools:${basedir}/../../lib/asm-8.0.1.jar" /> |
81 |
+- <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${basedir}/../../build/ant-tools:${basedir}/../../lib/asm-8.0.1.jar" /> |
82 |
+- <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${basedir}/../../build/ant-tools:${basedir}/../../lib/asm-8.0.1.jar" /> |
83 |
++ <taskdef name="BuildArmSoftFloatDetector" classname="com.sun.jna.BuildArmSoftFloatDetector" classpath="${basedir}/../../build/ant-tools:${gentoo.classpath}" /> |
84 |
++ <taskdef name="CalcAndroidVersion" classname="com.sun.jna.ant.CalcAndroidVersion" classpath="${basedir}/../../build/ant-tools:${gentoo.classpath}" /> |
85 |
++ <taskdef name="ModuleGenerator" classname="com.sun.jna.ant.ModuleGenerator" classpath="${basedir}/../../build/ant-tools:${gentoo.classpath}" /> |
86 |
+ </target> |
87 |
+ |
88 |
+ <macrodef name="build-manifest"> |
89 |
|
90 |
diff --git a/dev-java/jna/files/5.10.0-tests-exclude.patch b/dev-java/jna/files/5.10.0-tests-exclude.patch |
91 |
new file mode 100644 |
92 |
index 000000000000..e608e2087f44 |
93 |
--- /dev/null |
94 |
+++ b/dev-java/jna/files/5.10.0-tests-exclude.patch |
95 |
@@ -0,0 +1,27 @@ |
96 |
+From 2b50e2296c9c9961fd168abe285f773aecd6437a Mon Sep 17 00:00:00 2001 |
97 |
+From: Yuan Liao <liaoyuan@×××××.com> |
98 |
+Date: Thu, 6 Jan 2022 12:21:22 -0800 |
99 |
+Subject: [PATCH] Skip execution of test classes without any tests |
100 |
+ |
101 |
+Signed-off-by: Yuan Liao <liaoyuan@×××××.com> |
102 |
+--- |
103 |
+ build.xml | 3 +++ |
104 |
+ 1 file changed, 3 insertions(+) |
105 |
+ |
106 |
+diff --git a/build.xml b/build.xml |
107 |
+index ed104c2..9fb15ae 100644 |
108 |
+--- a/build.xml |
109 |
++++ b/build.xml |
110 |
+@@ -1388,6 +1388,9 @@ cd .. |
111 |
+ <fileset dir="${test.src}" excludes="${tests.exclude-patterns}"> |
112 |
+ <patternset includes="${tests.include}"/> |
113 |
+ <include name="${tests.platform}"/> |
114 |
++ <exclude name="com/sun/jna/DefaultMethodInvocationTest.java"/> |
115 |
++ <exclude name="com/sun/jna/ELFAnalyserTest.java"/> |
116 |
++ <exclude name="com/sun/jna/PrematureGCTest.java"/> |
117 |
+ <exclude name="${tests.exclude}"/> |
118 |
+ </fileset> |
119 |
+ </batchtest> |
120 |
+-- |
121 |
+2.34.1 |
122 |
+ |
123 |
|
124 |
diff --git a/dev-java/jna/jna-5.10.0.ebuild b/dev-java/jna/jna-5.10.0.ebuild |
125 |
new file mode 100644 |
126 |
index 000000000000..b7730f9d8e7a |
127 |
--- /dev/null |
128 |
+++ b/dev-java/jna/jna-5.10.0.ebuild |
129 |
@@ -0,0 +1,99 @@ |
130 |
+# Copyright 1999-2022 Gentoo Authors |
131 |
+# Distributed under the terms of the GNU General Public License v2 |
132 |
+ |
133 |
+EAPI=8 |
134 |
+ |
135 |
+JAVA_PKG_IUSE="doc source test" |
136 |
+MAVEN_ID="net.java.dev.jna:jna:5.10.0" |
137 |
+ |
138 |
+inherit java-pkg-2 java-ant-2 toolchain-funcs |
139 |
+ |
140 |
+DESCRIPTION="Java Native Access" |
141 |
+HOMEPAGE="https://github.com/java-native-access/jna" |
142 |
+SRC_URI="https://github.com/java-native-access/jna/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" |
143 |
+ |
144 |
+LICENSE="|| ( Apache-2.0 LGPL-2.1+ )" |
145 |
+SLOT="4" |
146 |
+KEYWORDS="~amd64 ~ppc64 ~x86" |
147 |
+ |
148 |
+BDEPEND=" |
149 |
+ virtual/pkgconfig |
150 |
+" |
151 |
+ |
152 |
+CDEPEND=" |
153 |
+ >=dev-libs/libffi-3.4:= |
154 |
+" |
155 |
+ |
156 |
+DEPEND=" |
157 |
+ >=virtual/jdk-1.8:* |
158 |
+ dev-java/animal-sniffer-annotations:0 |
159 |
+ dev-java/ant-core:0 |
160 |
+ dev-java/asm:9 |
161 |
+ test? ( |
162 |
+ dev-java/ant-junit:0 |
163 |
+ dev-java/junit:4 |
164 |
+ dev-java/reflections:0 |
165 |
+ ) |
166 |
+ ${CDEPEND} |
167 |
+" |
168 |
+ |
169 |
+RDEPEND=" |
170 |
+ >=virtual/jre-1.8:* |
171 |
+ ${CDEPEND} |
172 |
+" |
173 |
+ |
174 |
+DOCS=( README.md CHANGES.md OTHERS TODO ) |
175 |
+PATCHES=( |
176 |
+ "${FILESDIR}/${PV}-build.xml.patch" |
177 |
+ "${FILESDIR}/${PV}-tests-exclude.patch" |
178 |
+ "${FILESDIR}/4.2.2-makefile-flags.patch" |
179 |
+) |
180 |
+ |
181 |
+JAVA_ANT_REWRITE_CLASSPATH="true" |
182 |
+JAVA_PKG_BSFIX_NAME="build.xml build-ant-tools.xml" |
183 |
+EANT_BUILD_TARGET="jar contrib-jars" |
184 |
+EANT_EXTRA_ARGS="-Dbuild-native=true -Dcompatibility=1.8 -Ddynlink.native=true" |
185 |
+EANT_TEST_EXTRA_ARGS="-Djava.io.tmpdir=${T}" |
186 |
+EANT_TEST_GENTOO_CLASSPATH="animal-sniffer-annotations,reflections" |
187 |
+ |
188 |
+pkg_setup() { |
189 |
+ java-pkg-2_pkg_setup |
190 |
+ |
191 |
+ EANT_GENTOO_CLASSPATH_EXTRA="$(java-pkg_getjars --build-only \ |
192 |
+ animal-sniffer-annotations,ant-core,asm-9)" |
193 |
+ |
194 |
+ # Any spaces in paths returned by toolchain-funcs and options like MAKEOPTS |
195 |
+ # could cause trouble in EANT_EXTRA_ARGS when Java eclasses process the |
196 |
+ # variable's value, so define them in ANT_OPTS instead |
197 |
+ ANT_OPTS="-DCC='$(tc-getCC)'" |
198 |
+ # Parallel build does not respect dependency relationships between objects |
199 |
+ ANT_OPTS+=" -DEXTRA_MAKE_OPTS='${MAKEOPTS} -j1'" |
200 |
+} |
201 |
+ |
202 |
+src_prepare() { |
203 |
+ default |
204 |
+ |
205 |
+ # Eliminate build.xml's dependency on bundled native JARs |
206 |
+ sed -i -e '/zipfileset src="${lib.native}/,+2d' build.xml || |
207 |
+ die "Failed to delete lines referencing bundled JARs in build.xml" |
208 |
+ |
209 |
+ # Clean up bundled JARs and libffi |
210 |
+ java-pkg_clean |
211 |
+ rm -r native/libffi || die "Failed to remove bundled libffi" |
212 |
+ |
213 |
+ java-pkg-2_src_prepare |
214 |
+} |
215 |
+ |
216 |
+src_test() { |
217 |
+ java-pkg-2_src_test |
218 |
+} |
219 |
+ |
220 |
+src_install() { |
221 |
+ java-pkg_newjar "build/${PN}-min.jar" |
222 |
+ java-pkg_dojar "contrib/platform/dist/${PN}-platform.jar" |
223 |
+ java-pkg_doso build/native-*/libjnidispatch.so |
224 |
+ einstalldocs |
225 |
+ |
226 |
+ use source && java-pkg_dosrc src/* |
227 |
+ use doc && java-pkg_dojavadoc doc/javadoc |
228 |
+} |