summaryrefslogtreecommitdiff
path: root/pcr/java-asm2
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/java-asm2')
-rw-r--r--pcr/java-asm2/PKGBUILD18
-rw-r--r--pcr/java-asm2/PKGBUILD-bootstrap24
-rw-r--r--pcr/java-asm2/PKGBUILD.common.sh65
3 files changed, 107 insertions, 0 deletions
diff --git a/pcr/java-asm2/PKGBUILD b/pcr/java-asm2/PKGBUILD
new file mode 100644
index 000000000..8860ef86f
--- /dev/null
+++ b/pcr/java-asm2/PKGBUILD
@@ -0,0 +1,18 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgver=2.2.3
+. PKGBUILD.common.sh
+
+####
+
+pkgrel=7
+
+mksource() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ rm test/conform/org/objectweb/asm/attrs/StackMapTableSample.data
+ rm test/conform/cases/*.class
+ mkdir -p test/lib
+}
+
+mkmd5sums=('7a92c87bf067925685cf68dcc0dd8998')
+md5sums=('c2119ab39618cb49ca4e4ad74344b488')
diff --git a/pcr/java-asm2/PKGBUILD-bootstrap b/pcr/java-asm2/PKGBUILD-bootstrap
new file mode 100644
index 000000000..cbe29bb34
--- /dev/null
+++ b/pcr/java-asm2/PKGBUILD-bootstrap
@@ -0,0 +1,24 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+# "java-asm2" is required to build "java-ow-util-ant-tasks", which is in turn
+# required to build "java-asm2".
+
+. PKGBUILD
+
+makedepends=(jh)
+source=("http://download.forge.objectweb.org/$_pkgname/$_pkgname-$pkgver-bin.zip")
+unset mksource
+_distdir="$_pkgname-$pkgver"
+
+provides+=("$pkgname=$pkgver")
+pkgname+='-bootstrap'
+pkgdesc+=" (prebuilt binary release for bootstrapping purposes)"
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ echo "3-clause BSD license; install the non-bootstrap version for full text" > LICENSE.txt
+ cd "$srcdir/$_distdir/lib"
+ ln -s all/* .
+}
+
+md5sums=('9bedaa1d00c5b5f1c7fec10a2d2f7142')
diff --git a/pcr/java-asm2/PKGBUILD.common.sh b/pcr/java-asm2/PKGBUILD.common.sh
new file mode 100644
index 000000000..ef4547696
--- /dev/null
+++ b/pcr/java-asm2/PKGBUILD.common.sh
@@ -0,0 +1,65 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=asm
+pkgname=java-asm${pkgver%%.*}
+pkgdesc="An all purpose Java bytecode manipulation and analysis framework."
+url="http://asm.ow2.org/"
+license=('custom:BSD3')
+
+arch=('any')
+depends=('java-runtime')
+makedepends=(
+ apache-ant
+ java-ow-util-ant-tasks
+ jh
+)
+source=("libre://$pkgname-$pkgver.tar.gz")
+mksource=("http://download.forge.objectweb.org/$_pkgname/$_pkgname-$pkgver.tar.gz")
+
+_distdir="$_pkgname-$pkgver/output/dist"
+_ow_util_ant_tasks='/usr/share/java/ow_util_ant_tasks.jar'
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ echo "objectweb.ant.tasks.path $_ow_util_ant_tasks" >> build.properties
+ ant dist
+
+ # This will make package() easier:
+ cd "$srcdir/$_distdir/lib"
+ ln -sf all/* .
+}
+
+package() {
+ # Install license file
+ cd "$srcdir/$_pkgname-$pkgver"
+ install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ # Install documentation
+ cd "$srcdir/$_distdir"
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ cp -r doc/javadoc/user "$pkgdir/usr/share/doc/$pkgname/javadoc"
+ cp -r examples "$pkgdir/usr/share/doc/$pkgname/examples"
+
+ # Install the README about the -all files
+ cd "$srcdir/$_distdir/lib"
+ install -Dm644 README.txt \
+ "$pkgdir"/usr/share/java/$_pkgname/README-$pkgver.txt
+
+ # Install Maven artifacts
+ export DESTDIR=$pkgdir
+ for artifact in $(printf '%s\n' *.pom|sed 's/-[0-9.]*\.pom$//'); do
+ if [[ -f $artifact-$pkgver.jar ]]; then
+ # This artifact has a jar file
+ jh mvn-install $_pkgname $artifact $pkgver $artifact-$pkgver.{pom,jar}
+ # Symlink them to /usr/share/java
+ ln -s "$(jh mvn-basename asm $artifact $pkgver).jar" \
+ "$pkgdir"/usr/share/java/$_pkgname/
+ ln -s $_pkgname/$artifact-$pkgver.jar \
+ "$pkgdir"/usr/share/java/$artifact-${pkgver%%.*}.jar
+ else
+ # This artifact is just a pom
+ jh mvn-install $_pkgname $artifact $pkgver $artifact-$pkgver.pom
+ fi
+ done
+}