about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2022-02-21 22:31:22 +0200
committerGitHub <noreply@github.com>2022-02-21 22:31:22 +0200
commit723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e (patch)
treeb53ec1f117ec5af3a10b4a9e0bc8271be4acd216
parent0074ebd592d5ccb1f6677887cf162f35c38015af (diff)
parent8250f0f4ea6c88095586c1a9434519b1ed8d5f07 (diff)
downloadnixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.tar
nixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.tar.gz
nixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.tar.bz2
nixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.tar.lz
nixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.tar.xz
nixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.tar.zst
nixlib-723c7c9a1d2eb2b462fa4c42b64105cbd716cc4e.zip
Merge pull request #160065 from Stunkymonkey/hdf5-appendToName
-rw-r--r--pkgs/tools/misc/hdf5/default.nix14
-rw-r--r--pkgs/top-level/all-packages.nix19
2 files changed, 15 insertions, 18 deletions
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 5671e73c85f8..d34282259026 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -15,6 +15,7 @@
 , javaSupport ? false
 , jdk
 , usev110Api ? false
+, threadsafe ? false
 }:
 
 # cpp and mpi options are mutually exclusive
@@ -25,9 +26,14 @@ let inherit (lib) optional optionals; in
 
 stdenv.mkDerivation rec {
   version = "1.12.1";
-  pname = "hdf5";
+  pname = "hdf5"
+    + lib.optionalString cppSupport "-cpp"
+    + lib.optionalString fortranSupport "-fortran"
+    + lib.optionalString mpiSupport "-mpi"
+    + lib.optionalString threadsafe "-threadsafe";
+
   src = fetchurl {
-    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/${pname}-${version}/src/${pname}-${version}.tar.bz2";
+    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/hdf5-${version}/src/hdf5-${version}.tar.bz2";
     sha256 = "sha256-qvn1MrPtqD09Otyfi0Cpt2MVIhj6RTScO8d1Asofjxw=";
   };
 
@@ -63,7 +69,9 @@ stdenv.mkDerivation rec {
     ++ optionals mpiSupport [ "--enable-parallel" "CC=${mpi}/bin/mpicc" ]
     ++ optional enableShared "--enable-shared"
     ++ optional javaSupport "--enable-java"
-    ++ optional usev110Api "--with-default-api-version=v110";
+    ++ optional usev110Api "--with-default-api-version=v110"
+    # hdf5 hl (High Level) library is not considered stable with thread safety and should be disabled.
+    ++ optionals threadsafe [ "--enable-threadsafe" "--disable-hl" ];
 
   patches = [
     ./bin-mv.patch
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e8408a9dad28..7ebeab8710b7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6432,24 +6432,13 @@ with pkgs;
 
   hdf5_1_10 = callPackage ../tools/misc/hdf5/1.10.nix { };
 
-  hdf5-mpi = appendToName "mpi" (hdf5.override {
-    mpiSupport = true;
-  });
+  hdf5-mpi = hdf5.override { mpiSupport = true; };
 
-  hdf5-cpp = appendToName "cpp" (hdf5.override {
-    cppSupport = true;
-  });
+  hdf5-cpp = hdf5.override { cppSupport = true; };
 
-  hdf5-fortran = appendToName "fortran" (hdf5.override {
-    fortranSupport = true;
-  });
+  hdf5-fortran = hdf5.override { fortranSupport = true; };
 
-  hdf5-threadsafe = appendToName "threadsafe" (hdf5.overrideAttrs (oldAttrs: {
-      # Threadsafe hdf5
-      # However, hdf5 hl (High Level) library is not considered stable
-      # with thread safety and should be disabled.
-      configureFlags = oldAttrs.configureFlags ++ ["--enable-threadsafe" "--disable-hl" ];
-  }));
+  hdf5-threadsafe = hdf5.override { threadsafe = true; };
 
   hdf5-blosc = callPackage ../development/libraries/hdf5-blosc { };