about summary refs log tree commit diff
path: root/pkgs/tools/misc/hdf5/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/hdf5/default.nix')
-rw-r--r--pkgs/tools/misc/hdf5/default.nix34
1 files changed, 20 insertions, 14 deletions
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index bcfca5fddb5d..0655fddeb87a 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -1,17 +1,21 @@
-
 { stdenv
 , fetchurl
+, cpp ? false
+, gfortran ? null
 , zlib ? null
 , szip ? null
 , mpi ? null
 , enableShared ? true
 }:
+
+with { inherit (stdenv.lib) optional; };
+
 stdenv.mkDerivation rec {
-  version = "1.8.14";
+  version = "1.8.15-patch1";
   name = "hdf5-${version}";
   src = fetchurl {
     url = "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-${version}/src/hdf5-${version}.tar.gz";
-    sha256 = "0f86gv32pjrrphvamgims1dd7f3bp46hjarbcdy8k4gmyzpgxghx";
+    sha256 = "19k39da6zzxyr0fnffn4iqlls9v1fsih877rznq8ypqy8mzf5dci";
  };
 
   passthru = {
@@ -20,20 +24,22 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = []
-    ++ stdenv.lib.optional (zlib != null) zlib
-    ++ stdenv.lib.optional (szip != null) szip;
+    ++ optional (gfortran != null) gfortran
+    ++ optional (zlib != null) zlib
+    ++ optional (szip != null) szip;
 
   propagatedBuildInputs = []
-    ++ stdenv.lib.optional (mpi != null) mpi;
-
-  configureFlags = "
-    ${if szip != null then "--with-szlib=${szip}" else ""}
-    ${if mpi != null then "--enable-parallel" else ""}
-    ${if enableShared then "--enable-shared" else ""}
-  ";
-  
+    ++ optional (mpi != null) mpi;
+
+  configureFlags = []
+    ++ optional cpp "--enable-cxx"
+    ++ optional (gfortran != null) "--enable-fortran"
+    ++ optional (szip != null) "--with-szlib=${szip}"
+    ++ optional (mpi != null) "--enable-parallel"
+    ++ optional enableShared "--enable-shared";
+
   patches = [./bin-mv.patch];
-  
+
   meta = {
     description = "Data model, library, and file format for storing and managing data";
     longDescription = ''