commit:     a404a5f3fbb28eb59c523db63554128a2c493fb7
Author:     Holger Hoffstätte <holger <AT> applied-asynchrony <DOT> com>
AuthorDate: Fri Dec  5 06:47:53 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec  5 07:33:22 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a404a5f3

net-libs/xdp-tools: add 1.5.8

Signed-off-by: Holger Hoffstätte <holger <AT> applied-asynchrony.com>
Part-of: https://github.com/gentoo/gentoo/pull/44910
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/xdp-tools/Manifest               |  1 +
 net-libs/xdp-tools/xdp-tools-1.5.8.ebuild | 97 +++++++++++++++++++++++++++++++
 2 files changed, 98 insertions(+)

diff --git a/net-libs/xdp-tools/Manifest b/net-libs/xdp-tools/Manifest
index 66072ba24f1d..7b3e8592b028 100644
--- a/net-libs/xdp-tools/Manifest
+++ b/net-libs/xdp-tools/Manifest
@@ -2,3 +2,4 @@ DIST xdp-tools-1.5.3.tar.gz 354019 BLAKE2B 
5eb7eede34dc502301119d7c79f0a68b0dca6
 DIST xdp-tools-1.5.4.tar.gz 353692 BLAKE2B 
f4b3e2698fecf695ee16fce4245a1e27cddef7e17e7f48510fa395c5143bed731421a87a1a44ddad98b4943eca6c4f53cbe0617336da52de0f1567d6170d6ac2
 SHA512 
a43f3446638638cc66508a916d4f8a44597f9b9d09083874924a6cc53d3314eadff6b0a8cf23ac66a74bceb766f5fc6c69a88d95aee4065441ce91b66ab9a4e8
 DIST xdp-tools-1.5.6.tar.gz 355790 BLAKE2B 
cfff31b91c4e766821945b7a1be7546fa896c677f25808b4ff3f0587bf424bedf8b997fc0622a877e852032857e3246fb4c41dcd138aa63778438487d0e461a7
 SHA512 
20a8fa0bf397e66c6f65e095ad95701d96b1ee34303e62741b523fcc9dddbe0bd7d5e86b3f620766e81265a9986180f2de7a61fee80861bf6d944311a63a2526
 DIST xdp-tools-1.5.7.tar.gz 358429 BLAKE2B 
15e2fb9efc50415fbf08302ae9d9f5b2f4680e8320a5a64f13b22f817aa641b8c481d959e5c5e2e1c574dd4508b4eb1805c9ac3ba79d7c711200acf1e1941d96
 SHA512 
5c23d6cae8faa2a30293f5078341bf87c4a20bb69df2efa3ef511f3550668710dde8b121d6fbefd98ab7712ad145aace297a54d741d1ebc0775ecc00e9d1687b
+DIST xdp-tools-1.5.8.tar.gz 358654 BLAKE2B 
600c43bf78a4cd5874deefe125d65e96a84ebcafdb7ddf97efda73857aba85eb94ea324e0f8f62e637bff435358c6d354c5c839d7e0fecd4052b144075eaebea
 SHA512 
e35d91fb947ec867ade292559afa2687d6f2490ddef87c93879db66b9397b298c94018dc4ba9dac1473e460a0225544e56835e9809601d1badbcd13d37ac918b

diff --git a/net-libs/xdp-tools/xdp-tools-1.5.8.ebuild 
b/net-libs/xdp-tools/xdp-tools-1.5.8.ebuild
new file mode 100644
index 000000000000..27f5f15f0161
--- /dev/null
+++ b/net-libs/xdp-tools/xdp-tools-1.5.8.ebuild
@@ -0,0 +1,97 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info toolchain-funcs
+
+DESCRIPTION="The libxdp library and various tools for use with XDP"
+HOMEPAGE="https://github.com/xdp-project/xdp-tools";
+SRC_URI="https://github.com/xdp-project/${PN}/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+tools"
+
+# tests require root privileges
+RESTRICT+=" test"
+
+DEPEND="
+       dev-libs/libbpf:=
+       net-libs/libpcap
+       virtual/libelf
+       virtual/zlib:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       dev-util/bpftool
+       sys-apps/grep[pcre]
+       llvm-core/clang:*[llvm_targets_BPF]
+       sys-devel/m4
+"
+
+# Not prebuilt -- we build them -- but they're not ordinary ELF objects either.
+QA_PREBUILT="usr/lib/bpf/*.o"
+
+MAKEOPTS+=" V=1"
+
+CONFIG_CHECK="~BPF ~BPF_JIT ~BPF_SYSCALL ~HAVE_EBPF_JIT ~XDP_SOCKETS 
~XDP_SOCKETS_DIAG"
+
+src_prepare() {
+       # remove -Werror: #899744
+       sed -i 's/-Werror//g' lib/Makefile lib/defines.mk || die
+       sed -i '/-Werror/d' lib/common.mk lib/libxdp/Makefile \
+               lib/libxdp/tests/Makefile lib/util/Makefile || die
+
+       default
+}
+
+src_configure() {
+       # filter LTO: #861587
+       filter-lto
+
+       # filter LDFLAGS some more: #916591
+       filter-ldflags -Wl,--{icf,lto}*
+
+       export CC="$(tc-getCC)"
+       export PREFIX="${EPREFIX}/usr"
+       export LIBDIR="${PREFIX}/$(get_libdir)"
+       export BPF_OBJECT_DIR="${PREFIX}/lib/bpf"
+       export PRODUCTION=1
+       export DYNAMIC_LIBXDP=1
+       export FORCE_SYSTEM_LIBBPF=1
+
+       default
+}
+
+src_install() {
+       default
+
+       # To remove the scripts/testing files that are installed.
+       rm -r "${ED}/usr/share/xdp-tools" || die
+       # We can't control static archive generation yet.
+       rm "${ED}/usr/$(get_libdir)/libxdp.a" || die
+
+       use tools || { rm "${ED}/usr/sbin"/* || die; }
+
+       # These are ELF objects but BPF ones.
+       dostrip -x /usr/lib/bpf
+}
+
+pkg_postinst() {
+       elog
+       elog "Many BPF utilities need access to a mounted bpffs virtual file 
system."
+       elog "Either mount it manually like this:"
+       elog
+       elog "  mount bpffs /sys/fs/bpf -t bpf -o 
nosuid,nodev,noexec,relatime,mode=700"
+       elog
+       elog "or add the following line to your /etc/fstab to always mount it 
at boot time:"
+       elog
+       elog "  bpffs  /sys/fs/bpf  bpf  nosuid,nodev,noexec,relatime,mode=700  
0 0"
+       elog
+       elog "You can verify that bpffs is mounted with:"
+       elog
+       elog "  mount | grep /sys/fs/bpf"
+       elog
+}

Reply via email to