libibverbs: added mlx4 and mthca userspace driver plugins

Changed files
+54 -6
pkgs
development
libraries
libibverbs
+54 -6
pkgs/development/libraries/libibverbs/default.nix
··· 1 { stdenv, fetchurl }: 2 3 - stdenv.mkDerivation rec { 4 - name = "libibverbs-1.1.8"; 5 6 - src = fetchurl { 7 - url = "https://www.openfabrics.org/downloads/verbs/${name}.tar.gz"; 8 - sha256 = "13w2j5lrrqxxxvhpxbqb70x7wy0h8g329inzgfrvqv8ykrknwxkw"; 9 }; 10 11 meta = with stdenv.lib; { 12 homepage = https://www.openfabrics.org/; 13 license = licenses.bsd2; 14 platforms = with platforms; linux ++ freebsd; 15 - maintainers = with maintainers; [ wkennington ]; 16 }; 17 }
··· 1 { stdenv, fetchurl }: 2 3 + let 4 5 + verbs = rec { 6 + version = "1.1.8"; 7 + name = "libibverbs-${version}"; 8 + url = "http://downloads.openfabrics.org/verbs/${name}.tar.gz"; 9 + sha256 = "13w2j5lrrqxxxvhpxbqb70x7wy0h8g329inzgfrvqv8ykrknwxkw"; 10 }; 11 12 + drivers = { 13 + libmlx4 = rec { 14 + version = "1.0.6"; 15 + name = "libmlx4-${version}"; 16 + url = "http://downloads.openfabrics.org/mlx4/${name}.tar.gz"; 17 + sha256 = "f680ecbb60b01ad893490c158b4ce8028a3014bb8194c2754df508d53aa848a8"; 18 + }; 19 + libmthca = rec { 20 + version = "1.0.6"; 21 + name = "libmthca-${version}"; 22 + url = "http://downloads.openfabrics.org/mthca/${name}.tar.gz"; 23 + sha256 = "cc8ea3091135d68233d53004e82b5b510009c821820494a3624e89e0bdfc855c"; 24 + }; 25 + }; 26 + 27 + in stdenv.mkDerivation rec { 28 + 29 + inherit (verbs) name version ; 30 + 31 + srcs = [ 32 + ( fetchurl { inherit (verbs) url sha256 ; } ) 33 + ( fetchurl { inherit (drivers.libmlx4) url sha256 ; } ) 34 + ( fetchurl { inherit (drivers.libmthca) url sha256 ; } ) 35 + ]; 36 + 37 + sourceRoot = name; 38 + 39 + # Install userspace drivers 40 + postInstall = '' 41 + for dir in ${drivers.libmlx4.name} ${drivers.libmthca.name} ; do 42 + cd ../$dir 43 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/include" 44 + export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS -L$out/lib" 45 + ./configure $configureFlags 46 + make -j$NIX_BUILD_CORES 47 + make install 48 + done 49 + ''; 50 + 51 + # Re-add the libibverbs path into runpath of the library 52 + # to enable plugins to be found by dlopen 53 + postFixup = '' 54 + RPATH=$(patchelf --print-rpath $out/lib/libibverbs.so) 55 + patchelf --set-rpath $RPATH:$out/lib $out/lib/libibverbs.so.1.0.0 56 + ''; 57 + 58 meta = with stdenv.lib; { 59 homepage = https://www.openfabrics.org/; 60 license = licenses.bsd2; 61 platforms = with platforms; linux ++ freebsd; 62 + maintainers = with maintainers; [ wkennington bzizou ]; 63 }; 64 } 65 +