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 |
+} |