summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-05-13 13:53:09 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-05-13 13:53:09 +0000
commit0b93b694548459700eee960a93229ab996d30661 (patch)
treee8c0f9476b847d298d16ec8e6210f5b470bba07c /dev-java
parent38e014a6cf5e09231a3f3ce62cdf090542889878 (diff)
downloadbaldeagleos-repo-0b93b694548459700eee960a93229ab996d30661.tar.gz
baldeagleos-repo-0b93b694548459700eee960a93229ab996d30661.tar.xz
baldeagleos-repo-0b93b694548459700eee960a93229ab996d30661.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/jakartaee-migration/Manifest2
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-0.2.0.ebuild54
-rw-r--r--dev-java/jakartaee-migration/jakartaee-migration-1.0.0.ebuild89
-rw-r--r--dev-java/tomcat-servlet-api/Manifest3
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.6.ebuild98
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.66.ebuild99
-rw-r--r--dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.46.ebuild99
7 files changed, 389 insertions, 55 deletions
diff --git a/dev-java/jakartaee-migration/Manifest b/dev-java/jakartaee-migration/Manifest
index 6d2f38a8b361..9645e64bbca2 100644
--- a/dev-java/jakartaee-migration/Manifest
+++ b/dev-java/jakartaee-migration/Manifest
@@ -1 +1 @@
-DIST jakartaee-migration-0.2.0-sources.tar.gz 34495 BLAKE2B 98e281d4a0a2c27215131b4b72406fbf9d6b335602df6e44be8eec252071482305182ab8d3554317650f69197438c1634982ba77297c93603835ded1fe43d105 SHA512 c3874cf036051a0636287b3afa78af96458816601a7a79117994389f31ad8f253d9b0a9bb1530de3263f1b8ca2f63fcdf113b3ad933a545136559ca80ae7700f
+DIST jakartaee-migration-1.0.0-sources.tar.gz 35116 BLAKE2B 98b587e5a51e8f3540d6f4570c60ffa5516801709e41260ac09f7fcabc9e96a3b9067e8eba6c5975c62e3c56585a1f334a21acc15627666e1616ced6f625c56f SHA512 f0c0dc5da4d3c5d4bae8fd4c3db349cb45b7c8d82ca0bb12f3c995e92d4b0893db111ab33ce812299d66904827adc91b22c49381625760fc05c1b10de76faa0c
diff --git a/dev-java/jakartaee-migration/jakartaee-migration-0.2.0.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-0.2.0.ebuild
deleted file mode 100644
index 7815b0e6bc20..000000000000
--- a/dev-java/jakartaee-migration/jakartaee-migration-0.2.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Skeleton command:
-# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://ftp.fau.de/apache/tomcat/jakartaee-migration/v0.2.0/source/jakartaee-migration-0.2.0-src.tar.gz --slot 0 --keywords "~amd64 ~x86" --ebuild jakartaee-migration-0.2.0.ebuild
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source test"
-MAVEN_ID="org.apache.tomcat:jakartaee-migration:0.2.0"
-JAVA_TESTING_FRAMEWORKS="junit-4"
-
-inherit java-pkg-2 java-pkg-simple
-
-DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9."
-HOMEPAGE="https://tomcat.apache.org"
-SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-CDEPEND="
- dev-java/ant-core:0
- >=dev-java/bcel-6.5.0:0
- >=dev-java/commons-compress-1.20:0
- dev-java/commons-io:1
-"
-
-DEPEND="
- >=virtual/jdk-1.8:*
- ${CDEPEND}
-"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- ${CDEPEND}
-"
-
-S="${WORKDIR}/${P}"
-
-JAVA_LAUNCHER_FILENAME="${PN}"
-
-JAVA_GENTOO_CLASSPATH="ant-core,bcel,commons-compress,commons-io-1"
-JAVA_SRC_DIR="src/main/java"
-JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI"
-JAVA_RESOURCE_DIRS=(
- "src/main/resources"
-)
-
-JAVA_TEST_GENTOO_CLASSPATH="junit-4"
-JAVA_TEST_SRC_DIR="src/test/java"
-JAVA_TEST_RESOURCE_DIRS=(
- "src/test/resources"
-)
diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.0.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.0.ebuild
new file mode 100644
index 000000000000..a5a06c63d545
--- /dev/null
+++ b/dev-java/jakartaee-migration/jakartaee-migration-1.0.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Skeleton command:
+# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://ftp.fau.de/apache/tomcat/jakartaee-migration/v1.0.0/source/jakartaee-migration-1.0.0-src.tar.gz --slot 0 --keywords "~amd64" --ebuild jakartaee-migration-1.0.0.ebuild
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.tomcat:jakartaee-migration:1.0.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9."
+HOMEPAGE="https://tomcat.apache.org"
+SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz -> ${P}-sources.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Common dependencies
+# POM: pom.xml
+# commons-io:commons-io:2.8.0 -> >=dev-java/commons-io-2.8.0:1
+# org.apache.bcel:bcel:6.5.0 -> >=dev-java/bcel-6.5.0:0
+# org.apache.commons:commons-compress:1.20 -> >=dev-java/commons-compress-1.20:0
+
+CDEPEND="
+ dev-java/ant-core:0
+ dev-java/bcel:0
+ >=dev-java/commons-compress-1.20:0
+ dev-java/commons-io:1
+"
+
+# Compile dependencies
+# POM: pom.xml
+# org.apache.ant:ant:1.10.9 -> !!!groupId-not-found!!!
+# POM: pom.xml
+# test? junit:junit:4.13.1 -> >=dev-java/junit-4.13.1:4
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CDEPEND}
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CDEPEND}"
+
+S="${WORKDIR}/${P}"
+
+JAVA_LAUNCHER_FILENAME="${PN}"
+
+JAVA_GENTOO_CLASSPATH="ant-core,bcel,commons-compress,commons-io-1"
+JAVA_SRC_DIR="src/main/java"
+JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI"
+JAVA_RESOURCE_DIRS=(
+ "src/main/resources"
+)
+
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test/java"
+JAVA_TEST_RESOURCE_DIRS=(
+ "src/test/resources"
+)
+
+src_prepare() {
+ default
+ sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties
+}
+
+src_test() {
+ # we need to create jar files for the tests the same way as it's done using pom.xml
+ local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+")
+ mkdir -p target/test-classes/META-INF || die
+ pushd target/test-classes || die
+ echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF
+ ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die
+ jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die
+ ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die
+ jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die
+ for enc in rsa dsa ec; do
+ cp hellocgi.jar hellocgi-signed-${enc}.jar || die
+ jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die
+ done
+ popd
+
+ java-pkg-simple_src_test
+}
diff --git a/dev-java/tomcat-servlet-api/Manifest b/dev-java/tomcat-servlet-api/Manifest
index b203f2fad879..0383b2e6a331 100644
--- a/dev-java/tomcat-servlet-api/Manifest
+++ b/dev-java/tomcat-servlet-api/Manifest
@@ -1,8 +1,11 @@
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-4.1.40-src.tar.gz 3709719 BLAKE2B f7ca82052c1148a5c384fcbc3871beeddccdb4cfed05ba176581ebb50f52ba867bed8dbc500e97b7348a3a87b9693fb73eb81209df4f31e8c1ced7e30a6af30b SHA512 c455fa3da9da8fcbf1d54ae5dce808f8a4520ccafd627a6b2d1b003c37e8395d8b2a55d5471bf6c196549d082715862b3b8958aef88613293a07fc0160aa5c6e
DIST apache-tomcat-5.5.36-src.tar.gz 3743113 BLAKE2B dbfcfd123a23b0ceb9f1fdd936e42324ea8b10cf327a1d0abf1703006535859c7122690a08b5ec27b86b526cc7709a7199b4f35f123538ff11f23f3b489358f3 SHA512 845636b5b992fbbb7d657d192afbab1e6a924bfd0c71b025cf22776eb4527d92d63f9b3f33475d4349a0df4cebd984ba3776eedd7482b820abdea909e90a97b7
DIST apache-tomcat-6.0.53-src.tar.gz 3522914 BLAKE2B 054b097c16861abaa8bdbeba713b49bc1dfcff573bb3f4bd0ff5807c33a2a0fb991af618f6e11e5b3ce3fa55c589fc6569342cab5d5a00349c79bc7061d81e40 SHA512 915a0a18f5c2883625c9441eed6465973eff4f6bf41e08e925c7edaea89ef8f6ee9476d3e06fa38228d4bcb4decaf53e3a7bdb7ec7e899e6250db3e12a9f5f2c
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
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.6.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.6.ebuild
new file mode 100644
index 000000000000..fb739b89bf7a
--- /dev/null
+++ b/dev-java/tomcat-servlet-api/tomcat-servlet-api-10.0.6.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_A="apache-${PN}-${PV}-src"
+MY_P="${MY_A/-servlet-api/}"
+DESCRIPTION="Tomcat's Servlet API 5.0/JSP API 3.0/EL API 4.0 implementation"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/tomcat/tomcat-10/v${PV}/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="5.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${MY_P}/"
+
+JAVA_TEST_SRC_DIR="src/test"
+
+SERVLET_API_JAR="servlet-api.jar"
+SERVLET_API_SRC="src/main/servlet-api"
+SERVLET_API_RESOURCES="src/resources/servlet-api"
+EL_API_JAR="el-api.jar"
+EL_API_SRC="src/main/el-api"
+EL_API_RESOURCES="src/resources/el-api"
+JSP_API_JAR="jsp-api.jar"
+JSP_API_SRC="src/main/jsp-api"
+JSP_API_RESOURCES="src/resources/jsp-api"
+
+src_prepare() {
+ default
+
+ # The sources and also resources are mixed together so we first give it a structure to make it easier to compile and package
+ mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
+ ${EL_API_SRC} ${EL_API_RESOURCES} \
+ ${JSP_API_SRC}/jakarta/servlet ${JSP_API_RESOURCES} \
+ ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
+
+ pushd java || die "Failed to cd to java dir"
+
+ cp --parents -R jakarta/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
+ mv "${S}/${SERVLET_API_SRC}/jakarta/servlet/jsp" "${S}/${JSP_API_SRC}/jakarta/servlet" || die "Failed to copy jsp-api sources"
+ cp --parents -R jakarta/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
+
+ popd
+
+ for file in $(find src -type f | grep -vE "\.java$"); do
+ target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
+ mkdir -p ${target_dir} || die "Failed to create resource directory"
+ mv $file ${target_dir} || die "Failed to move resource file"
+ done
+
+ mv test/jakarta ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
+
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ JAVA_SRC_DIR="${SERVLET_API_SRC}"
+ JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
+ java-pkg-simple_src_compile
+ rm -fr target || die "Failed to remove compiled files"
+
+ JAVA_SRC_DIR="${EL_API_SRC}"
+ JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${EL_API_JAR}"
+ java-pkg-simple_src_compile
+ rm -fr target || die "Failed to remove compiled files"
+
+ JAVA_SRC_DIR="${JSP_API_SRC}"
+ JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${JSP_API_JAR}"
+ JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ JAVA_SRC_DIR="${SERVLET_API_SRC}"
+ JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
+ java-pkg-simple_src_install
+
+ JAVA_SRC_DIR="${EL_API_SRC}"
+ JAVA_JAR_FILENAME="${EL_API_JAR}"
+ java-pkg-simple_src_install
+
+ JAVA_SRC_DIR="${JSP_API_SRC}"
+ JAVA_JAR_FILENAME="${JSP_API_JAR}"
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.66.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.66.ebuild
new file mode 100644
index 000000000000..eaffc40f4037
--- /dev/null
+++ b/dev-java/tomcat-servlet-api/tomcat-servlet-api-8.5.66.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_A="apache-${P}-src"
+MY_P="${MY_A/-servlet-api/}"
+DESCRIPTION="Tomcat's Servlet API 3.1/JSP API 2.3/EL API 3.0 implementation"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/tomcat/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="3.1"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${MY_P}/"
+
+JAVA_TEST_SRC_DIR="src/test"
+
+SERVLET_API_JAR="servlet-api.jar"
+SERVLET_API_SRC="src/main/servlet-api"
+SERVLET_API_RESOURCES="src/resources/servlet-api"
+EL_API_JAR="el-api.jar"
+EL_API_SRC="src/main/el-api"
+EL_API_RESOURCES="src/resources/el-api"
+JSP_API_JAR="jsp-api.jar"
+JSP_API_SRC="src/main/jsp-api"
+JSP_API_RESOURCES="src/resources/jsp-api"
+
+src_prepare() {
+ default
+
+ # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
+
+ mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
+ ${EL_API_SRC} ${EL_API_RESOURCES} \
+ ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
+ ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
+
+ pushd java || die "Failed to cd to java dir"
+
+ cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
+ mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
+ cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
+
+ popd
+
+ for file in $(find src -type f | grep -vE "\.java$"); do
+ target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
+ mkdir -p ${target_dir} || die "Failed to create resource directory"
+ mv $file ${target_dir} || die "Failed to move resource file"
+ done
+
+ mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
+
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ JAVA_SRC_DIR="${SERVLET_API_SRC}"
+ JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
+ java-pkg-simple_src_compile
+ rm -fr target || die "Failed to remove compiled files"
+
+ JAVA_SRC_DIR="${EL_API_SRC}"
+ JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${EL_API_JAR}"
+ java-pkg-simple_src_compile
+ rm -fr target || die "Failed to remove compiled files"
+
+ JAVA_SRC_DIR="${JSP_API_SRC}"
+ JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${JSP_API_JAR}"
+ JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ JAVA_SRC_DIR="${SERVLET_API_SRC}"
+ JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
+ java-pkg-simple_src_install
+
+ JAVA_SRC_DIR="${EL_API_SRC}"
+ JAVA_JAR_FILENAME="${EL_API_JAR}"
+ java-pkg-simple_src_install
+
+ JAVA_SRC_DIR="${JSP_API_SRC}"
+ JAVA_JAR_FILENAME="${JSP_API_JAR}"
+ java-pkg-simple_src_install
+}
diff --git a/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.46.ebuild b/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.46.ebuild
new file mode 100644
index 000000000000..4a8d22d12869
--- /dev/null
+++ b/dev-java/tomcat-servlet-api/tomcat-servlet-api-9.0.46.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-pkg-simple
+
+MY_A="apache-${PN}-${PV}-src"
+MY_P="${MY_A/-servlet-api/}"
+DESCRIPTION="Tomcat's Servlet API 4.0/JSP API 2.3/EL API 3.0 implementation"
+HOMEPAGE="https://tomcat.apache.org/"
+SRC_URI="mirror://apache/tomcat/tomcat-9/v${PV}/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="4.0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+S="${WORKDIR}/${MY_P}/"
+
+JAVA_TEST_SRC_DIR="src/test"
+
+SERVLET_API_JAR="servlet-api.jar"
+SERVLET_API_SRC="src/main/servlet-api"
+SERVLET_API_RESOURCES="src/resources/servlet-api"
+EL_API_JAR="el-api.jar"
+EL_API_SRC="src/main/el-api"
+EL_API_RESOURCES="src/resources/el-api"
+JSP_API_JAR="jsp-api.jar"
+JSP_API_SRC="src/main/jsp-api"
+JSP_API_RESOURCES="src/resources/jsp-api"
+
+src_prepare() {
+ default
+
+ # The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
+
+ mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
+ ${EL_API_SRC} ${EL_API_RESOURCES} \
+ ${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
+ ${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
+
+ pushd java || die "Failed to cd to java dir"
+
+ cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
+ mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
+ cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
+
+ popd
+
+ for file in $(find src -type f | grep -vE "\.java$"); do
+ target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
+ mkdir -p ${target_dir} || die "Failed to create resource directory"
+ mv $file ${target_dir} || die "Failed to move resource file"
+ done
+
+ mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
+
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ JAVA_SRC_DIR="${SERVLET_API_SRC}"
+ JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
+ java-pkg-simple_src_compile
+ rm -fr target || die "Failed to remove compiled files"
+
+ JAVA_SRC_DIR="${EL_API_SRC}"
+ JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${EL_API_JAR}"
+ java-pkg-simple_src_compile
+ rm -fr target || die "Failed to remove compiled files"
+
+ JAVA_SRC_DIR="${JSP_API_SRC}"
+ JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
+ JAVA_JAR_FILENAME="${JSP_API_JAR}"
+ JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
+ java-pkg-simple_src_compile
+}
+
+src_install() {
+ JAVA_SRC_DIR="${SERVLET_API_SRC}"
+ JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
+ java-pkg-simple_src_install
+
+ JAVA_SRC_DIR="${EL_API_SRC}"
+ JAVA_JAR_FILENAME="${EL_API_JAR}"
+ java-pkg-simple_src_install
+
+ JAVA_SRC_DIR="${JSP_API_SRC}"
+ JAVA_JAR_FILENAME="${JSP_API_JAR}"
+ java-pkg-simple_src_install
+}