summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/linux-cros.nix
blob: edaa33ac0fb725454f52827ff971ec19309d3cf2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ 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.
    VIDEO_INTEL_IPU6 = no;

    # RTW88_8822*E were being selected as Y when N/m/? are the only valid options
    RTW88_8822BE = lib.mkForce module;
    RTW88_8822CE = lib.mkForce module;
  } // (args.structuredExtraConfig or {});
} // (args.argsOverride or {}))