otadump: init at 0.1.2 (#329129)
[NixPkgs.git] / pkgs / by-name / mi / microcode-intel / package.nix
blob46769b79174fe1c6b54b7b034b814bcdc4d8a738
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   libarchive,
6   iucode-tool,
7 }:
9 stdenv.mkDerivation rec {
10   pname = "microcode-intel";
11   version = "20241112";
13   src = fetchFromGitHub {
14     owner = "intel";
15     repo = "Intel-Linux-Processor-Microcode-Data-Files";
16     rev = "microcode-${version}";
17     hash = "sha256-dvXt4SX/90oFM4GR9R7C2udhZ+plxnabOZpbtwN3V8Q=";
18   };
20   nativeBuildInputs = [
21     iucode-tool
22     libarchive
23   ];
25   installPhase = ''
26     runHook preInstall
28     mkdir -p $out kernel/x86/microcode
29     iucode_tool -w kernel/x86/microcode/GenuineIntel.bin intel-ucode/
30     touch -d @$SOURCE_DATE_EPOCH kernel/x86/microcode/GenuineIntel.bin
31     echo kernel/x86/microcode/GenuineIntel.bin | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- > $out/intel-ucode.img
33     runHook postInstall
34   '';
36   meta = with lib; {
37     homepage = "https://www.intel.com/";
38     changelog = "https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/${src.rev}";
39     description = "Microcode for Intel processors";
40     license = licenses.unfreeRedistributableFirmware;
41     platforms = [
42       "i686-linux"
43       "x86_64-linux"
44     ];
45     maintainers = with maintainers; [ felixsinger ];
46   };