diff options
Diffstat (limited to 'dev-debug')
| -rw-r--r-- | dev-debug/bpftrace/Manifest | 10 | ||||
| -rw-r--r-- | dev-debug/bpftrace/bpftrace-0.22.1.ebuild | 103 | ||||
| -rw-r--r-- | dev-debug/bpftrace/bpftrace-0.23.2.ebuild | 110 | ||||
| -rw-r--r-- | dev-debug/bpftrace/bpftrace-0.23.4.ebuild | 110 | ||||
| -rw-r--r-- | dev-debug/bpftrace/bpftrace-0.23.5.ebuild | 110 | ||||
| -rw-r--r-- | dev-debug/bpftrace/bpftrace-0.24.2.ebuild | 159 | ||||
| -rw-r--r-- | dev-debug/bpftrace/bpftrace-9999.ebuild | 160 | ||||
| -rw-r--r-- | dev-debug/bpftrace/files/bpftrace-0.21.3-odr.patch | 37 | ||||
| -rw-r--r-- | dev-debug/bpftrace/metadata.xml | 1 |
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> |
