commit:     0f8085b58f04eabf2298721308ee26d0e98dbf00
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 15 12:59:24 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Feb 15 13:00:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f8085b5

net-libs/xdp-tools: add 1.5.1

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 net-libs/xdp-tools/Manifest               |  1 +
 net-libs/xdp-tools/xdp-tools-1.5.1.ebuild | 99 +++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)

diff --git a/net-libs/xdp-tools/Manifest b/net-libs/xdp-tools/Manifest
index d17cfd0ccf52..7ecbf353863f 100644
--- a/net-libs/xdp-tools/Manifest
+++ b/net-libs/xdp-tools/Manifest
@@ -1,2 +1,3 @@
 DIST xdp-tools-1.4.3.tar.gz 339989 BLAKE2B 
836eb66a2264e9d46124a009a8b3e039da23f28f83460fb3aa724c8ca4c37952979278e3041e9acca44acd68cc94423d73f381febc107c454db7da01f583ae41
 SHA512 
3ba176e573d02feefc1baf81570b514bc25a61d7be3256ce530128092f07b246b8731430289cdcd874f8846122a4451f0bcd06891565dd1b48beaa10b854c646
 DIST xdp-tools-1.5.0.tar.gz 353321 BLAKE2B 
41ef06c544af743a8542306af93b1d2a671e53118aa9c4230521c755868245d854ef4ed38ac47102869c18104d67808e8ede8baef45dde8811b074501fc34520
 SHA512 
9713280fc5d58c19f972cced614f0acdb21de0f467439af2364217ae5381963f90c9e4aba9b6de1a8fdb7fa36c1f645c42b9cd1c86a2cd60168a3b974f14c0dd
+DIST xdp-tools-1.5.1.tar.gz 353402 BLAKE2B 
e98c8c1c72c48d57dbd7b1b2a1c671f82c648638969ffb1e14e021e59f8335298cf7ba26e235b1882109eb09a1421284423da4ca144126468934c64fec35c7e1
 SHA512 
f919fbc3d17d587dd80b7ca914c68edc1425f1b078d69fb9f8a9ba0224861cba0db0607447d349e3e8595f59bbd4a231d6029281dd9cd3a64ca3934c7bb3bbe5

diff --git a/net-libs/xdp-tools/xdp-tools-1.5.1.ebuild 
b/net-libs/xdp-tools/xdp-tools-1.5.1.ebuild
new file mode 100644
index 000000000000..0ed747f71d13
--- /dev/null
+++ b/net-libs/xdp-tools/xdp-tools-1.5.1.ebuild
@@ -0,0 +1,99 @@
+# 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"
+
+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}*
+
+       # force ld.bfd: #916591
+       tc-ld-force-bfd
+
+       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_test() { :; }
+
+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