diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-08-04 10:43:07 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-08-04 10:43:07 +0000 |
commit | 62614cbef7da005c1eda8c9400160f6bcd6546b8 (patch) | |
tree | c2630f69080637987b68acb1ee8676d2681fe304 /pkgs/development/tools/async-profiler | |
parent | d9c82ed3044c72cecf01c6ea042489d30914577c (diff) | |
parent | e24069138dfec3ef94f211f1da005bb5395adc11 (diff) | |
download | nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.gz nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.bz2 nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.lz nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.xz nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.zst nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.zip |
Merge branch 'nixpkgs-update' into master
Diffstat (limited to 'pkgs/development/tools/async-profiler')
-rw-r--r-- | pkgs/development/tools/async-profiler/0001-Fix-darwin-build.patch | 27 | ||||
-rw-r--r-- | pkgs/development/tools/async-profiler/default.nix | 45 |
2 files changed, 72 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 new file mode 100644 index 00000000000..3f31b921831 --- /dev/null +++ b/pkgs/development/tools/async-profiler/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, fetchFromGitHub, jdk8 }: + +stdenv.mkDerivation rec { + pname = "async-profiler"; + version = "1.8.6"; + + src = fetchFromGitHub { + owner = "jvm-profiling-tools"; + repo = "async-profiler"; + rev = "v${version}"; + sha256 = "sha256-MtRO0tbo4kDHcQmir8ulv0q1Qh+KnKIshb1NDtu1SKg="; + }; + + buildInputs = [ jdk8 ]; + + installPhase = '' + runHook preInstall + install -D "$src/profiler.sh" "$out/bin/async-profiler" + install -D build/jattach "$out/bin/jattach" + install -D build/libasyncProfiler.so "$out/lib/libasyncProfiler.so" + install -D -t "$out/share/java/" build/*.jar + 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' \ + 'JATTACH=${placeholder "out"}/bin/jattach' \ + --replace 'PROFILER=$SCRIPT_DIR/build/libasyncProfiler.so' \ + 'PROFILER=${placeholder "out"}/lib/libasyncProfiler.so' + ''; + + meta = with lib; { + description = "A low overhead sampling profiler for Java that does not suffer from Safepoint bias problem"; + homepage = "https://github.com/jvm-profiling-tools/async-profiler"; + license = licenses.asl20; + maintainers = with maintainers; [ mschuwalow ]; + platforms = platforms.all; + }; +} |