nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitLab,
5 cmake,
6 makeBinaryWrapper,
7 zlib,
8 boost,
9 libunwind,
10 elfutils,
11 sparsehash,
12 zstd,
13 kdePackages,
14}:
15
16stdenv.mkDerivation {
17 pname = "heaptrack";
18 version = "1.5.0-unstable-2025-07-21";
19
20 src = fetchFromGitLab {
21 domain = "invent.kde.org";
22 owner = "sdk";
23 repo = "heaptrack";
24 rev = "9db5d53df554959478575e080648f6854d362faf";
25 hash = "sha256-8NLpp/+PK3wIB5Sx0Z1185DCDQ18zsGj9Wp5YNKgX8E=";
26 };
27
28 nativeBuildInputs = [
29 cmake
30 kdePackages.extra-cmake-modules
31 makeBinaryWrapper
32 kdePackages.wrapQtAppsHook
33 ];
34
35 buildInputs = [
36 zlib
37 boost
38 libunwind
39 sparsehash
40 zstd
41 ]
42 ++ (with kdePackages; [
43 qtbase
44 kio
45 kitemmodels
46 threadweaver
47 kconfigwidgets
48 kcoreaddons
49 kdiagram
50 ])
51
52 ++ lib.optionals stdenv.hostPlatform.isLinux [
53 elfutils
54 ];
55
56 postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
57 makeWrapper \
58 $out/Applications/KDE/heaptrack_gui.app/Contents/MacOS/heaptrack_gui \
59 $out/bin/heaptrack_gui
60 '';
61
62 meta = {
63 description = "Heap memory profiler for Linux";
64 homepage = "https://github.com/KDE/heaptrack";
65 license = lib.licenses.lgpl21Plus;
66 mainProgram = "heaptrack_gui";
67 maintainers = [ ];
68 platforms = lib.platforms.unix;
69 };
70}