diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix index da180f0d4b7a..94e1d704b275 100644 --- a/pkgs/development/tools/analysis/rr/default.nix +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchFromGitHub, fetchpatch -, cmake, libpfm, zlib, pkg-config, python3Packages, which, procps, gdb, capnproto +, cmake, pkg-config, which, makeWrapper +, libpfm, zlib, python3Packages, procps, gdb, capnproto }: stdenv.mkDerivation rec { @@ -38,11 +39,11 @@ stdenv.mkDerivation rec { # See also https://github.com/NixOS/nixpkgs/pull/110846 preConfigure = ''substituteInPlace CMakeLists.txt --replace "-flto" ""''; - nativeBuildInputs = [ cmake pkg-config which ]; + nativeBuildInputs = [ cmake pkg-config which makeWrapper ]; buildInputs = [ libpfm zlib python3Packages.python python3Packages.pexpect procps gdb capnproto + libpfm zlib python3Packages.python python3Packages.pexpect procps capnproto ]; - propagatedBuildInputs = [ gdb ]; # needs GDB to replay programs at runtime cmakeFlags = [ "-Ddisable32bit=ON" ]; @@ -57,6 +58,14 @@ stdenv.mkDerivation rec { preCheck = "export HOME=$TMPDIR"; + # needs GDB to replay programs at runtime + preFixup = '' + wrapProgram "$out/bin/rr" \ + --prefix PATH ":" "${lib.makeBinPath [ + gdb + ]}"; + ''; + meta = { homepage = "https://rr-project.org/"; description = "Records nondeterministic executions and debugs them deterministically";