diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-01-24 07:30:34 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-01-24 07:30:34 +0000 |
| commit | 1d95902512ecdafd97019c00d536000eee03cbc8 (patch) | |
| tree | 5b7bbe130d7fe14c8e8aa48cf5fe94faa4f1e5db /dev-java | |
| parent | 36db764ccef07af19687ef8f9dd61e423f7d6ac3 (diff) | |
| download | baldeagleos-repo-1d95902512ecdafd97019c00d536000eee03cbc8.tar.gz baldeagleos-repo-1d95902512ecdafd97019c00d536000eee03cbc8.tar.xz baldeagleos-repo-1d95902512ecdafd97019c00d536000eee03cbc8.zip | |
Adding metadata
Diffstat (limited to 'dev-java')
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 +} |
