summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-20 17:50:06 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-10-20 17:50:06 +0000
commit24c15cc7a3cc2c90d586f0357a025bb03c5f9775 (patch)
tree258da6992e0997022efff6360f27ce960e47fc4a /dev-java
parent2d95ecf02ab069922ede2cfcb50c9adca404f54e (diff)
downloadbaldeagleos-repo-24c15cc7a3cc2c90d586f0357a025bb03c5f9775.tar.gz
baldeagleos-repo-24c15cc7a3cc2c90d586f0357a025bb03c5f9775.tar.xz
baldeagleos-repo-24c15cc7a3cc2c90d586f0357a025bb03c5f9775.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/ant/Manifest2
-rw-r--r--dev-java/ant/ant-1.10.15.ebuild392
-rw-r--r--dev-java/commons-csv/Manifest2
-rw-r--r--dev-java/commons-csv/commons-csv-1.12.0.ebuild96
-rw-r--r--dev-java/jakarta-servlet-api/Manifest1
-rw-r--r--dev-java/jakarta-servlet-api/jakarta-servlet-api-6.1.0.ebuild36
-rw-r--r--dev-java/objenesis/Manifest1
-rw-r--r--dev-java/objenesis/objenesis-3.4.ebuild48
-rw-r--r--dev-java/pebble/pebble-3.1.6.ebuild2
-rw-r--r--dev-java/velocity/Manifest1
-rw-r--r--dev-java/velocity/metadata.xml1
-rw-r--r--dev-java/velocity/velocity-2.4.ebuild113
12 files changed, 694 insertions, 1 deletions
diff --git a/dev-java/ant/Manifest b/dev-java/ant/Manifest
index 4fdf2d20cd0a..174a42745cc1 100644
--- a/dev-java/ant/Manifest
+++ b/dev-java/ant/Manifest
@@ -1,2 +1,4 @@
DIST apache-ant-1.10.14-src.tar.xz 3779488 BLAKE2B 40091c208c795d03b8f34656594cbf6c414f345cdacf637ece89a19a3ab0373cd8d65c342e0c4603569f9120f8f99a0b2eae8df874e6183649b39d7b88c614b8 SHA512 52936dfceb808a11dc842d2dc957a031508689270b59a2a6e3589f40465f6fa1aae87b189737cdd83eadfaf41b0c3f1ba2579bbd07591153107a5a27422521bd
DIST apache-ant-1.10.14-src.tar.xz.asc 833 BLAKE2B 4f8b1bb8bbd6d77b6e9eedf86818d42bb448e1b394e00590163e96967e36fe8e8e73e3f4fbf3b5bd1dab51cf69a39b99409bd8604cb7695cd6ae875ff13344a9 SHA512 2b91eda436210247ba39b82ba8aa1859051cf9baaf8ac8b551052e7986aeaa03c8b594347b8a734e08d12d8e270e29bf89b814562550a418abd0d2393ad4ac66
+DIST apache-ant-1.10.15-src.tar.xz 3780456 BLAKE2B c157b488ac5f207daf5afcec3368395cacd44d82e0b8e19cbdf637e8ea43bafd340fcb13aede1292f7a0b31ae82a968831c51dabebfccf2fafb6479aa79f7dc4 SHA512 7513c0909abcc2ebcbb552ec97eaa35f476e57fec54022755d2e83d9d6df5295e0d75274e687208a4689a30592c19a0df041dff511dd3690627b1734ee2171c5
+DIST apache-ant-1.10.15-src.tar.xz.asc 833 BLAKE2B e8741004b141955c729778cb987034f133af174dfc07c75976c8eda13272703b9b6158c68594f54dfef47c0f546c43cc97176b2a9193263076251a75b2f12129 SHA512 3585f32ef230e502db6a376d6343c74eae390931ae6a5c842b668eda6fbce1557e5d400001bbb244544c186e9e51cae4c2c05ccd6ff38cdbb16899aff5d48659
diff --git a/dev-java/ant/ant-1.10.15.ebuild b/dev-java/ant/ant-1.10.15.ebuild
new file mode 100644
index 000000000000..9738f6ec6e14
--- /dev/null
+++ b/dev-java/ant/ant-1.10.15.ebuild
@@ -0,0 +1,392 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ org.apache.ant:ant:${PV}
+ org.apache.ant:ant-launcher:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig prefix
+
+DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files"
+HOMEPAGE="https://ant.apache.org/"
+SRC_URI="mirror://apache/ant/source/apache-${P}-src.tar.xz
+ verify-sig? ( https://downloads.apache.org/ant/source/apache-${P}-src.tar.xz.asc )"
+S="${WORKDIR}/apache-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="antlr bcel bsf commonslogging commonsnet imageio jai jakartamail javamail jdepend
+ jmf jsch junit junit4 junitlauncher log4j oro regexp resolver swing testutil xalan xz"
+
+# At least 10 test cases would fail without network
+PROPERTIES="test_network"
+RESTRICT="test"
+
+REQUIRED_USE="
+ junit4? ( junit )
+ test? ( bsf )
+ testutil? ( junit )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ant.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-ant )"
+# jdk-11:* because it needs java/util/spi/ToolProvider, available since Java 9.
+DEPEND="
+ >=virtual/jdk-11:*
+ bcel? ( dev-java/bcel:0 )
+ bsf? ( dev-java/bsf:2.3 )
+ commonslogging? ( dev-java/commons-logging:0 )
+ commonsnet? ( dev-java/commons-net:0 )
+ jai? ( dev-java/sun-jai-bin:0 )
+ jakartamail? ( dev-java/jakarta-mail:0 )
+ javamail? (
+ dev-java/jakarta-activation-api:1
+ dev-java/javax-mail:0
+ )
+ jdepend? ( >=dev-java/jdepend-2.10-r1:0 )
+ jsch? ( dev-java/jsch:0 )
+ junit4? ( dev-java/junit:4 )
+ junit? ( dev-java/junit:4 )
+ junitlauncher? ( dev-java/junit:5[vintage] )
+ log4j? ( dev-java/log4j-12-api:2 )
+ oro? ( dev-java/jakarta-oro:2.0 )
+ regexp? ( dev-java/jakarta-regexp:1.4 )
+ resolver? ( dev-java/xml-commons-resolver:0 )
+ test? (
+ dev-java/antunit:0
+ dev-java/bsf:2.3[javascript]
+ dev-java/bsh:0
+ dev-java/hamcrest-library:1.3
+ dev-java/xerces:2
+ )
+ xalan? (
+ dev-java/xalan:0
+ dev-java/xalan-serializer:0
+ )
+ xz? ( dev-java/xz-java:0 )
+"
+RDEPEND="
+ !dev-java/ant-apache-regexp
+ !dev-java/ant-apache-log4j
+ !dev-java/ant-apache-xalan2
+ !dev-java/ant-commons-logging
+ !<dev-java/ant-core-1.10.14
+ !dev-java/ant-swing
+ !dev-java/ant-junit4
+ !dev-java/ant-testutil
+ !dev-java/ant-junitlauncher
+ !dev-java/ant-jai
+ !dev-java/ant-commons-net
+ !dev-java/ant-apache-bsf
+ !dev-java/ant-jmf
+ !dev-java/ant-apache-oro
+ !dev-java/ant-javamail
+ !dev-java/ant-junit
+ !dev-java/ant-jdepend
+ !dev-java/ant-antlr
+ !dev-java/ant-apache-bcel
+ !dev-java/ant-apache-resolver
+ !dev-java/ant-jsch
+ !dev-java/ant-xz
+ >=virtual/jre-1.8:*
+"
+
+DOCS=( CONTRIBUTORS INSTALL NOTICE README WHATSNEW )
+PATCHES=(
+ "${FILESDIR}/1.10.9-launch.patch" # reusing this patch since the script has not changed
+ "${FILESDIR}/ant-1.10.14-AntlibTest.patch" # skips 1 of 6 tests
+ "${FILESDIR}/ant-1.10.14-AntTest.patch" # skips 1 of 32 tests
+ "${FILESDIR}/ant-1.10.14-JavaTest.patch" # skips 12 of 38 tests
+ "${FILESDIR}/ant-1.10.14-LinkTest.patch" # skips 4 of 67 tests
+ "${FILESDIR}/ant-1.10.14-PathTest.patch" # skips 1 of 33 tests
+)
+
+JAVADOC_SRC_DIRS=(
+ ant
+ ant-launcher/src/main
+)
+JAVA_TEST_GENTOO_CLASSPATH="
+ bsh
+ hamcrest-library-1.3
+ junit-4
+ xerces-2
+"
+JAVA_TEST_RESOURCE_DIRS=(
+ "src/etc/testcases"
+ "src/main"
+)
+JAVA_TEST_SRC_DIR="src/tests/junit"
+
+# $1 ant-apache-bsf (source directory)
+# $2 bsf-2.3 (classpath of external dependency)
+taskdeps() {
+ if [[ ${task} == $1 ]]; then
+ JAVA_CLASSPATH_EXTRA="${2}"
+ JAVADOC_CLASSPATH+=" ${2}"
+ JAVADOC_SRC_DIRS+=( "${task}/src/main" )
+ JAVA_RESOURCE_DIRS="${3}"
+ fi
+}
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ java-pkg_clean ! -path "./src/etc/*" # keep test resources
+
+ eprefixify "src/script/ant"
+
+ ANT_TASKS=(
+ $(use antlr && echo ant-antlr) # no dependencies
+ $(use bcel && echo ant-apache-bcel)
+ $(use bsf && echo ant-apache-bsf) # REQUIRED_USE for tests
+ $(use log4j && echo ant-apache-log4j)
+ $(use oro && echo ant-apache-oro) # ORO is retired - replace with java.util.regex?
+ $(use regexp && echo ant-apache-regexp)
+ $(use resolver && echo ant-apache-resolver)
+ $(use xalan && echo ant-apache-xalan2)
+ $(use commonslogging && echo ant-commons-logging)
+ $(use commonsnet && echo ant-commons-net)
+ $(use imageio && echo ant-imageio) # no dependencies
+ $(use jai && echo ant-jai)
+ $(use jakartamail && echo ant-jakartamail)
+ $(use javamail && echo ant-javamail)
+ $(use jdepend && echo ant-jdepend)
+ $(use jmf && echo ant-jmf) # no dependencies
+ $(use jsch && echo ant-jsch)
+ $(use junit && echo ant-junit) # REQUIRED_USE for junit4 and for testutil
+ $(use junit4 && echo ant-junit4)
+ $(use junitlauncher && echo ant-junitlauncher)
+ # depends on "com.ibm.netrexx:netrexx:2.0.5" which is
+ # available on https://www.netrexx.org/downloads.nsp and states:
+ # "IBM's last NetRexx release, suitable for JVM versions 1.5 and below [...]"
+ # $(use netrexx && echo ant-netrexx) # src/etc/poms/ant-netrexx/pom.xml
+ $(use swing && echo ant-swing) # no dependencies
+ $(use testutil && echo ant-testutil)
+ $(use xz && echo ant-xz)
+ )
+
+ # defaultManifest.mf
+ sed -e "s:\${project.version}:${PV}:" \
+ -i src/main/org/apache/tools/ant/defaultManifest.mf || die
+
+ # version.txt
+ local mydate="$(date '+%B %d %Y')"
+ echo "VERSION=${PV}" > src/main/org/apache/tools/ant/version.txt || die
+ echo "DATE=${mydate}" >> src/main/org/apache/tools/ant/version.txt || die
+
+ # src directory for ant.jar
+ mkdir ant || die "cannot create src directory for ant"
+ cp -r {src/main/,ant}/org || die "cannot copy ant sources"
+
+ # resources directory for ant.jar according to lines 317-325 src/etc/poms/ant/pom.xml
+ local INCLUDES=( $(
+ sed -n '/<resources>/,/<\/resources>/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | sed -e 's:.*<include>\(.*\)</include>:\1:' || die
+ ))
+ cp -r {src/,ant}/resources || die "cannot copy ant resources"
+ pushd src/main > /dev/null || die "pushd src/main"
+ cp --parents -v "${INCLUDES[@]}" ../../ant/resources || die "CANNOT"
+ popd > /dev/null || die "popd"
+
+ # Remove sources according to lines 158-187 src/etc/poms/ant/pom.xml
+ # We don't remove anything from src/main/org
+ local EXCLUDES=$(
+ sed -n '/<excludes>/,/<\/excludes/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | sed -e 's:<exclude>\(.*\)</exclude>:ant/\1:' || die
+ )
+ rm -r ${EXCLUDES} || die
+ # Remove one more file directly, could not get it with sed.
+ rm ant/org/apache/tools/ant/taskdefs/optional/ANTLR.java || die
+
+ # Same handling for everything between <testExcludes> </testExcludes>
+ # Removing non-existing files is not possible: We ignore them ( grep -v ).
+ local TEST_EXCLUDES=$(
+ sed -n '/<testExcludes>/,/<\/testExcludes/p' \
+ src/etc/poms/ant/pom.xml \
+ | grep org \
+ | grep -v CommonsLoggingListener \
+ | grep -v Log4jListener \
+ | sed -e 's:<exclude>\(.*\)</exclude>:src/tests/junit/\1:' || die
+ )
+ rm -r ${TEST_EXCLUDES} || die
+
+ # Prepare a separate JAVA_SRC_DIR directory for each jar file to be created.
+ einfo "Copy source files of ant-tasks"
+ local task
+ for task in ant-launcher "${ANT_TASKS[@]}"; do
+ # "${task}/src/main" will be JAVA_SRC_DIR
+ mkdir -p "${task}/src/main" || die "mkdir ${task}"
+ # Read from pom.xml the file names which can still contain wildcards
+ local INCLUDES=( $(
+ sed -n '/<includes>/,/<\/includes>/p' "src/etc/poms/${task}/pom.xml" \
+ | grep org \
+ | sed -e 's:.*<include>\(.*\)</include>:\1:' || die
+ ))
+ local sourcefile
+ # Resolve wildcards in file names using find and copy the files to the corresponding
+ # "${task}"/src/main directory
+ # echo "${INCLUDES[@]}"
+ for sourcefile in "${INCLUDES[@]}"; do
+ # einfo "${task}: ${sourcefile}"
+ # Parameter substitution % to remove trailing slash from ${sourcefile}.
+ # Applies to ant-jdepend and ant-junitlauncher where find would otherwise fail.
+ find \
+ -path "./src/*/${sourcefile%/}" \
+ -exec cp -r --parents "{}" \
+ "${task}/src/main" \;
+ done
+ # tree "${task}"
+ done
+
+ # JAVA_RESOURCE_DIRS for ant-junit
+ mkdir -p ant-junit/src/resources/org/apache/tools/ant/taskdefs/optional/junit/xsl \
+ || die "junit resource dir"
+ cp src/etc/{junit-frames,junit-noframes,junit-frames-saxon,junit-noframes-saxon}.xsl \
+ ant-junit/src/resources/org/apache/tools/ant/taskdefs/optional/junit/xsl \
+ || die "junit resources"
+}
+
+src_compile() {
+ einfo "Compiling ant-launcher.jar"
+ JAVA_JAR_FILENAME="ant-launcher.jar"
+ JAVA_MAIN_CLASS="org.apache.tools.ant.launch.Launcher"
+ JAVA_SRC_DIR="ant-launcher/src/main"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":ant-launcher.jar"
+ rm -r target || die
+
+ einfo "Compiling ant.jar"
+ JAVA_JAR_FILENAME="ant.jar"
+ JAVA_LAUNCHER_FILENAME="ant"
+ JAVA_MAIN_CLASS="org.apache.tools.ant.Main"
+ JAVA_RESOURCE_DIRS="ant/resources"
+ JAVA_SRC_DIR="ant"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":ant.jar"
+ rm -r target || die
+
+ local task
+ for task in "${ANT_TASKS[@]}"; do
+ einfo "Compiling ${task}"
+ JAVA_JAR_FILENAME="${task}.jar"
+ JAVA_MAIN_CLASS=""
+ JAVA_RESOURCE_DIRS=""
+ JAVA_SRC_DIR=""
+
+ JAVA_SRC_DIR="${task}/src/main"
+ taskdeps ant-apache-bcel bcel
+ taskdeps ant-apache-bsf bsf-2.3
+ taskdeps ant-apache-log4j log4j-12-api-2
+ taskdeps ant-apache-oro jakarta-oro-2.0
+ taskdeps ant-apache-regexp jakarta-regexp-1.4
+ taskdeps ant-apache-resolver xml-commons-resolver
+ taskdeps ant-apache-xalan2 xalan
+ taskdeps ant-commons-logging commons-logging
+ taskdeps ant-commons-net commons-net
+ taskdeps ant-jai sun-jai-bin
+ taskdeps ant-jakartamail jakarta-mail
+ taskdeps ant-javamail 'javax-mail jakarta-activation-api-1'
+ taskdeps ant-jdepend jdepend
+ taskdeps ant-jsch jsch
+ taskdeps ant-junit junit-4 ant-junit/src/resources
+ taskdeps ant-junit4 junit-4
+ taskdeps ant-junitlauncher junit-5
+ # $(use netrexx && echo ant-netrexx)
+ taskdeps ant-xz xz-java
+
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${task}.jar"
+ rm -fr target || die
+ done
+ use doc && ejavadoc
+}
+
+src_test() {
+ # Avoid "--with-dependencies" as used by JAVA_TEST_GENTOO_CLASSPATH.
+ # dev-java/antunit has a circular dependency with dev-java/ant[test]
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only antunit)"
+ # according to line 115 src/etc/poms/ant/pom.xml
+ jar -cvf src/etc/testcases/org/apache/tools/ant/taskdefs/test2-antlib.jar \
+ -C src/etc/testcases taskdefs/test.antlib.xml || die "cannot test2-antlib.jar"
+
+ JAVA_TEST_EXCLUDES=(
+ # according to lines 1956-1964 build.xml (abstract classes, not testcases)
+ org.apache.tools.ant.taskdefs.TaskdefsTest
+ org.apache.tools.ant.BuildFileTest
+ org.apache.tools.ant.util.regexp.RegexpMatcherTest
+ org.apache.tools.ant.util.regexp.RegexpTest
+ org.apache.tools.ant.types.selectors.BaseSelectorTest
+ # according to line 1970 build.xml (helper classes, not testcases)
+ org.apache.tools.ant.TestHelper
+ # lines 2097-2102 build.xml (interactive tests)
+ org.apache.tools.ant.taskdefs.TestProcess # 1. No runnable methods
+ # 1) testAll(org.apache.tools.ant.taskdefs.InitializeClassTest)
+ # /var/tmp/portage/dev-java/ant-1.10.14/work/apache-ant-1.10.14/
+ # src/etc/testcases/taskdefs/initializeclass.xml:24: Java returned: 1
+ # <pathelement path="${build.tests.value}"/>
+ # <pathelement location="${java.home}/lib/classes.zip"/>
+ org.apache.tools.ant.taskdefs.InitializeClassTest # Tests run: 1, Failures: 1
+ )
+
+# tests with patches to be revisited
+# JAVA_TEST_RUN_ONLY=(
+# org.apache.tools.ant.taskdefs.AntlibTest # Tests run: 6, Failures: 1 test2-antlib.jar?
+# org.apache.tools.ant.taskdefs.AntTest # Tests run: 32, Failures: 1
+# org.apache.tools.ant.taskdefs.JavaTest # Tests run: 38, Failures: 12
+# org.apache.tools.ant.taskdefs.modules.LinkTest # Tests run: 67, Failures: 4
+# org.apache.tools.ant.types.PathTest # Tests run: 33, Failures: 1
+# )
+
+ # according to lines 276-297 src/etc/poms/ant/pom.xml
+ JAVA_TEST_EXTRA_ARGS=(
+ -Dant.home="${ANT_HOME}"
+ -Dbuild.classes.value=../../../target/test-classes # needed for org.apache.tools.ant.taskdefs.SignJarTest
+ -Dbuild.tests.value=target/test-classes
+ -Doffline=true
+ -Dant.test.basedir.ignore=true
+ )
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar ant.jar ant-launcher.jar
+
+ for task in "${ANT_TASKS[@]}"; do
+ java-pkg_dojar "${task}.jar"
+ java-pkg_register-ant-task --version "${PV}" "${task}"
+ done
+
+ dobin src/script/ant
+
+ dodir /usr/share/ant/bin
+ for each in antRun antRun.pl runant.pl runant.py ; do
+ dobin "${S}/src/script/${each}"
+ done
+
+ insinto /usr/share/ant/etc
+ doins -r src/etc/*.xsl
+ insinto /usr/share/ant/etc/checkstyle
+ doins -r src/etc/checkstyle/*.xsl
+
+ echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant"
+ doenvd "${T}/20ant"
+
+ einstalldocs
+ if use doc; then
+ java-pkg_dojavadoc target/api
+ docinto html
+ dodoc -r manual
+ fi
+
+ use source && java-pkg_dosrc src/main/*
+}
diff --git a/dev-java/commons-csv/Manifest b/dev-java/commons-csv/Manifest
index 0bc18bae17ce..82556142c5a2 100644
--- a/dev-java/commons-csv/Manifest
+++ b/dev-java/commons-csv/Manifest
@@ -1 +1,3 @@
+DIST commons-csv-1.12.0-src.tar.gz 36993963 BLAKE2B ae6e207906efa3265ba92e1919356c77fa75616eaae0b095d9795100df2c5eb514c73a855ab4fc7a77c7958aff2eacaac860775b514e705e010e6cd3e5fb9e8c SHA512 67d8fd651a9785825b2f13c5f6bd95e0f2649ef9f65ec6889a2f9fcb34bd7a2a8c2b2df06e71eb0bcb1d0063953696daadbe06cf87624714682f0c3235fe7d11
+DIST commons-csv-1.12.0-src.tar.gz.asc 488 BLAKE2B a8185e5625b87fa6040b989f3c5d768c6cd689a63ddcec871b4a38ac1b4b8ae053f03d2a5f1a8e209205c1203f3514e8ef352e7c61eef009508cc0271a3944ad SHA512 0a74375a57a585cb7182cbd1935850b456ad33c119111eff8bac9c39470ed522ad64527b759eb1df5563ca12ca7dab983b7bf6eec3565970969e8d94ba357d4b
DIST commons-csv-1.9.0-sources.tar.gz 36975991 BLAKE2B b2e2091556f3766968dbe660e4059f491eedc458d3c15c0372770d144737ab3ddcc78ff36f674759bde8aa9690e4bbe14866f8546e1de3b67498736678650697 SHA512 4610197fbbf1b3fb3ff19ff8f5ee0ffe945c34c05e3db71b89156bf17aa7f6b2816ddace85457fec82cb22337f777e08eac5984d7299e702b537f0d242d368d8
diff --git a/dev-java/commons-csv/commons-csv-1.12.0.ebuild b/dev-java/commons-csv/commons-csv-1.12.0.ebuild
new file mode 100644
index 000000000000..a85b884d5160
--- /dev/null
+++ b/dev-java/commons-csv/commons-csv-1.12.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.commons:commons-csv:1.12.0"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Simple interface for reading and writing CSV files of various types"
+HOMEPAGE="https://commons.apache.org/proper/commons-csv/"
+SRC_URI="mirror://apache/commons/csv/source/${P}-src.tar.gz
+ verify-sig? ( https://archive.apache.org/dist/commons/csv/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RESTRICT="test" #839681
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/commons.apache.org.asc"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons )"
+
+DEPEND="
+ >=virtual/jdk-11:*
+ dev-java/commons-codec:0
+ dev-java/commons-io:1
+ test? (
+ >=dev-java/commons-lang-3.12.0:3.6
+ dev-java/junit:5
+ dev-java/mockito:4
+ )
+"
+
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( LICENSE.txt NOTICE.txt RELEASE-NOTES.txt )
+
+JAVA_CLASSPATH_EXTRA="
+ commons-codec
+ commons-io-1
+"
+
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-io-1
+ commons-lang-3.6
+ junit-5
+ mockito-4
+"
+
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_compile() {
+ # getting dependencies into the modulepath
+ DEPENDENCIES=(
+ commons-codec
+ commons-io-1
+ )
+ local modulepath
+ for dependency in ${DEPENDENCIES[@]}; do
+ modulepath="${modulepath}:$(java-pkg_getjars --build-only ${dependency})"
+ done
+
+ local JAVA_MODULE_NAME="org.apache.${PN/-/.}"
+ JAVA_JAR_FILENAME="${JAVA_MODULE_NAME}.jar"
+ java-pkg-simple_src_compile # creates a legacy jar file without module-info
+
+ # generate module-info.java
+ jdeps \
+ --module-path "${modulepath}" \
+ --add-modules=ALL-MODULE-PATH \
+ --generate-module-info src/main \
+ --multi-release 9 \
+ "${JAVA_MODULE_NAME}.jar" || die
+
+ # compile module-info.java
+ ejavac \
+ -source 9 -target 9 \
+ --module-path "${modulepath}" \
+ --patch-module "${JAVA_MODULE_NAME}"="${JAVA_MODULE_NAME}.jar" \
+ -d target/versions/9 \
+ src/main/"${JAVA_MODULE_NAME}"/versions/9/module-info.java
+
+ # package
+ JAVA_JAR_FILENAME="${PN}.jar"
+ jar cvf "${JAVA_JAR_FILENAME}" \
+ -C target/classes . \
+ --release 9 -C target/versions/9 . || die
+}
diff --git a/dev-java/jakarta-servlet-api/Manifest b/dev-java/jakarta-servlet-api/Manifest
index 93a125b9a802..0ab758f14fc6 100644
--- a/dev-java/jakarta-servlet-api/Manifest
+++ b/dev-java/jakarta-servlet-api/Manifest
@@ -1,2 +1,3 @@
DIST jakarta-servlet-api-4.0.4-RELEASE.tar.gz 188270 BLAKE2B 6c5db208603333abb9aa31726e60d489c5f860e3b6ad61e691d65e8b99909a8139f7677cec52d2a74ed9e8445ea2f0f510875ca32a2e512a09183245a9822889 SHA512 9cd613f8c33f5d415b06f70543eee926c81e87a14d03b837998a6c4db11ce5fb9c2b97f796f2936a63f2a6dc7847d7a97aec7a804b80234cd52e4bfdca9920a9
DIST jakarta-servlet-api-6.0.0-RELEASE.tar.gz 634690 BLAKE2B e48375f6a0b74950a2c50d73f2d50f7c79db96e22d5c845380bff670948cd1a1d1ea98eaf93e7fa02887e94010c8573382ba3f6fb52a8fca6fa98e5915c307f6 SHA512 65285bce3e8b5143eb33d548549ff5653c6c90f55e7a19e8fdb4a7799842d3430cfe0cebe54f7a7d253d9da4c2b6d4d7a08b35846636c11a2ca814b8311cecc7
+DIST jakarta-servlet-api-6.1.0-RELEASE.tar.gz 1268162 BLAKE2B f31a6276461c579a4f81778d9d55af6c367775eb21eb51b591d8e704b803ae0af019244f8a35683f0f30096256d4f19e8dad3959fa807a7087fe67d46bcf3c93 SHA512 52299b4b50fd03129753a239371ba6d35db14ff9d6292968c19d99632e965a279fbcf025722da3b174f7f0a4b620576863d7134c817f3fa34a098a9a794ca97b
diff --git a/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.1.0.ebuild b/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.1.0.ebuild
new file mode 100644
index 000000000000..ac536a4f8119
--- /dev/null
+++ b/dev-java/jakarta-servlet-api/jakarta-servlet-api-6.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="jakarta.servlet:jakarta.servlet-api:6.1.0"
+# No tests because of still missing junit-jupiter
+# JAVA_TESTING_FRAMEWORKS="junit-jupiter"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Javax servlet API"
+HOMEPAGE="https://projects.eclipse.org/projects/ee4j.servlet"
+SRC_URI="https://github.com/jakartaee/servlet/archive/${PV}-RELEASE.tar.gz -> ${P}-RELEASE.tar.gz"
+S="${WORKDIR}/servlet-${PV}-RELEASE"
+
+LICENSE="EPL-2.0 GPL-2-with-classpath-exception"
+SLOT="6.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND=">=virtual/jdk-11:*" # module-info
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( {CONTRIBUTING,NOTICE,README}.md )
+
+JAVA_RESOURCE_DIRS=( api/src/main/resources )
+JAVA_SRC_DIR="api/src/main/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ pushd api/src/main/java > /dev/null || die
+ find -type f -name '*.properties' \
+ | xargs cp --parents -t ../resources || die
+ popd > /dev/null || die
+}
diff --git a/dev-java/objenesis/Manifest b/dev-java/objenesis/Manifest
index 955ff2825c1c..b106bf82c6ef 100644
--- a/dev-java/objenesis/Manifest
+++ b/dev-java/objenesis/Manifest
@@ -1 +1,2 @@
DIST objenesis-3.3.tar.gz 125400 BLAKE2B 36cff7cb5a2dca9a81f3ca07d56995f68d9c61c9d2b7caeac5f87bb13da02b0494053927e2221c776edef0bafb862f5c97dfc0e79cf991c6c970b5b9206a5aa3 SHA512 786fe0d2d1dba0f006d5218101578d8fd23616765f5cdb4df190d138fd10dd675b9189887c27a40b63f09ed5e1dac1324b2936c7ac24a655e6f63d53b9cd7c01
+DIST objenesis-3.4.tar.gz 128447 BLAKE2B 220694fb496b4a29ad50c92741477e08475a6bdbd4f6ff647a03995a86945d9474672ee1be4f60f1fc07f0b05a4f1e59110977fccf9fd063dbd57750a66e2a26 SHA512 e4b106ae71e5f62e6057dba749ac56c42030a2a1aca5c2ec5c95c934a7fe1af99e6c62ca9c50e76fa67610bfbf075e46a0c9f37d4e6c35ea6047175189ab686e
diff --git a/dev-java/objenesis/objenesis-3.4.ebuild b/dev-java/objenesis/objenesis-3.4.ebuild
new file mode 100644
index 000000000000..61b9dc73a2eb
--- /dev/null
+++ b/dev-java/objenesis/objenesis-3.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.objenesis:objenesis:3.4"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="A library for instantiating Java objects"
+HOMEPAGE="https://objenesis.org/"
+SRC_URI="https://github.com/easymock/objenesis/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+RESTRICT="test" #839681
+
+DEPEND=">=virtual/jdk-1.8:*"
+RDEPEND=">=virtual/jre-1.8:*"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ junit-4
+ junit-5
+"
+
+JAVA_TEST_SRC_DIR="main/src/test/java"
+
+src_compile() {
+ if use test; then
+ einfo "Compiling objenesis-test"
+ JAVA_AUTOMATIC_MODULE_NAME="org.objenesis.test"
+ JAVA_SRC_DIR="test/src/main/java"
+ JAVA_JAR_FILENAME="objenesis-test.jar"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":objenesis-test.jar"
+ rm -r target || die
+ fi
+
+ einfo "Compiling objenesis"
+ JAVA_SRC_DIR="main/src/main/java"
+ JAVA_JAR_FILENAME="objenesis.jar"
+ JAVA_AUTOMATIC_MODULE_NAME="org.objenesis"
+ java-pkg-simple_src_compile
+}
diff --git a/dev-java/pebble/pebble-3.1.6.ebuild b/dev-java/pebble/pebble-3.1.6.ebuild
index aedaa41b9a98..fdbaef75fa08 100644
--- a/dev-java/pebble/pebble-3.1.6.ebuild
+++ b/dev-java/pebble/pebble-3.1.6.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${P}/${PN}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
CP_DEPEND="
dev-java/caffeine:0
diff --git a/dev-java/velocity/Manifest b/dev-java/velocity/Manifest
index 7920653cd469..dfd5c8305a30 100644
--- a/dev-java/velocity/Manifest
+++ b/dev-java/velocity/Manifest
@@ -1 +1,2 @@
DIST velocity-2.3_p20240314.tar.gz 440967 BLAKE2B c5fcea7af49d6c46d5c0943efe82f3c04d921afc2c53201b97842ae71714e7035d075c147b3bea71e959db12dd970b7879ade73bbc23bab09a1fd262e21f2fc6 SHA512 9055e780d2a3c798bfe30e5c7859a7311c4984b551d7b2ffa68c57c076549326d0ddae31eabff8009ea021c749331d34c71eee8cab55599dea5f3c8dba841a02
+DIST velocity-2.4.tar.gz 444952 BLAKE2B 0db598bad6743383e62e89acc55b887f28108b6065c3e615b78485e4f94c9f1a316bff7c04d66052541d6173311e97dab28142dad69e6caca168b2a2fcc28637 SHA512 b3f7ae68fa2e0f30193f089a2e8ee5366e71726d93e85fa2f4c3f95d20aa599df053ee7103c71b01c89fe08dd5276e5a2c7da3e26eaffeafd94c078241a9e264
diff --git a/dev-java/velocity/metadata.xml b/dev-java/velocity/metadata.xml
index c339025d26d5..50e404519e03 100644
--- a/dev-java/velocity/metadata.xml
+++ b/dev-java/velocity/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:apache:velocity_engine</remote-id>
+ <changelog>https://velocity.apache.org/engine/2.4/changes.html</changelog>
</upstream>
<origin>gentoo-staging</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-java/velocity/velocity-2.4.ebuild b/dev-java/velocity/velocity-2.4.ebuild
new file mode 100644
index 000000000000..27d9d96922dc
--- /dev/null
+++ b/dev-java/velocity/velocity-2.4.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.apache.velocity:velocity-engine-core:2.3"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="Apache Velocity is a general purpose template engine"
+HOMEPAGE="https://velocity.apache.org"
+SRC_URI="https://github.com/apache/${PN}-engine/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-engine-${PV}/${PN}-engine-core"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+CP_DEPEND="
+ dev-java/commons-lang:3.6
+ dev-java/slf4j-api:0
+"
+
+DEPEND="
+ ${CP_DEPEND}
+ dev-java/commons-io:1
+ >=virtual/jdk-1.8:*
+ test? (
+ dev-db/hsqldb:0
+ dev-java/slf4j-simple:0
+ )
+"
+
+RDEPEND="
+ ${CP_DEPEND}
+ >=virtual/jre-1.8:*
+"
+
+JAVACC_SLOT="7.0.13"
+BDEPEND="dev-java/javacc:${JAVACC_SLOT}"
+
+JAVA_CLASSPATH_EXTRA="commons-io-1"
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+JAVA_TEST_EXTRA_ARGS="-Dtest.compare.dir=target/test-classes -Dtest.result.dir=results"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4,hsqldb,slf4j-simple"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ cp -r src/main/{,resources/org/apache/velocity/runtime}/parser || die
+
+ sed -e "s/\${project.version}/${PV}/" \
+ src/main/java-templates/org/apache/velocity/runtime/VelocityEngineVersion.java > \
+ src/main/java/org/apache/velocity/runtime/VelocityEngineVersion.java || die
+
+ sed -i \
+ -e 's/\${parser.basename}/Standard/g' \
+ -e 's/\${parser.package}/org.apache.velocity.runtime.parser/g' \
+ -e 's/\${parser.char.asterisk}/\*/g' \
+ -e 's/\${parser.char.at}/\@/g' \
+ -e 's/\${parser.char.dollar}/\$/g' \
+ -e 's/\${parser.char.hash}/\#/g' \
+ "${S}/src/main/parser/Parser.jjt" || die
+
+ # File "StandardParserTreeConstants.java" does not exist. Will create one.
+ # File "StandardParserVisitor.java" does not exist. Will create one.
+ # File "JJTStandardParserState.java" does not exist. Will create one.
+ "jjtree-${JAVACC_SLOT}" -GRAMMAR_ENCODING=UTF-8 \
+ -JDK_VERSION=1.8 \
+ -BUILD_NODE_FILES=false \
+ -MULTI=true \
+ -NODE_PACKAGE=org.apache.velocity.runtime.parser.node \
+ -NODE_USES_PARSER=true \
+ -STATIC=false \
+ -OUTPUT_DIRECTORY="${JAVA_SRC_DIR}/org/apache/velocity/runtime/parser/node" \
+ "${S}/src/main/parser/Parser.jjt" \
+ || die "Code generation via jjtree failed"
+
+ "javacc-${JAVACC_SLOT}" -GRAMMAR_ENCODING=UTF-8 \
+ -JDK_VERSION=1.8 \
+ -STATIC=false \
+ -DEBUG_PARSER=false \
+ -DEBUG_LOOKAHEAD=false \
+ -DEBUG_TOKEN_MANAGER=false \
+ -BUILD_PARSER=true \
+ -TOKEN_MANAGER_USES_PARSER=true \
+ -OUTPUT_DIRECTORY="${JAVA_SRC_DIR}" \
+ "${JAVA_SRC_DIR}/org/apache/velocity/runtime/parser/node/Parser.jj" \
+ || die "Parser.java code generation via javacc failed"
+
+ # Avoid "error: duplicate class: org.apache.velocity.runtime.parser...."
+ rm -v "${JAVA_SRC_DIR}/CharStream.java" || die "cannot remove 'CharStream.java'"
+ rm -v "${JAVA_SRC_DIR}/ParseException.java" || die "cannot remove 'ParseException.java'"
+}
+
+src_test() {
+ pushd src/test/java || die
+ # DataSourceResourceLoaderTestCase.java requires configured jdbc
+ local JAVA_TEST_RUN_ONLY=$(find * \
+ -name "*TestCase.java" \
+ ! -name "BaseTestCase.java" \
+ ! -name "DataSourceResourceLoaderTestCase.java" \
+ )
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//.java}"
+ JAVA_TEST_RUN_ONLY="${JAVA_TEST_RUN_ONLY//\//.}"
+ popd
+ java-pkg-simple_src_test
+}