From 8f97966907fcbe5d7a9f7b77da9a2266df4db241 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 10 Nov 2019 02:06:11 +0100 Subject: 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 --- pkgs/os-specific/linux/odp-dpdk/default.nix | 50 ++++++++++++++++++----------- 1 file changed, 32 insertions(+), 18 deletions(-) (limited to 'pkgs/os-specific/linux/odp-dpdk/default.nix') 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 ]; }; } -- cgit 1.4.1