diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/highfive')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/highfive/default.nix | 48 |
1 files changed, 48 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..1a8ea5c1ae56 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/highfive/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv +, fetchFromGitHub +, cmake +, boost +, eigen +, hdf5 +, mpiSupport ? hdf5.mpiSupport +, mpi ? hdf5.mpi +}: + +assert mpiSupport -> mpi != null; + +stdenv.mkDerivation rec { + pname = "highfive"; + version = "2.3.1"; + + src = fetchFromGitHub { + owner = "BlueBrain"; + repo = "HighFive"; + rev = "v${version}"; + sha256 = "qaIThJGdoLgs82h+W4BKQEu1yy1bB8bZFiuxI7IxInw="; + }; + + 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; { + description = "Header-only C++ HDF5 interface"; + license = licenses.boost; + homepage = "https://bluebrain.github.io/HighFive/"; + platforms = platforms.unix; + maintainers = with maintainers; [ robertodr ]; + }; +} |