summaryrefslogtreecommitdiff
path: root/java/java-asm2/PKGBUILD.common.sh
blob: ef4547696163bee41adbd857508f4ea1da587cd8 (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
# 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
}