# Maintainer: Adam Jensen pkgname=bcc pkgver=0.12.0 pkgrel=0 pkgdesc="A toolkit for creating efficient kernel tracing and manipulation programs" url="https://github.com/iovisor/bcc/" arch="aarch64 x86 x86_64" license="Apache-2.0" # bcc's test suite requires privileged access to run BPF programs options="!check" subpackages="$pkgname-static $pkgname-dev $pkgname-doc:_doc $pkgname-tools:_tools $pkgname-lua:_lua py3-$pkgname:_py:noarch" _llvmver=9 makedepends="tar git llvm$_llvmver-dev llvm$_llvmver-static clang-dev clang-static cmake python3 flex-dev bison luajit-dev build-base iperf linux-headers elfutils-dev zlib-dev libbpf-dev" source="$pkgname-$pkgver.tar.gz::https://github.com/iovisor/bcc/archive/v$pkgver.tar.gz 10-use-system-libbpf.patch 20-install-static.patch" prepare() { rm -rf tests/* && touch tests/CMakeLists.txt rm -rf examples/* && touch examples/CMakeLists.txt default_prepare } build() { mkdir -p "$builddir/build" cd "$builddir/build" cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_LIBDIR=/usr/lib \ -DPYTHON_CMD=python3 \ -DREVISION=$pkgver \ .. make } package() { cd "$builddir/build" make install DESTDIR="$pkgdir" } _doc() { pkgdesc="$pkgdesc (documentation)" mkdir -p "$subpkgdir"/usr/share/bcc/tools mv "$pkgdir"/usr/share/bcc/man "$subpkgdir"/usr/share/bcc mv "$pkgdir"/usr/share/bcc/tools/doc "$subpkgdir"/usr/share/bcc/tools } _tools() { depends="$pkgname py3-$pkgname" pkgdesc="$pkgdesc (tools)" mkdir -p "$subpkgdir"/usr/share/bcc mv "$pkgdir"/usr/share/bcc/tools "$subpkgdir"/usr/share/bcc mv "$pkgdir"/usr/share/bcc/introspection "$subpkgdir"/usr/share/bcc } _py() { depends="$pkgname python3" pkgdesc="$pkgdesc (python3 bindings)" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib } _lua() { depends="$pkgname" pkgdesc="$pkgdesc (lua bindings)" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/bcc-lua "$subpkgdir"/usr/bin } sha512sums="db3ea929b1296f4d9d82d2a11e89e11a1c31512d3f7f935475a7613e0128a5cf9441f3138969535ef41de0c0f677c7446f62f1c64575d41a9896e5339f3f112b bcc-0.12.0.tar.gz caffeea956f6d4b83f63a321eee17c2a12987c99b3c65444fdfeb15e0f6c8927e865358ed2db6bd6736757df007c4c11bd06a5c174884d1542b7ee38b0496b49 10-use-system-libbpf.patch c84d08f31fceb9af9c4bfeb0056b2f20c385b8eb44aafa1ab40049586e3b71d38882ca236e9f3fff5a9eebae9c570f56c73cc87966659e71743a5a38a30de388 20-install-static.patch"