summaryrefslogtreecommitdiff
path: root/libre/closure-compiler
diff options
context:
space:
mode:
Diffstat (limited to 'libre/closure-compiler')
-rw-r--r--libre/closure-compiler/PKGBUILD89
-rw-r--r--libre/closure-compiler/closure-compiler.sh2
2 files changed, 91 insertions, 0 deletions
diff --git a/libre/closure-compiler/PKGBUILD b/libre/closure-compiler/PKGBUILD
new file mode 100644
index 000000000..6d4c2b269
--- /dev/null
+++ b/libre/closure-compiler/PKGBUILD
@@ -0,0 +1,89 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=closure-compiler
+pkgver=20150901
+pkgdesc="A JavaScript optimizing compiler."
+url="https://developers.google.com/closure/compiler/"
+license=('Apache')
+
+pkgrel=1
+arch=('any')
+depends=('java-runtime' 'sh')
+makedepends=(
+ 'apache-ant'
+ #'java-args4j' # does not exist
+ #'java-guava' # does not build
+ 'java-jarjar'
+ 'java-json'
+ #'java-jsr305' # does not exist
+ 'junit'
+ #'java-protobuf' # does not build
+ #'java-mockito-core' # does not exist
+ #'java-objenesis' # does not exist
+ 'jh'
+)
+
+source=("https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver.tar.gz" 'closure-compiler.sh')
+md5sums=('ce128c9a0fe9d563e65338bc1f80bb84'
+ 'd4ead4585fcc7039d3c32eb5c4491bb9')
+
+mkdepends=(git)
+mksource=("$pkgname-$pkgver::git+https://github.com/google/closure-compiler.git#tag=v${pkgver}")
+mkmd5sums=('SKIP')
+
+mksource() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ sed -i "
+ /<target name=\"relversion\">/,/<\/target>/ {
+ s/executable=\"git\"/executable=\"echo\"/
+ /<arg/d
+ /<\/exec>/i<arg value=\"v${pkgver}\" />
+ }" \
+ build.xml
+
+ sed -i "s/1\.0-SNAPSHOT/v${pkgver}/g" \
+ externs/pom.xml \
+ pom.xml \
+ pom-main.xml
+}
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ln -sf /opt/apache-ant/lib/ant.jar lib/ant.jar
+ ln -sf /opt/apache-ant/lib/ant-launcher.jar lib/ant-launcher.jar
+ #ln -sf /usr/share/java/args4j.jar lib/args4j.jar
+ #ln -sf /usr/share/java/guava.jar lib/guava.jar
+ ln -sf /usr/share/java/jarjar.jar lib/jarjar.jar
+ ln -sf /usr/share/java/json.jar lib/json.jar
+ #ln -sf /usr/share/java/jsr305.jar lib/jsr305.jar
+ ln -sf /usr/share/java/junit.jar lib/junit.jar
+ #ln -sf /usr/share/java/mockito-core.jar lib/mockito-core.jar
+ #ln -sf /usr/share/java/objenesis.jar lib/objenesis.jar
+ #ln -sf /usr/share/java/protobuf.jar lib/protobuf-java.jar
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ant jar
+}
+
+package() {
+ cd "$srcdir"
+ install -Dm755 closure-compiler.sh "$pkgdir"/usr/bin/closure-compiler
+
+ # symlink for compatibility with Arch's [community]/closure-compiler
+ ln -s closure-compiler "$pkgdir"/usr/bin/closure
+
+ cd "$srcdir/$pkgname-$pkgver"
+ (
+ export DESTDIR="$pkgdir"
+ jh mvn-install com.google.javascript closure-compiler-parent v${pkgver} pom.xml
+ jh mvn-install com.google.javascript closure-compiler v${pkgver} pom-main.xml \
+ build/compiler.jar closure-compiler.jar
+ jh mvn-install com.google.javascript closure-compiler-externs v${pkgver} externs/pom.xml
+ jh mvn-install com.google.javascript closure-compiler-rhino v${pkgver} lib/rhino/pom.xml \
+ build/lib/rhino.jar
+ )
+}
diff --git a/libre/closure-compiler/closure-compiler.sh b/libre/closure-compiler/closure-compiler.sh
new file mode 100644
index 000000000..e06590db2
--- /dev/null
+++ b/libre/closure-compiler/closure-compiler.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+java -jar /usr/share/java/closure-compiler.jar "$@"