summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/linux-cros.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/kernel/linux-cros.nix')
-rw-r--r--pkgs/os-specific/linux/kernel/linux-cros.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel/linux-cros.nix b/pkgs/os-specific/linux/kernel/linux-cros.nix
new file mode 100644
index 00000000000..789a9fb6fd2
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-cros.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, buildPackages, fetchFromGitiles, upstreamInfo, perl, buildLinux
+, modDirVersionArg ? null
+, ... } @ args:
+
+let
+  versionData = upstreamInfo.components."src/third_party/kernel/v5.4";
+in
+
+with lib;
+with lib.kernel;
+
+buildLinux (args // rec {
+  inherit (versionData) version;
+
+  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
+  modDirVersion =
+    if modDirVersionArg == null
+    then concatStringsSep "." (take 3 (splitVersion "${version}.0"))
+    else modDirVersionArg;
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = versions.majorMinor version;
+
+  src = fetchFromGitiles { inherit (versionData) name url rev sha256; };
+
+  updateScript = ../chromium-os/update.py;
+
+  structuredExtraConfig = {
+    # Enabling this (the default) caused a build failure.  If you can
+    # archieve a successful build with this enabled, go ahead and
+    # enable it.
+    ANALOGIX_ANX7625 = no;
+  } // (args.structuredExtraConfig or {});
+} // (args.argsOverride or {}))