summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/extra/apache-ant/PKGBUILD80
-rw-r--r--abs/extra/apache-ant/ant_diagnostics.patch23
-rw-r--r--abs/extra/apache-ant/apache-ant.csh2
-rw-r--r--abs/extra/apache-ant/apache-ant.sh3
4 files changed, 74 insertions, 34 deletions
diff --git a/abs/extra/apache-ant/PKGBUILD b/abs/extra/apache-ant/PKGBUILD
index 663cc19..eaafed4 100644
--- a/abs/extra/apache-ant/PKGBUILD
+++ b/abs/extra/apache-ant/PKGBUILD
@@ -1,41 +1,53 @@
-# $Id: PKGBUILD 24082 2009-01-12 21:42:39Z paul $
+# $Id$
# Contributor: Andrew Wright <andreww@photism.org>
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=apache-ant
-pkgver=1.7.1
-pkgrel=1
-pkgdesc="Ant is a java-based build tool."
-arch=(i686 x86_64)
+pkgver=1.8.2
+pkgrel=2
+pkgdesc="A java-based build tool"
+arch=('any')
license=('APACHE')
url="http://ant.apache.org/"
-depends=('java-runtime')
-makedepends=('java-environment')
-noextract=('junit3.8.1.zip')
-source=(http://archive.apache.org/dist/ant/source/${pkgname}-${pkgver}-src.tar.bz2
- http://heanet.dl.sourceforge.net/sourceforge/junit/junit3.8.1.zip)
-md5sums=('0d68db4a1ada5c91bcbf53cefd0c2fd7' '5110326e4b7f7497dfa60ede4b626751')
-
-build() {
- cd ${startdir}/src || return 1
- unzip junit3.8.1.zip || return 1
-
- cd ${startdir}/src/${pkgname}-${pkgver}
- if [ -f /etc/profile.d/java-gcj-compat.sh ]; then
- . /etc/profile.d/java-gcj-compat.sh
- elif [ -f /etc/profile.d/jdk.sh ]; then
- . /etc/profile.d/jre.sh
- . /etc/profile.d/jdk.sh
- fi
-
- # we need the junit jar in the classpath to build ant
- export CLASSPATH="${startdir}/src/junit3.8.1/junit.jar"
-
- # build
- mkdir dist || return 1
- ./build.sh -Ddist.dir=dist/ dist || return 1
-
- # install
- export ANT_HOME="${startdir}/pkg/usr"
- ./build.sh install-lite || return 1
+depends=('java-environment')
+optdepends=('junit: to jave junit on the classpath in javac tasks')
+source=(http://archive.apache.org/dist/ant/binaries/${pkgname}-${pkgver}-bin.tar.bz2
+ ${pkgname}.sh ${pkgname}.csh
+ ant_diagnostics.patch)
+md5sums=('9e9ae9fc7352960191489a1286fb0928'
+ '593ee6ebd9b8ec321534a028e686880f'
+ '475b684eb8202c09cbb51496cd8ee1e0'
+ 'cbaab423be40a6e63f0fde901b91eb50')
+
+package() {
+ # install profile.d script
+ install -dm755 "${pkgdir}"/etc/profile.d
+ install -m755 "${srcdir}"/${pkgname}.{csh,sh} "${pkgdir}"/etc/profile.d/
+
+ # Get the ANT_HOME env var
+ source "${srcdir}"/${pkgname}.sh
+
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ install -dm755 "${pkgdir}"/${ANT_HOME}/{bin,lib}
+
+ install -m644 ./lib/*.jar "${pkgdir}"/${ANT_HOME}/lib
+ cp -Rp ./etc "${pkgdir}"/${ANT_HOME}
+
+ # Do not copy Windows .bat/.cmd files
+ find ./bin -type f -a ! -name \*.bat -a ! -name \*.cmd \
+ -exec install -m755 {} "${pkgdir}"/${ANT_HOME}/bin \;
+
+ # symlink to junit so it's on the javac build path for ant
+ # matches behavior on ubuntu 9 and makes sense for compatibility
+ # http://bugs.archlinux.org/task/15229
+ ln -sf /usr/share/java/junit.jar "${pkgdir}"/usr/share/java/apache-ant/lib/
+
+ # fix python2 path
+ sed -i 's|/usr/bin/python|/usr/bin/python2|' "${pkgdir}"/usr/share/java/apache-ant/bin/runant.py
+
+ # The license says the NOTICE file should be redistributed for derivative
+ # works, so lets supply it.
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ install -dm755 "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -m644 LICENSE NOTICE "${pkgdir}"/usr/share/licenses/${pkgname}
}
diff --git a/abs/extra/apache-ant/ant_diagnostics.patch b/abs/extra/apache-ant/ant_diagnostics.patch
new file mode 100644
index 0000000..38148b4
--- /dev/null
+++ b/abs/extra/apache-ant/ant_diagnostics.patch
@@ -0,0 +1,23 @@
+--- a/src/main/org/apache/tools/ant/Diagnostics.java
++++ b/src/main/org/apache/tools/ant/Diagnostics.java
+@@ -179,7 +179,10 @@
+ * @param clazz the class to get the information from.
+ * @since Ant 1.8.0
+ */
+- private static URL getClassLocation(Class clazz) {
++ private static URL getClassLocation(Class clazz) {
++ if (clazz.getProtectionDomain().getCodeSource() == null) {
++ return null;
++ }
+ return clazz.getProtectionDomain().getCodeSource().getLocation();
+ }
+
+@@ -241,7 +244,7 @@
+ }
+ Transformer transformer = null;
+ try {
+- transformer = transformerFactory.newTransformer();
++ transformer = transformerFactory.newTransformer();
+ } catch (Exception e) {
+ // ignore
+ ignoreThrowable(e);
diff --git a/abs/extra/apache-ant/apache-ant.csh b/abs/extra/apache-ant/apache-ant.csh
new file mode 100644
index 0000000..b6a6d58
--- /dev/null
+++ b/abs/extra/apache-ant/apache-ant.csh
@@ -0,0 +1,2 @@
+setenv ANT_HOME /usr/share/java/apache-ant
+setenv PATH ${PATH}:${ANT_HOME}/bin
diff --git a/abs/extra/apache-ant/apache-ant.sh b/abs/extra/apache-ant/apache-ant.sh
new file mode 100644
index 0000000..ab602fb
--- /dev/null
+++ b/abs/extra/apache-ant/apache-ant.sh
@@ -0,0 +1,3 @@
+export ANT_HOME=/usr/share/java/apache-ant
+export PATH=$PATH:$ANT_HOME/bin
+