diff options
Diffstat (limited to 'dev-java/ant-core')
-rw-r--r-- | dev-java/ant-core/Manifest | 1 | ||||
-rw-r--r-- | dev-java/ant-core/ant-core-1.10.9-r2.ebuild | 161 |
2 files changed, 162 insertions, 0 deletions
diff --git a/dev-java/ant-core/Manifest b/dev-java/ant-core/Manifest index a5f0f8779903..20d29c22da0a 100644 --- a/dev-java/ant-core/Manifest +++ b/dev-java/ant-core/Manifest @@ -1,4 +1,5 @@ DIST ant-1.10.9-gentoo.tar.bz2 6685 BLAKE2B 2249c7e1628052a2a6896c6995e0c5dd14ea77671ab0ef4402ece9968f41266cdf4411cd669dbb73c4d7043d7c6c5f6e992bfc2705e74899ff1058f0d4942704 SHA512 aade4c5322c29d1b6b4f6b99b229a1a07ff64faed104bdbbff3a82bd482d9cab5596c019dac92eaf4cab875fa9e46e5067ba816f910c2d6c94890ab85c50605b DIST apache-ant-1.10.9-src.tar.bz2 4593589 BLAKE2B afb73e592dbd4e0082f5890005ce70264ab9c59f1359a91cc83abcfb03938d98ed9d1eb797c9f72bd3d017a41c19635a6246e5b46ddcab660749a2530db1baaa SHA512 7a6c96131462dc0e1bcf41e2daa1b129a45d19302f4ee2915bb51c4cf347996fa5f8140f96653b21952decee16816476b8f258f8ad2c094a8305209cebcee4a4 +EBUILD ant-core-1.10.9-r2.ebuild 4184 BLAKE2B 8dcd76c074ca62e965c8b1409ec98f9d777753b8dc3ed797aa3cc033159ce3e3473c20548131d57ea5ae8d54100279dea4ba5516429ad0e8f1a539baa047e420 SHA512 ed42bfe69d3b4ff4e69e74253ebeb338d662a413c7761808df45ad62cba0afb83d531212bcb297d45fc11c8a0e877c3bb7ca1a1da53782265a2b23cd7280dfdc EBUILD ant-core-1.10.9.ebuild 2743 BLAKE2B 5cfca20522c55dd4894f3ab31d027d68343b363fff462bc4cc0acfcebc4f2f0552676ce8c10caed56577cc87325f3ac91f63d74a4c6b30b8a34243cdbe248e7d SHA512 cd338b8e765ee7081d49d8ccb21c5353a49c4af9f6600a7ff103252edadb093da33348e5b4695b69eb4bb4417a01bb265685f4c7b746e88bd41d4018544d91cc MISC metadata.xml 237 BLAKE2B 7c3263833976c18611a5cba44845af4d80f2f86c48cf587a657292ed0074022088cef88756e3209b292252dce5c0eea307c4f2f45f28b8517609124708f7d09a SHA512 e8227b536eb45569cbf744907106e101d1aa6bf9ba8337783786d719ab107d8bda0fde5dd7067d168181d694b4161b12d1ef3cb5a83b14971b21aa4479670559 diff --git a/dev-java/ant-core/ant-core-1.10.9-r2.ebuild b/dev-java/ant-core/ant-core-1.10.9-r2.ebuild new file mode 100644 index 000000000000..d43683dda998 --- /dev/null +++ b/dev-java/ant-core/ant-core-1.10.9-r2.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Don't depend on itself. +JAVA_ANT_DISABLE_ANT_CORE_DEP="true" + +# Rewriting build.xml files for the testcases has no use at the moment. +JAVA_PKG_BSFIX_ALL="no" +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-ant-2 prefix + +MY_P="apache-ant-${PV}" + +DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files" +HOMEPAGE="https://ant.apache.org/" +SRC_URI="https://archive.apache.org/dist/ant/source/${MY_P}-src.tar.bz2 + https://dev.gentoo.org/~fordfrog/distfiles/ant-${PV}-gentoo.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +# Some dependencies for building Javadoc are unavailable on these architectures +REQUIRED_USE="doc? ( !arm !arm64 )" + +CDEPEND=">=virtual/jdk-1.8:*" +DEPEND="${CDEPEND} + doc? ( !arm? ( !arm64? ( + dev-java/bcel:0 + dev-java/bsf:2.3 + dev-java/commons-logging:0 + dev-java/commons-net:0 + dev-java/jakarta-activation-api:1 + dev-java/jakarta-regexp:1.4 + dev-java/jakarta-oro:2.0 + dev-java/jdepend:0 + dev-java/jsch:0 + dev-java/log4j:0 + dev-java/javax-mail:0 + dev-java/sun-jai-bin:0 + dev-java/xalan:0 + dev-java/xml-commons-resolver:0 + dev-java/xz-java:0 + ) ) )" +RDEPEND="${CDEPEND}" + +S="${WORKDIR}/${MY_P}" + +RESTRICT="test" + +PATCHES=( + "${WORKDIR}/${PV}-build.patch" + "${WORKDIR}/${PV}-launch.patch" +) + +src_prepare() { + default + + eprefixify "${S}/src/script/ant" + + # Fixes bug 556008. + java-ant_xml-rewrite -f build.xml \ + -c -e javadoc \ + -a failonerror \ + -v "false" + + # See bug #196080 for more details. + java-ant_bsfix_one build.xml + java-pkg-2_src_prepare + + # Remove JDK9+ stuff + einfo "Removing JDK9+ classes (Jmod and Link)" + rm "${S}"/src/main/org/apache/tools/ant/taskdefs/modules/{Jmod,Link}.java +} + +src_compile() { + export ANT_HOME="" + # Avoid error message that package ant-core was not found + export ANT_TASKS="none" + + local bsyscp + + # This ensures that when building ant with bootstrapped ant, + # only the source is used for resolving references, and not + # the classes in bootstrapped ant but jikes in kaffe has issues with this... + if ! java-pkg_current-vm-matches kaffe; then + bsyscp="-Dbuild.sysclasspath=ignore" + fi + + CLASSPATH="$(java-config -t)" ./build.sh ${bsyscp} jars dist-internal || + die "build failed" + + if use doc; then + # All Java packages imported by the source files need to present in + # the classpath, otherwise it would be https://bugs.gentoo.org/780531 + local doc_deps=( + bcel + bsf-2.3 + commons-logging + commons-net + jakarta-activation-api-1 + jakarta-oro-2.0 + jakarta-regexp-1.4 + jdepend + jsch + log4j + javax-mail + sun-jai-bin + xalan + xml-commons-resolver + xz-java + ) + for dep in "${doc_deps[@]}"; do + java-pkg_jar-from --build-only --into lib/optional/ "${dep}" + done + # This file imports netrexx.lang.Rexx, which is not available + # from ::gentoo. Fortunately, there is not a dev-java/ant-* + # package for it, so even if we could generate documentation + # for it, it would be irrelevant + rm src/main/org/apache/tools/ant/taskdefs/optional/NetRexxC.java || + die "Failed to remove Java source file blocking Javadoc generation" + ./build.sh ${bsyscp} javadocs || die "Javadoc build failed" + fi +} + +src_install() { + dodir /usr/share/ant/lib + + for jar in ant.jar ant-bootstrap.jar ant-launcher.jar ; do + java-pkg_dojar build/lib/${jar} + dosym ../../${PN}/lib/${jar} /usr/share/ant/lib/${jar} + done + + dobin src/script/ant + + dodir /usr/share/${PN}/bin + for each in antRun antRun.pl runant.pl runant.py ; do + dobin "${S}/src/script/${each}" + dosym ../../../bin/${each} /usr/share/${PN}/bin/${each} + done + dosym ../${PN}/bin /usr/share/ant/bin + + insinto /usr/share/${PN} + doins -r dist/etc + dosym ../${PN}/etc /usr/share/ant/etc + + echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant" + doenvd "${T}/20ant" + + dodoc NOTICE README WHATSNEW KEYS + + if use doc; then + dodoc -r manual/* + java-pkg_dojavadoc --symlink manual/api build/javadocs + fi + + use source && java-pkg_dosrc src/main/* +} |