diff options
Diffstat (limited to 'pkgs/applications/virtualization/crosvm/default.nix')
-rw-r--r-- | pkgs/applications/virtualization/crosvm/default.nix | 50 |
1 files changed, 9 insertions, 41 deletions
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 697741e21f149..2afbe123b55bd 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -1,5 +1,6 @@ -{ stdenv, lib, rustPlatform, fetchgit, runCommand, symlinkJoin -, pkg-config, minijail, dtc, libusb1, libcap, linux +{ stdenv, lib, rustPlatform, fetchgit +, pkg-config, wayland-scanner, libcap, minijail, wayland, wayland-protocols +, linux }: let @@ -11,55 +12,26 @@ let else if isx86_64 then "x86_64" else throw "no seccomp policy files available for host platform"; - crosvmSrc = fetchgit { - inherit (upstreamInfo.components."chromiumos/platform/crosvm") - url rev sha256 fetchSubmodules; - }; - - adhdSrc = fetchgit { - inherit (upstreamInfo.components."chromiumos/third_party/adhd") - url rev sha256 fetchSubmodules; - }; - in rustPlatform.buildRustPackage rec { pname = "crosvm"; inherit (upstreamInfo) version; - unpackPhase = '' - runHook preUnpack - - mkdir -p chromiumos/platform chromiumos/third_party - - pushd chromiumos/platform - unpackFile ${crosvmSrc} - mv ${crosvmSrc.name} crosvm - popd - - pushd chromiumos/third_party - unpackFile ${adhdSrc} - mv ${adhdSrc.name} adhd - popd - - chmod -R u+w -- "$sourceRoot" - - runHook postUnpack - ''; - - sourceRoot = "chromiumos/platform/crosvm"; + src = fetchgit (builtins.removeAttrs upstreamInfo.src [ "date" "path" ]); patches = [ ./default-seccomp-policy-dir.diff ]; - cargoSha256 = "0aax0slg59afbyn3ygswwap2anv11k6sr9hfpysb4f8rvymvx7hd"; + cargoLock.lockFile = ./Cargo.lock; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config wayland-scanner ]; - buildInputs = [ dtc libcap libusb1 minijail ]; + buildInputs = [ libcap minijail wayland wayland-protocols ]; postPatch = '' + cp ${./Cargo.lock} Cargo.lock sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \ seccomp/*/*.policy ''; @@ -77,11 +49,7 @@ in lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) "${linux}/${stdenv.hostPlatform.linux-kernel.target}"; - passthru = { - inherit adhdSrc; - src = crosvmSrc; - updateScript = ./update.py; - }; + passthru.updateScript = ./update.py; meta = with lib; { description = "A secure virtual machine monitor for KVM"; |