summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Hoffstätte <holger@applied-asynchrony.com>2025-01-09 22:44:18 +0100
committerFlorian Schmaus <flow@gentoo.org>2025-01-10 10:50:38 +0100
commit2262d21bdfe5e93bc692cea5edfc1869ee6f0615 (patch)
tree065da2f8682bff621ce438c37d5986e06ab3d728 /net-libs
parentapp-containers/crun: drop 1.8.4, 1.11.2 (diff)
downloadgentoo-2262d21bdfe5e93bc692cea5edfc1869ee6f0615.tar.gz
gentoo-2262d21bdfe5e93bc692cea5edfc1869ee6f0615.tar.bz2
gentoo-2262d21bdfe5e93bc692cea5edfc1869ee6f0615.zip
net-libs/xdp-tools: add 1.5.0
Closes: https://bugs.gentoo.org/942006 Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com> Closes: https://github.com/gentoo/gentoo/pull/40077 Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/xdp-tools/Manifest1
-rw-r--r--net-libs/xdp-tools/xdp-tools-1.5.0.ebuild99
2 files changed, 100 insertions, 0 deletions
diff --git a/net-libs/xdp-tools/Manifest b/net-libs/xdp-tools/Manifest
index 6c126922895c..d17cfd0ccf52 100644
--- a/net-libs/xdp-tools/Manifest
+++ b/net-libs/xdp-tools/Manifest
@@ -1 +1,2 @@
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
diff --git a/net-libs/xdp-tools/xdp-tools-1.5.0.ebuild b/net-libs/xdp-tools/xdp-tools-1.5.0.ebuild
new file mode 100644
index 000000000000..0ed747f71d13
--- /dev/null
+++ b/net-libs/xdp-tools/xdp-tools-1.5.0.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
+}