summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 63702a716bd7489dafca36aae4f4eaf4e5297377 (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: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=tau
pkgver=2.24.1
pkgrel=1
pkgdesc="Profiling and tracing toolkit for Fortran, C, C++, Java and Python programs"
arch=('i686' 'x86_64')
url="http://www.cs.uoregon.edu/research/tau/home.php"
license=('custom')
depends=('gcc')
optdepends=('java-runtime: for ParaProf and other GUI utilities')
options=(staticlibs)
source=(http://tau.uoregon.edu/tau.tgz \
        tau.sh)
md5sums=('SKIP'
         '52fa5f1687fe0ad889aa411d1b5b9982')

pkgver() {
  _dirname=`tar --exclude="*/*/*" -tf tau.tgz`
  _dirname=`basename $_dirname`
  echo ${_dirname#*-}
}

build() {
  cd "$srcdir/$pkgname-$pkgver"

  # useropt is required for proper detection of BFD and demangle.h
  ./configure -LINUXTIMERS -pthread -useropt="-DPACKAGE -DPACKAGE_VERSION -ldl -I/usr/include/libiberty"
  make install
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  _ARCH=$(grep TAU_ARCH= include/Makefile | cut -d'=' -f2)
  _MAKEFILE=`ls $_ARCH/lib/Makefile*`
  _MAKEFILE=`basename "$_MAKEFILE"`

  install -d -m755 "$pkgdir/opt/tau"
  cp -a $_ARCH "$pkgdir/opt/tau"

  # remove all references to "$pkgdir" from text files
  for FILE in "$pkgdir"/opt/tau/$_ARCH/bin/*; do
    if [ `file $FILE | grep -c "text"` -ne 0 ] ; then
      #echo "striping $srcdir/$pkgname-$pkgver from file $FILE"
      sed "s|$srcdir/$pkgname-$pkgver|/opt/tau|g" -i "$FILE"
    fi
  done
  sed -i "s|$srcdir/$pkgname-$pkgver|/opt/tau|g" "$pkgdir/opt/tau/$_ARCH/lib/$_MAKEFILE"

  # move man pages to correct location
  install -d -m755 "$pkgdir/usr/share"
  cp -a "$srcdir/$pkgname-$pkgver/man" "$pkgdir/usr/share"
  # install tau.sh to profile.d and update paths in tau.sh
  install -D -m755 "$srcdir/tau.sh" "$pkgdir/etc/profile.d/tau.sh"
  sed -i "s|_ARCH_|$_ARCH|" "$pkgdir/etc/profile.d/tau.sh"
  sed -i "s|_MAKEFILE_|$_MAKEFILE|" "$pkgdir/etc/profile.d/tau.sh"
  # install license
  install -D -m644 "$srcdir/$pkgname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  # fix the conflict with gperftools
  mv "$pkgdir/opt/tau/$_ARCH/bin/pprof" "$pkgdir/opt/tau/$_ARCH/bin/pprof.tau"
  mv "$pkgdir/usr/share/man/man1/pprof.1" "$pkgdir/usr/share/man/man1/pprof.tau.1"
}

# vim:set ts=2 sw=2 et: