diff options
author | Holger Hoffstätte <holger@applied-asynchrony.com> | 2024-08-09 11:37:56 +0200 |
---|---|---|
committer | Arthur Zamarin <arthurzam@gentoo.org> | 2024-08-09 17:39:28 +0300 |
commit | c0c1653caa0e9becdd39a7462ea00fbead847a47 (patch) | |
tree | 13f5a92d84edf7cd5451ca9caf3108154bc74088 /net-libs | |
parent | toolchain.eclass: tidy up src_test a bit more, another tweak (diff) | |
download | gentoo-c0c1653caa0e9becdd39a7462ea00fbead847a47.tar.gz gentoo-c0c1653caa0e9becdd39a7462ea00fbead847a47.tar.bz2 gentoo-c0c1653caa0e9becdd39a7462ea00fbead847a47.zip |
net-libs/xdp-tools: add 1.4.3
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/xdp-tools/Manifest | 1 | ||||
-rw-r--r-- | net-libs/xdp-tools/xdp-tools-1.4.3.ebuild | 96 |
2 files changed, 97 insertions, 0 deletions
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 +} |