about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEmily Trau <emily@downunderctf.com>2024-05-14 18:39:20 +1000
committerEmily Trau <emily@downunderctf.com>2024-05-14 20:55:39 +1000
commite1c76d93e5edcdf5f5d36cd33b8543196f05b3c8 (patch)
tree08802635ba1eca12dbe55761f4390d8ee78a4eed
parent4c4311ccbd345c0c18e31c78e76ba25c4f9f6563 (diff)
heaptrack: support darwin
-rw-r--r--pkgs/development/tools/profiling/heaptrack/default.nix19
1 files changed, 14 insertions, 5 deletions
diff --git a/pkgs/development/tools/profiling/heaptrack/default.nix b/pkgs/development/tools/profiling/heaptrack/default.nix
index 2e4d996af01e3..88de0065e8ec2 100644
--- a/pkgs/development/tools/profiling/heaptrack/default.nix
+++ b/pkgs/development/tools/profiling/heaptrack/default.nix
@@ -1,5 +1,5 @@
 {
-  lib, mkDerivation, fetchFromGitHub, cmake, extra-cmake-modules,
+  lib, stdenv, mkDerivation, fetchFromGitHub, cmake, extra-cmake-modules, makeBinaryWrapper,
   zlib, boost179, libunwind, elfutils, sparsehash, zstd,
   qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons, kdiagram
 }:
@@ -12,20 +12,29 @@ mkDerivation rec {
     owner = "KDE";
     repo = "heaptrack";
     rev = "v${version}";
-    sha256 = "sha256-pP+s60ERnmOctYTe/vezCg0VYzziApNY0QaF3aTccZU=";
+    hash = "sha256-pP+s60ERnmOctYTe/vezCg0VYzziApNY0QaF3aTccZU=";
   };
 
-  nativeBuildInputs = [ cmake extra-cmake-modules ];
+  nativeBuildInputs = [ cmake extra-cmake-modules makeBinaryWrapper ];
   buildInputs = [
-    zlib boost179 libunwind elfutils sparsehash zstd
+    zlib boost179 libunwind sparsehash zstd
     qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons kdiagram
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    elfutils
   ];
 
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    makeWrapper \
+      $out/Applications/KDE/heaptrack_gui.app/Contents/MacOS/heaptrack_gui \
+      $out/bin/heaptrack_gui
+  '';
+
   meta = with lib; {
     description = "Heap memory profiler for Linux";
     homepage = "https://github.com/KDE/heaptrack";
     license = licenses.lgpl21Plus;
+    mainProgram = "heaptrack_gui";
     maintainers = with maintainers; [ gebner ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }