Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/batik/, dev-java/batik/files/
Date: Tue, 29 Mar 2022 08:27:01
Message-Id: 1648542413.f05681e1984f759b0e7235b9ea373b9d27a8cff4.flow@gentoo
1 commit: f05681e1984f759b0e7235b9ea373b9d27a8cff4
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Tue Mar 22 17:08:01 2022 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 29 08:26:53 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f05681e1
7
8 dev-java/batik: Bump to 1.14
9
10 Closes: https://bugs.gentoo.org/710208
11
12 Package-Manager: Portage-3.0.30, Repoman-3.0.3
13 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
14 Closes: https://github.com/gentoo/gentoo/pull/24382
15 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
16
17 dev-java/batik/Manifest | 1 +
18 dev-java/batik/batik-1.14.ebuild | 191 ++++++++++++++++++++++++++++
19 dev-java/batik/files/batik-1.14-modules | 33 +++++
20 dev-java/batik/files/batik-squiggle.desktop | 9 ++
21 dev-java/batik/metadata.xml | 4 +
22 5 files changed, 238 insertions(+)
23
24 diff --git a/dev-java/batik/Manifest b/dev-java/batik/Manifest
25 index d7732ad2c392..33f7b1515575 100644
26 --- a/dev-java/batik/Manifest
27 +++ b/dev-java/batik/Manifest
28 @@ -1 +1,2 @@
29 +DIST batik-src-1.14.tar.gz 17647867 BLAKE2B 9385e77e739ece921012310a53953a6e258a5d748987e85dd20783ca248ae55619db6472b7590a45fe40a1b51c693478a37a7dbe1a958b42392c525e5f228815 SHA512 689c52f58f8f0456c89bd18745d2d92e7590b9054bea71b96be87d44977057d583e78504cbf14afc3e0c585d2383dac3009c7c421de868c847db045e921da8fb
30 DIST batik-src-1.9.tar.gz 16748072 BLAKE2B 4e23c0de3d56ba130c5bc9ef80a01549e8c11ab4db3b1ac5dae8525cf0a3a8b7f4df3161c12f1f0df9c74229aaf2034fb6c9c2f91b7fc7407a0af580d144e606 SHA512 96a5c16bd3d61ea33ed5013fd0b00f1724470d9b667f0f84ef4a29dcaaa19b1cc8ffcc92dc49767f4e29d77a47f99df5afca479336ac5619778b51a6fb6cd952
31
32 diff --git a/dev-java/batik/batik-1.14.ebuild b/dev-java/batik/batik-1.14.ebuild
33 new file mode 100644
34 index 000000000000..f4be7b642036
35 --- /dev/null
36 +++ b/dev-java/batik/batik-1.14.ebuild
37 @@ -0,0 +1,191 @@
38 +# Copyright 1999-2022 Gentoo Authors
39 +# Distributed under the terms of the GNU General Public License v2
40 +
41 +# Skeleton command:
42 +# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri mirror://apache/xmlgraphics/batik/source/batik-src-1.14.tar.gz --slot 1.14 --keywords "~amd64 ~ppc64 ~x86" --ebuild batik-1.14.ebuild
43 +
44 +EAPI=8
45 +
46 +JAVA_PKG_IUSE="doc source test"
47 +MAVEN_ID="org.apache.xmlgraphics:batik:1.14"
48 +JAVA_TESTING_FRAMEWORKS="junit-4"
49 +
50 +inherit desktop java-pkg-2 java-pkg-simple xdg-utils
51 +
52 +DESCRIPTION="XML Graphics Batik"
53 +HOMEPAGE="https://xmlgraphics.apache.org/batik/"
54 +SRC_URI="mirror://apache/xmlgraphics/batik/source/batik-src-${PV}.tar.gz"
55 +
56 +LICENSE="Apache-2.0"
57 +SLOT="1.14"
58 +KEYWORDS="~amd64 ~ppc64 ~x86"
59 +
60 +CP_DEPEND="
61 + dev-java/jacl:0
62 + dev-java/jython:2.7
63 + dev-java/rhino:1.6
64 + dev-java/xalan:0
65 + dev-java/xml-commons-external:1.3
66 + dev-java/xmlgraphics-commons:2
67 +"
68 +
69 +DEPEND="${CP_DEPEND}
70 + >=virtual/jdk-1.8:*"
71 +
72 +RDEPEND="${CP_DEPEND}
73 + >=virtual/jre-1.8:*"
74 +
75 +DOCS=( {CHANGES,NOTICE,README} )
76 +
77 +S="${WORKDIR}/batik-${PV}"
78 +
79 +src_prepare() {
80 + default
81 + java-pkg_clean
82 +}
83 +
84 +src_compile() {
85 +
86 + # We loop over the modules list and compile the jar files.
87 + while read module ; do \
88 +
89 + echo "compiling $module"
90 +
91 + JAVA_SRC_DIR=""
92 + JAVA_RESOURCE_DIRS=""
93 + JAVA_JAR_FILENAME="$module.jar"
94 + JAVA_MAIN_CLASS=""
95 +
96 + # Not all of the modules have resources.
97 + if [[ -d $module/src/main/resources ]]; then \
98 + JAVA_RESOURCE_DIRS="$module/src/main/resources"
99 + fi
100 +
101 + # Don't let sed die on modules without MainClass.
102 + JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
103 +
104 + # Some modules don't have source code.
105 + if [[ -d $module/src/main/java/org ]]; then \
106 + JAVA_SRC_DIR="$module/src/main/java"
107 + java-pkg-simple_src_compile
108 + else
109 + # This case applies to batik-rasterizer.
110 + if [[ -d $module/src/main/resources/org ]]; then \
111 + jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C "$module/src/main/resources" . || die
112 + # Else for batik-rasterizer-ext, batik-squiggle and batik-squiggle-ext
113 + else
114 + jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C . README || die
115 + zip -d $module.jar "README"
116 + fi
117 + fi
118 +
119 + JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar"
120 +
121 + rm -fr target || die
122 +
123 + # Modules batik-rasterizer-ext and batik-squiggle-ext, upstream puts their jar files in the extensions
124 + # directory, see batik-extension/src/main/resources/org/apache/batik/extensions/README.txt
125 + # We keep them in the mudules list for later but omit them by 'grep -v'.
126 + # The same for batik-test-old which depends on fop-transcoder-allinone which itself depends on batik.
127 + # batik-1.14-modules is the "Reactor Build Order" extracted from the output of "mvn dependency:tree".
128 + done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
129 +
130 + if use doc; then
131 +
132 + JAVA_SRC_DIR=""
133 + JAVA_JAR_FILENAME="ignoreme.jar"
134 +
135 + while read module ; do \
136 +
137 + # Some modules don't have source code
138 + if [[ -d $module/src/main/java/org ]]; then \
139 + JAVA_SRC_DIR+=( "$module/src/main/java" )
140 + fi
141 +
142 + done < "${FILESDIR}"/batik-1.14-modules
143 +
144 + java-pkg-simple_src_compile
145 + fi
146 +}
147 +
148 +src_test() {
149 +
150 + JAVA_TEST_GENTOO_CLASSPATH="junit-4"
151 +
152 + while read module ; do \
153 +
154 + echo "testing $module"
155 +
156 + JAVA_TEST_SRC_DIR=""
157 + JAVA_TEST_RESOURCE_DIRS=""
158 + JAVA_TEST_RUN_ONLY=""
159 +
160 + if [[ -d $module/src/test/resources ]]; then \
161 + JAVA_TEST_RESOURCE_DIRS="$module/src/test/resources"
162 + fi
163 +
164 + # https://github.com/apache/xmlgraphics-batik/blob/refs/tags/batik-1_14/batik-util/pom.xml#L74-L75
165 + if [[ $module == batik-util ]]; then \
166 + JAVA_TEST_RUN_ONLY="org.apache.batik.util.Base64TestCases"
167 + fi
168 +
169 + if [[ -d $module/src/test/java/org ]]; then \
170 + JAVA_TEST_SRC_DIR="$module/src/test/java"
171 + java-pkg-simple_src_test
172 + fi
173 +
174 + done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
175 +}
176 +
177 +src_install() {
178 + einstalldocs
179 + domenu "${FILESDIR}"/batik-squiggle.desktop
180 + doicon batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.svg
181 +
182 + while read module ; do \
183 +
184 + JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
185 +
186 + java-pkg_dojar $module.jar
187 +
188 + # Add a launcher if the module has a MainClass.
189 + if [[ -n "${JAVA_MAIN_CLASS}" ]]; then \
190 + java-pkg_dolauncher "$module-${SLOT}" --main "${JAVA_MAIN_CLASS}"
191 + fi
192 +
193 + # Some modules don't have source code
194 + if [[ -d $module/src/main/java/org ]]; then \
195 +
196 + if use source; then
197 + java-pkg_dosrc "$module/src/main/java/*"
198 + fi
199 +
200 + fi
201 +
202 + done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
203 +
204 + local java_policy_file="${JAVA_PKG_SHAREPATH}/etc/${PN}.policy"
205 + insinto "$(dirname "${java_policy_file}")"
206 + newins - "$(basename "${java_policy_file}")" <<- _EOF_
207 + grant codeBase "file:${EPREFIX}${JAVA_PKG_JARDEST}/-" {
208 + permission java.security.AllPermission;
209 + };
210 + _EOF_
211 + java-pkg_register-environment-variable \
212 + gjl_java_args \
213 + "-Djava.security.policy=file:${EPREFIX}${java_policy_file}"
214 +
215 + if use doc; then
216 + java-pkg_dojavadoc target/api
217 + fi
218 +}
219 +
220 +pkg_postinst() {
221 + xdg_desktop_database_update
222 + xdg_icon_cache_update
223 +}
224 +
225 +pkg_postrm() {
226 + xdg_desktop_database_update
227 + xdg_icon_cache_update
228 +}
229
230 diff --git a/dev-java/batik/files/batik-1.14-modules b/dev-java/batik/files/batik-1.14-modules
231 new file mode 100644
232 index 000000000000..d9c964870901
233 --- /dev/null
234 +++ b/dev-java/batik/files/batik-1.14-modules
235 @@ -0,0 +1,33 @@
236 +batik-constants
237 +batik-i18n
238 +batik-test
239 +batik-util
240 +batik-awt-util
241 +batik-css
242 +batik-ext
243 +batik-xml
244 +batik-dom
245 +batik-parser
246 +batik-svg-dom
247 +batik-anim
248 +batik-gvt
249 +batik-script
250 +batik-bridge
251 +batik-svggen
252 +batik-transcoder
253 +batik-codec
254 +batik-extension
255 +batik-gui-util
256 +batik-svgrasterizer
257 +batik-rasterizer-ext
258 +batik-rasterizer
259 +batik-slideshow
260 +batik-swing
261 +batik-svgbrowser
262 +batik-squiggle-ext
263 +batik-squiggle
264 +batik-svgpp
265 +batik-ttf2svg
266 +batik-test-swing
267 +batik-test-svg
268 +batik-test-old
269
270 diff --git a/dev-java/batik/files/batik-squiggle.desktop b/dev-java/batik/files/batik-squiggle.desktop
271 new file mode 100644
272 index 000000000000..95bb990177c7
273 --- /dev/null
274 +++ b/dev-java/batik/files/batik-squiggle.desktop
275 @@ -0,0 +1,9 @@
276 +[Desktop Entry]
277 +Name=Squiggle
278 +Comment=SVG browser
279 +Exec=batik-squiggle-1.14
280 +Icon=init
281 +Terminal=false
282 +Type=Application
283 +Categories=Graphics;VectorGraphics;
284 +MimeType=image/svg+xml;
285
286 diff --git a/dev-java/batik/metadata.xml b/dev-java/batik/metadata.xml
287 index 2841917ad49d..a9b2477896cb 100644
288 --- a/dev-java/batik/metadata.xml
289 +++ b/dev-java/batik/metadata.xml
290 @@ -5,6 +5,10 @@
291 <email>java@g.o</email>
292 <name>Java</name>
293 </maintainer>
294 +<upstream>
295 + <bugs-to>https://issues.apache.org/jira/projects/BATIK/issues/</bugs-to>
296 + <remote-id type="github">apache/xmlgraphics-batik</remote-id>
297 +</upstream>
298 <longdescription>
299 Java toolkit for applications or applets that want to use
300 images in the Scalable Vector Graphics (SVG) format for various