linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / highfive / default.nix
bloba9db80468ee69e95a3193f6bb01ebf048774ff65
1 { lib, stdenv
2 , fetchFromGitHub
3 , cmake
4 , boost
5 , eigen
6 , hdf5
7 , mpiSupport ? hdf5.mpiSupport
8 , mpi ? hdf5.mpi
9 }:
11 assert mpiSupport -> mpi != null;
13 stdenv.mkDerivation rec {
14   pname = "highfive";
15   version = "2.2";
17   src = fetchFromGitHub {
18     owner = "BlueBrain";
19     repo = "HighFive";
20     rev = "4c70d818ed18231563fe49ff197d1c41054be592";
21     sha256 = "02xy3c2ix3nw8109aw75ixj651knzc5rjqwqrxximm4hzwx09frk";
22   };
24   nativeBuildInputs = [ cmake ];
26   buildInputs = [ boost eigen hdf5 ];
28   passthru = {
29     inherit mpiSupport mpi;
30   };
32   cmakeFlags = [
33     "-DHIGHFIVE_USE_BOOST=ON"
34     "-DHIGHFIVE_USE_EIGEN=ON"
35     "-DHIGHFIVE_EXAMPLES=OFF"
36     "-DHIGHFIVE_UNIT_TESTS=OFF"
37     "-DHIGHFIVE_USE_INSTALL_DEPS=ON"
38   ]
39   ++ (lib.optionals mpiSupport [ "-DHIGHFIVE_PARALLEL_HDF5=ON" ]);
41   meta = with lib; {
42     inherit version;
43     description = "Header-only C++ HDF5 interface";
44     license = licenses.boost;
45     homepage = "https://bluebrain.github.io/HighFive/";
46     platforms = platforms.unix;
47     maintainers = with maintainers; [ robertodr ];
48   };