# Maintainer: Luke Shumaker # Contributor: Omar Vega Ramos pkgname=closure-compiler pkgver=20160713 pkgrel=1.parabola1 pkgdesc="Performs checking, instrumentation and optimizations on Javascript code." arch=('any') url="https://developers.google.com/closure/compiler/" license=('APACHE') depends=('java-runtime') makedepends=( 'apache-ant' 'args4j' 'java-guava' #'java-jarjar' 'java-gson' 'jsr305' 'junit' 'protobuf-java' #'java-mockito-core' # does not exist #'objenesis' # does not exist 'jh' ) source=("https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver.tar.gz" 'closure-compiler.sh' 'closure-compiler-fix_build.patch') sha256sums=('23bf36c418e41eaef9e7375ef6a27fbc0f52a52bd3c8375e949c8f7b23ca5c0c' '10b0d74a305548b029f05bd4fb0ffabec2ff782f9e3c054c2f5236f1bf4c6630' '214582d37ec2adeae4dd14bd12ac715a2d9cb0e48b66ad8567bd3dda1dca29a4') mkdepends=(git) mksource=("$pkgname-$pkgver::git+https://github.com/google/closure-compiler.git#tag=v$pkgver") mkmd5sums=('SKIP') mksource() { cd "$srcdir/$pkgname-$pkgver" rm -rv lib/*.jar sed -i " //,/<\/target>/ { s/executable=\"git\"/executable=\"echo\"/ //i }" \ 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 /usr/share/apache-ant/lib/ant.jar lib/ant.jar ln -sf /usr/share/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/gson.jar lib/gson.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 patch -Np1 -i "$srcdir/closure-compiler-fix_build.patch" } build() { cd "$srcdir/$pkgname-$pkgver" ant jar javadoc } package() { cd "$srcdir/$pkgname-$pkgver" # Install license file install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" # Install documentation install -d "$pkgdir/usr/share/doc/$pkgname" cp -r "build/javadoc" "$pkgdir/usr/share/doc/$pkgname" # Install Maven artifacts export DESTDIR="$pkgdir" jh mvn-install com.google.javascript "$pkgname-parent" "v$pkgver" pom.xml jh mvn-install com.google.javascript "$pkgname-externs" "v$pkgver" externs/pom.xml jh mvn-install com.google.javascript "$pkgname" "v$pkgver" pom-main.xml \ build/compiler.jar "$pkgname-$pkgver.jar" ln -s "/usr/share/java/$pkgname-$pkgver.jar" \ "$pkgdir/usr/share/java/$pkgname.jar" install -Dm755 "$srcdir/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" }