summaryrefslogtreecommitdiff
path: root/libre/javacc/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/javacc/PKGBUILD')
-rw-r--r--libre/javacc/PKGBUILD59
1 files changed, 59 insertions, 0 deletions
diff --git a/libre/javacc/PKGBUILD b/libre/javacc/PKGBUILD
new file mode 100644
index 000000000..5aa3b3c71
--- /dev/null
+++ b/libre/javacc/PKGBUILD
@@ -0,0 +1,59 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=javacc
+pkgver=6.1.2
+pkgdesc="Java Compiler Compiler; a parser generator"
+url="http://javacc.java.net/"
+license=('BSD3')
+
+arch=('any')
+pkgrel=1
+depends=('java-runtime')
+makedepends=('apache-ant' 'junit' 'jh')
+source=("https://java.net/projects/${pkgname}/downloads/download/releases/Release%20${pkgver}/${pkgname}-${pkgver}-sources.jar"
+ 'build-xml-bootstrap.patch')
+md5sums=('a29fdd55ccb738dc07a489b80b74e062'
+ 'c863ce2ed275f36ff0eebfc9e2776592')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ln -sfT /usr/share/java/junit.jar lib/junit3.8.1/junit.jar
+ rm -f bootstrap/javacc.jar
+ sed -i "s|^ <version>.*</version>| <version>$pkgver</version>|" pom.xml
+ cd ..
+ cp -a "$pkgname-$pkgver" "$pkgname-$pkgver"-bootstrap
+ patch -i build-xml-bootstrap.patch "$pkgname-$pkgver"-bootstrap/build.xml
+ rm -rf "$pkgname-$pkgver"/src/main/generated-sources
+}
+
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver-bootstrap
+ ant
+ cd ../$pkgname-$pkgver
+ ln -srf "$PWD"-bootstrap/target/javacc-$pkgver.jar bootstrap/javacc.jar
+
+ ant
+
+ cd ..
+ local prog
+ for prog in javacc jjdoc jjtree; do
+ printf '#!/bin/sh\nexec java -classpath %q %s "$@"\n' \
+ /usr/share/java/javacc.jar $prog \
+ > $prog.sh
+ done
+}
+
+package() {
+ cd "$srcdir"
+
+ local prog
+ for prog in javacc jjdoc jjtree; do
+ install -Dm755 $prog.sh "$pkgdir"/usr/bin/$prog
+ done
+
+ cd "$pkgname-$pkgver"
+ DESTDIR="$pkgdir" jh mvn-install net.java.dev.javacc javacc "$pkgver" \
+ pom.xml target/javacc-$pkgver.jar javacc.jar
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}