summary refs log tree commit diff
path: root/pkgs/os-specific/linux/chromium-os
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-04-19 11:28:43 +0000
committerAlyssa Ross <hi@alyssa.is>2020-04-19 11:49:42 +0000
commit2bd191e91f097ff2146099fae8b7c8bd90817808 (patch)
tree1cd49b1a4d725a76f96118f3da78d0c8b6112a84 /pkgs/os-specific/linux/chromium-os
parentf867986f602459d4c73e6e2247738ea3804ea05e (diff)
downloadnixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.tar
nixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.tar.gz
nixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.tar.bz2
nixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.tar.lz
nixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.tar.xz
nixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.tar.zst
nixpkgs-2bd191e91f097ff2146099fae8b7c8bd90817808.zip
chromiumOSPackages: 79.12607.0.0-rc4 -> 81.12871.0.0-rc1
Diffstat (limited to 'pkgs/os-specific/linux/chromium-os')
-rw-r--r--pkgs/os-specific/linux/chromium-os/common-mk/0001-common-mk-don-t-leak-source-absolute-paths.patch18
-rw-r--r--pkgs/os-specific/linux/chromium-os/common-mk/0002-common-mk-.gn-don-t-hardcode-env-path.patch6
-rw-r--r--pkgs/os-specific/linux/chromium-os/common-mk/0003-Revert-common-mk-Suppress-Wrange-loop-analysis-warni.patch72
-rw-r--r--pkgs/os-specific/linux/chromium-os/common-mk/default.nix1
-rw-r--r--pkgs/os-specific/linux/chromium-os/crosvm/default.nix6
-rw-r--r--pkgs/os-specific/linux/chromium-os/default.nix21
-rw-r--r--pkgs/os-specific/linux/chromium-os/libqmi/default.nix26
-rw-r--r--pkgs/os-specific/linux/chromium-os/modem-manager/next.nix6
-rw-r--r--pkgs/os-specific/linux/chromium-os/sommelier/0004-sommelier-don-t-leak-source-absolute-paths.patch (renamed from pkgs/os-specific/linux/chromium-os/sommelier/0008-sommelier-don-t-leak-source-absolute-paths.patch)6
-rw-r--r--pkgs/os-specific/linux/chromium-os/sommelier/0005-sommelier-use-stable-xdg-shell-protocol.patch (renamed from pkgs/os-specific/linux/chromium-os/sommelier/0009-sommelier-use-stable-xdg-shell-protocol.patch)12
-rw-r--r--pkgs/os-specific/linux/chromium-os/sommelier/0006-sommelier-make-building-demos-optional.patch (renamed from pkgs/os-specific/linux/chromium-os/sommelier/0010-sommelier-make-building-demos-optional.patch)16
-rw-r--r--pkgs/os-specific/linux/chromium-os/sommelier/default.nix6
-rwxr-xr-xpkgs/os-specific/linux/chromium-os/update.py1
-rw-r--r--pkgs/os-specific/linux/chromium-os/upstream-info.json42
14 files changed, 172 insertions, 67 deletions
diff --git a/pkgs/os-specific/linux/chromium-os/common-mk/0001-common-mk-don-t-leak-source-absolute-paths.patch b/pkgs/os-specific/linux/chromium-os/common-mk/0001-common-mk-don-t-leak-source-absolute-paths.patch
index 769770db57e..741b50af1b4 100644
--- a/pkgs/os-specific/linux/chromium-os/common-mk/0001-common-mk-don-t-leak-source-absolute-paths.patch
+++ b/pkgs/os-specific/linux/chromium-os/common-mk/0001-common-mk-don-t-leak-source-absolute-paths.patch
@@ -1,7 +1,7 @@
-From 05622922a69bda21677a7f59b19214e3a00855c4 Mon Sep 17 00:00:00 2001
+From 56d3fe9520c1ef2a6400939f4deae06d9b5cdfc2 Mon Sep 17 00:00:00 2001
 From: Alyssa Ross <hi@alyssa.is>
 Date: Sun, 24 Nov 2019 16:56:11 +0000
