about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-11-11 15:18:46 +0100
committerVladimír Čunát <vcunat@gmail.com>2015-11-11 15:18:46 +0100
commite8ee8496e5b79c1effebcb13bd5b2f241360c288 (patch)
tree5ceb29c01a5c951845c23db26b957f452939faaa
parent1e6097f00aeb7095301e8825fa0ef466d2e3ab4e (diff)
parent6a2a2f4ad5c5e09e736931b4e831ac14725e923b (diff)
downloadnixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.tar
nixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.tar.gz
nixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.tar.bz2
nixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.tar.lz
nixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.tar.xz
nixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.tar.zst
nixlib-e8ee8496e5b79c1effebcb13bd5b2f241360c288.zip
Merge #10477: hdf5: improve options
-rw-r--r--pkgs/tools/misc/hdf5/default.nix34
-rw-r--r--pkgs/top-level/all-packages.nix13
2 files changed, 31 insertions, 16 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 = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6cce50022612..82157ba09ef2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1808,14 +1808,23 @@ let
   hddtemp = callPackage ../tools/misc/hddtemp { };
 
   hdf5 = callPackage ../tools/misc/hdf5 {
+    gfortran = null;
     szip = null;
     mpi = null;
   };
 
-  hdf5-mpi = hdf5.override {
+  hdf5-mpi = appendToName "mpi" (hdf5.override {
     szip = null;
     mpi = pkgs.openmpi;
-  };
+  });
+
+  hdf5-cpp = appendToName "cpp" (hdf5.override {
+    cpp = true;
+  });
+
+  hdf5-fortran = appendToName "fortran" (hdf5.override {
+    inherit gfortran;
+  });
 
   heimdall = callPackage ../tools/misc/heimdall { };