summaryrefslogtreecommitdiff
path: root/java-ugly/maven/PKGBUILD
blob: 2bd99940ea20d2e0811b0ced844b59f6bedd6a05 (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
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: William Rea <sillywilly@gmail.com>

_pkgname=maven
pkgname=maven-libre
pkgver=3.0.4

provides=("$_pkgname=$pkgver")
replaces=("$_pkgname")
conflicts=("$_pkgname")

pkgrel=1
pkgdesc="A Java project management and project comprehension tool"
arch=('any')
url="http://maven.apache.org"
license=('Apache')
depends=('java-environment')
makedepends=('apache-ant')
backup=('etc/maven/settings.xml')

_mirror=http://archive.apache.org/dist
source=($_mirror/maven/source/apache-maven-$pkgver-src.tar.gz
	maven.sh maven.csh)

_M2_LOCALREPO="/usr/share/maven/repository"

# FIXME: This also does tasks for package()
build() {
  cd $srcdir/apache-maven-$pkgver

  . /etc/profile.d/jre.sh
  . /etc/profile.d/jdk.sh

  export MAVEN_OPTS=-Xmx512m
  export M2_HOME="$pkgdir"/opt/maven
  export PATH="$PATH:$M2_HOME/bin"

  # FIXME: Downloads many deps from Internet. They should be
  #        packaged separately and added to depends=()
  install -d "$pkgdir`dirname $_M2_LOCALREPO`"
  cp -r $_M2_LOCALREPO "$pkgdir$_M2_LOCALREPO"
  install -d "$pkgdir"/opt
  ant -Dmaven.repo.local="$pkgdir$_M2_LOCALREPO"
  rm "$pkgdir"/opt/maven/*.txt
}

package() {
  install -d "$pkgdir$_M2_LOCALREPO"

  # Install config file in /etc
  #  Unlike the other directories, we symlink from the system to /opt/maven
  #  because that way all conf files stay in /etc
  install -d "$pkgdir"/etc/maven
  sed "55i<localRepository>$_M2_LOCALREPO</localRepository>" \
    < "$pkgdir"/opt/maven/conf/settings.xml \
    > "$pkgdir"/etc/maven/settings.xml
  rm -rf "$pkgdir"/opt/maven/conf
  ln -s /etc/maven "$pkgdir"/opt/maven/conf

  # Install profile.d settings
  install -d "$pkgdir"/etc/profile.d
  install -m 755 "$srcdir"/maven.{csh,sh} "$pkgdir"/etc/profile.d

  # Link executables to /usr/bin
  install -d "$pkgdir"/usr/bin
  ln -s /opt/maven/bin/{mvn,mvnDebug,mvnyjp} "$pkgdir"/usr/bin

  # Link jar files to appropriate place in /usr/share
  install -d "$pkgdir"/usr/share/java
  ln -s /opt/maven/lib "$pkgdir"/usr/share/java/maven
}

md5sums=('17ca94d5be05a78c6ab12425b7a0ee10'
         '58820067a4d7384477daa134023d9b57'
         'e2bbdeffed100cd51d05b2ba8ebd6321')