Re: [RFC PATCH 0/8] Update chromiumPacakges

Alyssa Ross
2021-04-02T23:55:15Z

[-- Attachment #1: Type: text/plain, Size: 24858 bytes --]

Jamie McClymont <jamie@kwiius.com> writes:

> Hi all
>
> Here's a nearly-complete(?) attempt at bumping chromiumOSPackages.
>
> Everything under chromiumOSPackages and spectrumPackages builds except crosvm
> (and therefore spectrum-vm). I've added platform2 as a dependency (a few rust
> crates from there are now used) and bumped the cargoSha256, so the vendor FOD
> now builds happily, but the actual `cargo build` fails with:
>
>> error: the lock file /build/src/platform/crosvm/Cargo.lock needs to be updated but --frozen was passed to prevent this
>> If you want to try to generate the lock file without accessing the network, use the --offline flag.
>
> I haven't dealt with buildRustPackage before, so I'm not sure if this is a
> standard thing that any frequent buildRustPackage user will know how to fix, or
> if we're running in to an odd edge-case - emailing it in as-is in the hopes that
> it's the former :)

This is not uncommon -- maybe we could have a better error message for
it in Nixpkgs (or maybe we do already and we're just not seeing that in
Spectrum's Nixpkgs, which is by now quite outdated!). It means that the
Cargo.lock file in the sources doesn't match up with what the Cargo.toml
file (and any Cargo.toml files of local dependencies like things in
platform2) are asking for. The error message comes from Cargo wanting
to talk to the network to recreate the lockfile.

To fix this, we can regenerate the lockfile with `cargo generate-lockfile',
and then use the cargoPatches attribute to apply a patch that fixes it.

With that changed, and a few new dependencies added, I was able to get
crosvm most of the way through a build (diff below).

The only problem now is that the boot test doesn't work. I bisected
that to the following crosvm commit:

> e4cbef4caf66779e5f8734c63fb591c991bf9674 is the first bad commit
> commit e4cbef4caf66779e5f8734c63fb591c991bf9674
> Author: Zach Reizner <zachr@google.com>
> Date: Fri Feb 21 14:42:32 2020 -0800
>
> tests: enable logging for boot test
>
> The logs are important for diagnosing errors for the boot integration
> testing. This change enables those logs.

But it's bed time for me now, so that's where I'll have to leave it for
tonight. Maybe you can figure it out. :)

BTW: your patches aren't threaded properly -- they're in response to an
email that was either never sent or never arrived, rather than to this
one. Just in case you didn't realise -- it's not a big deal and I made
the same mistake just last week. :)

Anyway, here's what I have so far:

diff --git c/pkgs/os-specific/linux/chromium-os/crosvm/default.nix i/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
index 1013e7817e4..03025d914cd 100644
--- c/pkgs/os-specific/linux/chromium-os/crosvm/default.nix
+++ i/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
@@ -38,15 +39,17 @@ in

sourceRoot = "src/platform/crosvm";

+ cargoPatches = [ ./Regenerate-Cargo.lock.patch ];
+
patches = [
./default-seccomp-policy-dir.diff
];

- cargoSha256 = "02y4wvm2l54f3y0dzcfyzay4hsy7b1q8x9kshqidi9pvh09if7x4";
+ 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" \
diff --git c/pkgs/os-specific/linux/chromium-os/crosvm/Regenerate-Cargo.lock.patch i/pkgs/os-specific/linux/chromium-os/crosvm/Regenerate-Cargo.lock.patch
new file mode 100644
index 00000000000..07dbd5469e7
--- /dev/null
+++ i/pkgs/os-specific/linux/chromium-os/crosvm/Regenerate-Cargo.lock.patch
@@ -0,0 +1,681 @@
+From 972ee713ae8e48c3a99fbddca68018e20bb148c7 Mon Sep 17 00:00:00 2001
+From: Alyssa Ross <hi@alyssa.is>
+Date: Fri, 2 Apr 2021 16:38:28 +0000
+Subject: [PATCH crosvm] Regenerate Cargo.lock
+
+---
+ Cargo.lock | 327 +++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 240 insertions(+), 87 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 3179b43f5..c82916b06 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -26,7 +26,7 @@ name = "acpi_tables"
+ version = "0.1.0"
+ dependencies = [
+ "data_model",
+- "tempfile",
++ "tempfile 3.0.7",
+ ]
+
+ [[package]]
+@@ -61,9 +61,9 @@ version = "0.1.0"
+
+ [[package]]
+ name = "async-trait"
+-version = "0.1.36"
++version = "0.1.48"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92"
++checksum = "36ea56748e10732c49404c153638a15ec3d6211ec5ff35d9bb20e13b93576adf"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -113,9 +113,9 @@ dependencies = [
+
+ [[package]]
+ name = "bitflags"
+-version = "1.1.0"
++version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+
+ [[package]]
+ name = "cc"
+@@ -129,6 +129,12 @@ version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
+ [[package]]
+ name = "cras-sys"
+ version = "0.1.0"
+@@ -189,7 +195,7 @@ dependencies = [
+ "resources",
+ "rutabaga_gfx",
+ "sync",
+- "tempfile",
++ "tempfile 3.2.0",
+ "thiserror",
+ "vhost",
+ "vm_control",
+@@ -262,7 +268,7 @@ dependencies = [
+ "rutabaga_gfx",
+ "sync",
+ "syscall_defines",
+- "tempfile",
++ "tempfile 3.0.7",
+ "tpm2",
+ "usb_util",
+ "vfio_sys",
+@@ -285,7 +291,7 @@ dependencies = [
+ "protobuf",
+ "protos",
+ "remain",
+- "tempfile",
++ "tempfile 3.2.0",
+ "vm_memory",
+ ]
+
+@@ -295,6 +301,12 @@ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+
++[[package]]
++name = "either"
++version = "1.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
++
+ [[package]]
+ name = "enumn"
+ version = "0.1.0"
+@@ -318,9 +330,9 @@ dependencies = [
+
+ [[package]]
+ name = "futures"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
++checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -333,9 +345,9 @@ dependencies = [
+
+ [[package]]
+ name = "futures-channel"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
++checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
+ dependencies = [
+ "futures-core",
+ "futures-sink",
+@@ -343,15 +355,15 @@ dependencies = [
+
+ [[package]]
+ name = "futures-core"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
++checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
+
+ [[package]]
+ name = "futures-executor"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
++checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
+ dependencies = [
+ "futures-core",
+ "futures-task",
+@@ -360,15 +372,15 @@ dependencies = [
+
+ [[package]]
+ name = "futures-io"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
++checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
+
+ [[package]]
+ name = "futures-macro"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
++checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
+ dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+@@ -378,21 +390,21 @@ dependencies = [
+
+ [[package]]
+ name = "futures-sink"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
++checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
+
+ [[package]]
+ name = "futures-task"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
++checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
+
+ [[package]]
+ name = "futures-util"
+-version = "0.3.1"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
++checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -401,6 +413,7 @@ dependencies = [
+ "futures-sink",
+ "futures-task",
+ "memchr",
++ "pin-project-lite",
+ "pin-utils",
+ "proc-macro-hack",
+ "proc-macro-nested",
+@@ -409,11 +422,11 @@ dependencies = [
+
+ [[package]]
+ name = "gdbstub"
+-version = "0.4.0"
++version = "0.4.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "347c27d24b8ac4a2bcad3ff3d0695271a0510c020bd8134b53d189e973ed58bf"
++checksum = "d79a8fc10e9c4a4009deacc1d1e632cc2860c63c5169abc737f838e07534ab1a"
+ dependencies = [
+- "cfg-if",
++ "cfg-if 0.1.10",
+ "log",
+ "managed",
+ "num-traits",
+@@ -422,13 +435,24 @@ dependencies = [
+
+ [[package]]
+ name = "getopts"
+-version = "0.2.18"
++version = "0.2.21"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797"
++checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+ dependencies = [
+ "unicode-width",
+ ]
+
++[[package]]
++name = "getrandom"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "wasi",
++]
++
+ [[package]]
+ name = "gpu_buffer"
+ version = "0.1.0"
+@@ -448,6 +472,15 @@ dependencies = [
+ "linux_input_sys",
+ ]
+
++[[package]]
++name = "hermit-abi"
++version = "0.1.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
++dependencies = [
++ "libc",
++]
++
+ [[package]]
+ name = "hypervisor"
+ version = "0.1.0"
+@@ -496,7 +529,7 @@ version = "0.1.0"
+ dependencies = [
+ "base",
+ "libc",
+- "tempfile",
++ "tempfile 3.2.0",
+ "vm_memory",
+ ]
+
+@@ -524,9 +557,9 @@ dependencies = [
+
+ [[package]]
+ name = "libc"
+-version = "0.2.65"
++version = "0.2.92"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
++checksum = "56d855069fafbb9b344c0f962150cd2c1187975cb1c22c1522c240d8c4986714"
+
+ [[package]]
+ name = "libchromeos"
+@@ -538,6 +571,7 @@ dependencies = [
+ "libc",
+ "log",
+ "protobuf",
++ "thiserror",
+ ]
+
+ [[package]]
+@@ -580,11 +614,11 @@ dependencies = [
+
+ [[package]]
+ name = "log"
+-version = "0.4.5"
++version = "0.4.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f"
++checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+ dependencies = [
+- "cfg-if",
++ "cfg-if 1.0.0",
+ ]
+
+ [[package]]
+@@ -595,9 +629,9 @@ checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d"
+
+ [[package]]
+ name = "memchr"
+-version = "2.3.0"
++version = "2.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
++checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
+
+ [[package]]
+ name = "memoffset"
+@@ -666,19 +700,20 @@ dependencies = [
+
+ [[package]]
+ name = "num-traits"
+-version = "0.2.12"
++version = "0.2.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
++checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+ dependencies = [
+ "autocfg",
+ ]
+
+ [[package]]
+ name = "num_cpus"
+-version = "1.9.0"
++version = "1.13.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+ dependencies = [
++ "hermit-abi",
+ "libc",
+ ]
+
+@@ -693,21 +728,27 @@ dependencies = [
+
+ [[package]]
+ name = "paste"
+-version = "1.0.2"
++version = "1.0.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ba7ae1a2180ed02ddfdb5ab70c70d596a26dd642e097bb6fe78b1bde8588ed97"
++checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
+
+ [[package]]
+ name = "pin-utils"
+-version = "0.1.0-alpha.4"
++version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+ [[package]]
+ name = "pkg-config"
+-version = "0.3.11"
++version = "0.3.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f"
++checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
+
+ [[package]]
+ name = "poll_token_derive"
+@@ -729,65 +770,67 @@ dependencies = [
+ ]
+
+ [[package]]
+-name = "proc-macro-hack"
+-version = "0.5.11"
++name = "ppv-lite86"
++version = "0.2.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
+-dependencies = [
+- "proc-macro2",
+- "quote",
+- "syn",
+-]
++checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
++
++[[package]]
++name = "proc-macro-hack"
++version = "0.5.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+ [[package]]
+ name = "proc-macro-nested"
+-version = "0.1.3"
++version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
++checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.8"
++version = "1.0.26"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
++checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
+ dependencies = [
+ "unicode-xid",
+ ]
+
+ [[package]]
+ name = "protobuf"
+-version = "2.8.1"
++version = "2.22.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "40361836defdd5871ff7e84096c6f6444af7fc157f8ef1789f54f147687caa20"
++checksum = "1b7f4a129bb3754c25a4e04032a90173c68f85168f77118ac4cb4936e7f06f92"
+
+ [[package]]
+ name = "protobuf-codegen"
+-version = "2.8.1"
++version = "2.22.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "12c6abd78435445fc86898ebbd0521a68438063d4a73e23527b7134e6bf58b4a"
++checksum = "e5d2fa3a461857508103b914da60dd7b489c1a834967c2e214ecc1496f0c486a"
+ dependencies = [
+ "protobuf",
+ ]
+
+ [[package]]
+ name = "protoc"
+-version = "2.8.1"
++version = "2.22.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3998c4bc0af8ccbd3cc68245ee9f72663c5ae2fb78bc48ff7719aef11562edea"
++checksum = "e6653d384a260fedff0a466e894e05c5b8d75e261a14e9f93e81e43ef86cad23"
+ dependencies = [
+ "log",
++ "which",
+ ]
+
+ [[package]]
+ name = "protoc-rust"
+-version = "2.8.1"
++version = "2.22.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "234c97039c32bb58a883d0deafa57db37e59428ce536f3bdfe1c46cffec04113"
++checksum = "e5198afa8fca3f419b36db9a70ede51ff845938ef0386b49f4b02a5a322015a6"
+ dependencies = [
+ "protobuf",
+ "protobuf-codegen",
+ "protoc",
+- "tempfile",
++ "tempfile 3.2.0",
+ ]
+
+ [[package]]
+@@ -811,28 +854,86 @@ dependencies = [
+
+ [[package]]
+ name = "quote"
+-version = "1.0.2"
++version = "1.0.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
++checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
+ dependencies = [
+ "proc-macro2",
+ ]
+
++[[package]]
++name = "rand"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
++dependencies = [
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
++dependencies = [
++ "ppv-lite86",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
++dependencies = [
++ "rand_core",
++]
++
+ [[package]]
+ name = "rand_ish"
+ version = "0.1.0"
+
+ [[package]]
+-name = "remain"
+-version = "0.2.1"
++name = "redox_syscall"
++version = "0.2.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "99c861227fc40c8da6fdaa3d58144ac84c0537080a43eb1d7d45c28f88dcb888"
++checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "remain"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ba1e78fa68412cb93ef642fd4d20b9a941be49ee9333875ebaf13112673ea7"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ ]
+
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi",
++]
++
+ [[package]]
+ name = "resources"
+ version = "0.1.0"
+@@ -860,9 +961,9 @@ checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+
+ [[package]]
+ name = "syn"
+-version = "1.0.14"
++version = "1.0.68"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
++checksum = "3ce15dd3ed8aa2f8eeac4716d6ef5ab58b6b9256db41d7e1a0224c2788e8fd87"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -883,7 +984,7 @@ dependencies = [
+ "poll_token_derive",
+ "sync",
+ "syscall_defines",
+- "tempfile",
++ "tempfile 3.0.7",
+ ]
+
+ [[package]]
+@@ -898,19 +999,33 @@ dependencies = [
+ ]
+
+ [[package]]
+-name = "thiserror"
+-version = "1.0.20"
++name = "tempfile"
++version = "3.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08"
++checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi",
++]
++
++[[package]]
++name = "thiserror"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
+ dependencies = [
+ "thiserror-impl",
+ ]
+
+ [[package]]
+ name = "thiserror-impl"
+-version = "1.0.20"
++version = "1.0.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793"
++checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -934,15 +1049,15 @@ dependencies = [
+
+ [[package]]
+ name = "unicode-width"
+-version = "0.1.5"
++version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
++checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
+
+ [[package]]
+ name = "unicode-xid"
+-version = "0.2.0"
++version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
++checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
+
+ [[package]]
+ name = "usb_sys"
+@@ -1015,6 +1130,44 @@ dependencies = [
+ "syscall_defines",
+ ]
+
++[[package]]
++name = "wasi"
++version = "0.10.2+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++
++[[package]]
++name = "which"
++version = "4.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe"
++dependencies = [
++ "either",
++ "libc",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
+ [[package]]
+ name = "wire_format_derive"
+ version = "0.1.0"
+--
+2.30.0
+

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]