diff options
Diffstat (limited to 'pkgs/os-specific/linux/microcode/amd.nix')
-rw-r--r-- | pkgs/os-specific/linux/microcode/amd.nix | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/pkgs/os-specific/linux/microcode/amd.nix b/pkgs/os-specific/linux/microcode/amd.nix index 72f413f9cb6..3c82cdec29f 100644 --- a/pkgs/os-specific/linux/microcode/amd.nix +++ b/pkgs/os-specific/linux/microcode/amd.nix @@ -1,23 +1,25 @@ -{ lib, stdenv, firmwareLinuxNonfree, libarchive }: +{ lib, stdenv, linux-firmware, libarchive }: stdenv.mkDerivation { - name = "amd-ucode-${firmwareLinuxNonfree.version}"; + pname = "amd-ucode"; + version = linux-firmware.version; - src = firmwareLinuxNonfree; + src = linux-firmware; sourceRoot = "."; - buildInputs = [ libarchive ]; + nativeBuildInputs = [ libarchive ]; buildPhase = '' mkdir -p kernel/x86/microcode - find ${firmwareLinuxNonfree}/lib/firmware/amd-ucode -name \*.bin \ - -exec sh -c 'cat {} >> kernel/x86/microcode/AuthenticAMD.bin' \; + find ${linux-firmware}/lib/firmware/amd-ucode -name \*.bin -print0 | sort -z |\ + xargs -0 -I{} sh -c 'cat {} >> kernel/x86/microcode/AuthenticAMD.bin' ''; installPhase = '' mkdir -p $out - echo kernel/x86/microcode/AuthenticAMD.bin | bsdcpio -o -H newc -R 0:0 > $out/amd-ucode.img + touch -d @$SOURCE_DATE_EPOCH kernel/x86/microcode/AuthenticAMD.bin + echo kernel/x86/microcode/AuthenticAMD.bin | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- > $out/amd-ucode.img ''; meta = with lib; { |