blob: 24fc815732475d967ddaacfd3d5689df86c29091 (
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
79
80
81
82
|
# Maintainer: Adam Jensen <acjensen@gmail.com>
pkgname=bcc
pkgver=0.17.0
pkgrel=0
pkgdesc="A toolkit for creating efficient kernel tracing and manipulation programs"
url="https://github.com/iovisor/bcc/"
arch="all !s390x !mips !mips64" # build fails
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=10
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"
source="$pkgname-$pkgver.tar.gz::https://github.com/iovisor/bcc/releases/download/v$pkgver/bcc-src-with-submodule.tar.gz"
builddir="$srcdir/$pkgname"
case "$CARCH" in
ppc64le) ;;
*) makedepends="$makedepends luajit-dev"
subpackages="$subpackages $pkgname-lua:_lua"
;;
esac
prepare() {
rm -rf tests/* && touch tests/CMakeLists.txt
rm -rf examples/* && touch examples/CMakeLists.txt
default_prepare
}
build() {
mkdir build && cd 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
find "$subpkgdir"/usr/share/bcc/tools -type f -exec \
sed -ie "s/^#!\/usr\/bin\/python$/#!\/usr\/bin\/python3/" \{\} \;
}
_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="5e10e8404f4d0615cd0d57077a2c095ff6837b157edf627e738f0229e2b59a1c3e0c8ea0226b4560929b2fed6532f3ff4037a805fd13c36394ac3166b7423ca0 bcc-0.17.0.tar.gz"
|