summary refs log tree commit diff
path: root/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
diff options
context:
space:
mode:
authorJamie McClymont <jamie@kwiius.com>2021-04-02 09:04:16 +0000
committerAlyssa Ross <hi@alyssa.is>2021-06-02 12:25:17 +0000
commitd70c553b32b6381843e6bf5277d54541e368c3a1 (patch)
tree094f5b3468466310db09881d645dbad87d971940 /pkgs/os-specific/linux/chromium-os/crosvm/default.nix
parent64ad908eb80c9b494454f0e4ac06e691a89fdb22 (diff)
downloadnixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.tar
nixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.tar.gz
nixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.tar.bz2
nixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.tar.lz
nixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.tar.xz
nixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.tar.zst
nixpkgs-d70c553b32b6381843e6bf5277d54541e368c3a1.zip
chromiumOSPackages: 83.13020.0.0-rc1 -> 89.13729.0.0-rc1
* chromiumOSPackages.linux: fix config
* chromiumOSPackages.common-mk: update patches
* chromiumOSPackages.vm_protos: drop GN patch
  The missing dependency has been added upstream.
* chromiumOSPackages.common-mk: disable clang-only warnings
* chromiumOSPackages.sommelier: update patches
  Support for stable xdg-shell was implemented in upstream Sommelier,
  but then reverted because the GTK version that comes with the Debian
  in the container Chromium OS uses was too old to support it.
  That's not a problem for us, of course, but it does mean that we can
  use an upstream implementation of xdg-shell.  So here I switch from
  using Puck's implementation, to reverting the revert of the upstream
  one.
* crosvm: fix outdated Cargo.lock from upstream
* crosvm: update VIRTIO_NET_F_MAC patch (renamed to be less annoying)
* crosvm: add new dependencies
* crosvm: patch boot test so it doesn't fail because of no /dev/log.
* crosvm: disable boot test on x86_64 because it often hangs on the AMD
  EPYC 7401P 24-Core Processor I was testing it on (but not my Intel(R)
  Core(TM) i5-2520M CPU @ 2.50GHz).
* spectrumPackages.linux: drop evged patch
  This has reached the Chromium OS kernel now, so we don't need to apply
  it ourselves any more.

Co-authored-by: Alyssa Ross <hi@alyssa.is>
Cc: Puck Meerburg <puck@puckipedia.com>
Reviewed-by: Alyssa Ross <hi@alyssa.is>
Tested-by: Alyssa Ross <hi@alyssa.is>
Message-Id: <20210529144117.571353-2-hi@alyssa.is>
Message-Id: <20210529144117.571353-3-hi@alyssa.is>
Message-Id: <20210529144117.571353-4-hi@alyssa.is>
Message-Id: <20210529144117.571353-5-hi@alyssa.is>
Message-Id: <20210529144117.571353-6-hi@alyssa.is>
Message-Id: <20210529144117.571353-7-hi@alyssa.is>
Message-Id: <20210529144117.571353-8-hi@alyssa.is>
Message-Id: <20210529144117.571353-9-hi@alyssa.is>
Diffstat (limited to 'pkgs/os-specific/linux/chromium-os/crosvm/default.nix')
-rw-r--r--pkgs/os-specific/linux/chromium-os/crosvm/default.nix20
1 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/chromium-os/crosvm/default.nix b/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
index d54c050d308..681526356ea 100644
--- a/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
+++ b/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, rustPlatform, fetchFromGitiles, upstreamInfo
-, pkgconfig, minijail, dtc, libusb1, libcap, linux
+, pkgconfig, minigbm, minijail, wayland, wayland-protocols, dtc, libusb1, libcap
+, linux
 }:
 
 let
@@ -13,6 +14,7 @@ let
     "src/platform/crosvm"
     "src/third_party/adhd"
     "src/aosp/external/minijail"
+    "src/platform2"
   ] getSrc;
 in
 
@@ -37,20 +39,25 @@ in
 
     sourceRoot = "src/platform/crosvm";
 
+    cargoPatches = [ ./Regenerate-Cargo.lock.patch ];
+
     patches = [
       ./default-seccomp-policy-dir.diff
-      ./0001-crosvm-support-setting-guest-MAC-from-tap-fd.patch
+      ./VIRTIO_NET_F_MAC.patch
     ];
 
-    cargoSha256 = "0wzqn2n4vyv3bk39079yg1zbnriagi5xns928bzdqmq9djdcj21i";
+    cargoSha256 = "0rrhgchrf6ac5393rxlkff0kd3xs7xixxshcdpag3lxjgg0j62af";
 
-    nativeBuildInputs = [ pkgconfig ];
+    nativeBuildInputs = [ pkgconfig wayland ];
 
-    buildInputs = [ dtc libcap libusb1 minijail ];
+    buildInputs = [ dtc libcap libusb1 minigbm minijail wayland wayland-protocols ];
 
     postPatch = ''
       sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \
              seccomp/*/*.policy
+
+      # No /dev/log in the sandbox.
+      sed -i '/^[[:space:]]*syslog::init().unwrap();$/d' tests/boot.rs
     '';
 
     preBuild = ''
@@ -62,6 +69,9 @@ in
       cp seccomp/${arch}/* $out/share/policy/
     '';
 
+    # Boot test often hangs on AMD.
+    doCheck = !stdenv.buildPlatform.isx86_64;
+
     CROSVM_CARGO_TEST_KERNEL_BINARY =
       lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform)
         "${linux}/${stdenv.hostPlatform.platform.kernelTarget}";