# Template file for 'bcc'
pkgname=bcc
version=0.21.0
revision=1
wrksrc="bcc"
build_style=cmake
configure_args="-DREVISION=${version}"
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 <leah@vuxu.org>"
license="Apache-2.0"
homepage="https://github.com/iovisor/bcc"
distfiles="https://github.com/iovisor/bcc/releases/download/v${version}/bcc-src-with-submodule.tar.gz"
checksum=93edc925675262aa509f5eaf146f2fc7dfa3e01d1b0336a5de01ee6d72fa493b
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/<error.h>/<errno.h>/' examples/cpp/KModRetExample.cc
}
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*"
	}
}