summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakov Smolić <jsmolic@gentoo.org>2021-11-07 21:58:12 +0100
committerJakov Smolić <jsmolic@gentoo.org>2021-11-07 21:58:37 +0100
commit61947df90f4bdc580a877d075047a6e2077ae280 (patch)
tree2df087c6ff980b96453b6c11da67b0bccb783da0 /dev-util/bpftrace
parentdev-libs/libbpf: drop 0.3 (diff)
downloadgentoo-61947df90f4bdc580a877d075047a6e2077ae280.tar.gz
gentoo-61947df90f4bdc580a877d075047a6e2077ae280.tar.bz2
gentoo-61947df90f4bdc580a877d075047a6e2077ae280.zip
dev-util/bpftrace: Reorganize deps, bump max llvm version
Closes: https://bugs.gentoo.org/820422 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
Diffstat (limited to 'dev-util/bpftrace')
-rw-r--r--dev-util/bpftrace/bpftrace-0.14.0-r3.ebuild91
1 files changed, 91 insertions, 0 deletions
diff --git a/dev-util/bpftrace/bpftrace-0.14.0-r3.ebuild b/dev-util/bpftrace/bpftrace-0.14.0-r3.ebuild
new file mode 100644
index 000000000000..abc8391c68ea
--- /dev/null
+++ b/dev-util/bpftrace/bpftrace-0.14.0-r3.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2019-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs llvm linux-info cmake
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/iovisor/bpftrace"
+
+if [[ ${PV} =~ 9{4,} ]]; then
+ EGIT_REPO_URI="https://github.com/iovisor/${PN}"
+ inherit git-r3
+else
+ MY_PV="${PV//_/}"
+ SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ BDEPEND="app-arch/xz-utils "
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="fuzzing test"
+# lots of fixing needed
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/libbpf:=
+ >=dev-util/bcc-0.13.0:=
+ dev-util/systemtap
+ <=sys-devel/clang-14:=
+ <=sys-devel/llvm-14:=[llvm_targets_BPF(+)]
+ sys-libs/binutils-libs:=
+ virtual/libelf
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/cereal:=
+ test? ( dev-cpp/gtest )
+"
+BDEPEND+="
+ sys-devel/flex
+ sys-devel/bison
+"
+
+S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
+QA_DT_NEEDED="/usr/lib.*/libbpftraceresources.so"
+
+PATCHES=(
+ "${FILESDIR}/bpftrace-0.14.0-install-libs.patch"
+ "${FILESDIR}/bpftrace-0.14.0-dont-compress-man.patch"
+ "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
+ "${FILESDIR}/bpftrace-0.12.0-fuzzing-build.patch"
+)
+
+pkg_pretend() {
+ local CONFIG_CHECK="
+ ~BPF
+ ~BPF_EVENTS
+ ~BPF_JIT
+ ~BPF_SYSCALL
+ ~FTRACE_SYSCALLS
+ ~HAVE_EBPF_JIT
+ "
+
+ check_extra_config
+}
+
+pkg_setup() {
+ LLVM_MAX_SLOT=13 llvm_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DSTATIC_LINKING:BOOL=OFF
+ -DBUILD_TESTING:BOOL=OFF
+ -DBUILD_FUZZ:BOOL=$(usex fuzzing)
+ -DENABLE_MAN:BOOL=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ doman man/man8/*.?
+}