summaryrefslogtreecommitdiff
path: root/dev-debug
diff options
context:
space:
mode:
Diffstat (limited to 'dev-debug')
-rw-r--r--dev-debug/bpftrace/Manifest10
-rw-r--r--dev-debug/bpftrace/bpftrace-0.22.1.ebuild103
-rw-r--r--dev-debug/bpftrace/bpftrace-0.23.2.ebuild110
-rw-r--r--dev-debug/bpftrace/bpftrace-0.23.4.ebuild110
-rw-r--r--dev-debug/bpftrace/bpftrace-0.23.5.ebuild110
-rw-r--r--dev-debug/bpftrace/bpftrace-0.24.2.ebuild159
-rw-r--r--dev-debug/bpftrace/bpftrace-9999.ebuild160
-rw-r--r--dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch37
-rw-r--r--dev-debug/bpftrace/metadata.xml1
9 files changed, 321 insertions, 479 deletions
diff --git a/dev-debug/bpftrace/Manifest b/dev-debug/bpftrace/Manifest
index ca84831519ac..abe1f0ce2973 100644
--- a/dev-debug/bpftrace/Manifest
+++ b/dev-debug/bpftrace/Manifest
@@ -1,10 +1,4 @@
-DIST bpftrace-0.22.1-man.gh.tar.xz 76024 BLAKE2B 8e3764b38b62dac271a941fd224155b72eb32872415734d734e36a77f709ea190639d009280f5bc671ba527981b1a735dd511ad9cb3e3e83869b74303df5b684 SHA512 165486401e985edbffd2c424093c067c5ef2930faadaead6ca26e090650724ea501494de7a6f6e4f55869dafc18ea0b0f3ecb8f434b299beee400a022f21dd31
-DIST bpftrace-0.22.1.gh.tar.gz 1125892 BLAKE2B e694f3da7947458ffc1db755e18dfd6be7664fae5573c04cddbc8db802391e834f241827f2be93a981055b26fb13128f88878d1aa17f50420227c7e8b93bd59d SHA512 3bf00f97750092e66bd94b20b3889f29e932f45ae7f75966f1f364013fb9aeaad837617c0a28402fd9323d62773dd3dab0e9749d8dcb9da9c77093f17fce4d91
-DIST bpftrace-0.23.2-man.tar.xz 76032 BLAKE2B 867f3936872f6acc6ea4d9f804db29f0391600ebf6cf186427ebf78d21bf3cb22c920910e99cae4dae06284ab2dfe4888f009dba3832d969eff310b144a7bdbd SHA512 21618664c144eb6d71f714db1561cddadf3e9c8f34aa4b7fd4e3b81fd6d9628a3f129e58e9aa3c0c3f930ea05a7f9075b53b53e3f00292389c96c02ddd888779
-DIST bpftrace-0.23.2.tar.gz 1171069 BLAKE2B 5df0cb8369f1ab66fbdabc0c221403d9d71a788daa6d6f987d4df5fa7390e55933d1452fdd0fde923ee5570f5a89102abcffc2d626a5e9e0f4dcbc33c0dec636 SHA512 80d7b91c3f80efcc69bea57a254fec2727050cbd39fce12786f796289f1fed92b7d9be91d5e9f5b348709f41cf3cffdf73d2321fbba2e54ff90648ecd8aab85e
-DIST bpftrace-0.23.4-man.tar.xz 76016 BLAKE2B 7684ebb1ad2fb65ef46cf333076c8f0661071148521312950c9f3a0c47be94b544dbf3df84f8dcb26955e47a3d48c4b61242ba90607d0ce45925e0e0c62419f9 SHA512 c6c972736fa8b1f05844898ba6e6b485e83065c28e74bba119269fc6a43e2c980f9f401bfde2b0f6c290aedd406fa4617c94b3ace4fa45684c8809b240e97c12
-DIST bpftrace-0.23.4.tar.gz 1172545 BLAKE2B a46ecd32da226b8b74f80703e5fb813d3dff67a48bc623e7cddab41e0147856e238e4976970acb27836285a633e636cdb0ac8137bd4360d2d3ffceb89b08ea27 SHA512 a3450319d6b03338a5663c0ca676b2cb00fa126ad8d8d5e3c8ee12e92b34659a715cf1b4e631310a375aa6645ca38770adc5fb15e48f9ebca877024d3dc1eb46
-DIST bpftrace-0.23.5-man.tar.xz 76020 BLAKE2B aa6023a1c9f3e2b3f42b8d7ac78f3bc891dad3f2db00ad53ec03068a37236b43d418b0bc02f6e0ad777ec57349db940689494f0addf63efefad5c35dfeb60b79 SHA512 48d02cc1163daaa428cb11e24e94292a5a7d9b3bd07d838baf8fdc978d14c4b10487765a48cabcb24a1e0db4e76b6105998d9744a4379729599b41062ef82363
-DIST bpftrace-0.23.5.tar.gz 1172407 BLAKE2B b5e9cff1dee01cc33f150cccf28ee4b1d671cf16b92854a7debac97e0378cef28f31e5093f840978667a1da6f5686e7ca10feb1e152b053155b68ec44c3d58c3 SHA512 1e040bce7636da4e2ebeffc1c8fc3944feb26ef2c371ff287b323123ef89b839fbaa492a61e8164efedc7579e73aebc489f168ecad903f3cac6144d8bbc4b6f1
DIST bpftrace-0.24.1-man.tar.xz 43808 BLAKE2B f5d49b29e300e37444d134b8e9530c17294dfd47aaf7810bfaaf411cc9795a57450a64de6e8d4803e71d236523b81dff285868aa3b63b30d883507a12c1ec93c SHA512 a9618aa2cb3013448cb0af20a807238dc3e0cd0e6fa3f867bc7156ecb274782b81d87c14315430d939c9eac8ec65f8d6a3f9671cd49bf52b37c576cd56c11064
DIST bpftrace-0.24.1.tar.gz 1522448 BLAKE2B 840220497bb4312391231e5471c1f8fa36151a4b5993e6cd67287967054c0b03f882e8da1e64e628f58f04d795c1f70b4877ef5cb1ff12819253303ffb2459b9 SHA512 97ce3d909c6d6fe021afc6db4ea67dd70fa85502358ee89314d8cf58cb8727ce091bbbdf23f73d9eaadae59d8244d76530dda89993b499deebe7f90edd21cda7
+DIST bpftrace-0.24.2-man.tar.xz 43820 BLAKE2B b0964633f4c1a462874f20934c286c321307a4abf79ebebaf085396e545a119f39f46f35b597921a61a5707a6cad5b368788ca8db682dee0eb916fc8a65b5520 SHA512 5a64c875400ede0050ee13f00351e06f72aeb8d8ce0db6933ac9c9f93023388218dd5fd62db7fd24370ddadbe390c6efa71692afd2e55b7f5755e4816f4832eb
+DIST bpftrace-0.24.2.tar.gz 1375106 BLAKE2B c397eb7ded3a72ea0805487db66f422bda9a0a743b1757056dc1bc70119e2d4fa7e69577a7e295143ce2b9789c62c4469b995ac0dca228c464efb3db8da25eeb SHA512 d9ff773ce39b578877d5e73a48434d3654b46985bb4b9ad458fbf622718049da5075b3a2d2e6d1ae0a9effbdb74658822b4c4535bca384fbd6e539fdec393f4b
diff --git a/dev-debug/bpftrace/bpftrace-0.22.1.ebuild b/dev-debug/bpftrace/bpftrace-0.22.1.ebuild
deleted file mode 100644
index 364e3d7a7f8b..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.22.1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..19} )
-
-inherit cmake linux-info llvm-r1
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/bpftrace/bpftrace"
-MY_PV="${PV//_/}"
-# the man page version may trail the release
-#MAN_V="0.22.0"
-SRC_URI="
- https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/bpftrace/${PN}/releases/download/v${MAN_V:-${PV}}/man.tar.xz -> ${PN}-${MAN_V:-${PV}}-man.gh.tar.xz
-"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="lldb pcap test systemd"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/libbpf-1.5:=
- >=dev-util/bcc-0.25.0:=
- $(llvm_gen_dep '
- lldb? ( =llvm-core/lldb-${LLVM_SLOT}* )
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
- ')
- sys-process/procps
- sys-libs/binutils-libs:=
- virtual/libelf:=
- systemd? ( sys-apps/systemd:= )
- pcap? ( net-libs/libpcap:= )
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/cereal:=
- test? ( dev-cpp/gtest )
-"
-BDEPEND="
- app-arch/xz-utils
- app-alternatives/lex
- app-alternatives/yacc
- test? (
- || ( dev-util/xxd app-editors/vim-core )
- dev-util/pahole
- )
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.21.0-dont-compress-man.patch"
- "${FILESDIR}/bpftrace-0.21.3-odr.patch"
-)
-
-pkg_pretend() {
- local CONFIG_CHECK="
- ~BPF
- ~BPF_EVENTS
- ~BPF_JIT
- ~BPF_SYSCALL
- ~FTRACE_SYSCALLS
- ~HAVE_EBPF_JIT
- "
-
- check_extra_config
-}
-
-src_configure() {
- local mycmakeargs=(
- # prevent automagic lldb use
- $(cmake_use_find_package lldb LLDB)
- # DO NOT build the internal libs as shared
- -DBUILD_SHARED_LIBS=OFF
- # DO dynamically link the bpftrace executable
- -DSTATIC_LINKING:BOOL=OFF
- # bug 809362, 754648
- -DBUILD_TESTING:BOOL=$(usex test)
- -DBUILD_FUZZ:BOOL=OFF
- -DENABLE_MAN:BOOL=OFF
- -DENABLE_SYSTEMD:BOOL=$(usex systemd)
- -DENABLE_SKB_OUTPUT:BOOL=$(usex pcap)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- doman man/man8/*.?
- gunzip "${WORKDIR}/man/man8/bpftrace.8.gz" || die
- doman "${WORKDIR}/man/man8/bpftrace.8"
-}
diff --git a/dev-debug/bpftrace/bpftrace-0.23.2.ebuild b/dev-debug/bpftrace/bpftrace-0.23.2.ebuild
deleted file mode 100644
index 441c7b77d5a7..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.23.2.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..20} )
-
-inherit cmake linux-info llvm-r1
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/bpftrace/bpftrace"
-MY_PV="${PV//_/}"
-# the man page version may trail the release
-#MAN_V="0.22.0"
-SRC_URI="
- https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- https://github.com/bpftrace/${PN}/releases/download/v${MAN_V:-${PV}}/man.tar.xz -> ${PN}-${MAN_V:-${PV}}-man.tar.xz
-"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-KEYWORDS="~amd64 ~arm64"
-IUSE="pcap test systemd"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/blazesym_c-0.1.1
- >=dev-libs/libbpf-1.5:=
- >=dev-util/bcc-0.25.0:=
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
- ')
- sys-process/procps
- sys-libs/binutils-libs:=
- virtual/libelf:=
- systemd? ( sys-apps/systemd:= )
- pcap? ( net-libs/libpcap:= )
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/cereal:=
- test? ( dev-cpp/gtest )
-"
-BDEPEND="
- app-arch/xz-utils
- app-alternatives/lex
- app-alternatives/yacc
- dev-libs/cereal
- test? (
- || ( dev-util/xxd app-editors/vim-core )
- dev-util/pahole
- )
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.21.0-dont-compress-man.patch"
-)
-
-pkg_pretend() {
- local CONFIG_CHECK="
- ~BPF
- ~BPF_EVENTS
- ~BPF_JIT
- ~BPF_SYSCALL
- ~FTRACE_SYSCALLS
- ~HAVE_EBPF_JIT
- "
-
- check_extra_config
-}
-
-src_prepare() {
- # 0.23 still has LLDB support, but apparently it's problematic,
- # deprecated and already gone on master.
- # Remove the configuration check.
- sed -i "/find_package(LLDB)/d" CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- # DO NOT build the internal libs as shared
- -DBUILD_SHARED_LIBS=OFF
- # DO dynamically link the bpftrace executable
- -DSTATIC_LINKING:BOOL=OFF
- # bug 809362, 754648
- -DBUILD_TESTING:BOOL=$(usex test)
- -DBUILD_FUZZ:BOOL=OFF
- -DENABLE_MAN:BOOL=OFF
- -DENABLE_SYSTEMD:BOOL=$(usex systemd)
- -DENABLE_SKB_OUTPUT:BOOL=$(usex pcap)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- doman man/man8/*.?
- gunzip "${WORKDIR}/man/man8/bpftrace.8.gz" || die
- doman "${WORKDIR}/man/man8/bpftrace.8"
-}
diff --git a/dev-debug/bpftrace/bpftrace-0.23.4.ebuild b/dev-debug/bpftrace/bpftrace-0.23.4.ebuild
deleted file mode 100644
index 39dc14af6f13..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.23.4.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..20} )
-
-inherit cmake linux-info llvm-r1
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/bpftrace/bpftrace"
-MY_PV="${PV//_/}"
-# the man page version may trail the release
-#MAN_V="0.22.0"
-SRC_URI="
- https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- https://github.com/bpftrace/${PN}/releases/download/v${MAN_V:-${PV}}/man.tar.xz -> ${PN}-${MAN_V:-${PV}}-man.tar.xz
-"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-KEYWORDS="amd64 ~arm64"
-IUSE="pcap test systemd"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/blazesym_c-0.1.1
- >=dev-libs/libbpf-1.5:=
- >=dev-util/bcc-0.25.0:=
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
- ')
- sys-process/procps
- sys-libs/binutils-libs:=
- virtual/libelf:=
- systemd? ( sys-apps/systemd:= )
- pcap? ( net-libs/libpcap:= )
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/cereal:=
- test? ( dev-cpp/gtest )
-"
-BDEPEND="
- app-arch/xz-utils
- app-alternatives/lex
- app-alternatives/yacc
- dev-libs/cereal
- test? (
- || ( dev-util/xxd app-editors/vim-core )
- dev-util/pahole
- )
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.21.0-dont-compress-man.patch"
-)
-
-pkg_pretend() {
- local CONFIG_CHECK="
- ~BPF
- ~BPF_EVENTS
- ~BPF_JIT
- ~BPF_SYSCALL
- ~FTRACE_SYSCALLS
- ~HAVE_EBPF_JIT
- "
-
- check_extra_config
-}
-
-src_prepare() {
- # 0.23 still has LLDB support, but apparently it's problematic,
- # deprecated and already gone on master.
- # Remove the configuration check.
- sed -i "/find_package(LLDB)/d" CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- # DO NOT build the internal libs as shared
- -DBUILD_SHARED_LIBS=OFF
- # DO dynamically link the bpftrace executable
- -DSTATIC_LINKING:BOOL=OFF
- # bug 809362, 754648
- -DBUILD_TESTING:BOOL=$(usex test)
- -DBUILD_FUZZ:BOOL=OFF
- -DENABLE_MAN:BOOL=OFF
- -DENABLE_SYSTEMD:BOOL=$(usex systemd)
- -DENABLE_SKB_OUTPUT:BOOL=$(usex pcap)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- doman man/man8/*.?
- gunzip "${WORKDIR}/man/man8/bpftrace.8.gz" || die
- doman "${WORKDIR}/man/man8/bpftrace.8"
-}
diff --git a/dev-debug/bpftrace/bpftrace-0.23.5.ebuild b/dev-debug/bpftrace/bpftrace-0.23.5.ebuild
deleted file mode 100644
index 441c7b77d5a7..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.23.5.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {16..20} )
-
-inherit cmake linux-info llvm-r1
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/bpftrace/bpftrace"
-MY_PV="${PV//_/}"
-# the man page version may trail the release
-#MAN_V="0.22.0"
-SRC_URI="
- https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- https://github.com/bpftrace/${PN}/releases/download/v${MAN_V:-${PV}}/man.tar.xz -> ${PN}-${MAN_V:-${PV}}-man.tar.xz
-"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-KEYWORDS="~amd64 ~arm64"
-IUSE="pcap test systemd"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/blazesym_c-0.1.1
- >=dev-libs/libbpf-1.5:=
- >=dev-util/bcc-0.25.0:=
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}=
- llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
- ')
- sys-process/procps
- sys-libs/binutils-libs:=
- virtual/libelf:=
- systemd? ( sys-apps/systemd:= )
- pcap? ( net-libs/libpcap:= )
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/cereal:=
- test? ( dev-cpp/gtest )
-"
-BDEPEND="
- app-arch/xz-utils
- app-alternatives/lex
- app-alternatives/yacc
- dev-libs/cereal
- test? (
- || ( dev-util/xxd app-editors/vim-core )
- dev-util/pahole
- )
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.21.0-dont-compress-man.patch"
-)
-
-pkg_pretend() {
- local CONFIG_CHECK="
- ~BPF
- ~BPF_EVENTS
- ~BPF_JIT
- ~BPF_SYSCALL
- ~FTRACE_SYSCALLS
- ~HAVE_EBPF_JIT
- "
-
- check_extra_config
-}
-
-src_prepare() {
- # 0.23 still has LLDB support, but apparently it's problematic,
- # deprecated and already gone on master.
- # Remove the configuration check.
- sed -i "/find_package(LLDB)/d" CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- # DO NOT build the internal libs as shared
- -DBUILD_SHARED_LIBS=OFF
- # DO dynamically link the bpftrace executable
- -DSTATIC_LINKING:BOOL=OFF
- # bug 809362, 754648
- -DBUILD_TESTING:BOOL=$(usex test)
- -DBUILD_FUZZ:BOOL=OFF
- -DENABLE_MAN:BOOL=OFF
- -DENABLE_SYSTEMD:BOOL=$(usex systemd)
- -DENABLE_SKB_OUTPUT:BOOL=$(usex pcap)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- doman man/man8/*.?
- gunzip "${WORKDIR}/man/man8/bpftrace.8.gz" || die
- doman "${WORKDIR}/man/man8/bpftrace.8"
-}
diff --git a/dev-debug/bpftrace/bpftrace-0.24.2.ebuild b/dev-debug/bpftrace/bpftrace-0.24.2.ebuild
new file mode 100644
index 000000000000..7bb505c72208
--- /dev/null
+++ b/dev-debug/bpftrace/bpftrace-0.24.2.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2019-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..21} )
+RUST_MIN_VER="1.85.1"
+RUST_OPTIONAL=1
+
+inherit cmake flag-o-matic linux-info llvm-r1 rust
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/bpftrace/bpftrace"
+MY_PV="${PV//_/}"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/bpftrace/bpftrace"
+ EGIT_BRANCH="release/0.24.x"
+ inherit git-r3
+ # use a released man page for git
+ MAN_V="0.24.2"
+else
+ SRC_URI="https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+ # the man page version may trail the release
+ #MAN_V="0.24.2"
+fi
+
+SRC_URI+=" https://github.com/bpftrace/${PN}/releases/download/v${MAN_V:-${PV}}/man.tar.xz -> ${PN}-${MAN_V:-${PV}}-man.tar.xz"
+
+S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+IUSE="pcap systemd test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/blazesym_c-0.1.1
+ >=dev-libs/libbpf-1.5:=
+ >=dev-util/bcc-0.25.0
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}=
+ llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
+ ')
+ sys-libs/binutils-libs:=
+ virtual/libelf:=
+ systemd? ( sys-apps/systemd:= )
+ pcap? ( net-libs/libpcap:= )
+ virtual/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/cereal:=
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ app-arch/xz-utils
+ app-alternatives/lex
+ app-alternatives/yacc
+ dev-libs/cereal
+ dev-util/bpftool
+ || ( dev-util/xxd app-editors/vim-core )
+ test? (
+ ${RUST_DEPEND}
+ dev-lang/go
+ dev-util/pahole
+ )
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
+ "${FILESDIR}/bpftrace-0.21.0-dont-compress-man.patch"
+ "${FILESDIR}/bpftrace-0.24.1-enable-ubsan.patch"
+)
+
+pkg_pretend() {
+ local CONFIG_CHECK="
+ ~BPF
+ ~BPF_EVENTS
+ ~BPF_JIT
+ ~BPF_SYSCALL
+ ~DEBUG_INFO_BTF
+ ~DEBUG_INFO_BTF_MODULES
+ ~FTRACE_SYSCALLS
+ ~HAVE_EBPF_JIT
+ "
+
+ check_extra_config
+
+ if use test; then
+ if ! linux_config_exists ; then
+ die "Unable to check your kernel for BTF support: tests cannot run."
+ elif ! linux_chkconfig_present DEBUG_INFO_BTF ; then
+ die "CONFIG_DEBUG_INFO_BTF is not set: tests cannot run."
+ fi
+ fi
+}
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ use test && rust_pkg_setup
+}
+
+# git-r3 overrides automatic SRC_URI unpacking
+src_unpack() {
+ default
+
+ if [[ ${PV} == *9999* ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ # create a usable version from git
+ if [[ ${PV} == *9999* ]] ; then
+ local rev=$(git branch --show-current | sed -e 's/* //g' -e 's/release\///g')-$(git rev-parse --short HEAD)
+ sed -i "/configure_file/i set (BPFTRACE_VERSION \"${rev}\")" cmake/Version.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # suppress one remaining and benign ODR violation warning due to
+ # a generated libbpf header used by the tests, see:
+ # https://github.com/bpftrace/bpftrace/issues/4591
+ use test && append-flags -Wno-odr
+
+ local mycmakeargs=(
+ # DO dynamically link the bpftrace executable
+ -DSTATIC_LINKING=OFF
+ # DO NOT build the internal libs as shared
+ -DBUILD_SHARED_LIBS=OFF
+ -DBUILD_TESTING=$(usex test)
+ # we use the pregenerated man page
+ -DENABLE_MAN=OFF
+ -DENABLE_SKB_OUTPUT=$(usex pcap)
+ -DENABLE_SYSTEMD=$(usex systemd)
+ )
+
+ # enable UBSAN only when enabled in the toolchain
+ if is-flagq -fsanitize=undefined; then
+ filter-flags -fsanitize=undefined
+ mycmakeargs+=( -DBUILD_UBSAN=ON )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ doman man/man8/*.?
+ gunzip "${WORKDIR}/man/man8/bpftrace.8.gz" || die
+ doman "${WORKDIR}/man/man8/bpftrace.8"
+}
diff --git a/dev-debug/bpftrace/bpftrace-9999.ebuild b/dev-debug/bpftrace/bpftrace-9999.ebuild
new file mode 100644
index 000000000000..3e70045126a2
--- /dev/null
+++ b/dev-debug/bpftrace/bpftrace-9999.ebuild
@@ -0,0 +1,160 @@
+# Copyright 2019-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..21} )
+RUST_MIN_VER="1.85.1"
+RUST_OPTIONAL=1
+
+inherit cmake flag-o-matic linux-info llvm-r1 rust
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/bpftrace/bpftrace"
+MY_PV="${PV//_/}"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/bpftrace/bpftrace"
+ EGIT_BRANCH="master"
+ inherit git-r3
+ # use a released man page for git
+ MAN_V="0.24.2"
+else
+ SRC_URI="https://github.com/bpftrace/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64"
+ # the man page version may trail the release
+ #MAN_V="0.24.2"
+fi
+
+SRC_URI+=" https://github.com/bpftrace/${PN}/releases/download/v${MAN_V:-${PV}}/man.tar.xz -> ${PN}-${MAN_V:-${PV}}-man.tar.xz"
+
+S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+IUSE="pcap systemd test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/blazesym_c-0.1.1
+ >=dev-libs/libbpf-1.6:=[static-libs]
+ >=dev-util/bcc-0.25.0
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}=
+ llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
+ ')
+ sys-libs/binutils-libs:=
+ virtual/libelf:=
+ systemd? ( sys-apps/systemd:= )
+ pcap? ( net-libs/libpcap:= )
+ virtual/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/cereal:=
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ app-arch/xz-utils
+ app-alternatives/lex
+ app-alternatives/yacc
+ dev-libs/cereal
+ dev-util/bpftool
+ || ( dev-util/xxd app-editors/vim-core )
+ test? (
+ ${RUST_DEPEND}
+ dev-lang/go
+ dev-util/pahole
+ )
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
+ "${FILESDIR}/bpftrace-0.21.0-dont-compress-man.patch"
+)
+
+pkg_pretend() {
+ local CONFIG_CHECK="
+ ~BPF
+ ~BPF_EVENTS
+ ~BPF_JIT
+ ~BPF_SYSCALL
+ ~DEBUG_INFO_BTF
+ ~DEBUG_INFO_BTF_MODULES
+ ~FTRACE_SYSCALLS
+ ~HAVE_EBPF_JIT
+ "
+
+ check_extra_config
+
+ if use test; then
+ if ! linux_config_exists ; then
+ die "Unable to check your kernel for BTF support: tests cannot run."
+ elif ! linux_chkconfig_present DEBUG_INFO_BTF ; then
+ die "CONFIG_DEBUG_INFO_BTF is not set: tests cannot run."
+ fi
+ fi
+}
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ use test && rust_pkg_setup
+}
+
+# git-r3 overrides automatic SRC_URI unpacking
+src_unpack() {
+ default
+
+ if [[ ${PV} == *9999* ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ # create a usable version from git
+ if [[ ${PV} == *9999* ]] ; then
+ local rev=$(git branch --show-current | sed -e 's/* //g' -e 's/release\///g')-$(git rev-parse --short HEAD)
+ sed -i "/configure_file/i set (BPFTRACE_VERSION \"${rev}\")" cmake/Version.cmake || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # suppress one remaining and benign ODR violation warning due to
+ # a generated libbpf header used by the tests, see:
+ # https://github.com/bpftrace/bpftrace/issues/4591
+ use test && append-flags -Wno-odr
+
+ local mycmakeargs=(
+ # DO dynamically link the bpftrace executable
+ -DSTATIC_LINKING=OFF
+ # DO NOT build the internal libs as shared
+ -DBUILD_SHARED_LIBS=OFF
+ -DBUILD_TESTING=$(usex test)
+ # we use the pregenerated man page
+ -DENABLE_MAN=OFF
+ -DENABLE_SKB_OUTPUT=$(usex pcap)
+ -DENABLE_SYSTEMD=$(usex systemd)
+ # always use system libbpf
+ -DUSE_SYSTEM_LIBBPF=ON
+ )
+
+ # enable UBSAN only when enabled in the toolchain
+ if is-flagq -fsanitize=undefined; then
+ filter-flags -fsanitize=undefined
+ mycmakeargs+=( -DBUILD_UBSAN=ON )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ doman man/man8/*.?
+ gunzip "${WORKDIR}/man/man8/bpftrace.8.gz" || die
+ doman "${WORKDIR}/man/man8/bpftrace.8"
+}
diff --git a/dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch b/dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch
deleted file mode 100644
index fb1c8840d7b8..000000000000
--- a/dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-
-Patch from: https://github.com/bpftrace/bpftrace/pull/3648
-
-From 986acde60552af60c0a28aac234c38a7542d2f69 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= <holger@applied-asynchrony.com>
-Date: Tue, 17 Dec 2024 13:27:41 +0100
-Subject: [PATCH] Fix ODR violation warning when compiling with LTO
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-yy_scan_string is declared to return void* due to a lack of a proper
-type definition of struct yy_buffer_state, which is only available in
-lex.yy.cc. Provide a struct forward declaration so that a proper
-return type can be used. This fixes the LTO complaint.
-
-Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
----
- src/driver.cpp | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/driver.cpp b/src/driver.cpp
-index 0cd0267323b8..b1d2f91111cd 100644
---- a/src/driver.cpp
-+++ b/src/driver.cpp
-@@ -5,7 +5,10 @@
- #include "log.h"
- #include "parser.tab.hh"
-
--extern void *yy_scan_string(const char *yy_str, yyscan_t yyscanner);
-+struct yy_buffer_state;
-+
-+extern struct yy_buffer_state *yy_scan_string(const char *yy_str,
-+ yyscan_t yyscanner);
- extern int yylex_init(yyscan_t *scanner);
- extern int yylex_destroy(yyscan_t yyscanner);
- extern bpftrace::location loc;
diff --git a/dev-debug/bpftrace/metadata.xml b/dev-debug/bpftrace/metadata.xml
index 9e59e7b00694..dec6deef0ca1 100644
--- a/dev-debug/bpftrace/metadata.xml
+++ b/dev-debug/bpftrace/metadata.xml
@@ -18,7 +18,6 @@
<name>Proxy Maintainers</name>
</maintainer>
<use>
- <flag name="lldb">Parse debug info using<pkg>llvm-core/lldb</pkg></flag>
<flag name="pcap">Enable skb_output using <pkg>net-libs/libpcap</pkg></flag>
</use>
<upstream>