1{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libpsm2
2, enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) }:
3
4stdenv.mkDerivation rec {
5 pname = "libfabric";
6 version = "1.15.1";
7
8 enableParallelBuilding = true;
9
10 src = fetchFromGitHub {
11 owner = "ofiwg";
12 repo = pname;
13 rev = "v${version}";
14 sha256 = "sha256-uL3L9k9yqdZXQmR1zi8OEIGLAZ8cf7EBnlDhetaMA08=";
15 };
16
17 nativeBuildInputs = [ pkg-config autoreconfHook ];
18
19 buildInputs = lib.optional enablePsm2 libpsm2;
20
21 configureFlags = [ (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") ];
22
23 meta = with lib; {
24 homepage = "https://ofiwg.github.io/libfabric/";
25 description = "Open Fabric Interfaces";
26 license = with licenses; [ gpl2 bsd2 ];
27 platforms = platforms.all;
28 maintainers = [ maintainers.bzizou ];
29 };
30}