summary refs log tree commit diff
path: root/pkgs/tools/misc/hdfview
diff options
context:
space:
mode:
authorAstro <astro@spaceboyz.net>2021-02-16 23:27:31 +0100
committerAstro <astro@spaceboyz.net>2021-02-17 22:34:49 +0100
commit4c1f3b87b89a4758639131183066e1ec7b0f90e9 (patch)
treea21e09e14389b5acae779d61bb6e3ad12a49206a /pkgs/tools/misc/hdfview
parenta419187458c4672dce257494666a65ac59ffd1b3 (diff)
downloadnixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.tar
nixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.tar.gz
nixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.tar.bz2
nixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.tar.lz
nixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.tar.xz
nixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.tar.zst
nixpkgs-4c1f3b87b89a4758639131183066e1ec7b0f90e9.zip
hdfview: 2.14 -> 3.1.2
Diffstat (limited to 'pkgs/tools/misc/hdfview')
-rw-r--r--pkgs/tools/misc/hdfview/default.nix55
1 files changed, 37 insertions, 18 deletions
diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix
index dc13bb52791..8537e5748c3 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;
   };
 }