jobextra/pahole/PKGBUILD-arch

96 lines
2.0 KiB
Plaintext

# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
pkgbase=pahole
pkgname=(
pahole
ostra-cg
)
pkgver=1.26
pkgrel=1
epoch=1
pkgdesc="Pahole and other DWARF utils"
url="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
arch=(x86_64)
license=(GPL-2.0-only)
makedepends=(
bash
cmake
libelf
ninja
python
python-matplotlib
zlib
)
source=(
https://fedorapeople.org/~acme/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)
}
_pick() {
local p="$1" f d; shift
for f; do
d="$srcdir/$p/${f#$pkgdir/}"
mkdir -p "$(dirname "$d")"
mv "$f" "$d"
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
done
}
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
_pick ostra "$pkgdir"/usr/{bin/ostra-cg,lib/python*}
}
package_ostra-cg() {
pkgdesc="Generate call graphs from encoded traces"
depends=(
pahole
python
python-matplotlib
)
mv ostra/* "$pkgdir"
python -m compileall -d /usr/lib "$pkgdir/usr/lib"
python -O -m compileall -d /usr/lib "$pkgdir/usr/lib"
}
# vim:set sw=2 sts=-1 et: