summary refs log tree commit diff
path: root/pkgs/tools/misc/hdf5
diff options
context:
space:
mode:
authorThomas Gerbet <thomas@gerbet.me>2021-04-06 19:19:28 +0200
committerThomas Gerbet <thomas@gerbet.me>2021-04-08 08:35:45 +0200
commitb9fcaefeb36f2efa1c157f4bd4e947ab54343248 (patch)
treec07be61ba2df1d801ce4078c28d3e5f48bc254e4 /pkgs/tools/misc/hdf5
parent5196dcf353e0c2d048a5479a3ecb417e13e808dd (diff)
downloadnixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.tar
nixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.tar.gz
nixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.tar.bz2
nixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.tar.lz
nixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.tar.xz
nixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.tar.zst
nixpkgs-b9fcaefeb36f2efa1c157f4bd4e947ab54343248.zip
hdf5_1_10: init at 1.10.7
Introduce hdf5_1_10 so it can be used by packages encountering issues
hdf5 1.12.0.
Diffstat (limited to 'pkgs/tools/misc/hdf5')
-rw-r--r--pkgs/tools/misc/hdf5/1.10.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/tools/misc/hdf5/1.10.nix b/pkgs/tools/misc/hdf5/1.10.nix
new file mode 100644
index 00000000000..1a972daf610
--- /dev/null
+++ b/pkgs/tools/misc/hdf5/1.10.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv
+, fetchurl
+, removeReferencesTo
+, zlib ? null
+, enableShared ? !stdenv.hostPlatform.isStatic
+}:
+
+let inherit (lib) optional optionals; in
+
+stdenv.mkDerivation rec {
+  version = "1.10.7";
+  pname = "hdf5";
+  src = fetchurl {
+    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/${pname}-${version}/src/${pname}-${version}.tar.bz2";
+    sha256 = "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ removeReferencesTo ];
+
+  propagatedBuildInputs = optional (zlib != null) zlib;
+
+  configureFlags = optional enableShared "--enable-shared";
+
+  patches = [
+    ./bin-mv.patch
+  ];
+
+  postInstall = ''
+    find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
+    moveToOutput 'bin/h5cc' "''${!outputDev}"
+    moveToOutput 'bin/h5c++' "''${!outputDev}"
+    moveToOutput 'bin/h5fc' "''${!outputDev}"
+    moveToOutput 'bin/h5pcc' "''${!outputDev}"
+  '';
+
+  meta = {
+    description = "Data model, library, and file format for storing and managing data";
+    longDescription = ''
+      HDF5 supports an unlimited variety of datatypes, and is designed for flexible and efficient
+      I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
+      applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and
+      applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.
+    '';
+    license = lib.licenses.bsd3; # Lawrence Berkeley National Labs BSD 3-Clause variant
+    homepage = "https://www.hdfgroup.org/HDF5/";
+    platforms = lib.platforms.unix;
+  };
+}