aboutsummaryrefslogtreecommitdiffstats
path: root/community/bcc/APKBUILD
blob: 7f9863eab8497a74fbb87d04e3f916de71372869 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Maintainer: Adam Jensen <acjensen@gmail.com>
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"