-Subject: [PATCH 01/10] common-mk: don't leak source-absolute paths
+Subject: [PATCH 1/6] common-mk: don't leak source-absolute paths
 
 Source-absolute paths like //vm_tools/whatever were being leaked to
 subprocesses, which of course didn't know how to understand them.
@@ -55,7 +55,7 @@ index af3c3fb4c..151c49e56 100644
        args += [ "--description=" + description ]
      }
 diff --git a/common-mk/proto_library.gni b/common-mk/proto_library.gni
-index 70e32cafc..f6dce2760 100644
+index 7fcb08341..692704288 100644
 --- a/common-mk/proto_library.gni
 +++ b/common-mk/proto_library.gni
 @@ -56,7 +56,7 @@ template("proto_library") {
@@ -67,7 +67,7 @@ index 70e32cafc..f6dce2760 100644
  
      proto_lib_dirs = [
        proto_in_dir,
-@@ -92,24 +92,23 @@ template("proto_library") {
+@@ -94,24 +94,23 @@ template("proto_library") {
      args += [ "${proto_in_dir}/{{source_name_part}}.proto" ]
      outputs = []
      if (gen_python) {
@@ -97,7 +97,7 @@ index 70e32cafc..f6dce2760 100644
        ]
        outputs += [
          "${cc_dir}/{{source_name_part}}.grpc.pb.cc",
-@@ -119,7 +118,7 @@ template("proto_library") {
+@@ -121,7 +120,7 @@ template("proto_library") {
        ]
      }
      if (!gen_grpc && !gen_python) {
@@ -106,7 +106,7 @@ index 70e32cafc..f6dce2760 100644
        outputs += [
          "${cc_dir}/{{source_name_part}}.pb.cc",
          "${cc_dir}/{{source_name_part}}.pb.h",
-@@ -206,7 +205,9 @@ template("goproto_library") {
+@@ -208,7 +207,9 @@ template("goproto_library") {
      # otherwise file descriptor var name will conflict.
      # cf) https://github.com/golang/protobuf/issues/109
  
@@ -116,7 +116,7 @@ index 70e32cafc..f6dce2760 100644
  
      # Build protoc command line to run.
      script = "//common-mk/file_generator_wrapper.py"
-@@ -222,7 +223,7 @@ template("goproto_library") {
+@@ -224,7 +225,7 @@ template("goproto_library") {
        "--proto_path",
        "${sysroot}/usr/share/proto",
        "--go_out",
@@ -125,7 +125,7 @@ index 70e32cafc..f6dce2760 100644
      ]
      foreach(source, sources) {
        args += [ rebase_path(source) ]
-@@ -232,7 +233,7 @@ template("goproto_library") {
+@@ -234,7 +235,7 @@ template("goproto_library") {
      outputs = []
      foreach(source, invoker.sources) {
        name = get_path_info(source, "name")
@@ -135,5 +135,5 @@ index 70e32cafc..f6dce2760 100644
    }
  }
 -- 
-2.24.1
+2.25.1
 
diff --git a/pkgs/os-specific/linux/chromium-os/common-mk/0002-common-mk-.gn-don-t-hardcode-env-path.patch b/pkgs/os-specific/linux/chromium-os/common-mk/0002-common-mk-.gn-don-t-hardcode-env-path.patch
index 731b9ca1965..51c15dcd4cb 100644
--- a/pkgs/os-specific/linux/chromium-os/common-mk/0002-common-mk-.gn-don-t-hardcode-env-path.patch
+++ b/pkgs/os-specific/linux/chromium-os/common-mk/0002-common-mk-.gn-don-t-hardcode-env-path.patch
@@ -1,7 +1,7 @@
-From d3ea2a8f9f64e2aff9667f03a93540e2e72c0f30 Mon Sep 17 00:00:00 2001
+From ec1afec90fd8e391b93f53f0abd8bc11cdba0a32 Mon Sep 17 00:00:00 2001
 From: Alyssa Ross <hi@alyssa.is>
 Date: Sun, 24 Nov 2019 17:20:46 +0000
-Subject: [PATCH 02/10] common-mk: .gn: don't hardcode env path
+Subject: [PATCH 2/6] common-mk: .gn: don't hardcode env path
 
 This is needlessly non-portable.
 ---
@@ -19,5 +19,5 @@ index e7dba8c91..e29fcd61e 100644
 -script_executable = "/usr/bin/env"
 +script_executable = "env"
 -- 
-2.24.1
+2.25.1
 
diff --git a/pkgs/os-specific/linux/chromium-os/common-mk/0003-Revert-common-mk-Suppress-Wrange-loop-analysis-warni.patch b/pkgs/os-specific/linux/chromium-os/common-mk/0003-Revert-common-mk-Suppress-Wrange-loop-analysis-warni.patch
new file mode 100644
index 00000000000..d3d4e915163
--- /dev/null
+++ b/pkgs/os-specific/linux/chromium-os/common-mk/0003-Revert-common-mk-Suppress-Wrange-loop-analysis-warni.patch
@@ -0,0 +1,72 @@
+From b3add805d98e01488d71cbad51206f3a4949bb1c Mon Sep 17 00:00:00 2001
+From: Denis Nikitin <denik@chromium.org>
+Date: Wed, 5 Feb 2020 18:43:38 +0000
+Subject: [PATCH 3/6] Revert "common-mk: Suppress -Wrange-loop-analysis
+ warning"
+
+This reverts commit 09298dce8d31b5744a83784d027a3fd1e312eb6d.
+
+Reason for revert: <The warning is fixed in the upstream starting from r382025>
+
+Original change's description:
+> common-mk: Suppress -Wrange-loop-analysis warning
+>
+> Disable range-loop-analysis warning in platform2 to unblock llvm-next
+> builds failing with the following warning in libbrillo which can't be
+> easily fixed:
+>
+> data_serialization.h:471:20: error: loop variable 'element' is always a
+> copy because the range of type 'const std::vector<bool, allocator<bool>
+> >' does not return a reference [-Werror,-Wrange-loop-analysis]
+>   for (const auto& element : value) {
+>                                 ^
+> use non-reference type
+> 'std::__1::__bit_const_reference<std::__1::vector<bool,
+> std::__1::allocator<bool> > >'
+>
+> BUG=chromium:1042979
+> TEST=emerge-kevin libbrillo
+>
+> Change-Id: If5b70cb1a836df325d3683217be4c841fc7a5516
+> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2008102
+> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
+> Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
+> Tested-by: Manoj Gupta <manojgupta@chromium.org>
+
+Bug: chromium:1042979
+Change-Id: Ib86d9f0d61b703d391f60824d8d2ef47eb60f345
+Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2039651
+Reviewed-by: Mike Frysinger <vapier@chromium.org>
+Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
+Commit-Queue: Denis Nikitin <denik@chromium.org>
+Tested-by: Denis Nikitin <denik@chromium.org>
+(cherry picked from commit f53a0117ded343295015e81db68bbe878fae5fac)
+---
+ common-mk/BUILD.gn | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/common-mk/BUILD.gn b/common-mk/BUILD.gn
+index 7c0601b18..dc02a6979 100644
+--- a/common-mk/BUILD.gn
++++ b/common-mk/BUILD.gn
+@@ -53,7 +53,6 @@ config("compiler_defaults") {
+   cflags = [
+     "-Wall",
+     "-Wunused",
+-
+     # We use C99 array designators in C++ code.  Our compilers support this
+     # extension since C++ has no equivalent yet (as of C++20).
+     "-Wno-c99-designator",
+@@ -65,9 +64,6 @@ config("compiler_defaults") {
+     "-fvisibility=internal",
+     "-Wa,--noexecstack",
+     "-Wimplicit-fallthrough",
+-
+-    # TODO(crbug.com/1042979): Verify the warning when the issue gets fixed.
+-    "-Wno-range-loop-analysis",
+   ]
+   cflags_c = [ "-std=gnu11" ] + external_cppflags + external_cxxflags
+   cflags_cc = [ "-std=gnu++14" ] + external_cppflags + external_cxxflags
+-- 
+2.25.1
+
diff --git a/pkgs/os-specific/linux/chromium-os/common-mk/default.nix b/pkgs/os-specific/linux/chromium-os/common-mk/default.nix
index 946b2e73d2a..f07e418b56f 100644
--- a/pkgs/os-specific/linux/chromium-os/common-mk/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/common-mk/default.nix
@@ -59,6 +59,7 @@ stdenv.mkDerivation ({
     '') ([
       ./0001-common-mk-don-t-leak-source-absolute-paths.patch
       ./0002-common-mk-.gn-don-t-hardcode-env-path.patch
+      ./0003-Revert-common-mk-Suppress-Wrange-loop-analysis-warni.patch
     ] ++ platform2Patches)}
 
     patchShebangs common-mk
diff --git a/pkgs/os-specific/linux/chromium-os/crosvm/default.nix b/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
index bead987b0d4..72cb217adb9 100644
--- a/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, rustPlatform, fetchFromGitiles, upstreamInfo
-, pkgconfig, minijail, dtc, libusb1, libcap
+, pkgconfig, minijail, dtc, libusb1, libcap, linux
 }:
 
 let
@@ -43,7 +43,7 @@ in
       ./default-seccomp-policy-dir.diff
     ];
 
-    cargoSha256 = "1s9nfgfqk140hg08i0xzylnrgrx84dqss0vnvhxnydwy9q03nk7r";
+    cargoSha256 = "0lhivwvdihslwp81i3sa5q88p5hr83bzkvklrcgf6x73arwk8kdz";
 
     nativeBuildInputs = [ pkgconfig ];
 
@@ -58,6 +58,8 @@ in
       export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
     '';
 
+    CROSVM_CARGO_TEST_KERNEL_BINARY = "${linux}/bzImage";
+
     postInstall = ''
       mkdir -p $out/share/policy/
       cp seccomp/${arch}/* $out/share/policy/
diff --git a/pkgs/os-specific/linux/chromium-os/default.nix b/pkgs/os-specific/linux/chromium-os/default.nix
index 862e6f27b7b..1bed1ff7b46 100644
--- a/pkgs/os-specific/linux/chromium-os/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/default.nix
@@ -1,5 +1,5 @@
 { lib, newScope, fetchFromGitiles, symlinkJoin
-, linux_4_19, makeLinuxHeaders, modemmanager
+, libqmi, linux_5_4, makeLinuxHeaders, modemmanager
 }:
 
 let
@@ -25,23 +25,18 @@ let
       passthru.updateScript = ./update.py;
     };
 
-    linux_4_19 = callPackage ../kernel/linux-cros.nix {
-      inherit (linux_4_19) kernelPatches;
+    libqmi = callPackage ./libqmi {
+      inherit libqmi;
     };
 
-    linux = self.linux_4_19;
+    linux_5_4 = callPackage ../kernel/linux-cros.nix {
+      inherit (linux_5_4) kernelPatches;
+    };
+
+    linux = self.linux_5_4;
 
     linuxHeaders = (makeLinuxHeaders {
       inherit (linux) version src;
-    }).overrideAttrs ({ nativeBuildInputs, ... }: {
-      # makeLinuxHeaders is designed for Linux 5.5, which has a
-      # different header build system from 4.19, currently used by
-      # Chromium OS.  When the Chromium OS kernel bumps to a new major
-      # version, try removing this override to see if it's still
-      # necessary.  If it builds without it, the override can go.
-      buildPhase = ''
-        make headers_install $makeFlags
-      '';
     });
 
     minigbm = callPackage ./minigbm { };
diff --git a/pkgs/os-specific/linux/chromium-os/libqmi/default.nix b/pkgs/os-specific/linux/chromium-os/libqmi/default.nix
new file mode 100644
index 00000000000..ac444848b81
--- /dev/null
+++ b/pkgs/os-specific/linux/chromium-os/libqmi/default.nix
@@ -0,0 +1,26 @@
+{ libqmi, lib, fetchFromGitiles, upstreamInfo
+, autoreconfHook, autoconf-archive, gtk-doc, docbook-xsl-nons
+}:
+
+libqmi.overrideAttrs (
+  { configureFlags ? [], nativeBuildInputs ? [], passthru ? {}, meta ? {}, ... }:
+  {
+    pname = "libqmi-unstable";
+    version = "2019-12-16";
+
+    src = fetchFromGitiles upstreamInfo.components."chromiumos/third_party/libqmi";
+
+    nativeBuildInputs = nativeBuildInputs ++
+      [ autoreconfHook autoconf-archive gtk-doc docbook-xsl-nons ];
+
+    configureFlags = configureFlags ++ [ "--enable-gtk-doc" ];
+
+    passthru = passthru // {
+      updateScript = ../update.py;
+    };
+
+    meta = with lib; meta // {
+      maintainers = with maintainers; [ qyliss ];
+    };
+  }
+)
diff --git a/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix b/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix
index 8ad0e63bf9c..a074e82ff4b 100644
--- a/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix
+++ b/pkgs/os-specific/linux/chromium-os/modem-manager/next.nix
@@ -1,4 +1,6 @@
-{ modemmanager, lib, fetchFromGitiles, upstreamInfo, autoreconfHook, libxslt }:
+{ modemmanager, lib, fetchFromGitiles, upstreamInfo, autoreconfHook
+, libqmi, libxslt
+}:
 
 modemmanager.overrideAttrs (
   { pname, nativeBuildInputs ? [], passthru ? {}, meta ? {}, ... }:
@@ -9,7 +11,7 @@ modemmanager.overrideAttrs (
     src = fetchFromGitiles
       upstreamInfo.components."chromiumos/third_party/modemmanager-next";
 
-    nativeBuildInputs = nativeBuildInputs ++ [ autoreconfHook libxslt ];
+    nativeBuildInputs = nativeBuildInputs ++ [ autoreconfHook libqmi libxslt ];
 
     passthru = passthru // {
       updateScript = ../update.py;
diff --git a/pkgs/os-specific/linux/chromium-os/sommelier/0008-sommelier-don-t-leak-source-absolute-paths.patch b/pkgs/os-specific/linux/chromium-os/sommelier/0004-sommelier-don-t-leak-source-absolute-paths.patch
index 2628abd370c..756584365c7 100644
--- a/pkgs/os-specific/linux/chromium-os/sommelier/0008-sommelier-don-t-leak-source-absolute-paths.patch
+++ b/pkgs/os-specific/linux/chromium-os/sommelier/0004-sommelier-don-t-leak-source-absolute-paths.patch
@@ -1,7 +1,7 @@
-From 1f414ce4e36d424e4c4c9124f60e784d364af282 Mon Sep 17 00:00:00 2001
+From 1fa4de5b2228c40b25fd6333a74ae7535d73bcce Mon Sep 17 00:00:00 2001
 From: Alyssa Ross <hi@alyssa.is>
 Date: Sun, 1 Dec 2019 17:04:04 +0000
-Subject: [PATCH 08/10] sommelier: don't leak source-absolute paths
+Subject: [PATCH 4/6] sommelier: don't leak source-absolute paths
 
 ---
  vm_tools/sommelier/wayland_protocol.gni | 2 +-
@@ -21,5 +21,5 @@ index 4f18a0c10..b1bd5d659 100644
      }
    }
 -- 
-2.24.1
+2.25.1
 
diff --git a/pkgs/os-specific/linux/chromium-os/sommelier/0009-sommelier-use-stable-xdg-shell-protocol.patch b/pkgs/os-specific/linux/chromium-os/sommelier/0005-sommelier-use-stable-xdg-shell-protocol.patch
index fe23d6d96dc..20994bc1785 100644
--- a/pkgs/os-specific/linux/chromium-os/sommelier/0009-sommelier-use-stable-xdg-shell-protocol.patch
+++ b/pkgs/os-specific/linux/chromium-os/sommelier/0005-sommelier-use-stable-xdg-shell-protocol.patch
@@ -1,7 +1,7 @@
-From ab753b1f376a9a348a0d3a6cc106d097bb4160c3 Mon Sep 17 00:00:00 2001
+From 5068e64b2fdedca0a4a9f1894335af8587c4c55a Mon Sep 17 00:00:00 2001
 From: Puck Meerburg <puck@puckipedia.com>
 Date: Tue, 3 Dec 2019 18:06:14 +0000
-Subject: [PATCH 09/10] sommelier: use stable xdg-shell protocol
+Subject: [PATCH 5/6] sommelier: use stable xdg-shell protocol
 
 From https://github.com/wayland-project/weston/commit/d8d9f5e6e16c8f6a3c06763d5f56c27dc9a6e52e:
 
@@ -19,7 +19,7 @@ From https://github.com/wayland-project/weston/commit/d8d9f5e6e16c8f6a3c06763d5f
  rename vm_tools/sommelier/protocol/{xdg-shell-unstable-v6.xml => xdg-shell.xml} (79%)
 
 diff --git a/vm_tools/sommelier/BUILD.gn b/vm_tools/sommelier/BUILD.gn
-index 871c142bc..498a0ccab 100644
+index 5027628d2..4330560a1 100644
 --- a/vm_tools/sommelier/BUILD.gn
 +++ b/vm_tools/sommelier/BUILD.gn
 @@ -68,7 +68,7 @@ wayland_protocol_library("sommelier-protocol") {
@@ -1200,7 +1200,7 @@ index ecd0fc647..a3ba0d6e1 100644
 +                          sl_bind_host_xdg_wm_base);
  }
 diff --git a/vm_tools/sommelier/sommelier.c b/vm_tools/sommelier/sommelier.c
-index 3637385a5..fba0d1277 100644
+index d87bced03..5e03d8978 100644
 --- a/vm_tools/sommelier/sommelier.c
 +++ b/vm_tools/sommelier/sommelier.c
 @@ -35,7 +35,7 @@
@@ -1675,7 +1675,7 @@ index 3637385a5..fba0d1277 100644
      }
    } else if (event->atom == XCB_ATOM_WM_HINTS) {
      struct sl_window* window = sl_lookup_window(ctx, event->window);
-@@ -3530,7 +3531,7 @@ int main(int argc, char** argv) {
+@@ -3536,7 +3537,7 @@ int main(int argc, char** argv) {
        .shm = NULL,
        .shell = NULL,
        .data_device_manager = NULL,
@@ -1744,5 +1744,5 @@ index b851b5c8d..7e6daf773 100644
  struct sl_global* sl_gtk_shell_global_create(struct sl_context* ctx);
  
 -- 
-2.24.1
+2.25.1
 
diff --git a/pkgs/os-specific/linux/chromium-os/sommelier/0010-sommelier-make-building-demos-optional.patch b/pkgs/os-specific/linux/chromium-os/sommelier/0006-sommelier-make-building-demos-optional.patch
index 9cdb66a94ae..277ffa47ce7 100644
--- a/pkgs/os-specific/linux/chromium-os/sommelier/0010-sommelier-make-building-demos-optional.patch
+++ b/pkgs/os-specific/linux/chromium-os/sommelier/0006-sommelier-make-building-demos-optional.patch
@@ -1,7 +1,7 @@
-From a10869a6f73c3939b254b99125975568d29c6eed Mon Sep 17 00:00:00 2001
+From 8774d76f1b57092df9004d654fd075d7691b9f12 Mon Sep 17 00:00:00 2001
 From: Alyssa Ross <hi@alyssa.is>
 Date: Wed, 15 Jan 2020 21:36:43 +0000
-Subject: [PATCH 10/10] sommelier: make building demos optional
+Subject: [PATCH 6/6] sommelier: make building demos optional
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -21,7 +21,7 @@ Thanks-to: Tomasz Ĺšniatowski <tsniatowski@vewd.com>
  1 file changed, 32 insertions(+), 22 deletions(-)
 
 diff --git a/vm_tools/sommelier/BUILD.gn b/vm_tools/sommelier/BUILD.gn
-index 498a0ccab..9b6cb00fe 100644
+index 4330560a1..cbb752745 100644
 --- a/vm_tools/sommelier/BUILD.gn
 +++ b/vm_tools/sommelier/BUILD.gn
 @@ -4,12 +4,20 @@
@@ -53,7 +53,7 @@ index 498a0ccab..9b6cb00fe 100644
  
 -executable("wayland_demo") {
 -  pkg_deps = [
--    "libbrillo-${libbase_ver}",
+-    "libbrillo",
 -    "libchrome-${libbase_ver}",
 -    "wayland-client",
 -  ]
@@ -65,7 +65,7 @@ index 498a0ccab..9b6cb00fe 100644
 +if (use_demos) {
 +  executable("wayland_demo") {
 +    pkg_deps = [
-+      "libbrillo-${libbase_ver}",
++      "libbrillo",
 +      "libchrome-${libbase_ver}",
 +      "wayland-client",
 +    ]
@@ -77,7 +77,7 @@ index 498a0ccab..9b6cb00fe 100644
  
 -executable("x11_demo") {
 -  pkg_deps = [
--    "libbrillo-${libbase_ver}",
+-    "libbrillo",
 -    "libchrome-${libbase_ver}",
 -  ]
 -  libs = [ "X11" ]
@@ -86,7 +86,7 @@ index 498a0ccab..9b6cb00fe 100644
 -  ]
 +  executable("x11_demo") {
 +    pkg_deps = [
-+      "libbrillo-${libbase_ver}",
++      "libbrillo",
 +      "libchrome-${libbase_ver}",
 +    ]
 +    libs = [ "X11" ]
@@ -96,5 +96,5 @@ index 498a0ccab..9b6cb00fe 100644
 +  }
  }
 -- 
-2.24.1
+2.25.1
 
diff --git a/pkgs/os-specific/linux/chromium-os/sommelier/default.nix b/pkgs/os-specific/linux/chromium-os/sommelier/default.nix
index 6a5e292b3fb..669bac81628 100644
--- a/pkgs/os-specific/linux/chromium-os/sommelier/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/sommelier/default.nix
@@ -7,9 +7,9 @@ common-mk {
   platformSubdir = "vm_tools/sommelier";
 
   platform2Patches = [
-    ./0008-sommelier-don-t-leak-source-absolute-paths.patch
-    ./0009-sommelier-use-stable-xdg-shell-protocol.patch
-    ./0010-sommelier-make-building-demos-optional.patch
+    ./0004-sommelier-don-t-leak-source-absolute-paths.patch
+    ./0005-sommelier-use-stable-xdg-shell-protocol.patch
+    ./0006-sommelier-make-building-demos-optional.patch
   ];
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/chromium-os/update.py b/pkgs/os-specific/linux/chromium-os/update.py
index cf3072d2315..ed1789cebee 100755
--- a/pkgs/os-specific/linux/chromium-os/update.py
+++ b/pkgs/os-specific/linux/chromium-os/update.py
@@ -21,6 +21,7 @@ components = [
     'chromiumos/platform2',
     'chromiumos/third_party/adhd',
     'chromiumos/third_party/kernel',
+    'chromiumos/third_party/libqmi',
     'chromiumos/third_party/modemmanager-next',
 ]
 
diff --git a/pkgs/os-specific/linux/chromium-os/upstream-info.json b/pkgs/os-specific/linux/chromium-os/upstream-info.json
index 180da1b85c3..5264a72a6c9 100644
--- a/pkgs/os-specific/linux/chromium-os/upstream-info.json
+++ b/pkgs/os-specific/linux/chromium-os/upstream-info.json
@@ -1,54 +1,60 @@
 {
-  "version": "79.12607.0.0-rc4",
+  "version": "81.12871.0.0-rc1",
   "components": {
     "aosp/platform/external/modp_b64": {
       "name": "modp_b64",
       "url": "https://chromium.googlesource.com/aosp/platform/external/modp_b64",
-      "rev": "11a6fc258c6765a43b973b15e86fb4bce7675202",
-      "sha256": "06wjrqm7j6vkzlms1mj1czbdhsd8sxpyii43vqr456c2mzvrzr0n"
+      "rev": "ae26ad8516036774fd3b6e84a98a89955dcf5f61",
+      "sha256": "03ja5fkq3wk0qcnfnqcj09lciky6n6zdj544xs1jfssjhz9yj8hi"
     },
     "chromiumos/overlays/chromiumos-overlay": {
       "name": "chromiumos-overlay",
       "url": "https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay",
-      "rev": "a02872323ae57e95572106a76255ac28a24dd34f",
-      "sha256": "07j5scnmcx95mp4wy1wnx20kawlhydc90cnp8andbvn7rjkz1fbk"
+      "rev": "be285b729ef2af700cc248f741af20c387b5a1bc",
+      "sha256": "18y2icdb3hxqxxaaz8sylw21q2qwcpjyns75ig7ahc4vc1k5hg7s"
     },
     "chromiumos/platform/crosvm": {
       "name": "crosvm",
       "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm",
-      "rev": "cfb7db44eb9e5a0bca9a22bfb985252ef74ab251",
-      "sha256": "0gm1ggyzh9qfizm36jmh71c3anygxj1840cm94h71kzg9kiw0330"
+      "rev": "8b8c01e1ad31718932491e4aee63f56109a138e2",
+      "sha256": "1qmf1k06pwynh15c3nr9m6v90z2pkk930xniwvlvbvnazrk4rllg"
     },
     "chromiumos/platform/minigbm": {
       "name": "minigbm",
       "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm",
-      "rev": "8312ec228d0c96e4c7cca85b8fd141dd6dd9e15e",
-      "sha256": "08gfdxbhrqclfrs3r0pwrncnf4i29xv1jnrx8gp7i84wcrcvgmgz"
+      "rev": "fbfb338e7db246f05ae68da97141fbd49481584b",
+      "sha256": "11p6v4nmqivyqyc8lmypbwqv9q819lhx6v3igfsv3455mmq02kcb"
     },
     "chromiumos/platform2": {
       "name": "platform2",
       "url": "https://chromium.googlesource.com/chromiumos/platform2",
-      "rev": "dfa3da3447127dc941aacfee56617dd6ec7ae1c1",
-      "sha256": "1vgvapn0cn0g8n7h7l0f4n1jqnzb6hkcbkymr5dn0v2zb5s04inn"
+      "rev": "6e0d88d0bea8e7cb28a310298cc8c77ed742f60a",
+      "sha256": "13vrbnl3ck8cxiyifc58cs9i0yby92vp5si27ihrx33v6bdlir4s"
     },
     "chromiumos/third_party/adhd": {
       "name": "adhd",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd",
-      "rev": "a8df1c52bde3bfd2aebc1d7adcd6f195eb212cb1",
-      "sha256": "1hyvnvwr5ka9zw4h7hhl6fpsfl2acp3zy4wr5qrw8s1cn8ljr9vy"
+      "rev": "f361d5b02623274723bff251dafa1e2a2887b013",
+      "sha256": "1p8iwjwgmcgmzri03ik2jaid8l0ch0bzn6z9z64dix1hlrvrlliw"
     },
     "chromiumos/third_party/kernel": {
       "name": "kernel",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/kernel",
-      "rev": "96bfeffb29ca01693d3b444c4e01eefaf5514055",
-      "sha256": "11svqzq01xv6p82dz8440kknz0bn1v2g3jhh00g73g4kyxr8lq62",
-      "version": "4.19.79"
+      "rev": "17611b6e636c8ccae25e873e659d69c20b215815",
+      "sha256": "0an8w3660v2zf2crb68ambg7vzw2rajpjmcby1am08qy37lqsfkd",
+      "version": "5.4.16"
+    },
+    "chromiumos/third_party/libqmi": {
+      "name": "libqmi",
+      "url": "https://chromium.googlesource.com/chromiumos/third_party/libqmi",
+      "rev": "6267c12fef0be9a95d687bf4b476593eeffbaaf1",
+      "sha256": "00yjjcngjkbgxmmf79ciddk9yq393a94230ahq8vszyfygzhs3rz"
     },
     "chromiumos/third_party/modemmanager-next": {
       "name": "modemmanager-next",
       "url": "https://chromium.googlesource.com/chromiumos/third_party/modemmanager-next",
-      "rev": "8eb16ade574b2292497e76c07b1ab0ee6e3dd44e",
-      "sha256": "0ss26bh3f8gzbrxxg6mkif6p9jf2l6m5kazvpr0qdzd8gqh9pca3"
+      "rev": "a4d3a4de1fdab7c282f1a188d2d3d0aaa24f0698",
+      "sha256": "1b1l1jfiyl7fnm29pp9npi0gdlqcw1jmmbigf0qlndqdh0ly2izg"
     }
   }
 }