# Template file for 'bcc' pkgname=bcc version=0.21.0 revision=4 wrksrc="bcc" build_style=cmake configure_args="-DREVISION=${version} -DENABLE_LLVM_SHARED=1" hostmakedepends="flex python3" makedepends="clang clang-tools-extra elfutils-devel flex lld-devel llvm ncurses-devel python3-devel zlib-devel" short_desc="BPF-based Linux IO analysis, networking, monitoring, and more" maintainer="Leah Neukirchen " license="Apache-2.0" homepage="https://github.com/iovisor/bcc" # use a newer libbpf to fix compile issues on various targets # you should be able to drop this for the next update distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-with-submodule.tar.gz>bcc-${version}.tar.gz https://github.com/libbpf/libbpf/archive/506a544834573905ada61da8e00f54b04f0caf43.tar.gz" checksum="5323e2a505f6868976d973a234202332ec25dc36f0bf7c118c23fc24f6147215 e1db8edc20997270a7d7c4d6e5d881abb941828601f113866ebb4073168c1f87" python_version="3" if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" fi post_extract() { sed -i '/tests/d' CMakeLists.txt # break on musl sed -i 's///' examples/cpp/KModRetExample.cc # use a newer libbpf with fixes rm -rf src/cc/libbpf mv ../libbpf* src/cc/libbpf } bcc-tools_package() { short_desc+=" - tools" depends="python3-bcc>=${version}_${revision}" case "$XBPS_TARGET_MACHINE" in # only add linux-headers for archs it's currently built for i686*|x86_64*|ppc*|aarch64*) depends+=" linux-headers";; esac pkg_install() { vmove usr/share/bcc/man/man8 mv ${PKGDESTDIR}/usr/share/bcc/man ${PKGDESTDIR}/usr/share/man gunzip ${PKGDESTDIR}/usr/share/man/*/*.gz vmkdir usr/share/doc vmove usr/share/bcc/tools mv ${PKGDESTDIR}/usr/share/bcc/tools/doc ${PKGDESTDIR}/usr/share/doc/bcc-tools mv ${PKGDESTDIR}/usr/share/bcc/tools ${PKGDESTDIR}/usr/bin rm -rf ${PKGDESTDIR}/usr/bin/old mv ${PKGDESTDIR}/usr/bin/lib/* ${PKGDESTDIR}/usr/bin rm -rf ${PKGDESTDIR}/usr/bin/lib rm -f ${PKGDESTDIR}/usr/bin/*.c vmove usr/share/bcc/introspection vbin ${PKGDESTDIR}/usr/share/bcc/introspection/bps rm -rf ${PKGDESTDIR}/usr/share/bcc/introspection mv ${PKGDESTDIR}/usr/bin/trace ${PKGDESTDIR}/usr/bin/trace-bcc mv ${PKGDESTDIR}/usr/share/man/man8/trace.8 ${PKGDESTDIR}/usr/share/man/man8/trace-bcc.8 } } bcc-devel_package() { short_desc+=" - development files" depends="${sourcepkg}>=${version}_${revision}" pkg_install() { vmove usr/include vmove usr/lib/*.so vmove usr/lib/pkgconfig vmove usr/share/bcc/examples } } python3-bcc_package() { lib32disabled=yes depends="python3" short_desc+=" - Python 3 module" depends="${sourcepkg}>=${version}_${revision}" pkg_install() { vmove "usr/lib/python*" } }