summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-24 07:30:34 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-01-24 07:30:34 +0000
commit1d95902512ecdafd97019c00d536000eee03cbc8 (patch)
tree5b7bbe130d7fe14c8e8aa48cf5fe94faa4f1e5db /dev-java
parent36db764ccef07af19687ef8f9dd61e423f7d6ac3 (diff)
downloadbaldeagleos-repo-1d95902512ecdafd97019c00d536000eee03cbc8.tar.gz
baldeagleos-repo-1d95902512ecdafd97019c00d536000eee03cbc8.tar.xz
baldeagleos-repo-1d95902512ecdafd97019c00d536000eee03cbc8.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/ant-core/ant-core-1.10.14.ebuild26
-rw-r--r--dev-java/ant/Manifest2
-rw-r--r--dev-java/ant/ant-1.10.14-r1.ebuild372
-rw-r--r--dev-java/ant/files/1.10.9-launch.patch361
-rw-r--r--dev-java/ant/files/ant-1.10.14-AntTest.patch28
-rw-r--r--dev-java/ant/files/ant-1.10.14-AntlibTest.patch40
-rw-r--r--dev-java/ant/files/ant-1.10.14-JavaTest.patch102
-rw-r--r--dev-java/ant/files/ant-1.10.14-LinkTest.patch87
-rw-r--r--dev-java/ant/files/ant-1.10.14-PathTest.patch30
-rw-r--r--dev-java/ant/metadata.xml2
-rw-r--r--dev-java/antunit/antunit-1.4.1-r1.ebuild (renamed from dev-java/antunit/antunit-1.4.1.ebuild)37
-rw-r--r--dev-java/antunit/files/antunit-1.4.1-AntUnitTest.patch28
-rw-r--r--dev-java/antunit/files/antunit-1.4.1-gentoo.patch62
-rw-r--r--dev-java/apache-rat/apache-rat-0.15-r1.ebuild109
-rw-r--r--dev-java/commons-httpclient/Manifest1
-rw-r--r--dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild54
-rw-r--r--dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild64
-rw-r--r--dev-java/javacc/javacc-5.0-r5.ebuild73
-rw-r--r--dev-java/snappy/snappy-1.1.10.5-r1.ebuild125
-rw-r--r--dev-java/xmlunit/xmlunit-1.6-r2.ebuild43
20 files changed, 1592 insertions, 54 deletions
diff --git a/dev-java/ant-core/ant-core-1.10.14.ebuild b/dev-java/ant-core/ant-core-1.10.14.ebuild
new file mode 100644
index 000000000000..be672e0f7aa2
--- /dev/null
+++ b/dev-java/ant-core/ant-core-1.10.14.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-pkg-2
+
+DESCRIPTION="Compatibility link to ant-core for >=dev-java/ant-1.10.14"
+HOMEPAGE="https://ant.apache.org/"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+DEPEND="
+ ~dev-java/ant-${PV}:0
+ >=virtual/jdk-1.8:*
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+src_compile() { :; }
+
+src_install() {
+ java-pkg_regjar /usr/share/ant-core/lib/ant.jar
+}
diff --git a/dev-java/ant/Manifest b/dev-java/ant/Manifest
new file mode 100644
index 000000000000..a5c99e19154a
--- /dev/null
+++ b/dev-java/ant/Manifest
@@ -0,0 +1,2 @@
+DIST apache-ant-1.10.14-src.tar.gz 4692736 BLAKE2B b07a2e61fecd4f10056ca2688615ccf02c551bba0f5749f50c2be710e90306e8044b7c557359300654d93971d94520e92f593da44b1c20626db4701d499cddff SHA512 435f97a276d88a86022c5f0680f3c2a16dc36be95adac3d797a2609d96921840a57393c8f5ef8313193146115bd6a87bd4790a4a272c44f7beec892fd6528c10
+DIST apache-ant-1.10.14-src.tar.gz.asc 833 BLAKE2B d9a4b4b3cb22762f25b34651dc81c2f13af38e73fdca27bc2de562539cd8f1692744ac5ccf535a2c61d3035a129f30bafac133872f9ba0ed7b259393b0f4cdf6 SHA512 ff2e79c991f68a5c38c0b47556ca5f5301c1a8be219a9eddf8d2e17b09eed7f0426770c2dc18114ea432f0200ac824d71da633ad7881025692ce5ad4baa899ee
diff --git a/dev-java/ant/ant-1.10.14-r1.ebuild b/dev-java/ant/ant-1.10.14-r1.ebuild
new file mode 100644
index 000000000000..a18ee50e36b4
--- /dev/null
+++ b/dev-java/ant/ant-1.10.14-r1.ebuild
@@ -0,0 +1,372 @@
+# 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.gz
+ verify-sig? ( https://downloads.apache.org/ant/source/apache-${P}-src.tar.gz.asc )"
+S="${WORKDIR}/apache-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="bcel bsf commonslogging commonsnet jai jakartamail javamail jdepend jsch junit junit4
+ junitlauncher log4j oro regexp resolver 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/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 )
+"
+PDEPEND="~dev-java/ant-core-${PV}:0"
+RDEPEND="
+ !<dev-java/ant-core-1.10.14
+ >=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=(
+ 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)
+ ant-imageio # no dependencies
+ $(use jai && echo ant-jai)
+ $(use jakartamail && echo ant-jakartamail)
+ $(use javamail && echo ant-javamail)
+ $(use jdepend && echo ant-jdepend)
+ 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
+ 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
+ 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
+
+ # Compatibility symlink, should be removed after transition period.
+ dosym -r /usr/share/ant{,-core}/lib/ant.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/ant/files/1.10.9-launch.patch b/dev-java/ant/files/1.10.9-launch.patch
new file mode 100644
index 000000000000..7babe6740fa9
--- /dev/null
+++ b/dev-java/ant/files/1.10.9-launch.patch
@@ -0,0 +1,361 @@
+diff --git a/src/script/ant b/src/script/ant
+index 81107b5..a501081 100644
+--- a/src/script/ant
++++ b/src/script/ant
+@@ -1,4 +1,4 @@
+-#! /bin/sh
++#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
+
+ # Licensed to the Apache Software Foundation (ASF) under one or more
+ # contributor license agreements. See the NOTICE file distributed with
+@@ -15,6 +15,10 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
++# Edited for Gentoo Linux
++
++EPREFIX="@GENTOO_PORTAGE_EPREFIX@"
++
+ # Extract launch and ant arguments, (see details below).
+ ant_exec_args=
+ no_config=false
+@@ -83,9 +87,9 @@ if $no_config; then
+ usejikes=$use_jikes_default
+ else
+ # load system-wide ant configuration (ONLY if ANT_HOME has NOT been set)
+- if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then
+- if [ -f "/etc/ant.conf" ]; then
+- . /etc/ant.conf
++ if [ -z "$ANT_HOME" -o "$ANT_HOME" = "${EPREFIX}/usr/share/ant" ]; then
++ if [ -f "${EPREFIX}/etc/ant.conf" ]; then
++ . "${EPREFIX}"/etc/ant.conf
+ fi
+ fi
+
+@@ -106,69 +110,23 @@ else
+ fi
+ fi
+
+-# Setup Java environment in rpm mode
+-if $rpm_mode; then
+- if [ -f /usr/share/java-utils/java-functions ]; then
+- . /usr/share/java-utils/java-functions
+- set_jvm
+- set_javacmd
+- fi
+-fi
+-
+-# OS specific support. $var _must_ be set to either true or false.
+-cygwin=false;
+-darwin=false;
+-mingw=false;
+-case "`uname`" in
+- CYGWIN*)
+- cygwin=true
+- ;;
+- Darwin*)
+- darwin=true
+- if [ -z "$JAVA_HOME" ]; then
+- if [ -x '/usr/libexec/java_home' ]; then
+- JAVA_HOME=`/usr/libexec/java_home`
+- elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
+- JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
+- fi
+- fi
+- ;;
+- MINGW*)
+- mingw=true
+- ;;
+-esac
+-
+-if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ]; then
+- ## resolve links - $0 may be a link to ant's home
+- PRG="$0"
+- progname=`basename "$0"`
+-
+- # need this for relative symlinks
+- while [ -h "$PRG" ]; do
+- ls=`ls -ld "$PRG"`
+- link=`expr "$ls" : '.*-> \(.*\)$'`
+- if expr "$link" : '/.*' > /dev/null; then
+- PRG="$link"
+- else
+- PRG=`dirname "$PRG"`"/$link"
+- fi
+- done
+-
+- ANT_HOME=`dirname "$PRG"`/..
++export WANT_JAVA_CONFIG=2
+
+- # make it fully qualified
+- ANT_HOME=`cd "$ANT_HOME" > /dev/null && pwd`
++# Always get JAVA_HOME from java-config, unless ANT_RESPECT_JAVA_HOME is set
++# Use GENTOO_VM to change which VM is used instead.
++if [[ -z "${ANT_RESPECT_JAVA_HOME}" || -z "${JAVA_HOME}" ]]; then
++ export JAVA_HOME="$(java-config -g JAVA_HOME)"
+ fi
+
+-# For Cygwin and Mingw, ensure paths are in UNIX format before
+-# anything is touched
+-if $cygwin; then
+- [ -n "$ANT_HOME" ] && ANT_HOME=`cygpath --unix "$ANT_HOME"`
+- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
++if [ -z $JAVA_HOME ] ; then
++ echo 'Error: No JDK found!'
++ echo "Try using java-config script to set your JDK"
++ echo "Remember that you need a JDK not a JRE"
++ exit 1
+ fi
+-if $mingw; then
+- [ -n "$ANT_HOME" ] && ANT_HOME="`(cd "$ANT_HOME"; pwd)`"
+- [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
++
++if [[ -z "${ANT_HOME}" ]] ; then
++ ANT_HOME="${EPREFIX}"/usr/share/ant
+ fi
+
+ # set ANT_LIB location
+@@ -176,14 +134,7 @@ ANT_LIB="${ANT_HOME}/lib"
+
+ if [ -z "$JAVACMD" ]; then
+ if [ -n "$JAVA_HOME" ]; then
+- # IBM's JDK on AIX uses strange locations for the executables
+- if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+- JAVACMD="$JAVA_HOME/jre/sh/java"
+- elif [ -x "$JAVA_HOME/jre/bin/java" ]; then
+- JAVACMD="$JAVA_HOME/jre/bin/java"
+- else
+ JAVACMD="$JAVA_HOME/bin/java"
+- fi
+ else
+ JAVACMD=`which java 2> /dev/null `
+ if [ -z "$JAVACMD" ]; then
+@@ -200,88 +151,61 @@ if [ ! -x "$JAVACMD" ]; then
+ exit 1
+ fi
+
+-# Build local classpath using just the launcher in non-rpm mode or
+-# use the Jpackage helper in rpm mode with basic and default jars
+-# specified in the ant.conf configuration. Because the launcher is
+-# used, libraries linked in ANT_HOME/lib will also be included, but this
+-# is discouraged as it is not java-version safe. A user should
+-# request optional jars and their dependencies via the OPT_JAR_LIST
+-# variable
+-if $rpm_mode && [ -x /usr/bin/build-classpath ]; then
+- LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)"
+-
+- # If no optional jars have been specified then build the default list
+- if [ -z "$OPT_JAR_LIST" ]; then
+- for file in /etc/ant.d/*; do
+- if [ -f "$file" ]; then
+- case "$file" in
+- *~|*#*|*.rpmsave|*.rpmnew)
+- ;;
+- *)
+- for dep in `cat "$file"`; do
+- OPT_JAR_LIST="$OPT_JAR_LIST${OPT_JAR_LIST:+ }$dep"
+- done
+- ;;
+- esac
+- fi
+- done
+- fi
+-
+- # If the user requested to try to add some other jars to the classpath
+- if [ -n "$OPT_JAR_LIST" ]; then
+- _OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)"
+- if [ -n "$_OPTCLASSPATH" ]; then
+- LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH"
+- fi
+- fi
+-
+- # Explicitly add javac path to classpath, assume JAVA_HOME set
+- # properly in rpm mode
+- if [ -f "$JAVA_HOME/lib/tools.jar" ]; then
+- LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar"
+- fi
+- if [ -f "$JAVA_HOME/lib/classes.zip" ]; then
+- LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip"
+- fi
++if [ -z "$LOCALCLASSPATH" ] ; then
++ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
++else
++ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
++fi
++
++# if ANT_TASKS is not set, default to "all"
++ANT_TASKS="${ANT_TASKS:-all}"
++
++# if ANT_TASKS is set to "all", get the tasks list from /usr/share/ant/tasks/
++if [[ "${ANT_TASKS}" == "all" ]]; then
++ ANT_TASKS=""
++ # but only if it exists
++ if [[ -d "${EPREFIX}"/usr/share/ant/tasks ]]; then
++ ANT_TASKS="${ANT_TASKS} ${EPREFIX}"/usr/share/ant/tasks/*
++ fi
++ if [[ -d "${EPREFIX}"/usr/share/ant/tasks-1.8.2 ]]; then
++ ANT_TASKS="${ANT_TASKS} ${EPREFIX}"/usr/share/ant/tasks-1.8.2/*
++ fi
++# if set to "none", make ANT_TASKS empty list
++elif [[ "${ANT_TASKS}" == "none" ]]; then
++ ANT_TASKS=""
++fi
++# otherwise ANT_TASKS defines explicit task list
++
++# construct the tasks list separated with commas to pass to java-config
++TASKS_LIST=""
++for task in $ANT_TASKS; do
++ TASKS_LIST="${TASKS_LIST},$(basename $task)"
++done
++TASKS_LIST=${TASKS_LIST#,}
+
+- # if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be
+- # user CLASSPATH first and ant-found jars after.
+- # In that case, the user CLASSPATH will override ant-found jars
+- #
+- # if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour
+- # with ant-found jars first and user CLASSPATH after
+- if [ -n "$CLASSPATH" ]; then
+- # merge local and specified classpath
+- if [ -z "$LOCALCLASSPATH" ]; then
+- LOCALCLASSPATH="$CLASSPATH"
+- elif [ -n "$CLASSPATH_OVERRIDE" ]; then
+- LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH"
+- else
+- LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH"
+- fi
++# get the classpath for optional tasks and their dependency .jar files
++if [[ -n "${TASKS_LIST}" ]] ; then
++ ANT_TASKS_CLASSPATH="-lib \"$(java-config -dp ${TASKS_LIST})\""
++ ANT_TASKS_LIBPATH="-Djava.library.path=\"$(java-config -di ${TASKS_LIST})\""
++else
++ ANT_TASKS_CLASSPATH=""
++ ANT_TASKS_LIBPATH=""
++fi
+
+- # remove class path from launcher -cp option
+- CLASSPATH=""
+- fi
++# determine where to get tools.jar from
++if [[ -n "${ANT_RESPECT_JAVA_HOME}" ]]; then
++ TOOLS_JAR="${JAVA_HOME}/lib/tools.jar"
+ else
+- # not using rpm_mode; use launcher to determine classpaths
+- if [ -z "$LOCALCLASSPATH" ]; then
+- LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
+- else
+- LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
+- fi
++ TOOLS_JAR="$(java-config --tools)"
+ fi
+
+-if [ -n "$JAVA_HOME" ]; then
+- # OSX hack to make Ant work with jikes
+- if $darwin; then
+- OSXHACK="${JAVA_HOME}/../Classes"
+- if [ -d "${OSXHACK}" ]; then
+- for i in "${OSXHACK}"/*.jar; do
+- JIKESPATH="$JIKESPATH:$i"
+- done
+- fi
+- fi
++if [[ -n "${TOOLS_JAR}" ]] ; then
++ LOCALCLASSPATH="$LOCALCLASSPATH:${TOOLS_JAR}"
++elif [[ $(java-config -f) != apple-jdk-bin* ]] ; then
++ echo "Warning: Unable to determine tools.jar location."
++ echo " If build fails because sun.* classes could not be found,"
++ echo " Make sure you are using a JDK, not JRE as your user/system VM."
++ echo " and that you have java-config version 2.0.30 or above installed."
+ fi
+
+ # Allow Jikes support (off by default)
+@@ -289,29 +213,6 @@ if $usejikes; then
+ ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
+ fi
+
+-# For Cygwin, switch paths to appropriate format before running java
+-# For PATHs convert to unix format first, then to windows format to ensure
+-# both formats are supported. Probably this will fail on directories with ;
+-# in the name in the path. Let's assume that paths containing ; are more
+-# rare than windows style paths on cygwin.
+-if $cygwin; then
+- if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null; then
+- format=mixed
+- else
+- format=windows
+- fi
+- [ -n "$ANT_HOME" ] && ANT_HOME=`cygpath --$format "$ANT_HOME"`
+- ANT_LIB=`cygpath --$format "$ANT_LIB"`
+- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
+- LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"`
+- LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"`
+- if [ -n "$CLASSPATH" ]; then
+- CP_TEMP=`cygpath --path --unix "$CLASSPATH"`
+- CLASSPATH=`cygpath --path --$format "$CP_TEMP"`
+- fi
+- CYGHOME=`cygpath --$format "$HOME"`
+-fi
+-
+ # Show script help if requested
+ if $show_help; then
+ echo $0 '[script options] [options] [target [target2 [target3] ..]]'
+@@ -326,49 +227,20 @@ if $show_help; then
+ echo ' launch script'
+ echo ''
+ fi
+-# add a second backslash to variables terminated by a backslash under cygwin
+-if $cygwin; then
+- case "$ANT_HOME" in
+- *\\ )
+- ANT_HOME="$ANT_HOME\\"
+- ;;
+- esac
+- case "$CYGHOME" in
+- *\\ )
+- CYGHOME="$CYGHOME\\"
+- ;;
+- esac
+- case "$JIKESPATH" in
+- *\\ )
+- JIKESPATH="$JIKESPATH\\"
+- ;;
+- esac
+- case "$LOCALCLASSPATH" in
+- *\\ )
+- LOCALCLASSPATH="$LOCALCLASSPATH\\"
+- ;;
+- esac
+- case "$CLASSPATH" in
+- *\\ )
+- CLASSPATH="$CLASSPATH\\"
+- ;;
+- esac
+-fi
++
+ # Execute ant using eval/exec to preserve spaces in paths,
+ # java options, and ant args
+ ant_sys_opts=
+-if [ -n "$CYGHOME" ]; then
+- if [ -n "$JIKESPATH" ]; then
+- ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\""
+- else
+- ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\""
+- fi
+-else
+- if [ -n "$JIKESPATH" ]; then
+- ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+- fi
++
++if [ -n "$JIKESPATH" ]; then
++ ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+ fi
+-ant_exec_command="exec \"\$JAVACMD\" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\""
++
++ant_exec_command="exec \"${JAVACMD}\" ${ANT_OPTS} -classpath \"${LOCALCLASSPATH}\" \
++ -Dant.home=\"${ANT_HOME}\" -Dant.library.dir=\"${ANT_LIB}\" ${ant_sys_opts} \
++ ${ANT_TASKS_LIBPATH} org.apache.tools.ant.launch.Launcher \
++ ${ANT_TASKS_CLASSPATH} ${ANT_ARGS} -cp \"${CLASSPATH}\""
++
+ if $ant_exec_debug; then
+ # using printf to avoid echo line continuation and escape interpretation confusion
+ printf "%s\n" "$ant_exec_command $ant_exec_args"
diff --git a/dev-java/ant/files/ant-1.10.14-AntTest.patch b/dev-java/ant/files/ant-1.10.14-AntTest.patch
new file mode 100644
index 000000000000..2e2e7fe38d96
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-AntTest.patch
@@ -0,0 +1,28 @@
+There was 1 failure:
+1) testAntCoreLib(org.apache.tools.ant.taskdefs.AntTest)
+java.lang.AssertionError: found ant.core.lib in: /var/tmp/portage/dev-java/ant-core-1.10.14/work/apache-ant-1.10.14/target/test-classes
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.assertTrue(Assert.java:42)
+ at org.apache.tools.ant.taskdefs.AntTest.testAntCoreLib(AntTest.java:377)
+
+FAILURES!!!
+Tests run: 32, Failures: 1
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java
+@@ -33,6 +33,7 @@ import org.junit.After;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import static org.hamcrest.Matchers.containsString;
+ import static org.junit.Assert.assertEquals;
+@@ -369,7 +370,7 @@ public class AntTest {
+ assertEquals("dadctb", buildRule.getLog());
+ }
+
+- @Test
++ @Test @Ignore
+ public void testAntCoreLib() {
+ // Cf. #42263
+ buildRule.executeTarget("sub-show-ant.core.lib");
diff --git a/dev-java/ant/files/ant-1.10.14-AntlibTest.patch b/dev-java/ant/files/ant-1.10.14-AntlibTest.patch
new file mode 100644
index 000000000000..d45925272beb
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-AntlibTest.patch
@@ -0,0 +1,40 @@
+There was 1 failure:
+1) testAntlibResource(org.apache.tools.ant.taskdefs.AntlibTest)
+/var/tmp/portage/dev-java/ant-core-1.10.14/work/apache-ant-1.10.14/src/etc/testcases/taskdefs/antlib.xml:43: Problem: failed to create task or type mytask2
+Cause: The name is undefined.
+Action: Check the spelling.
+Action: Check that any custom tasks/types have been declared.
+Action: Check that any <presetdef>/<macrodef> declarations have taken place.
+
+ at org.apache.tools.ant.UnknownElement.getNotFoundException(UnknownElement.java:506)
+ at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:438)
+ at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:166)
+ at org.apache.tools.ant.Task.perform(Task.java:349)
+ at org.apache.tools.ant.Target.execute(Target.java:449)
+ at org.apache.tools.ant.Target.performTasks(Target.java:470)
+ at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
+ at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
+ at org.apache.tools.ant.BuildFileRule.executeTarget(BuildFileRule.java:197)
+ at org.apache.tools.ant.taskdefs.AntlibTest.testAntlibResource(AntlibTest.java:67)
+
+FAILURES!!!
+Tests run: 6, Failures: 1
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/AntlibTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/AntlibTest.java
+@@ -24,6 +24,7 @@ import org.apache.tools.ant.Task;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertNotNull;
+@@ -61,7 +62,7 @@ public class AntlibTest {
+ * can collect several antlibs in one Definer call.
+ * @see <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=24024">bug 24024</a>
+ */
+- @Test
++ @Test @Ignore
+ public void testAntlibResource() {
+ assertNotNull("build.tests.value not set", System.getProperty("build.tests.value"));
+ buildRule.executeTarget("antlib.resource");
diff --git a/dev-java/ant/files/ant-1.10.14-JavaTest.patch b/dev-java/ant/files/ant-1.10.14-JavaTest.patch
new file mode 100644
index 000000000000..9143cba43ca2
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-JavaTest.patch
@@ -0,0 +1,102 @@
+bug #922775
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
+@@ -42,6 +42,7 @@ import org.junit.AssumptionViolatedException;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+
+ import static org.hamcrest.Matchers.containsString;
+@@ -241,7 +242,7 @@ public class JavaTest {
+ buildRule.executeTarget("testRunFailFoeFork");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testExcepting() {
+ buildRule.executeTarget("testExcepting");
+ assertThat(buildRule.getLog(), containsString("Exception raised inside called program"));
+@@ -253,7 +254,7 @@ public class JavaTest {
+ assertThat(buildRule.getLog(), containsString("Java Result:"));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testExceptingFoe() {
+ thrown.expect(BuildException.class);
+ thrown.expectMessage("Exception raised inside called program");
+@@ -267,13 +268,13 @@ public class JavaTest {
+ buildRule.executeTarget("testExceptingFoeFork");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testResultPropertyZero() {
+ buildRule.executeTarget("testResultPropertyZero");
+ assertEquals("0", buildRule.getProject().getProperty("exitcode"));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testResultPropertyNonZero() {
+ buildRule.executeTarget("testResultPropertyNonZero");
+ assertEquals("2", buildRule.getProject().getProperty("exitcode"));
+@@ -301,12 +302,12 @@ public class JavaTest {
+ buildRule.executeTarget("testRunFailWithFailOnError");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRunSuccessWithFailOnError() {
+ buildRule.executeTarget("testRunSuccessWithFailOnError");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testSpawn() throws InterruptedException {
+ File logFile = FILE_UTILS.createTempFile("spawn", "log",
+ new File(buildRule.getProject().getProperty("output")), false, false);
+@@ -326,27 +327,27 @@ public class JavaTest {
+ assertTrue("log file exists", logFile.exists());
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirect1() {
+ buildRule.executeTarget("redirect1");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirect2() {
+ buildRule.executeTarget("redirect2");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirect3() {
+ buildRule.executeTarget("redirect3");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirector1() {
+ buildRule.executeTarget("redirector1");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testRedirector2() {
+ buildRule.executeTarget("redirector2");
+ }
+@@ -397,7 +398,7 @@ public class JavaTest {
+ assertEquals("foo", buildRule.getProject().getProperty("input.value"));
+ }
+
+- @Test
++ @Test @Ignore
+ public void testFlushedInput() throws Exception {
+ final PipedOutputStream out = new PipedOutputStream();
+ final PipedInputStream in = new PipedInputStream(out);
diff --git a/dev-java/ant/files/ant-1.10.14-LinkTest.patch b/dev-java/ant/files/ant-1.10.14-LinkTest.patch
new file mode 100644
index 000000000000..23075707fb9b
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-LinkTest.patch
@@ -0,0 +1,87 @@
+There were 4 failures:
+1) testLocalesInAttributeAndNested(org.apache.tools.ant.taskdefs.modules.LinkTest)
+java.lang.AssertionError: Verifying that image has access to locales specified during linking. expected:<0> but was:<1>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.verifyLocales(LinkTest.java:289)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testLocalesInAttributeAndNested(LinkTest.java:330)
+2) testLocales(org.apache.tools.ant.taskdefs.modules.LinkTest)
+java.lang.AssertionError: Verifying that image has access to locales specified during linking. expected:<0> but was:<1>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.verifyLocales(LinkTest.java:289)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testLocales(LinkTest.java:306)
+3) testNestedLocales(org.apache.tools.ant.taskdefs.modules.LinkTest)
+java.lang.AssertionError: Verifying that image has access to locales specified during linking. expected:<0> but was:<1>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.verifyLocales(LinkTest.java:289)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testNestedLocales(LinkTest.java:315)
+4) testIgnoreSigning(org.apache.tools.ant.taskdefs.modules.LinkTest)
+/var/tmp/portage/dev-java/ant-core-1.10.14/work/apache-ant-1.10.14/src/etc/testcases/taskdefs/link.xml:1119: exec returned: 1
+ at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:675)
+ at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:699)
+ at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:527)
+ at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
+ at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
+ at java.base/java.lang.reflect.Method.invoke(Method.java:580)
+ at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
+ at org.apache.tools.ant.Task.perform(Task.java:350)
+ at org.apache.tools.ant.Target.execute(Target.java:449)
+ at org.apache.tools.ant.Target.performTasks(Target.java:470)
+ at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
+ at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
+ at org.apache.tools.ant.BuildFileRule.executeTarget(BuildFileRule.java:197)
+ at org.apache.tools.ant.taskdefs.modules.LinkTest.testIgnoreSigning(LinkTest.java:901)
+
+FAILURES!!!
+Tests run: 67, Failures: 4
+--- a/src/tests/junit/org/apache/tools/ant/taskdefs/modules/LinkTest.java
++++ b/src/tests/junit/org/apache/tools/ant/taskdefs/modules/LinkTest.java
+@@ -46,6 +46,7 @@ import org.junit.Assume;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+
+ import org.apache.tools.ant.BuildException;
+@@ -297,7 +298,7 @@ public class LinkTest {
+ + "not specified during linking.", 0, exitCode);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testLocales()
+ throws IOException,
+ InterruptedException {
+@@ -306,7 +307,7 @@ public class LinkTest {
+ verifyLocales();
+ }
+
+- @Test
++ @Test @Ignore
+ public void testNestedLocales()
+ throws IOException,
+ InterruptedException {
+@@ -321,7 +322,7 @@ public class LinkTest {
+ buildRule.executeTarget("locales-nested-missing-name");
+ }
+
+- @Test
++ @Test @Ignore
+ public void testLocalesInAttributeAndNested()
+ throws IOException,
+ InterruptedException {
+@@ -896,7 +897,7 @@ public class LinkTest {
+ 1, nonLinkCount);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testIgnoreSigning() {
+ buildRule.executeTarget("ignoresigning");
+ verifyImageBuiltNormally();
diff --git a/dev-java/ant/files/ant-1.10.14-PathTest.patch b/dev-java/ant/files/ant-1.10.14-PathTest.patch
new file mode 100644
index 000000000000..022377ecc4d7
--- /dev/null
+++ b/dev-java/ant/files/ant-1.10.14-PathTest.patch
@@ -0,0 +1,30 @@
+There was 1 failure:
+1) testDirSet(org.apache.tools.ant.types.PathTest)
+java.lang.AssertionError: expected:<1> but was:<0>
+ at org.junit.Assert.fail(Assert.java:89)
+ at org.junit.Assert.failNotEquals(Assert.java:835)
+ at org.junit.Assert.assertEquals(Assert.java:647)
+ at org.junit.Assert.assertEquals(Assert.java:633)
+ at org.apache.tools.ant.types.PathTest.testDirSet(PathTest.java:585)
+
+FAILURES!!!
+Tests run: 33, Failures: 1
+--- a/src/tests/junit/org/apache/tools/ant/types/PathTest.java
++++ b/src/tests/junit/org/apache/tools/ant/types/PathTest.java
+@@ -29,6 +29,7 @@ import org.apache.tools.ant.taskdefs.condition.Os;
+ import org.junit.Before;
+ import org.junit.Rule;
+ import org.junit.Test;
++import org.junit.Ignore;
+ import org.junit.rules.ExpectedException;
+
+ import static org.hamcrest.Matchers.endsWith;
+@@ -570,7 +571,7 @@ public class PathTest {
+ assertEquals(project.resolveFile("build.xml").getAbsolutePath(), l[0]);
+ }
+
+- @Test
++ @Test @Ignore
+ public void testDirSet() {
+ DirSet d = new DirSet();
+ d.setProject(project);
diff --git a/dev-java/ant/metadata.xml b/dev-java/ant/metadata.xml
index bc14ff472d3d..e99b1884787b 100644
--- a/dev-java/ant/metadata.xml
+++ b/dev-java/ant/metadata.xml
@@ -18,6 +18,7 @@
<flag name="commonslogging">Enable commons-logging Ant tasks</flag>
<flag name="commonsnet">Enable commons-net Ant tasks</flag>
<flag name="jai">Enable JAI (Java Imaging) Ant task</flag>
+ <flag name="jakartamail">Enable Jakartamail Ant task</flag>
<flag name="javamail">Enable JavaMail Ant task</flag>
<flag name="jdepend">Enable Jdepend Ant tasks</flag>
<flag name="jmf">Enable JMF (Java Media Framework) Ant tasks</flag>
@@ -31,6 +32,7 @@
<flag name="resolver">Enable Apache Resolver Ant tasks</flag>
<flag name="swing">Enable Swing Ant tasks</flag>
<flag name="testutil">Enable optional test util classes</flag>
+ <flag name="xalan">Enable Apache Xalan2 Ant tasks</flag>
<flag name="xz">Enable XZ Ant tasks</flag>
</use>
<origin>gentoo-staging</origin>
diff --git a/dev-java/antunit/antunit-1.4.1.ebuild b/dev-java/antunit/antunit-1.4.1-r1.ebuild
index 3439a7908dbe..4f346ef201ab 100644
--- a/dev-java/antunit/antunit-1.4.1.ebuild
+++ b/dev-java/antunit/antunit-1.4.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,53 +17,38 @@ S="${WORKDIR}/apache-ant-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+KEYWORDS="~amd64 ~arm ~arm64"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/ant.apache.org.asc"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-ant )"
# reset to ant-core:0 when ready
CP_DEPEND="
- dev-java/ant-core:0
+ >=dev-java/ant-1.10.14:0
dev-java/junit:4
"
DEPEND="${CP_DEPEND}
>=virtual/jdk-1.8:*
- test? (
- dev-java/ant-testutil:0
- )
+ test? ( >=dev-java/ant-1.10.14:0[junit,testutil] )
"
RDEPEND="${CP_DEPEND}
>=virtual/jre-1.8:*"
DOCS=( NOTICE README WHATSNEW )
HTML_DOCS=( README.html )
+PATCHES=(
+ # Some tests expect classes in "build" instead in "target" directory.
+ "${FILESDIR}/antunit-1.4.1-gentoo.patch"
+)
JAVA_RESOURCE_DIRS="res"
JAVA_SRC_DIR="src/main"
-
-JAVA_TEST_GENTOO_CLASSPATH="ant-testutil"
+JAVA_TEST_GENTOO_CLASSPATH="ant"
JAVA_TEST_SRC_DIR="src/tests/junit"
src_prepare() {
+ default #780585
java-pkg-2_src_prepare
+ # java-pkg-simple.eclass wants resources in JAVA_RESOURCE_DIRS
mkdir -p "res/org/apache/ant/antunit" || die
cp {src/main,res}/org/apache/ant/antunit/antlib.xml || die
-
- # Some tests expect classes in "build" instead in "target" directory.
- sed -e 's:build\(/classes\):target\1:' \
- -i src/etc/testcases/assert.xml \
- -i src/tests/junit/org/apache/ant/antunit/AssertTest.java || die
- sed -e 's:build\(/test-classes\):target\1:' \
- -i src/etc/testcases/antunit/java-io.xml || die
-}
-
-src_test() {
- local vm_version="$(java-config -g PROVIDES_VERSION)"
- if ver_test "${vm_version}" -ge 21; then
- eapply "${FILESDIR}/antunit-1.4.1-AntUnitTest.patch"
- # java.lang.UnsupportedOperationException:
- # The Security Manager is deprecated and will be removed in a future release
- JAVA_TEST_EXCLUDES="org.apache.ant.antunit.junit3.EatYourOwnDogFoodTest"
- fi
- java-pkg-simple_src_test
}
diff --git a/dev-java/antunit/files/antunit-1.4.1-AntUnitTest.patch b/dev-java/antunit/files/antunit-1.4.1-AntUnitTest.patch
deleted file mode 100644
index 896ccfee3d24..000000000000
--- a/dev-java/antunit/files/antunit-1.4.1-AntUnitTest.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-There was 1 failure:
-1) testSystemIoHandling(org.apache.ant.antunit.AntUnitTest)
-/var/tmp/portage/dev-java/antunit-1.4.1/work/apache-ant-antunit-1.4.1/src/etc/testcases/antunit.xml:84: Tests failed with 0 failures and 1 error
- at org.apache.ant.antunit.AntUnit.execute(AntUnit.java:231)
- at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
- at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
- at java.base/java.lang.reflect.Method.invoke(Method.java:580)
- at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
- at org.apache.tools.ant.Task.perform(Task.java:350)
- at org.apache.tools.ant.Target.execute(Target.java:449)
- at org.apache.tools.ant.Target.performTasks(Target.java:470)
- at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
- at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
- at org.apache.ant.antunit.AntUnitTest.testSystemIoHandling(AntUnitTest.java:103)
-
-FAILURES!!!
-Tests run: 126, Failures: 1
---- a/src/tests/junit/org/apache/ant/antunit/AntUnitTest.java
-+++ b/src/tests/junit/org/apache/ant/antunit/AntUnitTest.java
-@@ -91,7 +91,7 @@ public class AntUnitTest extends BuildFileTest {
- executeTarget("testNewProject");
- }
-
-- public void testSystemIoHandling() {
-+ public void noTestSystemIoHandling() {
- PrintStream savedErr = System.err;
- PrintStream savedOut = System.out;
- try {
diff --git a/dev-java/antunit/files/antunit-1.4.1-gentoo.patch b/dev-java/antunit/files/antunit-1.4.1-gentoo.patch
new file mode 100644
index 000000000000..7aeccf662bc7
--- /dev/null
+++ b/dev-java/antunit/files/antunit-1.4.1-gentoo.patch
@@ -0,0 +1,62 @@
+--- a/src/etc/testcases/antunit/java-io.xml
++++ b/src/etc/testcases/antunit/java-io.xml
+@@ -30,7 +30,7 @@ under the License.
+ <target name="testTaskHandlingOutput">
+ <java classname="org.apache.ant.antunit.AntUnitTest$HelloWorld"
+ outputproperty="propertyToSet"
+- classpath="build/test-classes"
++ classpath="target/test-classes"
+ failonerror="true"
+ />
+ <au:assertEquals expected="HelloWorld" actual="${propertyToSet}" />
+--- a/src/etc/testcases/assert.xml
++++ b/src/etc/testcases/assert.xml
+@@ -156,28 +156,28 @@ under the License.
+ <au:assertDestIsUptodate
+ src="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- dest="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ dest="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertDestIsUptodateFail">
+ <au:assertDestIsUptodate
+ dest="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- src="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ src="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertDestIsOutofdatePass">
+ <au:assertDestIsOutofdate
+ dest="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- src="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ src="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertDestIsOutofdateFail">
+ <au:assertDestIsOutofdate
+ src="../../main/org/apache/ant/antunit/AssertTask.java"
+
+- dest="../../../build/classes/org/apache/ant/antunit/AssertTask.class"/>
++ dest="../../../target/classes/org/apache/ant/antunit/AssertTask.class"/>
+ </target>
+
+ <target name="assertFilesMatchPass">
+--- a/src/tests/junit/org/apache/ant/antunit/AssertTest.java
++++ b/src/tests/junit/org/apache/ant/antunit/AssertTest.java
+@@ -137,11 +137,11 @@ public class AssertTest extends BuildFileTest {
+ }
+ public void testDestIsUptodateFail() {
+ testFail("assertDestIsUptodateFail",
+- "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../build/classes/org/apache/ant/antunit/AssertTask.class'");
++ "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../target/classes/org/apache/ant/antunit/AssertTask.class'");
+ }
+ public void testDestIsOutofdateFail() {
+ testFail("assertDestIsOutofdateFail",
+- "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../build/classes/org/apache/ant/antunit/AssertTask.class'");
++ "Expected '../../main/org/apache/ant/antunit/AssertTask.java' to be more recent than '../../../target/classes/org/apache/ant/antunit/AssertTask.class'");
+ }
+ public void testFilesMatchFail() {
+ testFail("assertFilesMatchFail",
diff --git a/dev-java/apache-rat/apache-rat-0.15-r1.ebuild b/dev-java/apache-rat/apache-rat-0.15-r1.ebuild
new file mode 100644
index 000000000000..4551262f6e9c
--- /dev/null
+++ b/dev-java/apache-rat/apache-rat-0.15-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# javadoc is broken for java 17, see https://bugs.gentoo.org/914458
+JAVA_PKG_IUSE="doc source test"
+MAVEN_PROVIDES="
+ org.apache.rat:apache-rat-core:${PV}
+ org.apache.rat:apache-rat-tasks:${PV}
+"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="Apache Rat is a release audit tool, focused on licenses"
+HOMEPAGE="https://creadur.apache.org/rat/"
+SRC_URI="mirror://apache//creadur/${P}/${P}-src.tar.bz2
+ verify-sig? ( https://archive.apache.org/dist/creadur/${P}/${P}-src.tar.bz2.asc )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14:0
+ dev-java/commons-cli:1
+ dev-java/commons-collections:4
+ dev-java/commons-compress:0
+ dev-java/commons-io:1
+ dev-java/commons-lang:3.6
+"
+
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit,testutil] )"
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-creadur )"
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/creadur.apache.org.asc"
+
+DOCS=( NOTICE README.md README.txt RELEASE-NOTES.txt RELEASE_NOTES.txt )
+
+PATCHES=( "${FILESDIR}/apache-rat-0.15-fix-tests.patch" )
+
+JAVADOC_SRC_DIRS=(
+ "${PN}-core/src/main/java"
+ "${PN}-tasks/src/main/java"
+)
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ einfo "Compiling apache-rat-core.jar"
+ JAVA_JAR_FILENAME="${PN}-core.jar"
+ JAVA_RESOURCE_DIRS="${PN}-core/src/main/resources"
+ JAVA_SRC_DIR="${PN}-core/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${PN}-core.jar"
+ rm -r target || die
+
+ einfo "Compiling apache-rat-tasks.jar"
+ JAVA_JAR_FILENAME="${PN}-tasks.jar"
+ JAVA_RESOURCE_DIRS="${PN}-tasks/src/main/resources"
+ JAVA_SRC_DIR="${PN}-tasks/src/main/java"
+ java-pkg-simple_src_compile
+ JAVA_GENTOO_CLASSPATH_EXTRA+=":${PN}-tasks.jar"
+ rm -r target || die
+
+ # javadoc is broken for java 17, see https://bugs.gentoo.org/914458
+ JAVADOC_CLASSPATH="${JAVA_GENTOO_CLASSPATH}"
+ use doc && ejavadoc
+}
+
+src_test() {
+ JAVA_TEST_GENTOO_CLASSPATH="ant,junit-4"
+
+ einfo "Testing apache-rat-core"
+ cp -r "${PN}"-core/src/{main,test} src || die
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+ rm -r src/{main,test} || die
+
+ einfo "Testing apache-rat-tasks"
+ cp -r "${PN}"-tasks/src/{main,test} src || die
+ mkdir -p target/it-sources || die
+ JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+ JAVA_TEST_SRC_DIR="src/test/java"
+ java-pkg-simple_src_test
+}
+
+src_install() {
+ java-pkg_dojar "${PN}-core.jar"
+ java-pkg_dojar "${PN}-tasks.jar"
+ java-pkg_dolauncher "${PN}" --main org.apache.rat.Report
+
+ use doc && java-pkg_dojavadoc javadoc
+
+ if use source; then
+ java-pkg_dosrc "${PN}-core/src/main/java/*"
+ java-pkg_dosrc "${PN}-tasks/src/main/java/*"
+ fi
+}
diff --git a/dev-java/commons-httpclient/Manifest b/dev-java/commons-httpclient/Manifest
index a8ecdcddf113..f2e83ed5113b 100644
--- a/dev-java/commons-httpclient/Manifest
+++ b/dev-java/commons-httpclient/Manifest
@@ -1 +1,2 @@
DIST commons-httpclient-3.1-src.tar.gz 1882664 BLAKE2B ccf96bedad09011ee20eae38aae1fdfdd6fea5a8226f4b4d156762080c286c71b34c149035abfd61e70c55a1de84ab3cd38d73c3228f591dd8e16c0a7e79c3a5 SHA512 e73ceeba3f34a35c30b24a3c6cb8dfc2102ff21079a5ff9270935908cb2f707d366c2f31a53fbdafa99673cc2b82e05470a2bf40d96767c72b2ab037c0f55490
+DIST commons-httpclient-3.1-src.tar.gz.asc 189 BLAKE2B 44661748db96429682a82d8dba5ad71d0d1fc2aaf03e2f1dda059985757547a78ab04dff38863ca421e65d13100a68c8cb909ed4c34e0a66a837b6fdb91baf63 SHA512 3832c90048de4db1f96efecd2f467153f0bdce1ebd533b848b8fc78a92da0bba3ba8bb3447e6c8d34f4c1c731a5b41ab941754a1509728ff4ea96e238927ab09
diff --git a/dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild b/dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild
new file mode 100644
index 000000000000..57e0fcc103ec
--- /dev/null
+++ b/dev-java/commons-httpclient/commons-httpclient-3.1-r3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="commons-httpclient:commons-httpclient:3.1"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple verify-sig
+
+DESCRIPTION="The Jakarta Commons HttpClient library"
+HOMEPAGE="https://hc.apache.org/httpclient-legacy/"
+SRC_URI="mirror://apache/httpcomponents/${PN}/source/${P}-src.tar.gz
+ verify-sig? ( https://downloads.apache.org/httpcomponents/commons-httpclient/source/${P}-src.tar.gz.asc )"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0"
+SLOT="3"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+# Tests run: 2036, Failures: 91
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/httpclient.commons.apache.org.asc"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-apache-commons-httpclient )"
+DEPEND="
+ dev-java/commons-logging:0
+ dev-java/commons-codec:0
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit] )
+"
+RDEPEND=">=virtual/jre-1.8:*"
+
+DOCS=( NOTICE README RELEASE_NOTES )
+
+JAVA_ENCODING="ISO-8859-1"
+JAVA_CLASSPATH_EXTRA="
+ commons-logging
+ commons-codec
+"
+JAVA_SRC_DIR="src/java"
+JAVA_TEST_GENTOO_CLASSPATH="junit-4"
+JAVA_TEST_SRC_DIR="src/test"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ rm -r docs/apidocs || die "clean apidocs"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ use doc && docinto html dodoc -r docs
+}
diff --git a/dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild b/dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild
new file mode 100644
index 000000000000..151d4b64841e
--- /dev/null
+++ b/dev-java/cpptasks/cpptasks-1.0_beta5-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Ant-tasks to compile various source languages and produce executables"
+HOMEPAGE="http://ant-contrib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ant-contrib/ant-contrib/${P/_/-}/${P/_beta/b}.tar.gz"
+S="${WORKDIR}/${P/_beta/b}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+CP_DEPEND="
+ >=dev-java/ant-1.10.14:0
+ dev-java/xerces:2
+"
+
+DEPEND="
+ >=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ test? (
+ >=dev-java/ant-1.10.14:0[junit]
+ dev-java/junit:0
+ )
+"
+
+RDEPEND="
+ >=virtual/jre-1.8:*
+ ${CP_DEPEND}
+"
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="javac javadoc"
+
+EANT_BUILD_TARGET="jars"
+EANT_TEST_TARGET="run-tests -Djunit-available=true"
+EANT_DOC_TARGET="javadocs -Dbuild.javadocs=build/api"
+
+src_prepare() {
+ java-pkg_clean
+ use test && eapply "${FILESDIR}/${P}-test-classpath.patch"
+ java-pkg-2_src_prepare
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/lib/${PN}.jar
+
+ java-pkg_register-ant-task
+
+ dodoc NOTICE
+ use doc && java-pkg_dojavadoc build/api
+ use examples && java-pkg_doexamples src/samples/*
+ use source && java-pkg_dosrc src/main/java/*
+}
diff --git a/dev-java/javacc/javacc-5.0-r5.ebuild b/dev-java/javacc/javacc-5.0-r5.ebuild
new file mode 100644
index 000000000000..0fd23fe4c7b9
--- /dev/null
+++ b/dev-java/javacc/javacc-5.0-r5.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="Java Compiler Compiler - The Java Parser Generator"
+HOMEPAGE="https://javacc.github.io/javacc/"
+SRC_URI="http://java.net/projects/${PN}/downloads/download/${P}src.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64"
+
+CDEPEND="dev-java/junit:0"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.8:*"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.8:*
+ test? ( >=dev-java/ant-1.10.14:0[junit] )"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0-javadoc.patch
+)
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
+
+EANT_GENTOO_CLASSPATH="junit"
+
+src_prepare() {
+ default #780585
+
+ rm -v lib/junit*/*.jar || die
+}
+
+src_test() {
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar "bin/lib/${PN}.jar"
+
+ if use doc; then
+ java-pkg_dohtml -r www/*
+ java-pkg_dojavadoc doc/api
+ fi
+
+ use examples && java-pkg_doexamples examples
+ use source && java-pkg_dosrc src/*
+
+ echo "JAVACC_HOME=${EPREFIX}/usr/share/javacc/" > "${T}"/22javacc || die
+ doenvd "${T}"/22javacc
+
+ echo "export VERSION=${PV}" > "${T}"/pre || die
+
+ local launcher
+ for launcher in javacc jjdoc jjtree; do
+ java-pkg_dolauncher ${launcher} -pre "${T}"/pre --main ${launcher}
+ done
+
+ einstalldocs
+}
diff --git a/dev-java/snappy/snappy-1.1.10.5-r1.ebuild b/dev-java/snappy/snappy-1.1.10.5-r1.ebuild
new file mode 100644
index 000000000000..a5c51f55f8ce
--- /dev/null
+++ b/dev-java/snappy/snappy-1.1.10.5-r1.ebuild
@@ -0,0 +1,125 @@
+# 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.xerial.snappy:snappy-java:${PV}"
+JAVA_TESTING_FRAMEWORKS="junit-4"
+
+inherit java-pkg-2 java-pkg-simple toolchain-funcs check-reqs
+
+DESCRIPTION="Snappy compressor/decompressor for Java"
+HOMEPAGE="https://github.com/xerial/snappy-java/"
+# ::gentoo does not have hadoop-common packaged. Currently we bundle the binary version.
+# It's used for testing only and does not get installed.
+HCV="3.3.5"
+SRC_URI="https://github.com/xerial/snappy-java/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-common/${HCV}/hadoop-common-${HCV}.jar )"
+S="${WORKDIR}/snappy-java-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="1.1"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+CP_DEPEND="dev-java/osgi-core:0"
+
+CDEPEND="
+ app-arch/snappy
+ dev-libs/bitshuffle
+"
+
+DEPEND=">=virtual/jdk-1.8:*
+ ${CP_DEPEND}
+ ${CDEPEND}
+ test? (
+ >=dev-java/ant-1.10.14:0[junit4]
+ dev-java/commons-io:1
+ dev-java/commons-lang:3.6
+ dev-java/plexus-classworlds:0
+ dev-java/xerial-core:0
+ )"
+
+RDEPEND=">=virtual/jre-1.8:*
+ ${CP_DEPEND}
+ ${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/1.1.7.8-java-version-target.patch"
+ "${FILESDIR}/snappy-1.1.10.1-unbundle-snappy.patch"
+ "${FILESDIR}/1.1.7.8-unbundle-bitshuffle.patch"
+ "${FILESDIR}/1.1.7.8-gentoo.patch"
+ "${FILESDIR}/snappy-1.1.10.5-SnappyOutputStreamTest.patch"
+ "${FILESDIR}/snappy-1.1.10.1-commons-lang3.patch"
+)
+
+JAVA_RESOURCE_DIRS="src/main/resources"
+JAVA_SRC_DIR="src/main/java"
+
+JAVA_TEST_GENTOO_CLASSPATH="
+ commons-io-1
+ commons-lang-3.6
+ junit-4
+ plexus-classworlds
+ xerial-core
+"
+JAVA_TEST_RESOURCE_DIRS="src/test/resources"
+JAVA_TEST_SRC_DIR="src/test/java"
+
+check_env() {
+ if use test; then
+ # this is needed only for tests
+ CHECKREQS_MEMORY="2560M"
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_pretend() {
+ check_env
+}
+
+pkg_setup() {
+ check_env
+ java-pkg-2_pkg_setup
+}
+
+src_prepare() {
+ default
+ java-pkg-2_src_prepare
+ # remove pre-compiled sofiles
+ rm -r src/main/resources/org/xerial/snappy/native || die
+ rm -r src/test/resources/lib || die
+}
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ JAVA_SOURCE="$(java-pkg_get-source)" \
+ JAVA_TARGET="$(java-pkg_get-target)"
+
+ java-pkg-simple_src_compile
+}
+
+src_test() {
+ JAVA_GENTOO_CLASSPATH_EXTRA="${DISTDIR}/hadoop-common-${HCV}.jar"
+ JAVA_TEST_EXTRA_ARGS=( -Xmx${CHECKREQS_MEMORY} )
+ local vm_version="$(java-config -g PROVIDES_VERSION)"
+ if ver_test "${vm_version}" -ge 17; then
+ java-pkg-simple_src_test
+ else
+ einfo "Tests need jdk-17 to pass."
+ fi
+}
+
+src_install() {
+ java-pkg-simple_src_install
+
+ local jniext=.so
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ jniext=.jnilib
+ # avoid install_name check failure
+ install_name_tool -id "@loader_path/libsnappyjava${jniext}" \
+ "target/libsnappyjava${jniext}"
+ fi
+ java-pkg_doso "target/libsnappyjava${jniext}"
+}
diff --git a/dev-java/xmlunit/xmlunit-1.6-r2.ebuild b/dev-java/xmlunit/xmlunit-1.6-r2.ebuild
new file mode 100644
index 000000000000..8a68f91459c6
--- /dev/null
+++ b/dev-java/xmlunit/xmlunit-1.6-r2.ebuild
@@ -0,0 +1,43 @@
+# 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="xmlunit:xmlunit:1.6"
+JAVA_TESTING_FRAMEWORKS="junit"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="XMLUnit extends JUnit and NUnit to enable unit testing of XML"
+HOMEPAGE="https://sourceforge.net/projects/xmlunit/ https://www.xmlunit.org"
+SRC_URI="mirror://sourceforge/project/xmlunit/xmlunit%20for%20Java/XMLUnit%20for%20Java%20${PV}/${P}-src.zip"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="1"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="app-arch/unzip"
+CP_DEPEND="dev-java/junit:0"
+DEPEND="${CP_DEPEND}
+ >=virtual/jdk-1.8:*
+ doc? ( app-text/docbook-xsl-stylesheets:0 )
+ test? ( >=dev-java/ant-1.10.14:0[junit] )
+"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.8:*"
+
+JAVA_SRC_DIR="src/java"
+JAVA_TEST_EXTRA_ARGS=( -Dbasedir="." )
+JAVA_TEST_RESOURCE_DIRS="tests/etc"
+JAVA_TEST_SRC_DIR="tests/java"
+
+src_install() {
+ java-pkg-simple_src_install
+ if use doc; then
+ docinto html
+ dodoc -r userguide
+ fi
+}