lol
1{ lib, stdenv, fetchurl, ant, jdk, nettools, hdf4, hdf5, makeDesktopItem, copyDesktopItems }:
2
3stdenv.mkDerivation rec {
4 pname = "hdfview";
5 version = "3.1.3";
6
7 src = fetchurl {
8 url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz";
9 sha256 = "sha256-VmgHSVMFoy09plU5pSnyaPz8N15toy7QfCtXI7mqDGY=";
10 };
11
12 nativeBuildInputs = [
13 ant jdk
14 nettools # "hostname" required
15 copyDesktopItems
16 ];
17
18 HDFLIBS = (hdf4.override { javaSupport = true; }).out;
19 HDF5LIBS = (hdf5.override { javaSupport = true; }).out;
20
21 buildPhase = ''
22 runHook preBuild
23
24 ant createJPackage
25
26 runHook postBuild
27 '';
28
29 desktopItem = makeDesktopItem rec {
30 name = "HDFView";
31 desktopName = name;
32 exec = name;
33 icon = name;
34 comment = meta.description;
35 categories = "Science;DataVisualization;";
36 };
37
38 installPhase = ''
39 runHook preInstall
40
41 mkdir -p $out/bin $out/lib
42 cp -a build/dist/HDFView/bin/HDFView $out/bin/
43 cp -a build/dist/HDFView/lib/app $out/lib/
44 ln -s ${jdk}/lib/openjdk $out/lib/runtime
45
46 mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps
47 cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/
48
49 runHook postInstall
50 '';
51
52 meta = {
53 description = "A visual tool for browsing and editing HDF4 and HDF5 files";
54 license = lib.licenses.free; # BSD-like
55 homepage = "https://portal.hdfgroup.org/display/HDFVIEW/HDFView";
56 platforms = lib.platforms.linux;
57 };
58}