Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/tomcat/files/, www-servers/tomcat/
Date: Fri, 01 Apr 2022 09:50:20
Message-Id: 1648806607.703ed8717f7a1e04f3d4925cc37e6ed6d640ecf4.fordfrog@gentoo
1 commit: 703ed8717f7a1e04f3d4925cc37e6ed6d640ecf4
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 1 09:50:03 2022 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 1 09:50:07 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=703ed871
7
8 www-servers/tomcat: bump to 10.0.20
9
10 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
11
12 www-servers/tomcat/Manifest | 1 +
13 .../tomcat/files/tomcat-10.0.20-build.xml.patch | 347 +++++++++++++++++++++
14 www-servers/tomcat/tomcat-10.0.20.ebuild | 198 ++++++++++++
15 3 files changed, 546 insertions(+)
16
17 diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
18 index d97cc865aa80..3f615beef674 100644
19 --- a/www-servers/tomcat/Manifest
20 +++ b/www-servers/tomcat/Manifest
21 @@ -1,6 +1,7 @@
22 DIST apache-tomcat-10.0.16-src.tar.gz 6088262 BLAKE2B f02a5b08e4502d4e7be2fa14f8dae8760c2844f262cdc75e2cc821038d248ed961281d11f7bb847cf55ecf012ee05c870366508fb1fe1485da2100e87aa13c55 SHA512 44a1ac752077603c5366ec92c6a5860d33ce810bf2554190a013329106ec118d1a18d1a26823b3024d046b05160a20dda65573365451d0481be8be97218445c8
23 DIST apache-tomcat-10.0.17-src.tar.gz 6086996 BLAKE2B ff3584e58ec6f22f493cf7f32435423d68b941d9eec22441ee54ba69af03b50b687b23012129108485c9db147c8e7364ded037cf9ed2add174e6c928b927382a SHA512 1cc0f8e2187934c6dac3e31739f8c53a0a152527a98210deab8ce027c1347cbbd1cef3bdf0294bee3c4dbed20ba57b2291bcd887f353837fd505ea2d17e7ba3d
24 DIST apache-tomcat-10.0.18-src.tar.gz 6088118 BLAKE2B 7d3fdb5a682dd44d358a619a18ca3df3bde27c9fc963436c9bce86baf07a42e87ba80724afdc6ce72b493d2fb35dda644eba29df7d4434f8c815ada4cb5d2ca3 SHA512 001205f382f44163f08dba1d306472b7ef3256e31a522c3f1f7595bca4fd084776a0c1f69b241302fa5d0d2f143ac063cb34d4fcf79a51ec9722f2f2ce3f1dab
25 +DIST apache-tomcat-10.0.20-src.tar.gz 6097471 BLAKE2B 77df97d73ff87a5ad55dfc3a0df02e3a306e619a5ae4bd2df0a0e3d42d236ccf2c6a6c46f60f56311f9be1bd561be9096d810d932f136b5856ff275fb3ae8368 SHA512 1e75b0bad54a9fac6ddc650156fac88bc91933ff0bf4e9a62948f5e116454b6def10d7ad632968e709e8aac72b15c567e4497cdb9b594352cd12d7518fdaf18f
26 DIST apache-tomcat-7.0.109-src.tar.gz 5314401 BLAKE2B 56583caea6879bf8ca5cc02a886de3d7af413032f88d367653e709dc1c8f590e78620c788317bbff4b6e65dd3e242cc26863164ac8e7c87334a22636f3ed0703 SHA512 ecf9c0bee0e3e1aa24f299fe633705c5a2f6aa264d9e4968cfc96aa5d0a425c2b0ff07765a8b6c67221766733bdfaed6e6c6377a8d0870d889e7063ce90a46ce
27 DIST apache-tomcat-8.5.75-src.tar.gz 5961981 BLAKE2B a8d3c0ef390ce6b12b09cedb71cd9c102e3a37265f7ef6db9797eb7eaf04429f75bdedf6a7dbaa7ade0b57a12cbb461498c37d9c7e234bb9dc98e3d095b66b8a SHA512 c1c2609db623eb94a5e177c0f7ccabf8753a34151961ddc0fdea47704aca86123ef63f746b7ca76e818185cae19121823f7700f9bd47ba27625b3c801ddc8bad
28 DIST apache-tomcat-8.5.76-src.tar.gz 5961741 BLAKE2B 4c661c2f753edac48c28fdec3caa06c487e1546feb91f2d69003a4d9f71fb023eb2314520bb156f3087656d655acdfdbdff3f68cd3f81d0d9dfbb2c9577898ee SHA512 b1c1b8c870c77e46969fe64acc71194d37605e5ccda87d105186d8070ec2dd0b7b9c64cf2f9b276db140fd3927832405123018f6fe8f46c0ebda50af6404d8b9
29
30 diff --git a/www-servers/tomcat/files/tomcat-10.0.20-build.xml.patch b/www-servers/tomcat/files/tomcat-10.0.20-build.xml.patch
31 new file mode 100644
32 index 000000000000..7332c570160a
33 --- /dev/null
34 +++ b/www-servers/tomcat/files/tomcat-10.0.20-build.xml.patch
35 @@ -0,0 +1,347 @@
36 +diff --git a/build.xml b/build.xml
37 +index 72e49ad..8ff8ecc 100644
38 +--- a/build.xml
39 ++++ b/build.xml
40 +@@ -1030,6 +1030,7 @@
41 + addOSGi="true" />
42 +
43 + <!-- Servlet Implementation JAR File -->
44 ++<!--
45 + <jarIt jarfile="${servlet-api.jar}"
46 + filesDir="${tomcat.classes}"
47 + filesId="files.servlet-api"
48 +@@ -1037,21 +1038,23 @@
49 + notice="${tomcat.manifests}/servlet-api.jar.notice"
50 + license="${tomcat.manifests}/servlet-api.jar.license"
51 + addOSGi="true" />
52 +-
53 ++-->
54 + <!-- EL Implementation JAR File -->
55 ++<!--
56 + <jarIt jarfile="${el-api.jar}"
57 + filesDir="${tomcat.classes}"
58 + filesId="files.el-api"
59 + manifest="${tomcat.manifests}/el-api.jar.manifest"
60 + addOSGi="true" />
61 +-
62 ++-->
63 + <!-- JSP Implementation JAR File -->
64 ++<!--
65 + <jarIt jarfile="${jsp-api.jar}"
66 + filesDir="${tomcat.classes}"
67 + filesId="files.jsp-api"
68 + manifest="${tomcat.manifests}/jsp-api.jar.manifest"
69 + addOSGi="true" />
70 +-
71 ++-->
72 + <!-- WebSocket API JAR File -->
73 + <jarIt jarfile="${websocket-api.jar}"
74 + filesDir="${tomcat.classes}"
75 +@@ -1164,10 +1167,10 @@
76 + addOSGi="true" />
77 +
78 + <!-- Re-packaged Apache Commons DBCP 2-->
79 +- <jarIt jarfile="${tomcat-dbcp.jar}"
80 ++<!-- <jarIt jarfile="${tomcat-dbcp.jar}"
81 + filesDir="${tomcat.classes}"
82 + filesId="files.tomcat-dbcp"
83 +- addOSGi="true" />
84 ++ addOSGi="true" /> -->
85 +
86 + <!-- i18n JARs -->
87 + <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
88 +@@ -1404,9 +1407,9 @@
89 +
90 + <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
91 + description="Default. Builds a working Tomcat instance">
92 +-
93 ++<!--
94 + <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
95 +-
96 ++-->
97 + <!-- Copy scripts -->
98 + <copy todir="${tomcat.build}/bin">
99 + <fileset dir="bin">
100 +@@ -1466,7 +1469,7 @@
101 + <exclude name="${jdt.jar.filename}"/>
102 + </fileset>
103 + </delete>
104 +- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
105 ++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
106 +
107 + <!-- Delete all other versions of Tomcat Migration Tool for Jakarta EE and copy the current one -->
108 + <local name="migration.jar.filename" />
109 +@@ -1477,7 +1480,7 @@
110 + <exclude name="${migration-lib.jar.filename}"/>
111 + </fileset>
112 + </delete>
113 +- <copy file="${migration-lib.jar}" todir="${tomcat.build}/lib"/>
114 ++<!-- <copy file="${migration-lib.jar}" todir="${tomcat.build}/lib"/> -->
115 +
116 + <!-- Add sources for examples -->
117 + <antcall target="examples-sources" />
118 +@@ -1506,7 +1509,7 @@
119 +
120 + </target>
121 +
122 +- <target name="build-tomcat-jdbc" depends="package">
123 ++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
124 + <!-- build the jdbc-pool jar and source jar-->
125 + <echo message="Building Tomcat JDBC pool libraries"/>
126 + <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
127 +@@ -1522,7 +1525,7 @@
128 + <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
129 + </target>
130 +
131 +- <target name="build-tomcat-jdbc-src">
132 ++ <target name="build-tomcat-jdbc-src" unless="noget">
133 + <!-- build the jdbc-pool source jar-->
134 + <echo message="Building Tomcat JDBC pool src JAR"/>
135 + <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
136 +@@ -1625,9 +1628,11 @@
137 +
138 + <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
139 + <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
140 ++<!--
141 + <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
142 + failonerror="false"/>
143 + <copy file="${jdt.jar}" todir="${tomcat.embed}" />
144 ++-->
145 + <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
146 +
147 + <!-- Note the meta-inf below will work as long as there is only one JAR
148 +@@ -2131,11 +2136,12 @@
149 + </copy>
150 +
151 + <!-- Source bundles for native components -->
152 ++<!--
153 + <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
154 + file="${tomcat-native.tar.gz}" />
155 + <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
156 + file="${commons-daemon.native.src.tgz}" />
157 +-
158 ++-->
159 + <!-- platform README files -->
160 + <echo append="false" file="${tomcat.dist}/bin/x64/README">
161 + Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
162 +@@ -2159,13 +2165,13 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
163 + additionalparam="-breakiterator -notimestamp -html5"
164 + source="${compile.release}"
165 + maxmemory="512m"
166 +- failonerror="true"
167 +- failonwarning="true">
168 ++ failonerror="true">
169 + <classpath>
170 + <path refid="compile.classpath"/>
171 + <path location="${ant.core.lib}"/>
172 + </classpath>
173 + </javadoc>
174 ++<!--
175 + <javadoc packagenames="jakarta.servlet.*"
176 + excludepackagenames="jakarta.servlet.jsp.*"
177 + sourcepath="${tomcat.dist}/src/java"
178 +@@ -2181,8 +2187,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
179 + additionalparam="-breakiterator -notimestamp -html5"
180 + source="${compile.release}"
181 + maxmemory="512m"
182 +- failonerror="true"
183 +- failonwarning="true">
184 ++ failonerror="true">
185 + <classpath>
186 + <path refid="compile.classpath"/>
187 + <path location="${ant.core.lib}"/>
188 +@@ -2202,8 +2207,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
189 + additionalparam="-breakiterator -notimestamp -html5"
190 + source="${compile.release}"
191 + maxmemory="512m"
192 +- failonerror="true"
193 +- failonwarning="true">
194 ++ failonerror="true">
195 + <classpath>
196 + <path refid="compile.classpath"/>
197 + <path location="${ant.core.lib}"/>
198 +@@ -2223,13 +2227,13 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
199 + additionalparam="-breakiterator -notimestamp -html5"
200 + source="${compile.release}"
201 + maxmemory="512m"
202 +- failonerror="true"
203 +- failonwarning="true">
204 ++ failonerror="true">
205 + <classpath>
206 + <path refid="compile.classpath"/>
207 + <path location="${ant.core.lib}"/>
208 + </classpath>
209 + </javadoc>
210 ++-->
211 + <javadoc packagenames="jakarta.websocket.*"
212 + sourcepath="${tomcat.dist}/src/java"
213 + destdir="${tomcat.dist}/webapps/docs/websocketapi"
214 +@@ -2244,8 +2248,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
215 + additionalparam="-breakiterator -notimestamp -html5"
216 + source="${compile.release}"
217 + maxmemory="512m"
218 +- failonerror="true"
219 +- failonwarning="true">
220 ++ failonerror="true">
221 + <classpath>
222 + <path refid="compile.classpath"/>
223 + <path location="${ant.core.lib}"/>
224 +@@ -2264,8 +2267,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
225 + charset="UTF-8"
226 + additionalparam="-breakiterator -notimestamp -html5"
227 + maxmemory="512m"
228 +- failonerror="true"
229 +- failonwarning="true">
230 ++ failonerror="true">
231 + <classpath>
232 + <path refid="compile.classpath"/>
233 + <path location="${ant.core.lib}"/>
234 +@@ -2284,20 +2286,23 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
235 + additionalparam="-breakiterator -notimestamp -html5"
236 + source="${compile.release}"
237 + maxmemory="512m"
238 +- failonerror="true"
239 + failonwarning="true">
240 + <classpath>
241 + <path refid="compile.classpath"/>
242 + <path location="${ant.core.lib}"/>
243 + </classpath>
244 + <link href="../annotationapi"/>
245 ++<!--
246 + <link href="../servletapi"/>
247 + <link href="../jspapi"/>
248 + <link href="../elapi"/>
249 ++-->
250 + <link href="../websocketapi"/>
251 + <link href="../jaspicapi"/>
252 ++<!--
253 + <link href="https://docs.oracle.com/javase/8/docs/api/"/>
254 + <link href="https://javaee.github.io/javaee-spec/javadocs/"/>
255 ++-->
256 + <packageset dir="${tomcat.dist}/src/java/">
257 + <include name="org/**"/>
258 + <exclude name="org/apache/el/parser/**"/>
259 +@@ -3134,7 +3139,7 @@ skip.installer property in build.properties" />
260 + </target>
261 +
262 + <target name="download-test-compile"
263 +- description="Download additional components for the tests" >
264 ++ description="Download additional components for the tests">
265 +
266 + <antcall target="downloadfile">
267 + <param name="sourcefile" value="${junit.loc}"/>
268 +@@ -3262,7 +3267,7 @@ skip.installer property in build.properties" />
269 + </target>
270 +
271 + <target name="download-dist"
272 +- description="Download additional components for a distribution" >
273 ++ description="Download additional components for a distribution">
274 +
275 + <antcall target="downloadfile-2">
276 + <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
277 +@@ -3317,13 +3322,13 @@ skip.installer property in build.properties" />
278 +
279 + <!-- =============== Utility Targets to support downloads ================ -->
280 +
281 +- <target name="setproxy" if="${proxy.use}">
282 ++ <target name="setproxy" if="${proxy.use}" unless="noget">
283 + <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
284 + proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
285 + <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
286 + </target>
287 +
288 +- <target name="testexist">
289 ++ <target name="testexist" unless="noget">
290 + <echo message="Testing for ${destfile}"/>
291 + <available file="${destfile}" property="exist"/>
292 + </target>
293 +@@ -3445,7 +3450,7 @@ skip.installer property in build.properties" />
294 + </sequential>
295 + </macrodef>
296 +
297 +- <target name="downloadgz" unless="exist" if="${execute.download}" depends="testexist,setproxy">
298 ++ <target name="downloadgz" unless="noget" if="${execute.download}" depends="testexist,setproxy">
299 + <!-- Download and extract the package -->
300 + <local name="temp.file"/>
301 + <mkdir dir="${base.path}"/>
302 +@@ -3462,7 +3467,7 @@ skip.installer property in build.properties" />
303 + <delete file="${temp.file}.tar.gz"/>
304 + </target>
305 +
306 +- <target name="downloadgz-2" unless="exist" if="${execute.download}" depends="testexist">
307 ++ <target name="downloadgz-2" unless="noget" if="${execute.download}" depends="testexist">
308 + <!-- Download and extract the package from the two alternative locations -->
309 + <local name="temp.file"/>
310 + <mkdir dir="${base.path}"/>
311 +@@ -3487,7 +3492,7 @@ skip.installer property in build.properties" />
312 + <delete file="${temp.file}.tar.gz"/>
313 + </target>
314 +
315 +- <target name="downloadzip" unless="exist" if="${execute.download}" depends="testexist,setproxy">
316 ++ <target name="downloadzip" unless="noget" if="${execute.download}" depends="testexist,setproxy">
317 + <!-- Download and extract the package -->
318 + <local name="temp.file"/>
319 + <mkdir dir="${base.path}"/>
320 +@@ -3503,7 +3508,7 @@ skip.installer property in build.properties" />
321 + <delete file="${temp.file}"/>
322 + </target>
323 +
324 +- <target name="downloadzip-2" unless="exist" if="${execute.download}" depends="testexist">
325 ++ <target name="downloadzip-2" unless="noget" if="${execute.download}" depends="testexist">
326 + <!-- Download and extract the package from the two alternative locations -->
327 + <local name="temp.file"/>
328 + <mkdir dir="${base.path}"/>
329 +@@ -3527,7 +3532,7 @@ skip.installer property in build.properties" />
330 + <delete file="${temp.file}"/>
331 + </target>
332 +
333 +- <target name="downloadfile" unless="exist" if="${execute.download}" depends="testexist,setproxy">
334 ++ <target name="downloadfile" unless="noget" if="${execute.download}" depends="testexist,setproxy">
335 + <!-- Download the file -->
336 + <local name="temp.file"/>
337 + <mkdir dir="${base.path}"/>
338 +@@ -3542,7 +3547,7 @@ skip.installer property in build.properties" />
339 + <move file="${temp.file}" tofile="${destfile}"/>
340 + </target>
341 +
342 +- <target name="downloadfile-2" unless="exist" if="${execute.download}" depends="testexist">
343 ++ <target name="downloadfile-2" unless="noget" if="${execute.download}" depends="testexist">
344 + <!-- Download the file from the two alternative locations -->
345 + <local name="temp.file"/>
346 + <mkdir dir="${base.path}"/>
347 +@@ -3570,7 +3575,7 @@ skip.installer property in build.properties" />
348 + <move file="${temp.file}" tofile="${destfile}"/>
349 + </target>
350 +
351 +- <target name="trydownload.check" depends="setproxy">
352 ++ <target name="trydownload.check" depends="setproxy" unless="noget">
353 + <condition property="trydownload.run">
354 + <and>
355 + <not>
356 +@@ -3581,7 +3586,7 @@ skip.installer property in build.properties" />
357 + </condition>
358 + </target>
359 +
360 +- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
361 ++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
362 + <!-- Downloads a file if not yet downloaded and the source URL is available -->
363 + <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
364 + </target>
365 +@@ -3592,7 +3597,7 @@ skip.installer property in build.properties" />
366 +
367 + <target name="ide-eclipse"
368 + depends="download-compile, download-test-compile"
369 +- description="Prepares the source tree to be built in Eclipse">
370 ++ description="Prepares the source tree to be built in Eclipse" unless="noget">
371 +
372 + <!-- Copy the sample project files into the root directory -->
373 + <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
374 +@@ -3610,7 +3615,7 @@ Read the Building page on the Apache Tomcat documentation site for details on ho
375 +
376 + <target name="ide-intellij"
377 + depends="download-compile, download-test-compile"
378 +- description="Creates project directory .idea for IntelliJ IDEA">
379 ++ description="Creates project directory .idea for IntelliJ IDEA" unless="noget">
380 +
381 + <copy todir="${tomcat.home}/.idea">
382 + <fileset dir="${tomcat.home}/res/ide-support/idea"/>
383
384 diff --git a/www-servers/tomcat/tomcat-10.0.20.ebuild b/www-servers/tomcat/tomcat-10.0.20.ebuild
385 new file mode 100644
386 index 000000000000..685d4e4d5ae4
387 --- /dev/null
388 +++ b/www-servers/tomcat/tomcat-10.0.20.ebuild
389 @@ -0,0 +1,198 @@
390 +# Copyright 1999-2022 Gentoo Authors
391 +# Distributed under the terms of the GNU General Public License v2
392 +
393 +EAPI=8
394 +
395 +JAVA_PKG_IUSE="doc source test"
396 +
397 +inherit java-pkg-2 java-ant-2 prefix
398 +
399 +MY_P="apache-${PN}-${PV}-src"
400 +
401 +# Currently we bundle binary versions of bnd.jar and bndlib.jar
402 +# See bugs #203080 and #676116
403 +BND_VERSION="6.2.0"
404 +BND="biz.aQute.bnd-${BND_VERSION}.jar"
405 +BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
406 +
407 +DESCRIPTION="Tomcat Servlet-5.0/JSP-3.0/EL-4.0/WebSocket-2.0/JASIC-2.0 Container"
408 +HOMEPAGE="https://tomcat.apache.org/"
409 +SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
410 + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
411 + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
412 +
413 +LICENSE="Apache-2.0"
414 +SLOT="10"
415 +KEYWORDS="~amd64 ~amd64-linux"
416 +IUSE="extra-webapps"
417 +
418 +RESTRICT="test" # can we run them on a production system?
419 +
420 +# though it could work with 4.22 and upstream uses 4.20,
421 +# we still use 4.15 because 4.20+ is currently built with java 11
422 +# and it would force Tomcat to use at least java 11 too
423 +ECJ_SLOT="4.15"
424 +SAPI_SLOT="5.0"
425 +
426 +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
427 + dev-java/glassfish-xmlrpc-api:0
428 + dev-java/jakartaee-migration:0
429 + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}
430 + dev-java/wsdl4j:0"
431 +RDEPEND="${COMMON_DEP}
432 + acct-group/tomcat
433 + acct-user/tomcat
434 + virtual/jre"
435 +DEPEND="${COMMON_DEP}
436 + app-admin/pwgen
437 + dev-java/ant-core
438 + >=virtual/jdk-1.8:*
439 + test? (
440 + dev-java/ant-junit:0
441 + dev-java/easymock:3.2
442 + )"
443 +
444 +S=${WORKDIR}/${MY_P}
445 +
446 +PATCHES=(
447 + "${FILESDIR}/${PN}-9.0.50-insufficient-ecj.patch"
448 +)
449 +
450 +BND_HOME="${S}/tomcat-build-libs/bnd"
451 +BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
452 +BND_JAR="${BND_HOME}/${BND}"
453 +BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
454 +
455 +src_unpack() {
456 + unpack ${MY_P}.tar.gz
457 +
458 + mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
459 + ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
460 + ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
461 +}
462 +
463 +src_prepare() {
464 + default
465 +
466 + find -name '*.jar' -type f -delete -print || die
467 +
468 + # Remove bundled servlet-api
469 + rm -rv java/jakarta/{el,servlet} || die
470 +
471 + eapply "${FILESDIR}/${PN}-10.0.20-build.xml.patch"
472 +
473 + local vm_version="$(java-config -g PROVIDES_VERSION)"
474 + [[ "${vm_version}" == "1.8" ]] && eapply "${FILESDIR}/${PN}-10.0.16-build.xml-strip-html5.patch"
475 +
476 + # For use of catalina.sh in netbeans
477 + sed -i -e "/^# ----- Execute The Requested Command/ a\
478 + CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
479 + bin/catalina.sh || die
480 +
481 + java-pkg-2_src_prepare
482 +}
483 +
484 +JAVA_ANT_REWRITE_CLASSPATH="true"
485 +
486 +EANT_BUILD_TARGET="deploy"
487 +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},jakartaee-migration,tomcat-servlet-api-${SAPI_SLOT},wsdl4j"
488 +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
489 +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
490 +EANT_NEEDS_TOOLS="true"
491 +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
492 +
493 +# revisions of the scripts
494 +IM_REV="-r2"
495 +INIT_REV="-r1"
496 +
497 +src_configure() {
498 + java-ant-2_src_configure
499 +
500 + eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch"
501 +}
502 +
503 +src_compile() {
504 + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only glassfish-xmlrpc-api)"
505 + LC_ALL=C java-pkg-2_src_compile
506 +}
507 +
508 +src_test() {
509 + java-pkg-2_src_test
510 +}
511 +
512 +src_install() {
513 + local dest="/usr/share/${PN}-${SLOT}"
514 +
515 + java-pkg_jarinto "${dest}"/bin
516 + java-pkg_dojar output/build/bin/*.jar
517 + exeinto "${dest}"/bin
518 + doexe output/build/bin/*.sh
519 +
520 + java-pkg_jarinto "${dest}"/lib
521 + java-pkg_dojar output/build/lib/*.jar
522 +
523 + dodoc RELEASE-NOTES RUNNING.txt
524 + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
525 + use source && java-pkg_dosrc java/*
526 +
527 + ### Webapps ###
528 +
529 + # add missing docBase
530 + local apps="host-manager manager"
531 + for app in ${apps}; do
532 + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
533 + output/build/webapps/${app}/META-INF/context.xml || die
534 + done
535 +
536 + insinto "${dest}"/webapps
537 + doins -r output/build/webapps/{host-manager,manager,ROOT}
538 + use extra-webapps && doins -r output/build/webapps/{docs,examples}
539 +
540 + ### Config ###
541 +
542 + # create "logs" directory in $CATALINA_BASE
543 + # and set correct perms, see #458890
544 + dodir "${dest}"/logs
545 + fperms 0750 "${dest}"/logs
546 +
547 + # replace the default pw with a random one, see #92281
548 + local randpw="$(pwgen -s -B 15 1)"
549 + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
550 +
551 + # prepend gentoo.classpath to common.loader, see #453212
552 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
553 +
554 + insinto "${dest}"
555 + doins -r output/build/conf
556 +
557 + ### rc ###
558 +
559 + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
560 + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
561 + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
562 +
563 + insinto "${dest}"/gentoo
564 + doins "${T}"/tomcat.conf
565 + exeinto "${dest}"/gentoo
566 + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
567 + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
568 +}
569 +
570 +pkg_postinst() {
571 + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
572 + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
573 + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
574 +
575 + elog "To manage Tomcat instances, run:"
576 + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
577 +
578 + ewarn "Please note that since version 10 the primary package for all implemented APIs"
579 + ewarn "has changed from javax.* to jakarta.*. This will almost certainly require code"
580 + ewarn "changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later."
581 +
582 + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
583 + ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
584 +
585 + einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
586 + einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
587 +}