summary refs log tree commit diff
path: root/pkgs/os-specific/linux/odp-dpdk
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2019-11-10 02:06:11 +0100
committerFlorian Klink <flokli@flokli.de>2019-11-17 14:10:20 +0100
commit8f97966907fcbe5d7a9f7b77da9a2266df4db241 (patch)
treed9f236ecd0e13a1f30eaa6e4490d92937d48e4ae /pkgs/os-specific/linux/odp-dpdk
parentfe9d6cb8a72f8c8687749b8944662822a9afc143 (diff)
downloadnixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.tar
nixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.tar.gz
nixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.tar.bz2
nixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.tar.lz
nixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.tar.xz
nixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.tar.zst
nixpkgs-8f97966907fcbe5d7a9f7b77da9a2266df4db241.zip
odp-dpdk: 1.19.0.0_DPDK_17.11 -> 1.22.0.0_DPDK_18.11
Build with dpdk 18.11.5 instead of 17.11.9
Diffstat (limited to 'pkgs/os-specific/linux/odp-dpdk')
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix50
1 files changed, 32 insertions, 18 deletions
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 789668cb89e..0bdc22da918 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -1,42 +1,56 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig
-, dpdk, libconfig, libpcap, numactl, openssl
+, dpdk, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
 }: let
-
-  dpdk_17_11 = dpdk.overrideAttrs (old: rec {
-    version = "17.11.9";
+  dpdk_18_11 = dpdk.overrideAttrs (old: rec {
+    version = "18.11.5";
     src = fetchurl {
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-      sha256 = "0vrcc9mdjs5fk69lh7bigsk9208dfmjsz3jxaddkjlvk2hds1id6";
+      sha256 = "0000000000000000000000000000000000000000000000000000";
     };
   });
 
 in stdenv.mkDerivation rec {
   pname = "odp-dpdk";
-  version = "1.19.0.0_DPDK_17.11";
+  version = "1.22.0.0_DPDK_18.11";
 
   src = fetchurl {
     url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "05bwjaxl9hqc6fbkp95nniq11g3kvzmlxw0bq55i7p2v35nv38px";
+    sha256 = "1m8xhmfjqlj2gkkigq5ka3yh0xgzrcpfpaxp1pnh8d1g99094vbx";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ dpdk_17_11 libconfig libpcap numactl openssl ];
-
-  RTE_SDK = "${dpdk_17_11}/share/dpdk";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+  buildInputs = [
+    dpdk_18_11
+    libconfig
+    libpcap
+    numactl
+    openssl
+    zlib
+    libbsd
+    libelf
+    jansson
+  ];
 
-  dontDisableStatic = true;
+  # for some reason, /build/odp-dpdk-1.22.0.0_DPDK_18.11/lib/.libs ends up in all binaries,
+  # while it should be $out/lib instead.
+  # prepend rpath with the proper location, the /build will get removed during rpath shrinking
+  preFixup = ''
+    for prog in $out/bin/*; do
+      patchelf --set-rpath $out/lib:`patchelf --print-rpath $prog` $prog
+    done
+  '';
 
-  configureFlags = [
-    "--disable-shared"
-    "--with-dpdk-path=${dpdk_17_11}"
-  ];
+  # binaries will segfault otherwise
+  dontStrip = true;
 
   meta = with stdenv.lib; {
     description = "Open Data Plane optimized for DPDK";
     homepage = https://www.opendataplane.org;
     license = licenses.bsd3;
-    platforms =  [ "x86_64-linux" ];
+    platforms =  platforms.linux;
     maintainers = [ maintainers.abuibrahim ];
   };
 }