1{
2 lib,
3 stdenv,
4 fetchurl,
5 unzip,
6 jre,
7 makeDesktopItem,
8 copyDesktopItems,
9}:
10
11let
12 desktopItem = makeDesktopItem {
13 desktopName = "JDiskReport";
14 genericName = "A graphical utility to visualize disk usage";
15 categories = [ "Utility" ];
16 exec = "jdiskreport";
17 name = "jdiskreport";
18 };
19in
20stdenv.mkDerivation rec {
21 pname = "jdiskreport";
22 version = "1.4.1";
23
24 src = fetchurl {
25 url = "https://www.jgoodies.com/download/jdiskreport/jdiskreport-${
26 lib.replaceStrings [ "." ] [ "_" ] version
27 }.zip";
28 sha256 = "0d5mzkwsbh9s9b1vyvpaawqc09b0q41l2a7pmwf7386b1fsx6d58";
29 };
30
31 nativeBuildInputs = [
32 copyDesktopItems
33 unzip
34 ];
35 inherit jre;
36
37 installPhase = ''
38 runHook preInstall
39
40 unzip $src
41
42 jar=$(ls */*.jar)
43
44 mkdir -p $out/share/java
45 mv $jar $out/share/java
46
47 mkdir -p $out/bin
48 cat > $out/bin/jdiskreport <<EOF
49 #! $SHELL -e
50 exec $jre/bin/java -jar $out/share/java/$(basename $jar)
51 EOF
52 chmod +x $out/bin/jdiskreport
53
54 runHook postInstall
55 '';
56
57 desktopItems = [ desktopItem ];
58
59 meta = with lib; {
60 homepage = "http://www.jgoodies.com/freeware/jdiskreport/";
61 description = "Graphical utility to visualize disk usage";
62 sourceProvenance = with sourceTypes; [ binaryBytecode ];
63 license = licenses.unfreeRedistributable; # TODO freedist, libs under BSD-3
64 platforms = [
65 "x86_64-linux"
66 "x86_64-darwin"
67 ];
68 maintainers = with maintainers; [ kylesferrazza ];
69 mainProgram = "jdiskreport";
70 };
71}