From c4622d53a1f83a01a9fdb3a82bbf8fc5ad04dae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Thu, 19 May 2016 19:37:11 +0100 Subject: [PATCH] dpdk: predefined instruction set, build in parallel, use external deps --- pkgs/os-specific/linux/dpdk/default.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix index 7ca71a695e015c..02aaeaae98dbb5 100644 --- a/pkgs/os-specific/linux/dpdk/default.nix +++ b/pkgs/os-specific/linux/dpdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, kernel, fetchurl }: +{ stdenv, lib, kernel, fetchurl, libvirt }: assert lib.versionAtLeast kernel.version "3.18"; @@ -11,16 +11,25 @@ stdenv.mkDerivation rec { sha256 = "0yrz3nnhv65v2jzz726bjswkn8ffqc1sr699qypc9m78qrdljcfn"; }; + buildInputs = [ libvirt ]; + RTE_KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; RTE_TARGET = "x86_64-native-linuxapp-gcc"; enableParallelBuilding = true; outputs = [ "out" "examples" ]; + # we need ssse3 instructions to build + NIX_CFLAGS_COMPILE = [ "-march=core2" ]; + + patchPhase = '' + sed -i 's/CONFIG_RTE_BUILD_COMBINE_LIBS=n/CONFIG_RTE_BUILD_COMBINE_LIBS=y/' config/common_linuxapp + ''; + buildPhase = '' - make T=x86_64-native-linuxapp-gcc config - make T=x86_64-native-linuxapp-gcc install - make T=x86_64-native-linuxapp-gcc examples + make T=x86_64-native-linuxapp-gcc -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES config + make T=x86_64-native-linuxapp-gcc -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES install + make T=x86_64-native-linuxapp-gcc -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES examples ''; installPhase = ''