diff --git a/pkgs/tools/networking/xdp-tools/default.nix b/pkgs/tools/networking/xdp-tools/default.nix new file mode 100644 index 000000000000..c388b3019e30 --- /dev/null +++ b/pkgs/tools/networking/xdp-tools/default.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, fetchFromGitHub +, libbpf +, elfutils +, libelf +, zlib +, libpcap +, clang +, llvm +, gnumake +, gcc +, pkgconfig +, m4 +, emacs-nox +, wireshark-cli +}: +stdenv.mkDerivation rec { + pname = "xdp-tools"; + version = "1.2.5"; + + src = fetchFromGitHub { + owner = "xdp-project"; + repo = "xdp-tools"; + rev = "v${version}"; + sha256 = "sha256-Kyay5j+87nOZ9C+DI8MI6zhkWqspIHiTfW9Di5uVWzY="; + }; + + buildInputs = [ + libbpf + elfutils + libelf + libpcap + zlib + ]; + + nativeBuildInputs = [ + clang + llvm + gnumake + gcc + pkgconfig + m4 + emacs-nox + wireshark-cli + ]; + + 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 + + make install + ''; + + 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 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b942c9368456..1e4de5d69fc1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11987,6 +11987,8 @@ with pkgs; xdg-launch = callPackage ../applications/misc/xdg-launch { }; + xdp-tools = callPackage ../tools/networking/xdp-tools { }; + xkbvalidate = callPackage ../tools/X11/xkbvalidate { }; xkeysnail = callPackage ../tools/X11/xkeysnail { };