summaryrefslogtreecommitdiff
path: root/dev-util/bpftool
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/bpftool')
-rw-r--r--dev-util/bpftool/Manifest7
-rw-r--r--dev-util/bpftool/bpftool-6.9.2.ebuild2
-rw-r--r--dev-util/bpftool/bpftool-7.5.0-r1.ebuild127
-rw-r--r--dev-util/bpftool/metadata.xml11
4 files changed, 142 insertions, 5 deletions
diff --git a/dev-util/bpftool/Manifest b/dev-util/bpftool/Manifest
index a67aca1f2cfe..a67056009a1a 100644
--- a/dev-util/bpftool/Manifest
+++ b/dev-util/bpftool/Manifest
@@ -1,7 +1,10 @@
+DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2
DIST linux-6.8.tar.xz 142502100 BLAKE2B c6f17f816cea16e629f63e9379b98888713f57b2c5173306926471f139a9d612a0c74e119341f8075390e55e203d787d9edeb4ad5a064b18870f6f0f7ffaafb2 SHA512 5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068
DIST linux-6.9.tar.xz 144034416 BLAKE2B 4cf86c3cfe6e6534745d42dfaeca59b17ea1168c4e8b615c80e6d8aac735f11283cd85fa992b440b5d4452917e94b9f08397a64af0be5894e3df23c68892377e SHA512 fed3b4cd1fbfb4d94618587c1934273d2ecc8b6e42a3d586ff8a5f24980be930f2ef803aa2923ca3bfa5e4e619f967f3af315368f24fa76f610b10443624a579
+DIST patch-6.10.3.xz 252260 BLAKE2B 65acf62ff3e326d5ebb9f47067b626a25295fde2057531cf43e537601c42b0110419c0d6eee8c7c24e5d6d88ecf30e9b76d516efb925c91817504c52780b4df1 SHA512 28ad0de2086ca4b59637f8a7c69c6f5436b53235bf52c9ee18f428748c773780c54606a5c96d71614cadd49c707a8bb11843a7393da078e15d7f554244bfb9ca
DIST patch-6.8.2.xz 247244 BLAKE2B a85078230548543c38550a5546689d0b44a54208cdad591ab34e10dec9348ce2f74e45bf85f373b14977d40556067e2e2c17ac4b6791fbb8aaba98feccd3cdac SHA512 a8e32b89f7680670c69c62f356846bb65b57614f979114627a9a2f945d7dc97c921d30197dffa993e5b18e499ba8c7196046ffdf0e721528a5378d1ee65a9ba5
DIST patch-6.9.2.xz 16184 BLAKE2B 8a37e96c253b55b57c86f1654f2ea8bf65af96b1b38213e90032cb918bb8eea992d6ddbfa6a6774a229ab2e2288ab57bdb6cbad6e7e393c123f24850e06847c9 SHA512 a27af24f0caaa5de3811b6db5acc2d72b96df9ebb5c44bad99a949d871fb06c6ffd2be10cfc35b246d430c7be2291701f802aed47eaa8818ad12b8818a60f3ec
EBUILD bpftool-6.8.2.ebuild 3101 BLAKE2B b032c5133f13d0a2f789a08fa054bd5d88cc729026974189d20b9d91f6295fdbad39056acc1223e78923b6201d91799c8cb833948135bccf25b84b4c25f00d5d SHA512 1efcf7572c1aa378394f38d2b939752aaf3215f92ffa227c493d0e3e9c8f945bcca82f759487386cd62e9c5996400395a944962f61af20fc62f8a206b57740d5
-EBUILD bpftool-6.9.2.ebuild 3131 BLAKE2B b1c16967b014d53b7f277a4bea648b0cd72d37d1e178069a1718006c5c0cf6f6ea57d3680c805a5dd83dceced77a7556bd26038d6d2a8d61002fa7c67be307bb SHA512 32c3ef4940bb76170b1aa35ebf6849b3a60c593bfda98641b24b46ea3371868a8f9dcc5bddffd5ce80b4d40992d2fc271fc2e1cbed10d8fb1e2e30de5f67fe69
-MISC metadata.xml 333 BLAKE2B 68272d411c28ff70b4e5f7d8a0dd8667ec01ee7e73f03c79cce54d47fe18306cba8dc52437b283e3018a572ec409cd3820d1dffc256658132d6209f5701eb553 SHA512 3527a7c4866b2f7a840cee65958734932c3f1bd76d1a3bad069e10abe174ed11d7e7995f094a30a3a4b6ad33b34989172c29a5bebda115e4c6da2afe0fde3720
+EBUILD bpftool-6.9.2.ebuild 3125 BLAKE2B a8395a94a01d8fe758246cc158713ca30f928aa4051380f6fbb4a285f7a16a223db02b199b422242adca3df4032d79daa20b9420f3a4543aeefca128e41ddfad SHA512 3931abd489a3cbb7aaaf4ea8fd004a45c4a27c8a645fb7eb5088fab3186ebc59b61d58e4b0704dd1c264eee50a95288ad1824af0aff482da306c282465d3013b
+EBUILD bpftool-7.5.0-r1.ebuild 3406 BLAKE2B 103dba27b32dcaf826df9fd54802c50a267ce144be4e9e3fabf8b6f086b949a6577690831f036cb15b55f8a09742eccdc900372e26ac3d28c965553122917195 SHA512 420b881e0c19dbfc74a4d33c4b96244cd9de18582b63fa7af055abe340441e37919779cceb0a4e92b76d3dfb256a9ce8ca436e277f3662097cbd28325d12d717
+MISC metadata.xml 650 BLAKE2B 4e195974ef7cee9b087c5c5f58e1782ff6b884603c68042c3d28471d4e7eb92004e9963ecdf534b360579e475424e64dd905fa5e98a74385aaadbe132b598176 SHA512 4a9d57fc518a3dbe67b0c0436ba41a66cd25d970e9b4c1d0cb1c8120f8d02e1e4fcca7e68d878dd74ae16e7804952a68c486621a44d59e5782341d1800f2e142
diff --git a/dev-util/bpftool/bpftool-6.9.2.ebuild b/dev-util/bpftool/bpftool-6.9.2.ebuild
index ad96f3a3e5b0..3f0a1e040297 100644
--- a/dev-util/bpftool/bpftool-6.9.2.ebuild
+++ b/dev-util/bpftool/bpftool-6.9.2.ebuild
@@ -25,7 +25,7 @@ S="${S_K}/tools/bpf/bpftool"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="caps +llvm"
RDEPEND="
diff --git a/dev-util/bpftool/bpftool-7.5.0-r1.ebuild b/dev-util/bpftool/bpftool-7.5.0-r1.ebuild
new file mode 100644
index 000000000000..44e89eba098d
--- /dev/null
+++ b/dev-util/bpftool/bpftool-7.5.0-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs
+
+DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps"
+HOMEPAGE="https://kernel.org/"
+
+# Use LINUX_VERSION to specify the full kernel version triple (x.y.z)
+LINUX_VERSION=6.10.3
+LINUX_VER=$(ver_cut 1-2 ${LINUX_VERSION})
+LINUX_V="${LINUX_VERSION:0:1}.x"
+
+LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
+SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
+
+LINUX_PATCH="patch-${LINUX_VERSION}.xz"
+SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
+
+S_K="${WORKDIR}/linux-${LINUX_VER}"
+S="${S_K}/tools/bpf/bpftool"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="caps llvm"
+
+RDEPEND="
+ sys-libs/zlib:=
+ virtual/libelf:=
+ caps? ( sys-libs/libcap:= )
+ llvm? ( sys-devel/llvm:= )
+ !llvm? ( sys-libs/binutils-libs:= )
+"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-5.8
+"
+BDEPEND="
+ ${LINUX_PATCH+dev-util/patchutils}
+ ${PYTHON_DEPS}
+ app-arch/tar
+ dev-python/docutils
+"
+
+CONFIG_CHECK="~DEBUG_INFO_BTF"
+
+# src_unpack and src_prepare are copied from dev-util/perf since
+# it's building from the same tarball, please keep it in sync with perf
+src_unpack() {
+ local paths=(
+ 'arch/*/include/*' 'arch/*/lib/*' 'arch/*/tools/*' 'include/*'
+ 'kernel/bpf/*' 'lib/*' 'scripts/*' 'tools/arch/*' 'tools/bpf/*'
+ 'tools/build/*' 'tools/include/*' 'tools/lib/*' 'tools/perf/*'
+ 'tools/scripts/*'
+ )
+
+ # We expect the tar implementation to support the -j and --wildcards option
+ echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
+ gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
+ "${paths[@]/#/linux-${LINUX_VER}/}" || die
+
+ if [[ -n ${LINUX_PATCH} ]] ; then
+ eshopts_push -o noglob
+ ebegin "Filtering partial source patch"
+ xzcat "${DISTDIR}"/${LINUX_PATCH} | filterdiff -p1 ${paths[@]/#/-i} > ${P}.patch
+ assert -n "Unpacking to ${P} from ${DISTDIR}/${LINUX_PATCH} failed"
+ eend $? || die "filterdiff failed"
+ test -s ${P}.patch || die "patch is empty?!"
+ eshopts_pop
+ fi
+
+ local a
+ for a in ${A}; do
+ [[ ${a} == ${LINUX_SOURCES} ]] && continue
+ [[ ${a} == ${LINUX_PATCH} ]] && continue
+ unpack ${a}
+ done
+}
+
+src_prepare() {
+ default
+
+ if [[ -n ${LINUX_PATCH} ]] ; then
+ pushd "${S_K}" >/dev/null || die
+ eapply "${WORKDIR}"/${P}.patch
+ popd || die
+ fi
+
+ # Use rst2man or rst2man.py depending on which one exists (#930076)
+ type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
+
+ # remove -Werror (bug 887981)
+ sed -i -e 's/\-Werror//g' ../../lib/bpf/Makefile || die
+}
+
+bpftool_make() {
+ local arch=$(tc-arch-kernel)
+ tc-export AR CC LD
+
+ emake V=1 VF=1 \
+ HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
+ EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" \
+ prefix="${EPREFIX}"/usr \
+ bash_compdir="$(get_bashcompdir)" \
+ feature-libcap="$(usex caps 1 0)" \
+ feature-llvm="$(usex llvm 1 0)" \
+ "$@"
+}
+
+src_compile() {
+ bpftool_make
+ bpftool_make -C Documentation
+}
+
+src_install() {
+ bpftool_make DESTDIR="${D}" install
+ bpftool_make mandir="${ED}"/usr/share/man -C Documentation install
+}
+
+pkg_postinst() {
+ optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF]
+}
diff --git a/dev-util/bpftool/metadata.xml b/dev-util/bpftool/metadata.xml
index 84c0375fb162..a09ffc7b9425 100644
--- a/dev-util/bpftool/metadata.xml
+++ b/dev-util/bpftool/metadata.xml
@@ -1,9 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>holger@applied-asynchrony.com</email>
+ <name>Holger Hoffstätte</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="caps">Use <pkg>sys-libs/libcap</pkg> to enable unprivileged run support</flag>
- <flag name="llvm">Use <pkg>sys-devel/llvm</pkg></flag>
+ <flag name="llvm">Use <pkg>sys-devel/llvm</pkg> instead of libbfd (<pkg>sys-libs/binutils-libs</pkg>) for JIT disassembly</flag>
</use>
</pkgmetadata>