# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>

pkgbase=kcachegrind
pkgname=(kcachegrind kcachegrind-common qcachegrind)
pkgver=19.08.1
pkgrel=1
pkgdesc='Visualization of Performance Profiling Data'
url='https://kde.org/applications/development/kcachegrind/'
arch=(x86_64)
license=(GPL LGPL FDL)
makedepends=(extra-cmake-modules kdoctools qt5-tools kio)
source=("https://download.kde.org/stable/applications/$pkgver/src/$pkgname-$pkgver.tar.xz"{,.sig})
sha256sums=('e677f82e5527caecb0cdacad3f001665c40ba9e6a542a6a4d91fb898b45026c1'
            'SKIP')
validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7  # Albert Astals Cid <aacid@kde.org>
              F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87) # Christoph Feck <cfeck@kde.org>

prepare() {
  mkdir -p build
}

build() {
  cd build
  cmake ../$pkgname-$pkgver \
    -DBUILD_TESTING=OFF
  make
}

package_kcachegrind() {
  groups=(kde-applications kdesdk)
  depends=(kio kcachegrind-common)
  optdepends=('graphviz: for plotting support')

  cd build
  make DESTDIR="$pkgdir" install
  rm -r "$pkgdir"/usr/{bin/*tree,share/{doc,icons,locale}}
}

package_kcachegrind-common() {
  pkgdesc+=' (common files)'
  depends=(hicolor-icon-theme)
  optdepends=('php: for pprof2calltree' 'python2: for hotshot2calltree')

  cd build
  make DESTDIR="$pkgdir" install
  rm -r "$pkgdir"/usr/{bin/kcachegrind,share/{kcachegrind,applications,metainfo}} # provided by kcachegrind

  # Fix python 2 path
  sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \
    "$pkgdir"/usr/bin/hotshot2calltree
}

package_qcachegrind() {
  pkgdesc+=' (pure Qt version)'
  depends=(qt5-base kcachegrind-common desktop-file-utils)
  optdepends=('graphviz: for plotting support')

  install -Dm755 build/qcachegrind/qcachegrind -t "$pkgdir"/usr/bin/
  install -Dm644 $pkgbase-$pkgver/qcachegrind/qcachegrind.desktop -t "$pkgdir"/usr/share/applications/
}
