Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / analysis / qcachegrind / default.nix
blob6a463c5660915c2e743c38a3fe8bbb18fa7829aa
1 { lib, stdenv, qmake, qtbase, perl, php, kcachegrind, wrapQtAppsHook }:
3 stdenv.mkDerivation {
4   pname = "qcachegrind";
5   version = kcachegrind.version;
7   src = kcachegrind.src;
9   buildInputs = [ qtbase perl php ];
11   nativeBuildInputs = [ qmake wrapQtAppsHook ];
13   dontWrapQtApps = true;
15   postInstall = ''
16      mkdir -p $out/bin
17      cp -p converters/dprof2calltree $out/bin/dprof2calltree
18      cp -p converters/memprof2calltree $out/bin/memprof2calltree
19      cp -p converters/op2calltree $out/bin/op2calltree
20      cp -p converters/pprof2calltree $out/bin/pprof2calltree
21      chmod -R +x $out/bin/
22   '' + (if stdenv.isDarwin then ''
23     mkdir -p $out/Applications
24     cp cgview/cgview.app/Contents/MacOS/cgview $out/bin
25     cp -a qcachegrind/qcachegrind.app $out/Applications
26   '' else ''
27     install qcachegrind/qcachegrind cgview/cgview -t "$out/bin"
28     install -Dm644 qcachegrind/qcachegrind.desktop -t "$out/share/applications"
29     install -Dm644 kcachegrind/32-apps-kcachegrind.png "$out/share/icons/hicolor/32x32/apps/kcachegrind.png"
30     install -Dm644 kcachegrind/48-apps-kcachegrind.png "$out/share/icons/hicolor/48x48/apps/kcachegrind.png"
31   '');
33   preFixup = ''
34     wrapQtApp "$out/bin/qcachegrind"
35   '';
37   meta = with lib; {
38     broken = stdenv.isDarwin;
39     description = "A Qt GUI to visualize profiling data";
40     license = licenses.gpl2Plus;
41     platforms = platforms.unix;
42     maintainers = with maintainers; [ periklis ];
43   };