blob: a0694b260e1c5c35afbba6af509643c403a388ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Contributor: Omar Vega Ramos <ovruni@gnu.org.pe>
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 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 /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"
}
|