summaryrefslogtreecommitdiff
path: root/www-servers/tomcat
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
commit908778078736bd36f7a60a2d576d415cb8e000fa (patch)
treec6a4796c48b608c14dc7e9674cdbd38f905e3c15 /www-servers/tomcat
parent185fa19bbf68a4d4dca534d2b46729207a177f16 (diff)
gentoo resync : 22.05.2021
Diffstat (limited to 'www-servers/tomcat')
-rw-r--r--www-servers/tomcat/Manifest8
-rw-r--r--www-servers/tomcat/files/tomcat-8.5.66-build.xml.patch266
-rw-r--r--www-servers/tomcat/files/tomcat-9.0.46-build.xml.patch284
-rw-r--r--www-servers/tomcat/tomcat-10.0.6.ebuild192
-rw-r--r--www-servers/tomcat/tomcat-8.5.66.ebuild159
-rw-r--r--www-servers/tomcat/tomcat-9.0.46.ebuild187
6 files changed, 1096 insertions, 0 deletions
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
index 090352c3f54b..af37191dd52e 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -1,23 +1,31 @@
AUX tomcat-10.0.4-build.xml.patch 11459 BLAKE2B 841a96b09280a8790cf5bff7718219027abf793d3bf2f93c72086ca709102775995d06a4eeadcfab297742f6c0e74ac74736407606074cf6106b5948a8359ace SHA512 54e0c3ad71afa28b14c1644438daa0df0d2e6b95b55fd83d8776b30bb6ed3f8735bc18d5a8d9da6c56323c297245a34c441e126e7d1e1d2deeb331c8c382ba30
AUX tomcat-7.0.99-build.xml.patch 5913 BLAKE2B 21316c4ce76bd3e87c2749354cbd455c1322431649b276b59a93f10b97f59d03690f3531c2fd3a8ce67b81969544d498bf04e829407005dbed867067f8970347 SHA512 f8d0cb4ba0effdeea3db4049381efc84513551a1e28551b59a254340a8add306824d1dba344f6eaddc93e8b61fc0b71e1a8d0bcfc860500134cc19072deef30e
AUX tomcat-8.5.65-build.xml.patch 10854 BLAKE2B 9576793618aac5bd3653ed6f873aa13578b6da6cf865213041a00f90b4b9fb5208eda32b7733d5d5bc2b90b6517c8f927802ffdab10c0090387318a156ea3fd4 SHA512 6bb7a0ada97e8fd68950c6edf819a35dbeda2dc6e63775b63e33b84d795402afb64741b2db4d17b7fba21bfa513065401028fa7862044facf88a23a0b32380d2
+AUX tomcat-8.5.66-build.xml.patch 10850 BLAKE2B 69353bcf5697e6ae0b930c71fbb870401e822340f0eb0b8a6283e0d8cd1388d1d22a12190d089f7001a06e2491bb2309aab8c93b8f2a79e8439571fed8d0aebb SHA512 498c2ac8ab49cd83151ddfc6b47bd3a7a7148096e331ae55c7fe3da90007c19387208de64f5b3e796ec54b4b8534b11f906940fcf49343157acc862fcf06f5c7
AUX tomcat-9.0.37-fix-build-rewrite.patch 513 BLAKE2B e806ca32771bcad0fbc2f1b3f223af2b17d2caffe6ed034783294650d4ec22c8d9d9d215ade85569f6627508c61b7d469412d582093708b6bb728d6123d65155 SHA512 7aab16d1b52fa88352df849ca051dcaf27f645b1b3edd3df3a7d87385b5068d300105f89c18ba3a0f65818739b85ec847ddd5b28b8b655efbb7b39036099cae2
AUX tomcat-9.0.43-insufficient-ecj.patch 2304 BLAKE2B b25d68db5020f7ec118c1fc03e12049da99f84fbebc2fa636c896d5647cf8cdc6e136a27f611f0de975e9c2243b516144be7853a8aab05496fc32112d31478b3 SHA512 60fee887ba9e83f92dd87d75a7c0fad05b5a7458ddb94c9e718aecffd9b968beaf7ce8c2b7e9bb31b9286d5cd77f89afd3775c0ccbc1fff58bfa2b70066d06b6
AUX tomcat-9.0.45-build.xml.patch 11406 BLAKE2B 1a4f204a6c9625c5942795cddcf71147fb962354572496733cb96d3230d867ef2f711cb95cd68f6351586e1fec4b8784473f44b0ad3e9833018345183049a48c SHA512 80cc5ae7dc2f53aaf48e3d81ad7d1f3b7756b22597c14659b4650d664e1ad9dcefdc5d3cc5576bbdf7433992a541fc9a19cadb6c84b5e5566277ba6284f95967
+AUX tomcat-9.0.46-build.xml.patch 11402 BLAKE2B f9f7bbef835318220f0486c4eafe6e2db12d8ae3a252be921638c15ba3685f92a0ee8bc816bfde2f4bbab546117eb0fa654cb4c6cfac4ffd76dab88faecea656 SHA512 8301d7225b7c02fe79678ce0b2d6d9176de81ffa9e973f5c8c9ea0ec48c17a023ec27151793f1ed39248f15f0e6ecad92093acaf587ccf5f48031e8d302e7fe7
AUX tomcat-instance-manager-r1.bash 6451 BLAKE2B 3bcd9dd4d3360a91f4a548c050eab6f7174453cfbe7b4a1a7167e122efa3ec2ea6c17c88de1f9223e21e773cf717ed04d79fe0b1e7fc816400033094a07a35c6 SHA512 3c8f994519d1ca5ff24229798786ad3d75dd20dbf8b3b81f6c0ccd121b978d2cb12633270f463a39ed5c4097e5869b1a4bfbf867994a64c5e41916e378038570
AUX tomcat-instance-manager-r2.bash 6999 BLAKE2B f1c771678bd8b894ecf242d5a8fb22f5b2f0f33445a1ff158c242b5154edc4483a5707ce33a5dcee53a3106e631ad8218243d8b72a32a10cd99e9646fa54085d SHA512 c30c156cbf2b53cf8498288bacaedd48872dce52f461ff32071310b438bdb5015c1cd1d512a2905c4db01e2b22342590e1b8aeadbd44f29062606fabbb2f2fed
AUX tomcat-r1.init 3200 BLAKE2B eb913d32bb8c1883e58551a25ff9516337d947c6fd2c7b449601a89a4518286d61dbca76417265289782a7a08540d8e78a3ea1cd1427d43d87e24813261c0fee SHA512 3d32e2ad998adfbaea5fe0ffcbbe6659dcb530a110faed5f2712ae2fd767353b1fc3f1ac83a24d43138c1bfc55949e645833a428ab982be14415887fc46d9fab
AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c43d7682728729d0198d4150e42282c7e732750231b7cdbfb51de9b24f2ba780a22700965113c5 SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d
DIST apache-tomcat-10.0.5-src.tar.gz 5976090 BLAKE2B 5441bec39ddaa74a7a4b39e48ecb524f6edb230760272678e6bf8d0a26b4a39e9a6c276b591d5d7962d8cae7d211486d65a334f363931d7cd8750a902c8aaf98 SHA512 177e497b2355b260fc59cfcfb8b1fc2fabf5fe5a0f5705b5feee2c330881545aad359a746074c9fb180acb54035d0c2f25b23daac84202788178a256e48f0c9f
+DIST apache-tomcat-10.0.6-src.tar.gz 5987333 BLAKE2B b955d3708555c5530ebccaf9c6e8c344a679666bdd45361980d722d2cb48b618a03dc2514f973c182c2c1eaf96852e5a5eadad89575ee1bf524213211191a6a4 SHA512 229e8767b8f53f6b5c0e28f13a1daffd6fb8307a5239ae28ee1522087d881e4c9e3f1a0d39bfc852d5e54166dbb8a0a1577210a325845815c7281c4babc0b100
DIST apache-tomcat-7.0.108-src.tar.gz 5313375 BLAKE2B 200a1ccbc39a572ca7e4f7805bf3d27e0bd645156d8886b0fcbee5e64279a4d2f4e2ad847d67a70e1c65a8d88fa5bd4757a0066ceff367fe92914e22cc809aa5 SHA512 bdd957ca5b3b7dd152efa6406dbb6397ed62661ec44c83b6a8f6e9e3c33362c51ff5e0451a57d6aa3874cd745811f2afe78d08825ddaba8e29cb38ef922c48e2
DIST apache-tomcat-7.0.109-src.tar.gz 5314401 BLAKE2B 56583caea6879bf8ca5cc02a886de3d7af413032f88d367653e709dc1c8f590e78620c788317bbff4b6e65dd3e242cc26863164ac8e7c87334a22636f3ed0703 SHA512 ecf9c0bee0e3e1aa24f299fe633705c5a2f6aa264d9e4968cfc96aa5d0a425c2b0ff07765a8b6c67221766733bdfaed6e6c6377a8d0870d889e7063ce90a46ce
DIST apache-tomcat-8.5.65-src.tar.gz 5874743 BLAKE2B 8a605b0fe5026315aa0a5463d42c01eac164c91737cc81f8df4e174075783a829ddd30a8fc9f5129cf1f83a98d85fa33cb7ec9223f365de0ad91ecffb319d187 SHA512 df6ea4e8e04fe1f787ef105cb3e453516ad25d32ad3d559c86997b44492c9a1e93e8c22c88ba2203dcfefc14404f7d1bb28a9e2e20d44ba85adf8c374a4456fa
+DIST apache-tomcat-8.5.66-src.tar.gz 5879748 BLAKE2B bfef20872bd19ffa2bb34b98a1da875fdd5f232e681458f0aef093b7eecd63a95c1cd26130f54251f149249e639d0da2577770e43314d2a86b8ee9b48b675f0d SHA512 322fda683197898f873feb375791092d33c90aac08a54889fabab0f59ecbc7b27784f027b37008c6893fdbf8ca7973b73268f42673d7e8df762419b5a536593b
DIST apache-tomcat-9.0.45-src.tar.gz 6055044 BLAKE2B 66ca4ee2c0a3bbd1f73d7257c55105e28d1619c8e533f945438cdb283cb8ccdceada163698641b034b5e43b513fcdd16e331c4c11ea300501276a5247f8ef682 SHA512 e3edfd6ab9e3ddf6a15f63a4e11f5237e03d7cacdec11805f4a901bd325c0edeca1ee0b62bee92d53e521af0a9d5a7b10ce12a8262a57fd7faa69d93ca1c066e
+DIST apache-tomcat-9.0.46-src.tar.gz 6068533 BLAKE2B 400814281aedd588c008a1363199f8602e856870d4c39d536b13f8a357c2390d2db689940f4a6971ec74a84e8e400174e72610e0d64a220de41f2dff419dda3c SHA512 dc380e23aa87273c6ba32e79659e768c551b07812635c2f1c62d2c34b493b1d3d51b4548fec5014fdb36f8461fc90942aa7917874ddf3d6f5c5345d8ca02dfc1
DIST biz.aQute.bnd-5.1.1.jar 16088761 BLAKE2B 59906cc39ea27ef20cbf82de1ba78096f34dc417da6dc5c28e21f6e92c0625efecf14cec6c5faf0ab17551c31a6c87a24614c2ac75ac902cfea30199ecc0d39f SHA512 8092b083e7b86e75bf27233964763b88bee74d8ae141c85e387c1cc8bd0cbf3a54be27afea29931fb3ae950700a515fd4a28cfe8e7f26cbaaec506aa06357a37
DIST biz.aQute.bndlib-5.1.1.jar 3652944 BLAKE2B dad9f9835fb407a36e0eae4b65fa2fda147e06ab3f3211a2ed2f1631aeccd6d14d198c325793cb1ce9a57b719a836db230d0452715744ba5a4a6c2983c17916b SHA512 d7da056ba541ae0862159bf5e38e1a5351b2ab5388c88733b46601c2d7dab8970f16af00df186a6cb67fbe81ef53f2c8402db9d28a8c6819dadf60a1df40879b
EBUILD tomcat-10.0.5.ebuild 5920 BLAKE2B e688681999674380319dcb3651162c089aec032501ee1b96d2f12e9c3d7cb5b30a197683323ca18181d68ee7a70cb5ab979669dcb12d55d9dadf75b3eec0d136 SHA512 21dfc89a64db1f34b9e4314ef8b7b1144b205548d81c93b9a89e65703619d8bc54d7359f70c78b6aa39a5f1368b63b49b32a8169259c35926536cb1bedcabc6b
+EBUILD tomcat-10.0.6.ebuild 5920 BLAKE2B e688681999674380319dcb3651162c089aec032501ee1b96d2f12e9c3d7cb5b30a197683323ca18181d68ee7a70cb5ab979669dcb12d55d9dadf75b3eec0d136 SHA512 21dfc89a64db1f34b9e4314ef8b7b1144b205548d81c93b9a89e65703619d8bc54d7359f70c78b6aa39a5f1368b63b49b32a8169259c35926536cb1bedcabc6b
EBUILD tomcat-7.0.108.ebuild 4147 BLAKE2B 8023fb9265a3e57bbdb506559bfe9a337f566e09b6cccd0e74e84341e54d1434134eb0aecaf72a97113826d8f7359dea1e5672db44e9dfb706b020cf79c51802 SHA512 0730da2fe90a5fa203e03eef5044eb8b90c5b800d064d65467370834b788c3de03ea5c57ccfe20b29deac9c560c68029e94a80be180b240356565121d453a2a4
EBUILD tomcat-7.0.109.ebuild 4148 BLAKE2B 6ba606c3f0de9c15e19f570ae6940051ff0d28dbcf8242d3181663a708a86f41afb1e35c95a9f9b9213029599aa5b7776b986051e3f049d733e56cefb2990a9d SHA512 ad613250c438267f98e7ea591d270a13babbbd6e1539c48b174d5922abfbfeff79396fa8272b4de0b47cf269658e9f3dfd6ce8157ea22a432b01380186442b5f
EBUILD tomcat-8.5.65.ebuild 4736 BLAKE2B 8c086b833d9777cf5756a7028d674c70b9a88999b62a3a4266b77a9a77d2ef252b02015a23b0a54567c58570ba40ac7c008a41266d27030fcabefdd271140016 SHA512 ec682ab4fdf044b0cfe529786c0d0a093e48a0e2f3eac5fecce890ccfdbdd427dd70a9ab9f413f66cf67c1833f98fa1f2e2c94c558958869afa94086dbd0698d
+EBUILD tomcat-8.5.66.ebuild 4737 BLAKE2B 0fc89880a266872832a8f199af5cfc3aa6ec0e14ab8214eca907dbf91e68f5306c23fcef1fdfa852c7e8051ec6953086338380552ea1c08ec45a828d6fc35d9a SHA512 f3b4c598e3a022baf63a81068751a4c73f3106a1583c5d9d3493fd6aa5fc7a87e91cc023203b81c86ed3683bacdaed728886bbffadd1bb102b5e2a678f75b26a
EBUILD tomcat-9.0.45.ebuild 5632 BLAKE2B 18bccfcb61851a4e169621e3a921a1346a6f1a50d705beb082850d183bc2fff4c1a4258ef7e25f2f4da89d4bb46b8651159c1cdf30e0a6b4068440bbb9e542c6 SHA512 1cff8ca77273fe3ae406e4f03b7edd977c4bcea42543de3ae5dc6c8b8aeb025f91c53b8901d27a0ccaa078268d65c9aec786d03927d3acf9a7dd2cd2d26eea2c
+EBUILD tomcat-9.0.46.ebuild 5632 BLAKE2B 62c2441708f0213f2ca077bc7b8b52ecbf8d46f5f7c1720d30c6d93b21f82fa73613e06a9067b07a54dab2910344e7c2cdbe966f4fe5a6476998901bff4d5bc6 SHA512 d7a0f0c44598be1ff78d891894b91d9ffa2e8906a5733d1d8054f50250e7b7cb009d26416a11fad64a3b7bf6a0228930b1cf340e5a61dc4605e3865edb75c4ab
MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109
diff --git a/www-servers/tomcat/files/tomcat-8.5.66-build.xml.patch b/www-servers/tomcat/files/tomcat-8.5.66-build.xml.patch
new file mode 100644
index 000000000000..3dcf6fe19e55
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-8.5.66-build.xml.patch
@@ -0,0 +1,266 @@
+diff --git a/build.xml b/build.xml
+index ad55d0b..0c44bb5 100644
+--- a/build.xml
++++ b/build.xml
+@@ -780,25 +780,28 @@
+ manifest="${tomcat.manifests}/annotations-api.jar.manifest" />
+
+ <!-- Servlet Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+ manifest="${tomcat.manifests}/servlet-api.jar.manifest"
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license" />
+-
++-->
+ <!-- EL Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest" />
+-
++-->
+ <!-- JSP Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest" />
+-
++-->
+ <!-- WebSocket API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+ filesDir="${tomcat.classes}"
+@@ -890,9 +893,9 @@
+ meta-inf="${tomcat.manifests}/jasper.jar" />
+
+ <!-- Re-packaged Apache Commons DBCP 2-->
+- <jarIt jarfile="${tomcat-dbcp.jar}"
++<!-- <jarIt jarfile="${tomcat-dbcp.jar}"
+ filesDir="${tomcat.classes}"
+- filesId="files.tomcat-dbcp" />
++ filesId="files.tomcat-dbcp" /> -->
+
+ <!-- i18n JARs -->
+ <jar jarfile="${tomcat.build}/lib/tomcat-i18n-de.jar"
+@@ -1107,9 +1110,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1169,7 +1172,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1212,7 +1215,7 @@
+
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1228,7 +1231,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1331,9 +1334,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -1744,7 +1749,7 @@
+
+ <target name="extras-webservices-prepare"
+ depends="extras-prepare"
+- description="Prepare to build web services extras package">
++ description="Prepare to build web services extras package" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
+@@ -1929,6 +1934,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -1996,6 +2002,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="javax.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -2059,13 +2066,17 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ <link href="../annotationapi"/>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="../jaspicapi"/>
++<!--
+ <link href="https://docs.oracle.com/javase/7/docs/api/"/>
+ <link href="https://docs.oracle.com/javaee/7/api/"/>
++-->
+ <packageset dir="${tomcat.dist}/src/java/">
+ <include name="org/**"/>
+ <exclude name="org/apache/el/parser/**"/>
+@@ -2836,7 +2847,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-compile"
+- description="Download components necessary to compile" >
++ description="Download components necessary to compile" unless="noget" >
+
+ <!-- Download Commons Daemon -->
+ <antcall target="downloadgz-2">
+@@ -2862,7 +2873,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -2949,7 +2960,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -3004,13 +3015,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noget">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -3132,7 +3143,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3149,7 +3160,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadgz-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3174,7 +3185,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3190,7 +3201,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadzip-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3214,7 +3225,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3229,7 +3240,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadfile-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3257,7 +3268,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -3268,7 +3279,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -3279,7 +3290,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, extras-webservices-prepare, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
diff --git a/www-servers/tomcat/files/tomcat-9.0.46-build.xml.patch b/www-servers/tomcat/files/tomcat-9.0.46-build.xml.patch
new file mode 100644
index 000000000000..3fa9cf825465
--- /dev/null
+++ b/www-servers/tomcat/files/tomcat-9.0.46-build.xml.patch
@@ -0,0 +1,284 @@
+diff --git a/build.xml b/build.xml
+index 89feb96..c4f1d25 100644
+--- a/build.xml
++++ b/build.xml
+@@ -1033,6 +1033,7 @@
+ addOSGi="true" />
+
+ <!-- Servlet Implementation JAR File -->
++<!--
+ <jarIt jarfile="${servlet-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.servlet-api"
+@@ -1040,21 +1041,23 @@
+ notice="${tomcat.manifests}/servlet-api.jar.notice"
+ license="${tomcat.manifests}/servlet-api.jar.license"
+ addOSGi="true" />
+-
++-->
+ <!-- EL Implementation JAR File -->
++<!--
+ <jarIt jarfile="${el-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.el-api"
+ manifest="${tomcat.manifests}/el-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- JSP Implementation JAR File -->
++<!--
+ <jarIt jarfile="${jsp-api.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.jsp-api"
+ manifest="${tomcat.manifests}/jsp-api.jar.manifest"
+ addOSGi="true" />
+-
++-->
+ <!-- WebSocket API JAR File -->
+ <jarIt jarfile="${websocket-api.jar}"
+ filesDir="${tomcat.classes}"
+@@ -1167,10 +1170,10 @@
+ addOSGi="true" />
+
+ <!-- Re-packaged Apache Commons DBCP 2-->
+- <jarIt jarfile="${tomcat-dbcp.jar}"
++<!-- <jarIt jarfile="${tomcat-dbcp.jar}"
+ filesDir="${tomcat.classes}"
+ filesId="files.tomcat-dbcp"
+- addOSGi="true" />
++ addOSGi="true" /> -->
+
+ <!-- i18n JARs -->
+ <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
+@@ -1407,9 +1410,9 @@
+
+ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
+ description="Default. Builds a working Tomcat instance">
+-
++<!--
+ <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
+-
++-->
+ <!-- Copy scripts -->
+ <copy todir="${tomcat.build}/bin">
+ <fileset dir="bin">
+@@ -1469,7 +1472,7 @@
+ <exclude name="${jdt.jar.filename}"/>
+ </fileset>
+ </delete>
+- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>
++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> -->
+
+ <!-- Add sources for examples -->
+ <antcall target="examples-sources" />
+@@ -1512,7 +1515,7 @@
+
+ </target>
+
+- <target name="build-tomcat-jdbc" depends="package">
++ <target name="build-tomcat-jdbc" depends="package" unless="noget">
+ <!-- build the jdbc-pool jar and source jar-->
+ <echo message="Building Tomcat JDBC pool libraries"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1528,7 +1531,7 @@
+ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
+ </target>
+
+- <target name="build-tomcat-jdbc-src">
++ <target name="build-tomcat-jdbc-src" unless="noget">
+ <!-- build the jdbc-pool source jar-->
+ <echo message="Building Tomcat JDBC pool src JAR"/>
+ <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
+@@ -1631,9 +1634,11 @@
+
+ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
+ <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
++<!--
+ <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
+ failonerror="false"/>
+ <copy file="${jdt.jar}" todir="${tomcat.embed}" />
++-->
+ <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />
+
+ <!-- Note the meta-inf below will work as long as there is only one JAR
+@@ -2216,11 +2221,12 @@
+ </copy>
+
+ <!-- Source bundles for native components -->
++<!--
+ <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
+ file="${tomcat-native.tar.gz}" />
+ <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
+ file="${commons-daemon.native.src.tgz}" />
+-
++-->
+ <!-- platform README files -->
+ <echo append="false" file="${tomcat.dist}/bin/x64/README">
+ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+@@ -2251,6 +2257,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++<!--
+ <javadoc packagenames="javax.servlet.*"
+ excludepackagenames="javax.servlet.jsp.*"
+ sourcepath="${tomcat.dist}/src/java"
+@@ -2315,6 +2322,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${ant.core.lib}"/>
+ </classpath>
+ </javadoc>
++-->
+ <javadoc packagenames="javax.websocket.*"
+ sourcepath="${tomcat.dist}/src/java"
+ destdir="${tomcat.dist}/webapps/docs/websocketapi"
+@@ -2377,13 +2385,17 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
+ <path location="${osgi-annotations.jar}"/>
+ </classpath>
+ <link href="../annotationapi"/>
++<!--
+ <link href="../servletapi"/>
+ <link href="../jspapi"/>
+ <link href="../elapi"/>
++-->
+ <link href="../websocketapi"/>
+ <link href="../jaspicapi"/>
++<!--
+ <link href="https://docs.oracle.com/javase/8/docs/api/"/>
+ <link href="https://javaee.github.io/javaee-spec/javadocs/"/>
++-->
+ <packageset dir="${tomcat.dist}/src/java/">
+ <include name="org/**"/>
+ <exclude name="org/apache/el/parser/**"/>
+@@ -3156,7 +3168,7 @@ skip.installer property in build.properties" />
+
+ <target name="download-compile"
+ description="Download components necessary to compile"
+- depends="setup-bnd">
++ depends="setup-bnd" unless="noget">
+
+ <!-- Download Commons Daemon -->
+ <antcall target="downloadgz-2">
+@@ -3200,7 +3212,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-test-compile"
+- description="Download additional components for the tests" >
++ description="Download additional components for the tests" unless="noget">
+
+ <antcall target="downloadfile">
+ <param name="sourcefile" value="${junit.loc}"/>
+@@ -3287,7 +3299,7 @@ skip.installer property in build.properties" />
+ </target>
+
+ <target name="download-dist"
+- description="Download additional components for a distribution" >
++ description="Download additional components for a distribution" unless="noget">
+
+ <antcall target="downloadfile-2">
+ <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+@@ -3342,13 +3354,13 @@ skip.installer property in build.properties" />
+
+ <!-- =============== Utility Targets to support downloads ================ -->
+
+- <target name="setproxy" if="${proxy.use}">
++ <target name="setproxy" if="${proxy.use}" unless="noget">
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+ proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+ <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+ </target>
+
+- <target name="testexist">
++ <target name="testexist" unless="noget">
+ <echo message="Testing for ${destfile}"/>
+ <available file="${destfile}" property="exist"/>
+ </target>
+@@ -3470,7 +3482,7 @@ skip.installer property in build.properties" />
+ </sequential>
+ </macrodef>
+
+- <target name="downloadgz" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadgz" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3487,7 +3499,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadgz-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadgz-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3512,7 +3524,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}.tar.gz"/>
+ </target>
+
+- <target name="downloadzip" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadzip" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download and extract the package -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3528,7 +3540,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadzip-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadzip-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download and extract the package from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3552,7 +3564,7 @@ skip.installer property in build.properties" />
+ <delete file="${temp.file}"/>
+ </target>
+
+- <target name="downloadfile" unless="exist" if="${execute.download}" depends="testexist,setproxy">
++ <target name="downloadfile" unless="noget" if="${execute.download}" depends="testexist,setproxy">
+ <!-- Download the file -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3567,7 +3579,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="downloadfile-2" unless="exist" if="${execute.download}" depends="testexist">
++ <target name="downloadfile-2" unless="noget" if="${execute.download}" depends="testexist">
+ <!-- Download the file from the two alternative locations -->
+ <local name="temp.file"/>
+ <mkdir dir="${base.path}"/>
+@@ -3595,7 +3607,7 @@ skip.installer property in build.properties" />
+ <move file="${temp.file}" tofile="${destfile}"/>
+ </target>
+
+- <target name="trydownload.check" depends="setproxy">
++ <target name="trydownload.check" depends="setproxy" unless="noget">
+ <condition property="trydownload.run">
+ <and>
+ <not>
+@@ -3606,7 +3618,7 @@ skip.installer property in build.properties" />
+ </condition>
+ </target>
+
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget">
+ <!-- Downloads a file if not yet downloaded and the source URL is available -->
+ <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
+ </target>
+@@ -3617,7 +3629,7 @@ skip.installer property in build.properties" />
+
+ <target name="ide-eclipse"
+ depends="download-compile, download-test-compile"
+- description="Prepares the source tree to be built in Eclipse">
++ description="Prepares the source tree to be built in Eclipse" unless="noget">
+
+ <!-- Copy the sample project files into the root directory -->
+ <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
+@@ -3635,7 +3647,7 @@ Read the Building page on the Apache Tomcat documentation site for details on ho
+
+ <target name="ide-intellij"
+ depends="download-compile, download-test-compile"
+- description="Creates project directory .idea for IntelliJ IDEA">
++ description="Creates project directory .idea for IntelliJ IDEA" unless="noget">
+
+ <copy todir="${tomcat.home}/.idea">
+ <fileset dir="${tomcat.home}/res/ide-support/idea"/>
diff --git a/www-servers/tomcat/tomcat-10.0.6.ebuild b/www-servers/tomcat/tomcat-10.0.6.ebuild
new file mode 100644
index 000000000000..d66b5ff36790
--- /dev/null
+++ b/www-servers/tomcat/tomcat-10.0.6.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 prefix
+
+MY_P="apache-${PN}-${PV}-src"
+
+# Currently we bundle binary versions of bnd.jar and bndlib.jar
+# See bugs #203080 and #676116
+BND_VERSION="5.1.1"
+BND="biz.aQute.bnd-${BND_VERSION}.jar"
+BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
+
+DESCRIPTION="Tomcat Servlet-5.0/JSP-3.0/EL-4.0/WebSocket-2.0/JASIC-2.0 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
+
+LICENSE="Apache-2.0"
+SLOT="10"
+KEYWORDS="~amd64 ~amd64-linux"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.15"
+SAPI_SLOT="5.0"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ dev-java/glassfish-xmlrpc-api:0
+ dev-java/jakartaee-migration:0
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}
+ dev-java/wsdl4j:0"
+RDEPEND="${COMMON_DEP}
+ acct-group/tomcat
+ acct-user/tomcat
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ dev-java/ant-core
+ virtual/jdk:1.8
+ test? (
+ dev-java/ant-junit:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.0.43-insufficient-ecj.patch"
+)
+
+BND_HOME="${S}/tomcat-build-libs/bnd"
+BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
+BND_JAR="${BND_HOME}/${BND}"
+BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+
+ mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
+ ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
+ ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
+}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/jakarta/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-10.0.4-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},jakartaee-migration,tomcat-servlet-api-${SAPI_SLOT},wsdl4j"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_configure() {
+ java-ant-2_src_configure
+
+ eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch"
+}
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only glassfish-xmlrpc-api)"
+ LC_ALL=C java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "Please note that since version 10 the primary package for all implemented APIs"
+ ewarn "has changed from javax.* to jakarta.*. This will almost certainly require code"
+ ewarn "changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later."
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}
diff --git a/www-servers/tomcat/tomcat-8.5.66.ebuild b/www-servers/tomcat/tomcat-8.5.66.ebuild
new file mode 100644
index 000000000000..ce92130bddc8
--- /dev/null
+++ b/www-servers/tomcat/tomcat-8.5.66.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 prefix
+
+MY_P="apache-${P}-src"
+
+DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="8.5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.5"
+SAPI_SLOT="3.1"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}"
+RDEPEND="${COMMON_DEP}
+ acct-group/tomcat
+ acct-user/tomcat
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ dev-java/ant-core
+ virtual/jdk:1.8
+ doc? (
+ dev-java/glassfish-xmlrpc-api:0
+ dev-java/wsdl4j:0
+ )
+ test? (
+ >=dev-java/ant-junit-1.9:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/javax/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-8.5.66-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
+ use doc && EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only glassfish-xmlrpc-api glassfish-xmlrpc-api.jar):$(java-pkg_getjar --build-only wsdl4j wsdl4j.jar)"
+ LC_ALL=C java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}
diff --git a/www-servers/tomcat/tomcat-9.0.46.ebuild b/www-servers/tomcat/tomcat-9.0.46.ebuild
new file mode 100644
index 000000000000..e39b539c70d3
--- /dev/null
+++ b/www-servers/tomcat/tomcat-9.0.46.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 prefix
+
+MY_P="apache-${PN}-${PV}-src"
+
+# Currently we bundle binary versions of bnd.jar and bndlib.jar
+# See bugs #203080 and #676116
+BND_VERSION="5.1.1"
+BND="biz.aQute.bnd-${BND_VERSION}.jar"
+BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
+
+DESCRIPTION="Tomcat Servlet-4.0/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
+ https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
+
+LICENSE="Apache-2.0"
+SLOT="9"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="extra-webapps"
+
+RESTRICT="test" # can we run them on a production system?
+
+ECJ_SLOT="4.15"
+SAPI_SLOT="4.0"
+
+COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
+ dev-java/glassfish-xmlrpc-api:0
+ ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}
+ dev-java/wsdl4j:0"
+RDEPEND="${COMMON_DEP}
+ acct-group/tomcat
+ acct-user/tomcat
+ virtual/jre"
+DEPEND="${COMMON_DEP}
+ app-admin/pwgen
+ >=dev-java/ant-core-1.9.13
+ virtual/jdk:1.8
+ test? (
+ >=dev-java/ant-junit-1.9:0
+ dev-java/easymock:3.2
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.0.43-insufficient-ecj.patch"
+)
+
+BND_HOME="${S}/tomcat-build-libs/bnd"
+BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
+BND_JAR="${BND_HOME}/${BND}"
+BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+
+ mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
+ ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
+ ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
+}
+
+src_prepare() {
+ default
+
+ find -name '*.jar' -type f -delete -print || die
+
+ # Remove bundled servlet-api
+ rm -rv java/javax/{el,servlet} || die
+
+ eapply "${FILESDIR}/${PN}-9.0.46-build.xml.patch"
+
+ # For use of catalina.sh in netbeans
+ sed -i -e "/^# ----- Execute The Requested Command/ a\
+ CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \
+ bin/catalina.sh || die
+
+ java-pkg-2_src_prepare
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+
+EANT_BUILD_TARGET="deploy"
+EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT},wsdl4j"
+EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
+EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
+EANT_NEEDS_TOOLS="true"
+EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
+
+# revisions of the scripts
+IM_REV="-r2"
+INIT_REV="-r1"
+
+src_configure() {
+ java-ant-2_src_configure
+
+ eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch"
+}
+
+src_compile() {
+ EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only glassfish-xmlrpc-api)"
+ LC_ALL=C java-pkg-2_src_compile
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local dest="/usr/share/${PN}-${SLOT}"
+
+ java-pkg_jarinto "${dest}"/bin
+ java-pkg_dojar output/build/bin/*.jar
+ exeinto "${dest}"/bin
+ doexe output/build/bin/*.sh
+
+ java-pkg_jarinto "${dest}"/lib
+ java-pkg_dojar output/build/lib/*.jar
+
+ dodoc RELEASE-NOTES RUNNING.txt
+ use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
+ use source && java-pkg_dosrc java/*
+
+ ### Webapps ###
+
+ # add missing docBase
+ local apps="host-manager manager"
+ for app in ${apps}; do
+ sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
+ output/build/webapps/${app}/META-INF/context.xml || die
+ done
+
+ insinto "${dest}"/webapps
+ doins -r output/build/webapps/{host-manager,manager,ROOT}
+ use extra-webapps && doins -r output/build/webapps/{docs,examples}
+
+ ### Config ###
+
+ # create "logs" directory in $CATALINA_BASE
+ # and set correct perms, see #458890
+ dodir "${dest}"/logs
+ fperms 0750 "${dest}"/logs
+
+ # replace the default pw with a random one, see #92281
+ local randpw="$(pwgen -s -B 15 1)"
+ sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
+
+ # prepend gentoo.classpath to common.loader, see #453212
+ sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
+
+ insinto "${dest}"
+ doins -r output/build/conf
+
+ ### rc ###
+
+ cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
+ eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
+ sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
+
+ insinto "${dest}"/gentoo
+ doins "${T}"/tomcat.conf
+ exeinto "${dest}"/gentoo
+ newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
+ newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
+}
+
+pkg_postinst() {
+ elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
+ elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
+ elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
+
+ elog "To manage Tomcat instances, run:"
+ elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
+
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
+
+ einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
+ einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
+}