diff options
-rw-r--r-- | pkgs/development/tools/async-profiler/0001-Fix-darwin-build.patch | 27 | ||||
-rw-r--r-- | pkgs/development/tools/async-profiler/default.nix | 5 |
2 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/development/tools/async-profiler/0001-Fix-darwin-build.patch b/pkgs/development/tools/async-profiler/0001-Fix-darwin-build.patch new file mode 100644 index 00000000000..bfb636bf562 --- /dev/null +++ b/pkgs/development/tools/async-profiler/0001-Fix-darwin-build.patch @@ -0,0 +1,27 @@ +From e54c17899118ea940c36bc17a48d8ff759243f16 Mon Sep 17 00:00:00 2001 +From: Uri Baghin <uri@canva.com> +Date: Sat, 8 May 2021 09:49:18 +1000 +Subject: [PATCH] Fix darwin build. + +--- + src/itimer.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/itimer.cpp b/src/itimer.cpp +index 08c46d1..52628ef 100644 +--- a/src/itimer.cpp ++++ b/src/itimer.cpp +@@ -52,8 +52,8 @@ Error ITimer::start(Arguments& args) { + + OS::installSignalHandler(SIGPROF, signalHandler); + +- long sec = _interval / 1000000000; +- long usec = (_interval % 1000000000) / 1000; ++ time_t sec = _interval / 1000000000; ++ suseconds_t usec = (_interval % 1000000000) / 1000; + struct itimerval tv = {{sec, usec}, {sec, usec}}; + + if (setitimer(ITIMER_PROF, &tv, NULL) != 0) { +-- +2.31.1 + diff --git a/pkgs/development/tools/async-profiler/default.nix b/pkgs/development/tools/async-profiler/default.nix index d271528de7e..66177d3a34f 100644 --- a/pkgs/development/tools/async-profiler/default.nix +++ b/pkgs/development/tools/async-profiler/default.nix @@ -22,6 +22,11 @@ stdenv.mkDerivation rec { runHook postInstall ''; + patches = [ + # https://github.com/jvm-profiling-tools/async-profiler/pull/428 + ./0001-Fix-darwin-build.patch + ]; + fixupPhase = '' substituteInPlace $out/bin/async-profiler \ --replace 'JATTACH=$SCRIPT_DIR/build/jattach' \ |