Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 74 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 kernel, 6}: 7 8let 9 version = "0.1.5-unstable-2025-06-04"; 10 11 ## Upstream has not been merging PRs. 12 ## Nixpkgs maintainers are providing a 13 ## repo with PRs merged until upstream is 14 ## updated. 15 src = fetchFromGitHub { 16 owner = "amkillam"; 17 repo = "ryzen_smu"; 18 rev = "9f9569f889935f7c7294cc32c1467e5a4081701a"; 19 hash = "sha256-i8T0+kUYsFMzYO3h6ffUXP1fgGOXymC4Ml2dArQLOdk="; 20 }; 21 22 monitor-cpu = stdenv.mkDerivation { 23 pname = "monitor-cpu"; 24 inherit version src; 25 26 makeFlags = [ 27 "-C userspace" 28 ]; 29 30 installPhase = '' 31 runHook preInstall 32 33 install userspace/monitor_cpu -Dm755 -t $out/bin 34 35 runHook postInstall 36 ''; 37 }; 38 39in 40stdenv.mkDerivation { 41 pname = "ryzen-smu-${kernel.version}"; 42 inherit version src; 43 44 hardeningDisable = [ "pic" ]; 45 46 nativeBuildInputs = kernel.moduleBuildDependencies; 47 48 makeFlags = [ 49 "TARGET=${kernel.modDirVersion}" 50 "KERNEL_BUILD=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 51 ]; 52 53 installPhase = '' 54 runHook preInstall 55 56 install ryzen_smu.ko -Dm444 -t $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/ryzen_smu 57 install ${monitor-cpu}/bin/monitor_cpu -Dm755 -t $out/bin 58 59 runHook postInstall 60 ''; 61 62 meta = { 63 description = "Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors"; 64 homepage = "https://github.com/amkillam/ryzen_smu"; 65 license = lib.licenses.gpl2Plus; 66 maintainers = with lib.maintainers; [ 67 Cryolitia 68 phdyellow 69 aleksana 70 ]; 71 platforms = [ "x86_64-linux" ]; 72 mainProgram = "monitor_cpu"; 73 }; 74}