96 lines
2.0 KiB
Plaintext
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:
|