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/
Date: Sun, 01 May 2022 19:20:21
Message-Id: 1651432357.3815608be4494944619d4c73383c6d376cbd1be4.flow@gentoo
1 commit: 3815608be4494944619d4c73383c6d376cbd1be4
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Wed Apr 27 09:02:28 2022 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Sun May 1 19:12:37 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3815608b
7
8 dev-java/batik: dependency update xml-commons-external:1.4
9
10 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
11 Closes: https://github.com/gentoo/gentoo/pull/25273
12 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
13
14 dev-java/batik/batik-1.14-r1.ebuild | 191 ++++++++++++++++++++++++++++++++++++
15 1 file changed, 191 insertions(+)
16
17 diff --git a/dev-java/batik/batik-1.14-r1.ebuild b/dev-java/batik/batik-1.14-r1.ebuild
18 new file mode 100644
19 index 000000000000..4d4b9a29d2be
20 --- /dev/null
21 +++ b/dev-java/batik/batik-1.14-r1.ebuild
22 @@ -0,0 +1,191 @@
23 +# Copyright 1999-2022 Gentoo Authors
24 +# Distributed under the terms of the GNU General Public License v2
25 +
26 +# Skeleton command:
27 +# 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
28 +
29 +EAPI=8
30 +
31 +JAVA_PKG_IUSE="doc source test"
32 +MAVEN_ID="org.apache.xmlgraphics:batik:1.14"
33 +JAVA_TESTING_FRAMEWORKS="junit-4"
34 +
35 +inherit desktop java-pkg-2 java-pkg-simple xdg-utils
36 +
37 +DESCRIPTION="XML Graphics Batik"
38 +HOMEPAGE="https://xmlgraphics.apache.org/batik/"
39 +SRC_URI="mirror://apache/xmlgraphics/batik/source/batik-src-${PV}.tar.gz"
40 +
41 +LICENSE="Apache-2.0"
42 +SLOT="1.14"
43 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
44 +
45 +CP_DEPEND="
46 + dev-java/jacl:0
47 + dev-java/jython:2.7
48 + dev-java/rhino:1.6
49 + dev-java/xalan:0
50 + dev-java/xml-commons-external:1.4
51 + dev-java/xmlgraphics-commons:2
52 +"
53 +
54 +DEPEND="${CP_DEPEND}
55 + >=virtual/jdk-1.8:*"
56 +
57 +RDEPEND="${CP_DEPEND}
58 + >=virtual/jre-1.8:*"
59 +
60 +DOCS=( {CHANGES,NOTICE,README} )
61 +
62 +S="${WORKDIR}/batik-${PV}"
63 +
64 +src_prepare() {
65 + default
66 + java-pkg_clean
67 +}
68 +
69 +src_compile() {
70 +
71 + # We loop over the modules list and compile the jar files.
72 + while read module; do
73 +
74 + einfo "Compiling $module"
75 +
76 + JAVA_SRC_DIR=""
77 + JAVA_RESOURCE_DIRS=""
78 + JAVA_JAR_FILENAME="$module.jar"
79 + JAVA_MAIN_CLASS=""
80 +
81 + # Not all of the modules have resources.
82 + if [[ -d $module/src/main/resources ]]; then
83 + JAVA_RESOURCE_DIRS="$module/src/main/resources"
84 + fi
85 +
86 + # Don't let sed die on modules without MainClass.
87 + JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
88 +
89 + # Some modules don't have source code.
90 + if [[ -d $module/src/main/java/org ]]; then
91 + JAVA_SRC_DIR="$module/src/main/java"
92 + java-pkg-simple_src_compile
93 + else
94 + # This case applies to batik-rasterizer.
95 + if [[ -d $module/src/main/resources/org ]]; then
96 + jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C "$module/src/main/resources" . || die
97 + # Else for batik-rasterizer-ext, batik-squiggle and batik-squiggle-ext
98 + else
99 + jar -cfe $module.jar "${JAVA_MAIN_CLASS}" -C . README || die
100 + zip -d $module.jar "README"
101 + fi
102 + fi
103 +
104 + JAVA_GENTOO_CLASSPATH_EXTRA+=":$module.jar"
105 +
106 + rm -fr target || die
107 +
108 + # Modules batik-rasterizer-ext and batik-squiggle-ext, upstream puts their jar files in the extensions
109 + # directory, see batik-extension/src/main/resources/org/apache/batik/extensions/README.txt
110 + # We keep them in the mudules list for later but omit them by 'grep -v'.
111 + # The same for batik-test-old which depends on fop-transcoder-allinone which itself depends on batik.
112 + # batik-1.14-modules is the "Reactor Build Order" extracted from the output of "mvn dependency:tree".
113 + done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
114 +
115 + if use doc; then
116 +
117 + JAVA_SRC_DIR=""
118 + JAVA_JAR_FILENAME="ignoreme.jar"
119 +
120 + while read module; do
121 +
122 + # Some modules don't have source code
123 + if [[ -d $module/src/main/java/org ]]; then
124 + JAVA_SRC_DIR+=( "$module/src/main/java" )
125 + fi
126 +
127 + done < "${FILESDIR}"/batik-1.14-modules
128 +
129 + java-pkg-simple_src_compile
130 + fi
131 +}
132 +
133 +src_test() {
134 +
135 + JAVA_TEST_GENTOO_CLASSPATH="junit-4"
136 +
137 + while read module; do
138 +
139 + einfo "Testing $module"
140 +
141 + JAVA_TEST_SRC_DIR=""
142 + JAVA_TEST_RESOURCE_DIRS=""
143 + JAVA_TEST_RUN_ONLY=""
144 +
145 + if [[ -d $module/src/test/resources ]]; then
146 + JAVA_TEST_RESOURCE_DIRS="$module/src/test/resources"
147 + fi
148 +
149 + # https://github.com/apache/xmlgraphics-batik/blob/refs/tags/batik-1_14/batik-util/pom.xml#L74-L75
150 + if [[ $module == batik-util ]]; then
151 + JAVA_TEST_RUN_ONLY="org.apache.batik.util.Base64TestCases"
152 + fi
153 +
154 + if [[ -d $module/src/test/java/org ]]; then
155 + JAVA_TEST_SRC_DIR="$module/src/test/java"
156 + java-pkg-simple_src_test
157 + fi
158 +
159 + done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
160 +}
161 +
162 +src_install() {
163 + einstalldocs
164 + domenu "${FILESDIR}"/batik-squiggle.desktop
165 + doicon batik-svgbrowser/src/main/resources/org/apache/batik/apps/svgbrowser/resources/init.svg
166 +
167 + while read module; do
168 +
169 + JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' $module/pom.xml )
170 +
171 + java-pkg_dojar $module.jar
172 +
173 + # Add a launcher if the module has a MainClass.
174 + if [[ -n "${JAVA_MAIN_CLASS}" ]]; then
175 + java-pkg_dolauncher "$module-${SLOT}" --main "${JAVA_MAIN_CLASS}"
176 + fi
177 +
178 + # Some modules don't have source code
179 + if [[ -d $module/src/main/java/org ]]; then
180 +
181 + if use source; then
182 + java-pkg_dosrc "$module/src/main/java/*"
183 + fi
184 +
185 + fi
186 +
187 + done < <(grep -v '\(batik-rasterizer-ext\|batik-squiggle-ext\|batik-test-old\)' "${FILESDIR}"/batik-1.14-modules)
188 +
189 + local java_policy_file="${JAVA_PKG_SHAREPATH}/etc/${PN}.policy"
190 + insinto "$(dirname "${java_policy_file}")"
191 + newins - "$(basename "${java_policy_file}")" <<- _EOF_
192 + grant codeBase "file:${EPREFIX}${JAVA_PKG_JARDEST}/-" {
193 + permission java.security.AllPermission;
194 + };
195 + _EOF_
196 + java-pkg_register-environment-variable \
197 + gjl_java_args \
198 + "-Djava.security.policy=file:${EPREFIX}${java_policy_file}"
199 +
200 + if use doc; then
201 + java-pkg_dojavadoc target/api
202 + fi
203 +}
204 +
205 +pkg_postinst() {
206 + xdg_desktop_database_update
207 + xdg_icon_cache_update
208 +}
209 +
210 +pkg_postrm() {
211 + xdg_desktop_database_update
212 + xdg_icon_cache_update
213 +}