commit:     c0c1653caa0e9becdd39a7462ea00fbead847a47
Author:     Holger Hoffstätte <holger <AT> applied-asynchrony <DOT> com>
AuthorDate: Fri Aug  9 09:37:56 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Aug  9 14:39:28 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0c1653c

net-libs/xdp-tools: add 1.4.3

Signed-off-by: Holger Hoffstätte <holger <AT> applied-asynchrony.com>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

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

diff --git a/net-libs/xdp-tools/Manifest b/net-libs/xdp-tools/Manifest
index dfdf3285fdf0..523230544af1 100644
--- a/net-libs/xdp-tools/Manifest
+++ b/net-libs/xdp-tools/Manifest
@@ -1,2 +1,3 @@
 DIST xdp-tools-1.4.1.tar.gz 339878 BLAKE2B 
30ed245dd0da8404cf67313ea4d5f9a148507d14bd7330bdac3b03c07d1cc0b38eb1a376636551cb8ea14c8a2e77d02527da363733a1059e1c2ebaee9ac90392
 SHA512 
9d2ad42713aa53c10ccbde2c344bf2696524e317544f3693114b343ab74240187699c3802cfc6efa05b3e9f9bfec80fd2537799aa3ae050717bb1f6aab435996
 DIST xdp-tools-1.4.2.tar.gz 340864 BLAKE2B 
c5197330ff917043e03a16346823acab760db5fe903f2e039bd2c178ad34bb04d96a0d6b321fd3565256c39422f3f1f7b475970bd22ab487e30468c96e11c711
 SHA512 
aedf79859872523d514f18e7a6e8b7999bd1942021968dbba9a7e86cde1c193e31b328bc56d6bf2b3fbc7f266c9df8d942d90a70bbd9d514ce38d56c07cd18ca
+DIST xdp-tools-1.4.3.tar.gz 339989 BLAKE2B 
836eb66a2264e9d46124a009a8b3e039da23f28f83460fb3aa724c8ca4c37952979278e3041e9acca44acd68cc94423d73f381febc107c454db7da01f583ae41
 SHA512 
3ba176e573d02feefc1baf81570b514bc25a61d7be3256ce530128092f07b246b8731430289cdcd874f8846122a4451f0bcd06891565dd1b48beaa10b854c646

diff --git a/net-libs/xdp-tools/xdp-tools-1.4.3.ebuild 
b/net-libs/xdp-tools/xdp-tools-1.4.3.ebuild
new file mode 100644
index 000000000000..6861f5e2c969
--- /dev/null
+++ b/net-libs/xdp-tools/xdp-tools-1.4.3.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic 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:=
+       dev-util/bpftool
+       net-libs/libpcap
+       sys-libs/zlib
+       virtual/libelf
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+       sys-apps/grep[pcre]
+       >=sys-devel/clang-11.0.0
+"
+
+# Not prebuilt -- we build them -- but they're not ordinary ELF objects either.
+QA_PREBUILT="usr/lib/bpf/*.o"
+
+MAKEOPTS+=" V=1"
+
+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