commit:     ff14aaada5967ae3479093287cb48b2b0cbe5725
Author:     Holger Hoffstätte <holger <AT> applied-asynchrony <DOT> com>
AuthorDate: Wed Mar 26 18:50:25 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 11:48:08 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff14aaad

dev-debug/bpftrace: add 0.23.0

This release preemptively drops support for USE=lldb, which has been
removed upstream. It also adopts blazesym for address symbolization
and adds support for LLVM-20.

Closes: https://bugs.gentoo.org/952001
Signed-off-by: Holger Hoffstätte <holger <AT> applied-asynchrony.com>
Closes: https://github.com/gentoo/gentoo/pull/41312
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-debug/bpftrace/Manifest               |   2 +
 dev-debug/bpftrace/bpftrace-0.23.0.ebuild | 109 ++++++++++++++++++++++++++++++
 2 files changed, 111 insertions(+)

diff --git a/dev-debug/bpftrace/Manifest b/dev-debug/bpftrace/Manifest
index 05f6fece327d..b81910693b11 100644
--- a/dev-debug/bpftrace/Manifest
+++ b/dev-debug/bpftrace/Manifest
@@ -6,3 +6,5 @@ DIST bpftrace-0.22.0-man.gh.tar.xz 76028 BLAKE2B 
ac061b0b380aada39d4cddf442daf1c
 DIST bpftrace-0.22.0.gh.tar.gz 1125284 BLAKE2B 
03e15555e405b2367e96553d975405ab5c25db28aa1685fb05cecd101995ee7b90801baee4a58c462093293c239b8e76dbd0e7a0abbe714a3fa123d30021264e
 SHA512 
fd566191c0d1e2e7e9ebf08c9b983a6db41ab230e2a99bc14b1af5afe2ace3172f8d60bd158d288ac52a254158f8535cd2296d36107d8f2b7149b6045f8f2984
 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.0-man.tar.xz 76040 BLAKE2B 
040ae555d2e934571d5f05d55947b0a57fce41cb59e9f936430218a7b6bf0319a2b7d09b78ec68d2f3078b77d5434c11235a181833be9057943c2536993ae4bd
 SHA512 
397e697bfdbd4163bc500373adf0f61cd9c30cb41336bfdf24eb846bbc86ae0aabb265719e6fcb2d0261e52d75eacd8b7b08d91f5e616e1d5a6ef2a3829a9f1b
+DIST bpftrace-0.23.0.tar.gz 1170815 BLAKE2B 
4f30e2db142c2e0684ca1a69d8d2ab30fbf47171971d08bdc48a6d21d2536e6a732391231c6e4d1ce9bf473f89ebc54e796d828d6e1a29c276d539170723e934
 SHA512 
822cd0a86729e32691705d1a191c86d9b314e8161085621d778559603477432914f1221a94680f1eb37c5c4c2ae7e774044d1daba4704c93d0b812596726c564

diff --git a/dev-debug/bpftrace/bpftrace-0.23.0.ebuild 
b/dev-debug/bpftrace/bpftrace-0.23.0.ebuild
new file mode 100644
index 000000000000..826360e218d6
--- /dev/null
+++ b/dev-debug/bpftrace/bpftrace-0.23.0.ebuild
@@ -0,0 +1,109 @@
+# 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"
+IUSE="pcap test systemd"
+
+# lots of fixing needed
+RESTRICT="test"
+
+RDEPEND="
+       >=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? (
+               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"
+}

Reply via email to