summary refs log tree commit diff
path: root/pkgs/os-specific/linux/dpdk
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2016-04-20 16:11:34 +0100
committerDomen Kožar <domen@dev.si>2016-04-20 16:11:34 +0100
commite6899cc80c3ceb7116d21d486b234bd8bd127a08 (patch)
treeafa8a49552ecf83004fa778310c09c6311041848 /pkgs/os-specific/linux/dpdk
parent50df762e719d9702f88dac452bf20dc6ec7ef36c (diff)
downloadnixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.tar
nixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.tar.gz
nixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.tar.bz2
nixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.tar.lz
nixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.tar.xz
nixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.tar.zst
nixlib-e6899cc80c3ceb7116d21d486b234bd8bd127a08.zip
add linuxPackages.dpdk: libs and drivers for fast packet processing
Diffstat (limited to 'pkgs/os-specific/linux/dpdk')
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
new file mode 100644
index 000000000000..c93e0e80fa18
--- /dev/null
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, kernel, fetchurl }:
+
+assert lib.versionAtLeast kernel.version "3.18";
+
+stdenv.mkDerivation rec {
+  name = "dpdk-${version}-${kernel.version}";
+  version = "16.04";
+
+  src = fetchurl {
+    url = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${version}.tar.gz";
+    sha256 = "0yrz3nnhv65v2jzz726bjswkn8ffqc1sr699qypc9m78qrdljcfn";
+  };
+
+  RTE_KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+
+  enableParallelBuilding = true;
+  outputs = [ "out" "examples" ];
+
+  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
+  '';
+
+  installPhase = ''
+    cp -pr x86_64-native-linuxapp-gcc/{app,lib,include,kmod} $out/
+
+    mkdir $examples
+    cp -pr examples/* $examples/
+  '';
+
+  meta = with stdenv.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 = [ maintainers.iElectric ];
+  };
+}