diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/highfive')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/highfive/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/highfive/default.nix b/nixpkgs/pkgs/development/libraries/highfive/default.nix new file mode 100644 index 000000000000..a9db80468ee6 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/highfive/default.nix @@ -0,0 +1,49 @@ +{ lib, stdenv +, fetchFromGitHub +, cmake +, boost +, eigen +, hdf5 +, mpiSupport ? hdf5.mpiSupport +, mpi ? hdf5.mpi +}: + +assert mpiSupport -> mpi != null; + +stdenv.mkDerivation rec { + pname = "highfive"; + version = "2.2"; + + src = fetchFromGitHub { + owner = "BlueBrain"; + repo = "HighFive"; + rev = "4c70d818ed18231563fe49ff197d1c41054be592"; + sha256 = "02xy3c2ix3nw8109aw75ixj651knzc5rjqwqrxximm4hzwx09frk"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ boost eigen hdf5 ]; + + passthru = { + inherit mpiSupport mpi; + }; + + cmakeFlags = [ + "-DHIGHFIVE_USE_BOOST=ON" + "-DHIGHFIVE_USE_EIGEN=ON" + "-DHIGHFIVE_EXAMPLES=OFF" + "-DHIGHFIVE_UNIT_TESTS=OFF" + "-DHIGHFIVE_USE_INSTALL_DEPS=ON" + ] + ++ (lib.optionals mpiSupport [ "-DHIGHFIVE_PARALLEL_HDF5=ON" ]); + + meta = with lib; { + inherit version; + description = "Header-only C++ HDF5 interface"; + license = licenses.boost; + homepage = "https://bluebrain.github.io/HighFive/"; + platforms = platforms.unix; + maintainers = with maintainers; [ robertodr ]; + }; +} |