# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>

pkgbase=pahole
pkgname=(
  pahole
)
pkgver=1.26
pkgrel=1.1
epoch=1
pkgdesc="Pahole and other DWARF utils"
url="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
arch=(aarch64)
license=(GPL-2.0-only)
makedepends=(
  bash
  cmake
  libelf
  ninja
  zlib
  base-devel
)
source=(
  https://acme.fedorapeople.org/dwarves/dwarves-$pkgver.tar.{xz,sign}
  python.diff
)
b2sums=('cb86bf964f22633432e80d335937379c2096877c6130f49dbe03f2653b7c932bb1c5d87621ac93383be9e4f35294a4f95aadb6392491fb782812db519b39b666'
        'SKIP'
        'd423eb1e05b634516ae1cf652e291fd559650b00b016ed35d0f2bd8ccb04ffd9e1ed1c53e95d86039d656651633792932544de1871a09cb8b4953fa8026492e9')
validpgpkeys=(
  2DBF5BAA46FB4DED338A335BD65016F35352AA40  # Arnaldo Carvalho de Melo <acme@kernel.org>
)

prepare() {
  cd dwarves-$pkgver

  # https://bugs.archlinux.org/task/70013
  patch -Np1 -i ../python.diff
}

build() {
  local cmake_options=(
    -D CMAKE_INSTALL_PREFIX=/usr
    -D CMAKE_BUILD_TYPE=None
    -D __LIB=lib
  )

  cmake -S dwarves-$pkgver -B build -G Ninja "${cmake_options[@]}"
  cmake --build build
}

check() {
  ctest --test-dir build --output-on-failure --stop-on-failure -j$(nproc)
}

package_pahole() {
  depends=(
    bash
    libelf
    zlib
  )
  optdepends=('ostra-cg: Generate call graphs from encoded traces')
  provides=(libdwarves{,_emit,_reorganize}.so)

  DESTDIR="$pkgdir" cmake --install build
}

# vim:set sw=2 sts=-1 et:
