nixpkgs/pkgs/by-name/gr/grandperspective/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

41 lines
1.7 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ 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 doesnt 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;
};
})