commit:     16d586611ab502d07d17917b0cac024f82d62254
Author:     Holger Hoffstätte <holger <AT> applied-asynchrony <DOT> com>
AuthorDate: Fri Oct  3 16:11:42 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct  3 16:29:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16d58661

net-libs/xdp-tools: add 1.5.7

Minor fixes, mostly improvements to tests which we cannot run.
Also properly indicate why we cannot run tests instead of overriding
src_test() without comment.

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

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

diff --git a/net-libs/xdp-tools/Manifest b/net-libs/xdp-tools/Manifest
index 4155cb248b00..66072ba24f1d 100644
--- a/net-libs/xdp-tools/Manifest
+++ b/net-libs/xdp-tools/Manifest
@@ -1,3 +1,4 @@
 DIST xdp-tools-1.5.3.tar.gz 354019 BLAKE2B 
5eb7eede34dc502301119d7c79f0a68b0dca6a72fb99e493eb581d1f6bece72059b063326de8ea9e6f25aeeadbceb28b8ecbd6a62201688c934a9645864cb0b5
 SHA512 
28539a11abdbb56682b98524bbec76bd097df1f4c1f1657cca7b776217f34cc18b97de0bb3b0f191659b5d0496917b1ec03d8c496587909cd0b47b8195c2add8
 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

diff --git a/net-libs/xdp-tools/xdp-tools-1.5.7.ebuild 
b/net-libs/xdp-tools/xdp-tools-1.5.7.ebuild
new file mode 100644
index 000000000000..e6d82db4a433
--- /dev/null
+++ b/net-libs/xdp-tools/xdp-tools-1.5.7.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
+       sys-libs/zlib
+       virtual/libelf
+"
+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