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/fop/, dev-java/fop/files/
Date: Mon, 04 Apr 2022 07:31:50
Message-Id: 1649057498.55f3ec5078e3d85b0cce92b424b9202dd6a9b580.flow@gentoo
1 commit: 55f3ec5078e3d85b0cce92b424b9202dd6a9b580
2 Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
3 AuthorDate: Tue Mar 29 23:14:39 2022 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Mon Apr 4 07:31:38 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55f3ec50
7
8 dev-java/fop: Bump to 2.7
9
10 Tests for mudule fop-core need a newer mockito version
11 (see comment in the ebuild), skipped for now.
12
13 Closes: https://bugs.gentoo.org/727504
14 Package-Manager: Portage-3.0.30, Repoman-3.0.3
15 Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
16 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
17
18 dev-java/fop/Manifest | 1 +
19 dev-java/fop/files/fop-2.7-core-event-models.jar | Bin 0 -> 8835 bytes
20 dev-java/fop/files/fop-2.7-test-event-model.jar | Bin 0 -> 428 bytes
21 dev-java/fop/fop-2.7.ebuild | 154 +++++++++++++++++++++++
22 dev-java/fop/metadata.xml | 12 +-
23 5 files changed, 163 insertions(+), 4 deletions(-)
24
25 diff --git a/dev-java/fop/Manifest b/dev-java/fop/Manifest
26 index 9cab9ee0471a..b65582322b79 100644
27 --- a/dev-java/fop/Manifest
28 +++ b/dev-java/fop/Manifest
29 @@ -1 +1,2 @@
30 DIST fop-2.0-src.zip 26381859 BLAKE2B 8500de6a23e93c14fdb4f27c59bafba27a64e6aaffb7a761f16de5bd523e2fdb83593ab53a66de79bf7b7d6c2b887ab97a34accb18be416b26448753babe2395 SHA512 428793303fcf143cffaecadc22cfdb8a065bad0108cceebcabc479d92dbe9834b4f81fd27f3e0314546d848e1960b2fe1a9d443999d8f336f7e87fce771beb7a
31 +DIST fop-2.7-src.tar.gz 26799877 BLAKE2B 00bcbd4cc915aad67c0dac54e85b7c5d10576115a0a8a16517846af249137c73b10c8b0ff161c9957f7c49686eefbf9777dc452b038573c996e29cbad951176a SHA512 bffbc0a97db8bbc826cf9af89fbf4a7e6f705585ea4915c0954df57c6d7af50d323387bb4bb9e2d13047826352d9eb7cbf4f23d5146ce246965b4c531e015633
32
33 diff --git a/dev-java/fop/files/fop-2.7-core-event-models.jar b/dev-java/fop/files/fop-2.7-core-event-models.jar
34 new file mode 100644
35 index 000000000000..49bece365d93
36 Binary files /dev/null and b/dev-java/fop/files/fop-2.7-core-event-models.jar differ
37
38 diff --git a/dev-java/fop/files/fop-2.7-test-event-model.jar b/dev-java/fop/files/fop-2.7-test-event-model.jar
39 new file mode 100644
40 index 000000000000..7c2fff6a088d
41 Binary files /dev/null and b/dev-java/fop/files/fop-2.7-test-event-model.jar differ
42
43 diff --git a/dev-java/fop/fop-2.7.ebuild b/dev-java/fop/fop-2.7.ebuild
44 new file mode 100644
45 index 000000000000..b6bc2ad9ebca
46 --- /dev/null
47 +++ b/dev-java/fop/fop-2.7.ebuild
48 @@ -0,0 +1,154 @@
49 +# Copyright 1999-2022 Gentoo Authors
50 +# Distributed under the terms of the GNU General Public License v2
51 +
52 +EAPI=8
53 +
54 +JAVA_PKG_IUSE="doc source test"
55 +MAVEN_ID="org.apache.xmlgraphics:fop:2.7"
56 +JAVA_TESTING_FRAMEWORKS="junit-4"
57 +
58 +inherit java-pkg-2 java-pkg-simple
59 +
60 +DESCRIPTION="XML Graphics Format Object Processor All-In-One"
61 +HOMEPAGE="https://xmlgraphics.apache.org/fop/"
62 +SRC_URI="mirror://apache/xmlgraphics/fop/source/fop-${PV}-src.tar.gz"
63 +
64 +LICENSE="Apache-2.0"
65 +SLOT="2.7"
66 +KEYWORDS="~amd64 ~ppc64 ~x86"
67 +
68 +CP_DEPEND="
69 + dev-java/batik:1.14
70 + dev-java/commons-io:1
71 + dev-java/fontbox:0
72 + dev-java/qdox:1.12
73 + dev-java/sun-jai-bin:0
74 + dev-java/xmlgraphics-commons:2
75 +"
76 +
77 +DEPEND="${CP_DEPEND}
78 + >=virtual/jdk-1.8:*
79 + dev-java/ant-core:0
80 + dev-java/sun-jai-bin:0
81 + test? (
82 + dev-java/mockito:0
83 + dev-java/pdfbox:0
84 + dev-java/xmlunit:1
85 + )
86 +"
87 +
88 +RDEPEND="${CP_DEPEND}
89 + >=virtual/jre-1.8:*"
90 +
91 +DOCS=( NOTICE README )
92 +
93 +S="${WORKDIR}/fop-${PV}"
94 +
95 +src_prepare() {
96 + default
97 + java-pkg_clean
98 +}
99 +
100 +src_compile() {
101 + JAVA_SRC_DIR="fop-util/src/main/java"
102 + JAVA_JAR_FILENAME="fop-util.jar"
103 + java-pkg-simple_src_compile
104 + JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-util.jar"
105 + rm -r target || die
106 +
107 + JAVA_SRC_DIR="fop-events/src/main/java"
108 + JAVA_RESOURCE_DIRS="fop-events/src/main/resources"
109 + JAVA_JAR_FILENAME="fop-events.jar"
110 + java-pkg-simple_src_compile
111 + JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-events.jar"
112 + rm -r target || die
113 +
114 + JAVA_SRC_DIR="fop-core/src/main/java"
115 + JAVA_RESOURCE_DIRS="fop-core/src/main/resources"
116 + JAVA_MAIN_CLASS=$( sed -n 's:.*<mainClass>\(.*\)</mainClass>:\1:p' fop-core/pom.xml )
117 + JAVA_JAR_FILENAME="fop-core.jar"
118 + # Code generation according to
119 + # https://github.com/apache/xmlgraphics-fop/blob/fop-2_7/fop-core/pom.xml#L150-L219
120 + pushd fop-core/src/main/codegen/fonts >/dev/null || die
121 + local fonts=$(find . -name "Courier*.xml" \
122 + -o -name "Helvetica*.xml" \
123 + -o -name "Times*.xml" \
124 + -o -name "Symbol.xml" \
125 + -o -name "ZapfDingbats.xml"
126 + )
127 + for font in ${fonts}; do \
128 + xalan -XSLTC \
129 + -IN $font \
130 + -XSL font-file.xsl \
131 + -OUT ../../java/org/apache/fop/fonts/base14/${font//.xml}.java || die
132 + done
133 + xalan -XSLTC \
134 + -IN encodings.xml \
135 + -XSL code-point-mapping.xsl \
136 + -OUT ../../java/org/apache/fop/fonts/base14/CodePointMapping.java || die
137 + popd
138 + java-pkg-simple_src_compile
139 + rm -r target || die
140 +
141 + JAVA_GENTOO_CLASSPATH_EXTRA+=":fop-core.jar"
142 +
143 + # Update "fop-core.jar" with "event-mode.xml" files produced manually
144 + # by running "mvn package".
145 + mkdir event-model && pushd $_ >/dev/null || die
146 + jar -xf "${FILESDIR}/fop-2.7-core-event-models.jar"
147 + popd
148 + jar -uf "fop-core.jar" -C event-model . || die
149 + # Upstream does this with maven-antrun-plugin:
150 + # https://github.com/apache/xmlgraphics-fop/blob/fop-2_7/fop-core/pom.xml#L263-L284
151 +
152 + # public class EventProducerCollectorTask extends Task {
153 + #
154 + # private List<FileSet> filesets = new java.util.ArrayList<FileSet>();
155 + # private File destDir;
156 + # private File translationFile;
157 +
158 + if use doc; then \
159 + JAVA_SRC_DIR=(
160 + "fop-util/src/main/java"
161 + "fop-events/src/main/java"
162 + "fop-core/src/main/java"
163 + )
164 + JAVA_JAR_FILENAME="ignoreme.jar"
165 + java-pkg-simple_src_compile
166 + fi
167 +}
168 +
169 +src_test() {
170 + JAVA_TEST_GENTOO_CLASSPATH="junit-4,mockito,pdfbox,xmlunit-1"
171 +
172 + JAVA_TEST_SRC_DIR="fop-events/src/test/java"
173 + JAVA_TEST_RUN_ONLY="org.apache.fop.events.BasicEventTestCase"
174 +
175 + # This jar file was created manually from the output of "mvn test".
176 + # Upstream does this with maven-antrun-plugin
177 + jar -xf ${FILESDIR}/fop-2.7-test-event-model.jar || die
178 +
179 + java-pkg-simple_src_test
180 +
181 + JAVA_TEST_SRC_DIR="fop-core/src/test/java"
182 + JAVA_TEST_RESOURCE_DIRS="fop-core/src/test/resources"
183 +
184 + # Testing fop-core seems to want a newer mockito:
185 + # error: cannot find symbol
186 + # import static org.mockito.ArgumentMatchers.anyInt;
187 +# java-pkg-simple_src_test
188 +}
189 +
190 +src_install() {
191 + for module in fop-util fop-events fop-core ; do
192 + java-pkg_dojar $module.jar
193 + if use source; then
194 + java-pkg_dosrc "$module/src/main/java/*"
195 + fi
196 + done
197 + if use doc; then
198 + java-pkg_dojavadoc target/api
199 + fi
200 + java-pkg_dolauncher "fop-${SLOT}" --main "org.apache.fop.cli.Main"
201 + einstalldocs
202 +}
203
204 diff --git a/dev-java/fop/metadata.xml b/dev-java/fop/metadata.xml
205 index 6ef2d50cf07e..3f00c936434b 100644
206 --- a/dev-java/fop/metadata.xml
207 +++ b/dev-java/fop/metadata.xml
208 @@ -1,8 +1,12 @@
209 <?xml version="1.0" encoding="UTF-8"?>
210 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
211 <pkgmetadata>
212 - <maintainer type="project">
213 - <email>java@g.o</email>
214 - <name>Java</name>
215 - </maintainer>
216 + <maintainer type="project">
217 + <email>java@g.o</email>
218 + </maintainer>
219 + <upstream>
220 + <bugs-to>https://issues.apache.org/jira/projects/FOP/issues</bugs-to>
221 + <changelog>https://xmlgraphics.apache.org/fop/changes.html</changelog>
222 + <remote-id type="github">apache/xmlgraphics-fop</remote-id>
223 + </upstream>
224 </pkgmetadata>