aboutsummaryrefslogtreecommitdiff
path: root/pkgs/coreboot-payload-coreinfo/default.nix
blob: 6513031330c5936dcc6b9270d87107c4b0169c4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{ coreboot, lib, stdenv, writeText, coreinfoConfig ? {}, ... }:

let
  filteredConfig = lib.filterAttrs (n: v: v != null) coreinfoConfig;
  lines = lib.mapAttrsToList (name: value: "${name}=${value}") filteredConfig;
  configFile = writeText "config" (lib.concatStringsSep "\n" lines);
in stdenv.mkDerivation rec {
  pname = "coreboot-payload-coreinfo";
  inherit (coreboot.drvAttrs) version src postPatch;

  preConfigure = "cd payloads/coreinfo";
  configurePhase = ''
    runHook preConfigure
    cp ${configFile} .config
    make olddefconfig
    runHook postConfigure
  '';
  installPhase = "install -D build/coreinfo.elf -t $out";
}