lol
at 22.05-pre 58 lines 1.5 kB view raw
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}