aboutsummaryrefslogtreecommitdiff
path: root/pkgs/coreboot-payload-coreinfo/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/coreboot-payload-coreinfo/default.nix')
-rw-r--r--pkgs/coreboot-payload-coreinfo/default.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/pkgs/coreboot-payload-coreinfo/default.nix b/pkgs/coreboot-payload-coreinfo/default.nix
new file mode 100644
index 000000000000..6513031330c5
--- /dev/null
+++ b/pkgs/coreboot-payload-coreinfo/default.nix
@@ -0,0 +1,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";
+}