3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/misc/qdirstat/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00

58 lines
1.4 KiB
Nix

{ lib, stdenv, fetchFromGitHub, qmake
, coreutils, xdg_utils, bash
, makeWrapper, perlPackages, mkDerivation }:
let
pname = "qdirstat";
version = "1.7";
src = fetchFromGitHub {
owner = "shundhammer";
repo = pname;
rev = version;
sha256 = "163x3fxra0l3vvrzm25mh7jvcwjbmwsqlpppkxx76mkz9a1769fy";
};
in
mkDerivation {
inherit pname version src;
nativeBuildInputs = [ qmake makeWrapper ];
buildInputs = [ perlPackages.perl ];
postPatch = ''
substituteInPlace scripts/scripts.pro \
--replace /bin/true ${coreutils}/bin/true
for i in src/SysUtil.cpp src/FileSizeStatsWindow.cpp
do
substituteInPlace $i \
--replace /usr/bin/xdg-open ${xdg_utils}/bin/xdg-open
done
for i in src/Cleanup.cpp src/cleanup-config-page.ui
do
substituteInPlace $i \
--replace /bin/bash ${bash}/bin/bash \
--replace /bin/sh ${bash}/bin/sh
done
substituteInPlace src/StdCleanup.cpp \
--replace /bin/bash ${bash}/bin/bash
'';
qmakeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ];
postInstall = ''
wrapProgram $out/bin/qdirstat-cache-writer \
--set PERL5LIB "${perlPackages.makePerlPath [ perlPackages.URI ]}"
'';
meta = with lib; {
description = "Graphical disk usage analyzer";
homepage = src.meta.homepage;
license = licenses.gpl2;
maintainers = with maintainers; [ gnidorah ];
platforms = platforms.linux;
};
}