diff options
author | Vladimír Čunát <v@cunat.cz> | 2021-07-29 16:18:49 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2021-09-20 17:28:26 +0200 |
commit | 3ef942befe8a9015c449ed9f26d1a336b80535d6 (patch) | |
tree | e166dc2504d68d1f0aaeff8f4329e4c689481f5a /pkgs/development/tools/analysis/rr | |
parent | ea1eae5b47014d721080ec464fe44ff72f95467e (diff) | |
download | nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.tar nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.tar.gz nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.tar.bz2 nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.tar.lz nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.tar.xz nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.tar.zst nixlib-3ef942befe8a9015c449ed9f26d1a336b80535d6.zip |
linuxPackages.rr-zen_workaround: init at 2020-09-22
Diffstat (limited to 'pkgs/development/tools/analysis/rr')
-rw-r--r-- | pkgs/development/tools/analysis/rr/zen_workaround.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/development/tools/analysis/rr/zen_workaround.nix b/pkgs/development/tools/analysis/rr/zen_workaround.nix new file mode 100644 index 000000000000..d15587d2a811 --- /dev/null +++ b/pkgs/development/tools/analysis/rr/zen_workaround.nix @@ -0,0 +1,44 @@ +{ stdenv, lib, fetchzip, kernel }: + +/* The python script shouldn't be needed for users of this kernel module. + https://github.com/rr-debugger/rr/blob/master/scripts/zen_workaround.py + The module itself is called "zen_workaround" (a bit generic unfortunatelly). +*/ +stdenv.mkDerivation rec { + pname = "rr-zen_workaround"; + version = "2020-09-22"; + + src = fetchzip { + url = "https://gist.github.com/glandium/01d54cefdb70561b5f6675e08f2990f2/archive/2f430f0c136a69b0886281d0c76708997d8878af.zip"; + sha256 = "1mbmbyymgl75wparv3rgnyxnc44rd6n935jziz9anl9apy031ryi"; + }; + + hardeningDisable = [ "pic" ]; + nativeBuildInputs = kernel.moduleBuildDependencies; + + makeFlags = [ + "-C${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + postConfigure = '' + makeFlags="$makeFlags M=$(pwd)" + ''; + buildFlags = "modules"; + + installPhase = let + modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel"; #TODO: longer path? + in '' + runHook preInstall + mkdir -p "${modDestDir}" + cp *.ko "${modDestDir}/" + find ${modDestDir} -name '*.ko' -exec xz -f '{}' \; + runHook postInstall + ''; + + meta = with lib; { + description = "Kernel module supporting the rr debugger on (some) AMD Zen-based CPUs"; + homepage = "https://github.com/rr-debugger/rr/wiki/Zen#kernel-module"; + license = licenses.gpl2; + maintainers = [ maintainers.vcunat ]; + platforms = platforms.linux; + }; +} |