123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- # Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
- # Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
- # Contributor (Arch): William Rea <sillywilly@gmail.com>
- pkgname=maven
- pkgver=3.3.9
- pkgdesc="A Java project management and project comprehension tool"
- url="http://maven.apache.org"
- license=('Apache')
- replaces=('maven-libre')
- conflicts=('maven-libre')
- pkgrel=1.parabola2
- arch=('any')
- options=(!emptydirs)
- conflicts=('maven')
- depends=('java-environment' 'sh')
- makedepends=('apache-ant' 'jh' 'imake'
- java-animal-sniffer
- java-antlr2
- java-asm
- java-asm3
- java-commons-codec
- java-commons-io
- java-commons-lang
- java-commons-logging
- java-hamcrest
- java-xml-commons-external
- jna
- junit
- mockito
- objenesis
- slf4j
- xerces2-java
- )
- backup=('etc/maven/settings.xml')
- _mirror=http://archive.apache.org/dist
- source=($_mirror/maven/maven-${pkgver%%.*}/$pkgver/source/apache-maven-$pkgver-src.tar.gz
- maven.sh maven.csh)
- _setup_env() {
- unset _JAVA_OPTIONS
- . /etc/profile.d/jre.sh
- export MAVEN_OPTS=-Xmx512m
- export M2_HOME="$pkgdir"/opt/maven
- export PATH="$PATH:$M2_HOME/bin"
- _M2_LOCALREPO=$(jh mvn-localrepo)
- ant_args=(
- -Dmaven.repo.local="$srcdir"/maven.repo.local
- )
- }
- prepare() {
- if type mvn &>/dev/null; then
- error "maven cannot be built while an existing version is installed"
- return 1
- fi
- }
- build() (
- _setup_env
- install -d "$srcdir"/maven.repo.local
- lndir "$_M2_LOCALREPO" "$srcdir"/maven.repo.local
- cd "$srcdir"/apache-maven-$pkgver
- # FIXME: downloads makedepends from the Internet. Add them to makedepends=()
- ant "${ant_args[@]}" maven-compile 2>&1|tee "$srcdir"/ant-log.txt
- < "$srcdir"/ant-log.txt \
- sed -nr 's/.*Download(ed|ing):\s*//p' | \
- sed 's/ .*//' | \
- sed -r -e 's|^http://repo.maven.apache.org/maven2/||' -e 's/\.(jar|pom)$//' | \
- sort -u > "$srcdir"/downloaded-artifacts.txt
- )
- package() (
- _setup_env
- cd "$srcdir"/apache-maven-$pkgver
- ant "${ant_args[@]}" extract-assembly
- #rm "$pkgdir"/opt/maven/*.txt
- # 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
- # Install the local repo
- mkdir -p "$pkgdir"${_M2_LOCALREPO%/*}
- cp -a "$srcdir"/maven.repo.local "$pkgdir"$_M2_LOCALREPO
- # Remove extra artifacts
- find "$pkgdir"$_M2_LOCALREPO -type l -delete
- find "$pkgdir"$_M2_LOCALREPO -name _maven.repositories -delete
- cat "$srcdir"/downloaded-artifacts.txt | while read artifact; do
- rm -f "$pkgdir"$_M2_LOCALREPO/$artifact*
- done
- )
- md5sums=('030ce5b3d369f01aca6249b694d4ce03'
- '58820067a4d7384477daa134023d9b57'
- 'e2bbdeffed100cd51d05b2ba8ebd6321')
|