summary refs log tree commit diff
path: root/pkgs/development/tools/analysis/qcachegrind
diff options
context:
space:
mode:
authorPeriklis Tsirakidis <periklis.tsirakidis@mayflower.de>2017-03-12 21:54:14 +0100
committerRobert Helgesson <robert@rycee.net>2017-03-22 17:18:53 +0100
commita92dfe78e95ebe86736c6b02a0cadf939948f18c (patch)
tree3c978c0de5b0d3473c86e0f8c05660c8bcc08dd4 /pkgs/development/tools/analysis/qcachegrind
parent47183c813eaa1d96bc76dce41c873f18eead4454 (diff)
downloadnixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.tar
nixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.tar.gz
nixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.tar.bz2
nixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.tar.lz
nixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.tar.xz
nixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.tar.zst
nixpkgs-a92dfe78e95ebe86736c6b02a0cadf939948f18c.zip
qcachegrind: init at 16.12.3
Diffstat (limited to 'pkgs/development/tools/analysis/qcachegrind')
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
new file mode 100644
index 00000000000..865b3ad6797
--- /dev/null
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, cmake, qt, qmakeHook, makeQtWrapper, perl, python, php }:
+
+stdenv.mkDerivation rec {
+  name = "qcachegrind-${version}";
+  version = "16.12.3";
+
+  src = fetchurl {
+    url = "http://download.kde.org/stable/applications/${version}/src/kcachegrind-${version}.tar.xz";
+    sha256 = "109y94nz96izzsjjdpj9c6g344rcr86srp5w0433mssbyvym4x7q";
+  };
+
+  buildInputs = [ qt.qtbase perl python php ];
+
+  nativeBuildInputs = [ qmakeHook makeQtWrapper ];
+
+  postInstall = ''
+     mkdir -p $out/bin
+     cp -p converters/dprof2calltree $out/bin/dprof2calltree
+     cp -p converters/hotshot2calltree.cmake $out/bin/hotshot2calltree
+     cp -p converters/memprof2calltree $out/bin/memprof2calltree
+     cp -p converters/op2calltree $out/bin/op2calltree
+     cp -p converters/pprof2calltree $out/bin/pprof2calltree
+     chmod -R +x $out/bin/
+  '' + (if stdenv.isDarwin then ''
+    mkdir -p $out/Applications
+    cp cgview/cgview.app/Contents/MacOS/cgview $out/bin
+    cp -a qcachegrind/qcachegrind.app $out/Applications
+    wrapQtProgram $out/Applications/qcachegrind.app/Contents/MacOS/qcachegrind
+  '' else ''
+    install qcachegrind/qcachegrind cgview/cgview -t "$out/bin"
+    wrapQtProgram "$out/bin/qcachegrind"
+    install -Dm644 qcachegrind/qcachegrind.desktop -t "$out/share/applications"
+    install -Dm644 kcachegrind/hi32-app-kcachegrind.png "$out/share/icons/hicolor/32x32/apps/kcachegrind.png"
+    install -Dm644 kcachegrind/hi48-app-kcachegrind.png "$out/share/icons/hicolor/48x48/apps/kcachegrind.png"
+  '');
+
+  meta = with stdenv.lib; {
+    description = "A Qt GUI to visualize profiling data";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ periklis ];
+  };
+}