# Maintainer: David Runge <dvzrv@archlinux.org>

pkgname=trace-cmd
pkgver=3.3.1
pkgrel=2
pkgdesc="Interact with Ftrace Linux kernel internal tracer"
arch=(x86_64 aarch64)
url="https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git"
license=(
  GPL-2.0-only
  LGPL-2.1-only
)
depends=(
  audit
  glibc
  libtraceevent
  libtracefs
  zlib
  zstd
)
makedepends=(
  asciidoc
  bash-completion
  cunit
  python
  swig
  xmlto
)
optdepends=('python: for Python plugins')
provides=(libtracecmd.so)
# kernelshark crashes if trace-cmd is built with LTO: https://bugs.archlinux.org/task/76170
options=(!lto)
source=(
  https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-v$pkgver.tar.gz
  $pkgname-2.9-make_install.patch
  $pkgname-2.9.3-python3.patch
)
sha512sums=('a643efc2868d08871a7359dd0a17389685fb229f26328ee96f27a3dd94b5f3eb62009b945c14725eda1f09fa15367ffe2e2c3611d89860dcc031bbd6403cdee0'
            'c9321b2b885d88557a057d7064690274799ab1d67a8babb78b1c54c4d81546fdea7313286cfd5fb9efbbcf87cf8394dcb17202ac88434a351aa652e7109e1db6'
            'a1834b382cbee920697d08c7eb7292c4a5ea606e4f32459a60e0b236ad057536c987f3e162c9c99affa46396248e98c8f4ecd21031141f0221dbadf0bd33737d')
b2sums=('08855a672df92248a350e0f67c6da41b40602bcb4e886e993515bba174bfa482c93e1b5a157c72b4f30d91db47565ea9f65311731aeec2fbccc433daa8232a8b'
        '8a644be295417b1fd5fb807285a7176ef0ceb737352bbb4c7a88441f9b955a90befe974d890a58f2b8fb6de8a68a1b3c5d207f057c4b08db79caf6e97fa66f50'
        'dac368fc62d99eba6d36f2c7d81475c28211dfe5d1d59ca5e468daff31d36710637943dc822fb266784feb5355ca0bfb525819bb96095c8e0c0fa91f32558877')

prepare() {
  cd $pkgname-v$pkgver
  patch -Np1 -i ../$pkgname-2.9-make_install.patch
  patch -Np1 -i ../$pkgname-2.9.3-python3.patch
}

build() {
  export PYTHON_VERS=python3
  make prefix=/usr libdir_relative=lib all libs -C $pkgname-v$pkgver
  make prefix=/usr doc -C $pkgname-v$pkgver
  make test -C $pkgname-v$pkgver
}

package() {
  make prefix=/usr libdir_relative=lib DESTDIR="$pkgdir" BASH_COMPLETE_DIR="$(pkgconf --variable=completionsdir bash-completion)" install_cmd install_libs -C $pkgname-v$pkgver
  # NOTE: for unknown reasons upstream does not use DESTDIR here...
  make prefix="$pkgdir/usr" install_doc -C $pkgname-v$pkgver
  install -vDm 644 $pkgname-v$pkgver/tracecmd/$pkgname.bash "$pkgdir/usr/share/bash/bash-completion/completions/$pkgname"
}
