xdp-tools: various improvements
This commit is contained in:
parent
67902931f4
commit
797d7c7b9e
@ -1,19 +1,17 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, libbpf
|
||||
, elfutils
|
||||
, libelf
|
||||
, zlib
|
||||
, libpcap
|
||||
, clang
|
||||
, llvm
|
||||
, gnumake
|
||||
, gcc
|
||||
, pkgconfig
|
||||
, llvmPackages
|
||||
, pkg-config
|
||||
, m4
|
||||
, emacs-nox
|
||||
, wireshark-cli
|
||||
, nukeReferences
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xdp-tools";
|
||||
@ -26,42 +24,57 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "xKxR20Jz+pGKzazFoZe0i0pv7AuaxdL8Yt3IE4JAje8=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "lib" ];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# Compat with libbpf 1.0: https://github.com/xdp-project/xdp-tools/pull/221
|
||||
url = "https://github.com/xdp-project/xdp-tools/commit/f8592d0609807f5b2b73d27eb3bd623da4bd1997.diff";
|
||||
sha256 = "+NpR0d5YE1TMFeyidBuXCDkcBTa2W0094nqYiEWKpY4=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libbpf
|
||||
elfutils
|
||||
libelf
|
||||
libpcap
|
||||
zlib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
clang
|
||||
llvm
|
||||
gnumake
|
||||
gcc
|
||||
pkgconfig
|
||||
llvmPackages.clang
|
||||
llvmPackages.llvm
|
||||
pkg-config
|
||||
m4
|
||||
emacs-nox
|
||||
wireshark-cli
|
||||
emacs-nox # to generate man pages from .org
|
||||
nukeReferences
|
||||
];
|
||||
checkInputs = [
|
||||
wireshark-cli # for tshark
|
||||
];
|
||||
|
||||
# When building BPF, the default CC wrapper is interfering a bit too much.
|
||||
BPF_CFLAGS = "-fno-stack-protector -Wno-error=unused-command-line-argument";
|
||||
|
||||
PRODUCTION = 1;
|
||||
DYNAMIC_LIBXDP = 1;
|
||||
FORCE_SYSTEM_LIBBPF = 1;
|
||||
FORCE_EMACS = 1;
|
||||
|
||||
installPhase = ''
|
||||
export PREFIX=$out
|
||||
makeFlags = [ "PREFIX=$(out)" "LIBDIR=$(lib)/lib" ];
|
||||
|
||||
make install
|
||||
postInstall = ''
|
||||
# Note that even the static libxdp would refer to BPF_OBJECT_DIR ?=$(LIBDIR)/bpf
|
||||
rm "$lib"/lib/*.a
|
||||
# Drop unfortunate references to glibc.dev/include at least from $lib
|
||||
nuke-refs "$lib"/lib/bpf/*.o
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/xdp-project/xdp-tools";
|
||||
description = "Library and utilities for use with XDP";
|
||||
license = with licenses; [ gpl2 lgpl21 bsd2 ];
|
||||
maintainers = with maintainers; [ tirex ];
|
||||
maintainers = with maintainers; [ tirex vcunat ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@ -11987,7 +11987,9 @@ with pkgs;
|
||||
|
||||
xdg-launch = callPackage ../applications/misc/xdg-launch { };
|
||||
|
||||
xdp-tools = callPackage ../tools/networking/xdp-tools { };
|
||||
xdp-tools = callPackage ../tools/networking/xdp-tools {
|
||||
llvmPackages = llvmPackages_14;
|
||||
};
|
||||
|
||||
xkbvalidate = callPackage ../tools/X11/xkbvalidate { };
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user