about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/grandperspective/default.nix
blob: 816440ec1155ec6dd7d7146b8a66dc0bf82cbbfa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{ stdenv, lib, fetchurl, undmg, makeWrapper }:

stdenv.mkDerivation (finalAttrs: {
  version = "3.4.2";
  pname = "grandperspective";

  src = fetchurl {
    inherit (finalAttrs) version;
    url = "mirror://sourceforge/grandperspectiv/GrandPerspective-${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}.dmg";
    hash = "sha256-ZgyBeQCoixLGCFS8+UFoMilvtswplEC8MzK3BE4ocDg=";
  };

  sourceRoot = "GrandPerspective.app";
  buildInputs = [ undmg ];
  nativeBuildInputs = [ makeWrapper ];
  # Create a trampoline script in $out/bin/ because a symlink doesn’t work for
  # this app.
  installPhase = ''
    mkdir -p "$out/Applications/GrandPerspective.app" "$out/bin"
    cp -R . "$out/Applications/GrandPerspective.app"
    makeWrapper "$out/Applications/GrandPerspective.app/Contents/MacOS/GrandPerspective" "$out/bin/grandperspective"
  '';

  meta = with lib; {
    description = "Open-source macOS application to analyze disk usage";
    longDescription = ''
      GrandPerspective is a small utility application for macOS that graphically shows the disk usage within a file
      system. It can help you to manage your disk, as you can easily spot which files and folders take up the most
      space. It uses a so called tree map for visualisation. Each file is shown as a rectangle with an area proportional to
      the file's size. Files in the same folder appear together, but their placement is otherwise arbitrary.
    '';
    mainProgram = "grandperspective";
    homepage = "https://grandperspectiv.sourceforge.net";
    license = licenses.gpl2Only;
    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
    maintainers = with maintainers; [ eliandoran ];
    platforms = platforms.darwin;
  };

})