summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/apache-ant/PKGBUILD118
1 files changed, 69 insertions, 49 deletions
diff --git a/java/apache-ant/PKGBUILD b/java/apache-ant/PKGBUILD
index dfda3c28d..12a8cb0ed 100644
--- a/java/apache-ant/PKGBUILD
+++ b/java/apache-ant/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Andrew Wright <andreww@photism.org>
pkgname=apache-ant
-pkgver=1.9.1
+pkgver=1.9.2
pkgdesc="A Java-based build tool"
license=('Apache' 'custom:BSD3')
url="http://ant.apache.org/"
@@ -12,7 +12,7 @@ provides=("apache-ant-libre=$pkgver")
replaces=("apache-ant-libre")
conflicts=("apache-ant-libre")
-pkgrel=3
+pkgrel=3.1 # newer than Arch's 1.9.2-3
arch=('any')
depends=('java-environment')
makedepends=('jh')
@@ -22,37 +22,45 @@ source=($_mirror/ant/source/${pkgname}-${pkgver}-src.tar.bz2
${pkgname}.sh ${pkgname}.csh)
# This list is adapted from https://ant.apache.org/manual/install.html#librarydependencies
-declare -A _opts
-_opts[junit]='to have JUnit on the classpath in javac tasks;/usr/share/java/junit.jar'
-_opts[xalan-java]='<junitreport> task;/usr/share/java/xalan.jar'
-_opts[java-antlr2]='<antlr> task;/usr/share/java/antlr2.jar::antlr.jar'
-_opts[java-commons-bsf2]='<script> task;/usr/share/java/bsf2.jar::bsf.jar'
-#_opts[groovy]='Groovy with <script> and <scriptdef> tasks;/usr/share/java/groovy.jar'
-_opts[java-asm2]='Groovy with <script> and <scriptdef> tasks;/usr/share/java/asm-2.jar::asm.jar /usr/share/java/asm-util-2.jar::asm-util.jar'
-#_opts[netrexx]='<netrexx> task, Rexx with <script> task;/usr/share/java/netrexx.jar'
-_opts[java-rhino]='Javascript with <script> task;/usr/share/java/js.jar'
-_opts[jython]='Python with <script> task;/opt/jython/jython.jar'
-#_opts[jacl]='TCL with <script> task;/usr/share/java/jacl.jar'
-#_opts[tcljava]='TCL with <script> task;/usr/share/java/tcljava.jar'
-_opts[beanshell>=1.3]='BeanShell with <script> task;/usr/share/java/bsh.jar::beanshell.jar'
-_opts[jruby]='Ruby with <script> task;/opt/jruby/lib/jruby.jar'
-#_opts[judo]='Judoscript with <script> task;/usr/share/java/judo.jar'
-_opts[java-commons-logging]='CommonsLoggingListener;/usr/share/java/commons-logging/commons-logging.jar'
-#_opts[java-log4j]='Log4jListener;/usr/share/java/log4j.jar'
-_opts[java-commons-net1>=1.4.0]='<ftp>, <rexec> and <telnet> tasks;/usr/share/java/commons-net.jar'
-_opts[java-bcel]="'classfileset' data type, JavaClassHelper for ClassConstants filter reader;/usr/share/java/bcel.jar"
-#_opts[java-mail]='<mimemail> task, mime encoding with <mail>;/usr/share/java/mail.jar'
-_opts[java-activation-gnu]='<mimemail> task, mime encoding with <mail>;/usr/share/java/activation.jar'
-_opts[java-jdepend]='<jdepend> task;/usr/share/java/jdepend.jar'
-#_opts[java-xmlcommons-resolver>=1.1beta]="external files for 'xmlcatalog' datatype;/usr/share/java/resolver.jar"
-_opts[java-jsch>=0.1.42]='<sshexec> and <scp> tasks;/usr/share/java/jsch.jar'
-#_opts[java-advanced-imaging]='<image> task/usr/share/java/jai/*.jar'
-
-for pkg in "${!_opts[@]}"; do
- optdepends+=("$pkg: ${_opts[$pkg]%;*}")
- makedepends+=("$pkg")
- _jars+="${_opts[$pkg]#*;} "
+# The format is:
+# jarname:description:pkgname:jarpath
+_library_dependencies=(
+ #jakarta-regexp-1.3.jar:Disregard
+ jakarta-oro-2.0.8.jar:'<ftp task>':jakarta-oro:/usr/share/java/jakarta-oro.jar
+ junit.jar:'<junit> task':junit:/usr/share/java/junit.jar
+ xalan.jar:'<junitreport> task':xalan-java:/usr/share/java/xalan.jar
+ antlr.jar:'<antlr> task':java-antlr2:/usr/share/java/antlr2.jar
+ bsf.jar:'<script> task':java-commons-bsf2:/usr/share/java/bsf2.jar
+ groovy-all.jar:'Groovy with <script> and <scriptdef> tasks':groovy:/usr/share/groovy/embeddable/groovy-all.jar
+ #netrexx.jar:'<netrexx> task, Rexx with <script> task':???????:???????
+ js.jar:'Javascript with <script> task':java-rhino:/usr/share/java/js.jar
+ jython.jar:'Python with <script> task':jython:/opt/jython/jython.jar
+ #jpython.jar:Disregard
+ #jacl.jar:'TCL with <script> task':???????:???????
+ #tcljava.jar:'TCL with <script> task':???????:???????
+ beanshell.jar:'BeanShell with <script> task':'beanshell>=1.3':/usr/share/java/bsh.jar
+ jruby.jar:'Ruby with <script> task':jruby:/opt/jruby/lib/jruby.jar
+ #judo.jar:Judoscript with <script> task:???????:??????
+ commons-logging.jar:'CommonsLoggingListener':java-commons-logging:/usr/share/java/commons-logging/commons-logging.jar
+ #log4j.jar:'Log4jListener':???????:???????
+ commons-net.jar:'<ftp>, <rexec> and <telnet> tasks':'java-commons-net1>=1.4.0':/usr/share/java/commons-net.jar
+ bcel.jar:"'classfileset' data type, JavaClassHelper for ClassConstants filter reader":java-bcel:/usr/share/java/bcel.jar
+ mail.jar:'<mimemail> task, mime encoding with <mail>':java-gnumail:/usr/share/java/gnumail.jar
+ activation.jar:'<mimemail> task, mime encoding with <mail>':java-activation-gnu:/usr/share/java/activation.jar
+ jdepend.jar:'<jdepend> task':java-jdepend:/usr/share/java/jdepend.jar
+# FIXME: When FS#38243 is fixed, 'xerces2-java' should be changed to 'java-resolver'.
+# We use xerces in the mean time because xalan depends on it.
+ resolver.jar:"external files for 'xmlcatalog' datatype":xerces2-java:/usr/share/java/resolver.jar
+ jsch.jar:'<sshexec> and <scp> tasks':'java-jsch>=0.1.42':/usr/share/java/jsch.jar
+ #jai.jar:'<image> task':???????:???????
+)
+
+for _dep in "${_library_dependencies[@]}"; do
+ IFS=: read _jarname _desc _pkgname _jarpath <<<"$_dep"
+ optdepends+=("${_pkgname}: ${_desc}")
+ makedepends+=("${_pkgname}")
done
+unset _dep _jarname _desc _pkgname _jarpath
build() {
# This directory is what becomes
@@ -63,14 +71,24 @@ build() {
cd "${srcdir}"/${pkgname}-${pkgver}
# Symlink to external optional libraries/
- for jar in $_jars; do
- ln -sfv ${jar%::*} lib/optional/`basename ${jar#*::}`
+ local _dep _jarname _desc _pkgname _jarpath
+ for _dep in "${_library_dependencies[@]}"; do
+ IFS=: read _jarname _desc _pkgname _jarpath <<<"$_dep"
+ ln -sfv "${_jarpath}" lib/optional/${_jarname}
done
# Build
source "/etc/profile.d/jdk.sh" # Get the JAVA_HOME env var
sh build.sh -Ddist.dir="${srcdir}"/${pkgname}-${pkgver}-bin dist
}
+# Create a relative symlink
+_rellink() {
+ local src=$1
+ local dst=$2
+ mkdir -p "${pkgdir}/${dst%/*}"
+ ln -sfv "$(realpath -m "$src" --relative-to="${dst%/*}")" "${pkgdir}/${dst}"
+}
+
package() {
cd "${srcdir}"/${pkgname}-${pkgver}-bin
source "${srcdir}"/${pkgname}.sh # Get the ANT_HOME env var
@@ -90,33 +108,35 @@ package() {
# Fix python2 path
sed -i 's|/usr/bin/python|/usr/bin/python2|' "${pkgdir}"/${ANT_HOME}/bin/runant.py
# Symlink to external optional libraries
- for jar in $_jars; do
- ln -sf ${jar%::*} "${pkgdir}"/${ANT_HOME}/lib/`basename ${jar#*::}`
+ local _dep _jarname _desc _pkgname _jarpath
+ for _dep in "${_library_dependencies[@]}"; do
+ IFS=: read _jarname _desc _pkgname _jarpath <<<"$_dep"
+ _rellink "${_jarpath}" "${ANT_HOME}/lib/${_jarname}"
done
## Symlink the /opt distribution to the normal places
- install -d "${pkgdir}"/usr/bin
- install -d "${pkgdir}"/usr/share/doc/${pkgname}
- install -d "${pkgdir}"/usr/share/licenses/${pkgname}
cd "${pkgdir}"/${ANT_HOME}/lib
+ local pom a
for pom in *.pom; do
a=${pom%.pom}
base=$(jh mvn-basename org.apache.ant $a $pkgver)
- install -d "${pkgdir}${base%/*}"
- ln -sf ${ANT_HOME}/lib/$a.pom "${pkgdir}${base}".pom
- ln -sf ${ANT_HOME}/lib/$a.jar "${pkgdir}${base}".jar
+ _rellink "${ANT_HOME}/lib/$a.pom" "${base}.pom"
+ _rellink "${ANT_HOME}/lib/$a.jar" "${base}.jar"
done
- cd "${pkgdir}"/${ANT_HOME}
- for prog in bin/*; do
- ln -sf ${ANT_HOME}/$prog "${pkgdir}"/usr/bin
+ cd "${pkgdir}"/${ANT_HOME}/bin
+ local prog
+ for prog in *; do
+ _rellink "${ANT_HOME}/$prog" "/usr/bin/$prog"
done
- ln -sf ${ANT_HOME}/{README,WHATSNEW} "${pkgdir}"/usr/share/doc/${pkgname}
- ln -sf ${ANT_HOME}/docs "${pkgdir}"/usr/share/doc/${pkgname}/html
- ln -sf ${ANT_HOME}/{LICENSE,NOTICE} "${pkgdir}"/usr/share/licenses/${pkgname}
+ _rellink "${ANT_HOME}/README" "/usr/share/doc/${pkgname}/README"
+ _rellink "${ANT_HOME}/WHATSNEW" "/usr/share/doc/${pkgname}/WHATSNEW"
+ _rellink "${ANT_HOME}/docs" "/usr/share/doc/${pkgname}/html"
+ _rellink "${ANT_HOME}/LICENSE" "/usr/share/licenses/${pkgname}/LICENSE"
+ _rellink "${ANT_HOME}/NOTICE" "/usr/share/licenses/${pkgname}/NOTICE"
}
-md5sums=('39771fd8b4ba87cd77ff6f27001cce4e'
+md5sums=('8f610c1a0183507c2beebbf230f456af'
'bd63c881be406f515fc4d22635e8326a'
'aaa615512cbe1ed7f3b62c1ff46802f8')