Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/jna/files/, dev-java/jna/
Date: Sat, 08 Jan 2022 08:57:19
Message-Id: 1641632216.9eb362c301c9ca8a1968867436506860ac11a759.fordfrog@gentoo
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 +}