aboutsummaryrefslogtreecommitdiffstats
path: root/community/bcc/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/bcc/APKBUILD')
-rw-r--r--community/bcc/APKBUILD114
1 files changed, 70 insertions, 44 deletions
diff --git a/community/bcc/APKBUILD b/community/bcc/APKBUILD
index b7691b8bc79..45486ba6d14 100644
--- a/community/bcc/APKBUILD
+++ b/community/bcc/APKBUILD
@@ -1,25 +1,43 @@
# Contributor: Adam Jensen <adam@acj.sh>
# Maintainer: Adam Jensen <adam@acj.sh>
pkgname=bcc
-pkgver=0.20.0
+pkgver=0.30.0
pkgrel=1
pkgdesc="A toolkit for creating efficient kernel tracing and manipulation programs"
url="https://github.com/iovisor/bcc/"
-# s390x and mips64 build fails
-arch="all !s390x !mips64"
+arch="all"
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 py3-$pkgname:_py:noarch"
-_llvmver=11
-makedepends="tar git llvm$_llvmver-dev llvm$_llvmver-static clang-dev
- clang-static cmake python3 flex-dev bison 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
-fix-newer-kernel-header-missing-enum.patch"
+_llvmver=17
+makedepends="
+ bison
+ clang$_llvmver-dev
+ cmake
+ elfutils-dev
+ flex-dev
+ iperf
+ libbpf-dev
+ linux-headers
+ llvm$_llvmver-dev
+ llvm$_llvmver-gtest
+ llvm$_llvmver-static
+ py3-setuptools
+ python3
+ samurai
+ zlib-dev
+ libxml2-dev
+ "
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-tools
+ py3-$pkgname-pyc
+ py3-$pkgname:_py:noarch
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/iovisor/bcc/archive/v$pkgver.tar.gz"
case "$CARCH" in
- ppc64le|riscv64) ;;
+ ppc64le | riscv64) ;;
*) makedepends="$makedepends luajit-dev"
subpackages="$subpackages $pkgname-lua:_lua"
;;
@@ -30,58 +48,66 @@ prepare() {
rm -rf examples/* && touch examples/CMakeLists.txt
default_prepare
+
+ sed -i "s|^#!/usr/bin/python$|#!/usr/bin/python3|" \
+ tools/*.py tools/*/*.py
}
build() {
- mkdir build && cd build
- cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ # use libbpf installed uapi headers as we need something
+ # newer than linux-headers provides
+ export CFLAGS="$CFLAGS -I/usr/include/bpf/uapi"
+ export CXXFLAGS="$CXXFLAGS -I/usr/include/bpf/uapi"
+
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
- -DPYTHON_CMD=python3 \
- -DREVISION=$pkgver \
-DCMAKE_USE_LIBBPF_PACKAGE=ON \
- ..
- make
+ -DENABLE_LLVM_SHARED=ON \
+ -DPYTHON_CMD=python3 \
+ -DREVISION="$pkgver"
+ cmake --build build
+}
+
+check() {
+ PYTHONPATH="$builddir/build/src/python/bcc-python3" \
+ LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$builddir/build/src/cc" \
+ python3 -c "import bcc"
}
package() {
- cd "$builddir/build"
- make install DESTDIR="$pkgdir"
+ DESTDIR="$pkgdir" cmake --install build
}
-_doc() {
- pkgdesc="$pkgdesc (documentation)"
+doc() {
+ default_doc
- 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
+ amove usr/share/bcc/man
+ amove usr/share/bcc/tools/doc
}
-_tools() {
- depends="$pkgname py3-$pkgname"
- pkgdesc="$pkgdesc (tools)"
+tools() {
+ pkgdesc="Command line tools for BPF Compiler Collection (BCC)"
+ depends="py3-$pkgname=$pkgver-r$pkgrel"
- 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
- find "$subpkgdir"/usr/share/bcc/tools -type f -exec \
- sed -ie "s/^#!\/usr\/bin\/python$/#!\/usr\/bin\/python3/" \{\} \;
+ amove usr/share/bcc/tools
+ amove usr/share/bcc/introspection
}
_py() {
- depends="$pkgname python3"
- pkgdesc="$pkgdesc (python3 bindings)"
+ pkgdesc="Python3 bindings for BPF Compiler Collection (BCC)"
+ depends="$pkgname=$pkgver-r$pkgrel python3"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib
+ amove usr/lib/python3*
}
_lua() {
- depends="$pkgname"
- pkgdesc="$pkgdesc (lua bindings)"
+ pkgdesc="Standalone tool to run BCC tracers written in Lua"
+ depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/bcc-lua "$subpkgdir"/usr/bin
+ amove usr/bin/bcc-lua
}
-sha512sums="fa7c50a4fc64846ad798b6652101aa414cda53d08779cf48bd505191189cb23da2838f7511e700d59e086d35216f4e3bc9867b614738061630984dff3c4576dc bcc-0.20.0.tar.gz
-c1c6a7e63e90f076124568f7dd7e84be8db802bee9696ecefe9be3db753e03df8851dd25c5349db3a0b6f7eefec2d5f93190f8cd9b1c5da388affaf65ec3e03f fix-newer-kernel-header-missing-enum.patch"
+sha512sums="
+70478ca8c18e7f106c462513ca9af46f49b4ebcca6380a9393208fca88f83895a7396f918bf5d01dce1bc4a876bccb9b95aa56d426e55d384cf11c9baaa6a89b bcc-0.30.0.tar.gz
+"