diff options
-rw-r--r-- | pkgs/tools/misc/hdf4/default.nix | 76 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix new file mode 100644 index 0000000000000..a227030f0bc4a --- /dev/null +++ b/pkgs/tools/misc/hdf4/default.nix @@ -0,0 +1,76 @@ +{ stdenv +, fetchurl +, cmake +, libjpeg +, szip +, zlib +}: + +stdenv.mkDerivation rec { + name = "hdf-${version}"; + version = "4.2.12"; + src = fetchurl { + url = "https://support.hdfgroup.org/ftp/HDF/releases/HDF${version}/src/hdf-${version}.tar.bz2"; + sha256 = "020jh563sjyxsgml8l809d2i1d4ms9shivwj3gbm7n0ilxbll8id"; + }; + + buildInputs = [ + cmake + libjpeg + szip + zlib + ]; + + preConfigure = "export SZIP_INSTALL=${szip}"; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_TESTING=ON" + "-DHDF4_BUILD_TOOLS=ON" + "-DHDF4_BUILD_UTILS=ON" + "-DHDF4_BUILD_WITH_INSTALL_NAME=OFF" + "-DHDF4_ENABLE_JPEG_LIB_SUPPORT=ON" + "-DHDF4_ENABLE_NETCDF=OFF" + "-DHDF4_ENABLE_SZIP_ENCODING=ON" + "-DHDF4_ENABLE_SZIP_SUPPORT=ON" + "-DHDF4_ENABLE_Z_LIB_SUPPORT=ON" + "-DHDF4_BUILD_FORTRAN=OFF" + "-DJPEG_DIR=${libjpeg}" + ]; + + doCheck = true; + + preCheck = '' + export LD_LIBRARY_PATH=$(pwd)/bin + '' + stdenv.lib.optionalString (stdenv.isDarwin) '' + export DYLD_LIBRARY_PATH=$(pwd)/bin + ''; + + excludedTests = [ + "MFHDF_TEST-hdftest" + "MFHDF_TEST-hdftest-shared" + "HDP-dumpsds-18" + "NC_TEST-nctest" + ]; + + checkPhase = let excludedTestsRegex = if (excludedTests != []) + then "(" + (stdenv.lib.concatStringsSep "|" excludedTests) + ")" + else ""; in '' + runHook preCheck + ctest -E "${excludedTestsRegex}" --output-on-failure + runHook postCheck + ''; + + outputs = [ "bin" "dev" "out" ]; + + postInstall = '' + moveToOutput bin "$bin" + ''; + + meta = { + description = "Data model, library, and file format for storing and managing data"; + homepage = https://support.hdfgroup.org/products/hdf4/; + maintainers = with stdenv.lib.maintainers; [ knedlsepp ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e4ed1329f9f23..fd8aa98c0dc2f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2277,6 +2277,8 @@ with pkgs; hddtemp = callPackage ../tools/misc/hddtemp { }; + hdf4 = callPackage ../tools/misc/hdf4 { }; + hdf5 = callPackage ../tools/misc/hdf5 { gfortran = null; szip = null; |