diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-07-28 13:44:21 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-07-28 17:46:39 +0000 |
commit | cab13e087c80c4e7476bb7df432e2b7deb56563d (patch) | |
tree | f8c7f771072bc7c5453625dfdb80cbd3d2c30fb4 /pkgs/os-specific/linux/dpdk/default.nix | |
parent | d9c82ed3044c72cecf01c6ea042489d30914577c (diff) | |
parent | 8ecc61c91a596df7d3293603a9c2384190c1b89a (diff) | |
download | nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.tar nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.tar.gz nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.tar.bz2 nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.tar.lz nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.tar.xz nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.tar.zst nixpkgs-cab13e087c80c4e7476bb7df432e2b7deb56563d.zip |
Merge remote-tracking branch 'nixpkgs/nixos-unstable' into nixpkgs-update
Conflicts: pkgs/applications/graphics/hello-wayland/default.nix pkgs/applications/virtualization/cloud-hypervisor/default.nix pkgs/applications/window-managers/tinywl/default.nix pkgs/applications/window-managers/wayfire/applications.nix pkgs/applications/window-managers/wayfire/default.nix pkgs/applications/window-managers/wayfire/wcm.nix pkgs/applications/window-managers/wayfire/wf-config.nix pkgs/applications/window-managers/wayfire/wf-shell.nix pkgs/development/libraries/wlroots/default.nix pkgs/os-specific/linux/chromium-os/crosvm/default.nix pkgs/os-specific/linux/kernel/common-config.nix pkgs/os-specific/linux/kernel/patches.nix pkgs/os-specific/linux/mdevd/default.nix pkgs/os-specific/linux/s6-linux-init/default.nix pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/os-specific/linux/dpdk/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/dpdk/default.nix | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix index aacbc3cdfbe..ca8905e6240 100644 --- a/pkgs/os-specific/linux/dpdk/default.nix +++ b/pkgs/os-specific/linux/dpdk/default.nix @@ -1,30 +1,32 @@ { stdenv, lib , kernel , fetchurl -, pkgconfig, meson, ninja +, pkg-config, meson, ninja , libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap , doxygen, python3 +, withExamples ? [] , shared ? false }: let mod = kernel != null; - + dpdkVersion = "21.05"; in stdenv.mkDerivation rec { - name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}"; - version = "20.05"; + pname = "dpdk"; + version = "${dpdkVersion}" + lib.optionalString mod "-${kernel.version}"; src = fetchurl { - url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz"; - sha256 = "0h0xv2zwb91b9n29afg5ihn06a8q28in64hag2f112kc19f79jj8"; + url = "https://fast.dpdk.org/rel/dpdk-${dpdkVersion}.tar.xz"; + sha256 = "sha256-HhJJm0xfzbV8g+X+GE6mvs3ffPCSiTwsXvLvsO7BLws="; }; nativeBuildInputs = [ doxygen meson ninja - pkgconfig + pkg-config python3 python3.pkgs.sphinx + python3.pkgs.pyelftools ]; buildInputs = [ jansson @@ -42,12 +44,16 @@ in stdenv.mkDerivation rec { ''; mesonFlags = [ + "-Dtests=false" "-Denable_docs=true" - "-Denable_kmods=${if mod then "true" else "false"}" + "-Denable_kmods=${lib.boolToString mod}" ] + # kni kernel driver is currently not compatble with 5.11 + ++ lib.optional (mod && kernel.kernelOlder "5.11") "-Ddisable_drivers=kni" ++ lib.optional (!shared) "-Ddefault_library=static" ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem" - ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}"; + ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}" + ++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}"; # dpdk meson script does not support separate kernel source and installion # dirs (except via destdir), so we temporarily link the former into the latter. @@ -61,15 +67,17 @@ in stdenv.mkDerivation rec { rm -f $kmod/lib/modules/${kernel.modDirVersion}/build ''; - outputs = [ "out" ] ++ lib.optional mod "kmod"; + postInstall = lib.optionalString (withExamples != []) '' + find examples -type f -executable -exec install {} $out/bin \; + ''; - enableParallelBuilding = true; + outputs = [ "out" ] ++ lib.optional mod "kmod"; meta = with lib; { description = "Set of libraries and drivers for fast packet processing"; homepage = "http://dpdk.org/"; license = with licenses; [ lgpl21 gpl2 bsd2 ]; platforms = platforms.linux; - maintainers = with maintainers; [ domenkozar magenbluten orivej ]; + maintainers = with maintainers; [ magenbluten orivej mic92 zhaofengli ]; }; } |