+54
-6
pkgs/development/libraries/libibverbs/default.nix
+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
+