From d1ca6bd23e4c71353b12bc9a682299af802a0ff7 Mon Sep 17 00:00:00 2001 From: Astro Date: Tue, 16 Feb 2021 22:52:46 +0100 Subject: [PATCH 1/4] hdf5: 1.10.6 -> 1.10.7 --- pkgs/tools/misc/hdf5/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index fc7bb635040a..c6fd5cde599b 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -17,11 +17,11 @@ assert !cpp || !mpiSupport; let inherit (lib) optional optionals; in stdenv.mkDerivation rec { - version = "1.10.6"; + version = "1.10.7"; pname = "hdf5"; src = fetchurl { url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${pname}-${version}/src/${pname}-${version}.tar.bz2"; - sha256 = "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9"; + sha256 = "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082"; }; passthru = { From a419187458c4672dce257494666a65ac59ffd1b3 Mon Sep 17 00:00:00 2001 From: Astro Date: Tue, 16 Feb 2021 23:24:14 +0100 Subject: [PATCH 2/4] hdf4, hdf5: add javaSupport flag --- pkgs/tools/misc/hdf4/default.nix | 17 +++++++++++++---- pkgs/tools/misc/hdf5/default.nix | 8 ++++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix index d127bc25c3c6..5373c64d647c 100644 --- a/pkgs/tools/misc/hdf4/default.nix +++ b/pkgs/tools/misc/hdf4/default.nix @@ -4,11 +4,15 @@ , fixDarwinDylibNames , cmake , libjpeg +, uselibtirpc ? stdenv.isLinux , libtirpc , zlib , szip ? null +, javaSupport ? false +, jdk }: -let uselibtirpc = stdenv.isLinux; +let + javabase = "${jdk}/jre/lib/${jdk.architecture}"; in stdenv.mkDerivation rec { pname = "hdf"; @@ -52,9 +56,9 @@ stdenv.mkDerivation rec { libjpeg szip zlib - ] ++ lib.optionals uselibtirpc [ - libtirpc - ]; + ] + ++ lib.optional javaSupport jdk + ++ lib.optional uselibtirpc libtirpc; preConfigure = lib.optionalString uselibtirpc '' # Make tirpc discovery work with CMAKE_PREFIX_PATH @@ -75,6 +79,11 @@ stdenv.mkDerivation rec { "-DHDF4_ENABLE_Z_LIB_SUPPORT=ON" "-DHDF4_BUILD_FORTRAN=OFF" "-DJPEG_DIR=${libjpeg}" + ] ++ lib.optionals javaSupport [ + "-DHDF4_BUILD_JAVA=ON" + "-DJAVA_HOME=${jdk}" + "-DJAVA_AWT_LIBRARY=${javabase}/libawt.so" + "-DJAVA_JVM_LIBRARY=${javabase}/server/libjvm.so" ] ++ lib.optionals (szip != null) [ "-DHDF4_ENABLE_SZIP_ENCODING=ON" "-DHDF4_ENABLE_SZIP_SUPPORT=ON" diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index c6fd5cde599b..e97a6dbdd189 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -8,6 +8,8 @@ , mpiSupport ? false , mpi , enableShared ? !stdenv.hostPlatform.isStatic +, javaSupport ? false +, jdk }: # cpp and mpi options are mutually exclusive @@ -35,7 +37,8 @@ stdenv.mkDerivation rec { buildInputs = [] ++ optional (gfortran != null) gfortran - ++ optional (szip != null) szip; + ++ optional (szip != null) szip + ++ optional javaSupport jdk; propagatedBuildInputs = [] ++ optional (zlib != null) zlib @@ -46,7 +49,8 @@ stdenv.mkDerivation rec { ++ optional (gfortran != null) "--enable-fortran" ++ optional (szip != null) "--with-szlib=${szip}" ++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"] - ++ optional enableShared "--enable-shared"; + ++ optional enableShared "--enable-shared" + ++ optional javaSupport "--enable-java"; patches = [ ./bin-mv.patch From 4c1f3b87b89a4758639131183066e1ec7b0f90e9 Mon Sep 17 00:00:00 2001 From: Astro Date: Tue, 16 Feb 2021 23:27:31 +0100 Subject: [PATCH 3/4] hdfview: 2.14 -> 3.1.2 --- pkgs/tools/misc/hdfview/default.nix | 55 +++++++++++++++++++---------- pkgs/top-level/all-packages.nix | 4 +-- 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix index dc13bb52791f..8537e5748c30 100644 --- a/pkgs/tools/misc/hdfview/default.nix +++ b/pkgs/tools/misc/hdfview/default.nix @@ -1,39 +1,58 @@ -{ lib, stdenv, fetchurl, ant, javac, hdf_java }: +{ lib, stdenv, fetchurl, ant, jdk, nettools, hdf4, hdf5, makeDesktopItem, copyDesktopItems }: stdenv.mkDerivation rec { pname = "hdfview"; - version = "2.14"; + version = "3.1.2"; src = fetchurl { - url = "https://support.hdfgroup.org/ftp/HDF5/hdf-java/current/src/${pname}-${version}.tar.gz"; - sha256 = "0lv9djfm7hnp14mcyzbiax3xjb8vkbzhh7bdl6cvgy53pc08784p"; + url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz"; + sha256 = "0kyw9i3f817z71l0ak7shl0wqxasz9h5fl05mklyapa7cj27637c"; }; - nativeBuildInputs = [ ant javac ]; + nativeBuildInputs = [ + ant jdk + nettools # "hostname" required + copyDesktopItems + ]; - HDFLIBS = hdf_java; + HDFLIBS = (hdf4.override { javaSupport = true; }).out; + HDF5LIBS = (hdf5.override { javaSupport = true; }).out; buildPhase = '' - ant run - ant package + runHook preBuild + + ant createJPackage + + runHook postBuild ''; + desktopItem = makeDesktopItem rec { + name = "HDFView"; + desktopName = name; + exec = name; + icon = name; + comment = meta.description; + categories = "Science;DataVisualization;"; + }; + installPhase = '' - mkdir $out - # exclude jre - cp -r build/HDF_Group/HDFView/*/{lib,share} $out/ - mkdir $out/bin - cp -r build/HDF_Group/HDFView/*/hdfview.sh $out/bin/hdfview - chmod +x $out/bin/hdfview - substituteInPlace $out/bin/hdfview \ - --replace "@JAVABIN@" "${javac}/bin/" \ - --replace "@INSTALLDIR@" "$out" + runHook preInstall + + mkdir -p $out/bin $out/lib + cp -a build/dist/HDFView/bin/HDFView $out/bin/ + cp -a build/dist/HDFView/lib/app $out/lib/ + ln -s ${jdk}/lib/openjdk $out/lib/runtime + + mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps + cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/ + + runHook postInstall ''; meta = { description = "A visual tool for browsing and editing HDF4 and HDF5 files"; license = lib.licenses.free; # BSD-like - homepage = "https://support.hdfgroup.org/products/java/index.html"; + homepage = "https://portal.hdfgroup.org/display/HDFVIEW/HDFView"; platforms = lib.platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9527454d7652..3dec64193e0d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5109,9 +5109,7 @@ in hdf5-blosc = callPackage ../development/libraries/hdf5-blosc { }; - hdfview = callPackage ../tools/misc/hdfview { - javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731 - }; + hdfview = callPackage ../tools/misc/hdfview { }; hdf_java = callPackage ../tools/misc/hdfjava { javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731 From 9d502c281b0aba788b22e44ce361a8af6ebbdec3 Mon Sep 17 00:00:00 2001 From: Astro Date: Wed, 17 Feb 2021 01:26:12 +0100 Subject: [PATCH 4/4] hdf_java: remove The only dependee was hdfview. --- pkgs/tools/misc/hdfjava/default.nix | 27 --------------------------- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 31 deletions(-) delete mode 100644 pkgs/tools/misc/hdfjava/default.nix diff --git a/pkgs/tools/misc/hdfjava/default.nix b/pkgs/tools/misc/hdfjava/default.nix deleted file mode 100644 index 70a2f091116b..000000000000 --- a/pkgs/tools/misc/hdfjava/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, javac }: - -stdenv.mkDerivation rec { - pname = "hdf-java"; - version = "3.3.2"; - - src = fetchurl { - url = "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-${version}/src/CMake-hdfjava-${version}.tar.gz"; - sha256 = "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr"; - }; - - nativeBuildInputs = [ cmake javac ]; - - dontConfigure = true; - buildPhase = "./build-hdfjava-unix.sh"; - installPhase = '' - mkdir -p $out - cp -r build/_CPack_Packages/Linux/TGZ/HDFJava-3.3.2-Linux/HDF_Group/HDFJava/${version}/* $out/ - ''; - - meta = { - description = "A Java package that implements HDF4 and HDF5 data objects in an object-oriented form"; - license = lib.licenses.free; # BSD-like - homepage = "https://support.hdfgroup.org/products/java/index.html"; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3dec64193e0d..c8c3e327fbe1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5111,10 +5111,6 @@ in hdfview = callPackage ../tools/misc/hdfview { }; - hdf_java = callPackage ../tools/misc/hdfjava { - javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731 - }; - hecate = callPackage ../applications/editors/hecate { }; heaptrack = libsForQt5.callPackage ../development/tools/profiling/heaptrack {};