diff options
author | Orivej Desh <orivej@gmx.fr> | 2019-12-23 08:49:35 +0000 |
---|---|---|
committer | Orivej Desh <orivej@gmx.fr> | 2019-12-30 16:50:40 +0000 |
commit | fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb (patch) | |
tree | cdc0cc8810932dbf01933835a338d98a0d966c96 /pkgs/os-specific/linux/dpdk/default.nix | |
parent | ddc4239e6a291a032d2cd00c678cfb94adbbdd04 (diff) | |
download | nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.tar nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.tar.gz nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.tar.bz2 nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.tar.lz nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.tar.xz nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.tar.zst nixpkgs-fdb16f3a77fb9eca4c886abfd6f4492f9fd538bb.zip |
linuxPackages.dpdk: fix build
Diffstat (limited to 'pkgs/os-specific/linux/dpdk/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/dpdk/default.nix | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix index ecc239453fa..414f276a210 100644 --- a/pkgs/os-specific/linux/dpdk/default.nix +++ b/pkgs/os-specific/linux/dpdk/default.nix @@ -7,7 +7,6 @@ , shared ? false }: let - kver = kernel.modDirVersion or null; mod = kernel != null; in stdenv.mkDerivation rec { @@ -44,13 +43,23 @@ in stdenv.mkDerivation rec { mesonFlags = [ "-Denable_docs=true" - "-Denable_kmods=${if kernel != null then "true" else "false"}" - ] - ++ lib.optionals (shared == false) [ - "-Ddefault_library=static" + "-Denable_kmods=${if mod then "true" else "false"}" ] + ++ lib.optional (!shared) "-Ddefault_library=static" ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem" - ++ lib.optional (kernel != null) "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}"; + ++ lib.optional mod "-Dkernel_dir=${placeholder "kmod"}/lib/modules/${kernel.modDirVersion}"; + + # dpdk meson script does not support separate kernel source and installion + # dirs (except via destdir), so we temporarily link the former into the latter. + preConfigure = lib.optionalString mod '' + mkdir -p $kmod/lib/modules/${kernel.modDirVersion} + ln -sf ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \ + $kmod/lib/modules/${kernel.modDirVersion} + ''; + + postBuild = lib.optionalString mod '' + rm -f $kmod/lib/modules/${kernel.modDirVersion}/build + ''; outputs = [ "out" ] ++ lib.optional mod "kmod"; |