jobextra/pahole/PKGBUILD

98 lines
2.7 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=pahole
pkgname=(pahole ostra-cg)
pkgver=1.26
pkgrel=01
epoch=1
pkgdesc="Pahole and other DWARF utils"
url="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
makedepends=(bash cmake libelf ninja python python-matplotlib zlib)
source=(https://fedorapeople.org/~acme/dwarves/dwarves-$pkgver.tar.{xz,sign}
python.diff)
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"
}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(GPL-2.0-only)
validpgpkeys=(2DBF5BAA46FB4DED338A335BD65016F35352AA40) # Arnaldo Carvalho de Melo <acme@kernel.org>
b2sums=('cb86bf964f22633432e80d335937379c2096877c6130f49dbe03f2653b7c932bb1c5d87621ac93383be9e4f35294a4f95aadb6392491fb782812db519b39b666'
'SKIP'
'd423eb1e05b634516ae1cf652e291fd559650b00b016ed35d0f2bd8ccb04ffd9e1ed1c53e95d86039d656651633792932544de1871a09cb8b4953fa8026492e9')
sha256sums=(ad4c08339850e404609e2808012580b7e98366d2b91054bb93fe6dca94651fb4 # dwarves-1.26.tar.xz
67c02c3714cd778b4c4b5c5ea808f6921ee9bf855d1ea6a816943d73037c4c1e # dwarves-1.26.tar.sign
b208e4fc49c11caaa7fb3fdc8840ecb0cdb84e6d73312a97f6e68f9eb81dd622) # python.diff
## d6f63c8b499474d1724d481328a54d0b93fa53a70b7c00977542a7e5d00884d9 pahole-1_1.26-01-x86_64.pkg.tar.lz
## 364be13bbef7abd7a440152bee1b047a32b5b240e5ddff9068349c4980dce380 ostra-cg-1_1.26-01-x86_64.pkg.tar.lz