Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 qmake,
5 qtbase,
6 perl,
7 php,
8 kcachegrind,
9 wrapQtAppsHook,
10}:
11
12stdenv.mkDerivation {
13 pname = "qcachegrind";
14 version = kcachegrind.version;
15
16 src = kcachegrind.src;
17
18 buildInputs = [
19 qtbase
20 perl
21 php
22 ];
23
24 nativeBuildInputs = [
25 qmake
26 wrapQtAppsHook
27 ];
28
29 dontWrapQtApps = true;
30
31 postInstall = ''
32 mkdir -p $out/bin
33 cp -p converters/dprof2calltree $out/bin/dprof2calltree
34 cp -p converters/memprof2calltree $out/bin/memprof2calltree
35 cp -p converters/op2calltree $out/bin/op2calltree
36 cp -p converters/pprof2calltree $out/bin/pprof2calltree
37 chmod -R +x $out/bin/
38 ''
39 + (
40 if stdenv.hostPlatform.isDarwin then
41 ''
42 mkdir -p $out/Applications
43 cp cgview/cgview.app/Contents/MacOS/cgview $out/bin
44 cp -a qcachegrind/qcachegrind.app $out/Applications
45 ''
46 else
47 ''
48 install qcachegrind/qcachegrind cgview/cgview -t "$out/bin"
49 install -Dm644 qcachegrind/qcachegrind.desktop -t "$out/share/applications"
50 install -Dm644 kcachegrind/32-apps-kcachegrind.png "$out/share/icons/hicolor/32x32/apps/kcachegrind.png"
51 install -Dm644 kcachegrind/48-apps-kcachegrind.png "$out/share/icons/hicolor/48x48/apps/kcachegrind.png"
52 ''
53 );
54
55 preFixup = ''
56 wrapQtApp "$out/bin/qcachegrind"
57 '';
58
59 meta = with lib; {
60 broken = stdenv.hostPlatform.isDarwin;
61 description = "Qt GUI to visualize profiling data";
62 license = licenses.gpl2Plus;
63 platforms = platforms.unix;
64 maintainers = with maintainers; [ periklis ];
65 };
66}