Commit Graph

51 Commits

Author SHA1 Message Date
Alyssa Ross
f1d7a313b2 crosvm: 117.0 -> 119.0 2023-11-22 13:18:20 +01:00
Alyssa Ross
862d2d6d4c crosvm: update homepage
There's now a website in addition to the repo, so we should use that.
2023-11-15 12:23:01 +01:00
Alyssa Ross
00f1b94db1 crosvm: backport page size fix for tests
The version of crosvm we have packaged only passes its tests with 4K
pages.

The whole patch doesn't apply, but that's okay, because we don't run
most of the affected tests.
2023-11-11 12:42:18 +00:00
Alyssa Ross
a2024d5e35 crosvm.meta.mainProgram: init 2023-09-25 12:41:28 +00:00
Alyssa Ross
e556540620 crosvm: 116.1 -> 117.0 2023-09-24 07:34:10 +00:00
Alyssa Ross
c5773735ac crosvm: 115.2 -> 116.1 2023-08-25 11:17:19 +00:00
Alyssa Ross
ea322c2662 crosvm: 114.1 -> 115.2 2023-08-18 20:50:08 +00:00
Alyssa Ross
dabfd93358 crosvm: remove obsolete pkg-config hack
This is fixed now, I think by
e2f7c0c24 ("crosvm: Fix cross-compile in dev container").
2023-08-18 20:50:08 +00:00
Alyssa Ross
26afd529e5 pkgsMusl.crosvm: fix build 2023-07-02 07:28:35 +00:00
Alyssa Ross
428c7635a3
crosvm: 113.0 -> 114.1 2023-06-17 15:39:53 +00:00
Alyssa Ross
1fed084b65 crosvm: 112.0 -> 113.0 2023-05-14 13:00:06 +00:00
Alyssa Ross
d5da6e90a0 crosvm: 111.1 -> 112.0 2023-04-09 14:35:07 +00:00
Alyssa Ross
7215a8208c
crosvm: 107.1 -> 111.1
I'm aware of a nasty bug in this crosvm version[1], which didn't
affect me on earlier versions (although from the code it looks like
the bug was already present).  But it only affects vhost-user-gpu,
which is probably a fairly obscure feature, so I guess it shouldn't
hold us back?

[1]: https://groups.google.com/a/chromium.org/g/crosvm-dev/c/v_7Gie37NCI
2023-03-16 01:53:05 +00:00
Alyssa Ross
4c80e3665c crosvm.updateScript: don't vendor Cargo.lock
This is no longer required as crosvm now includes a Cargo.lock in-tree
again.
2022-11-18 17:46:29 +00:00
Alyssa Ross
fb60a5c947 crosvm: 104.0 -> 107.1
crosvm now includes a Cargo.lock again, so we don't need to vendor it
into Nixpkgs.

Its build system now compiles the seccomp policies into the binary, so
we don't need to build and install those ourselves any more.
2022-11-18 17:46:29 +00:00
Alyssa Ross
fcdbfc3d11 crosvm.updateScript: update release branch format
For R106 and onwards, upstream has gone back to not having a
separation between chromeos and not.
2022-11-18 17:46:29 +00:00
Alyssa Ross
80f9c2c366 crosvm: switch back to old git repo URL
Despite having moved the main repo to crosvm/crosvm, release branches
are still only being created on chromiumos/platform/crosvm.  So we
should have crosvm/crosvm as the homepage, but fetch from
chromiumos/platform/crosvm.

Link: https://github.com/NixOS/nixpkgs/pull/193746
2022-11-18 17:46:29 +00:00
Alyssa Ross
cb10a5406c
crosvm: switch back to upstream virglrenderer
We now have virglrenderer 0.10.0, which includes everything crosvm
needs that wasn't in 0.9.1.
2022-09-04 18:45:55 +00:00
Astro
b7731c3997 crosvm: install both .policy and .bpf files
`crosvm --seccomp-log-failures` requires the .policy files. see:
https://crosvm.dev/book/building_crosvm.html#known-issues
2022-08-17 18:03:50 +02:00
Astro
020c641a88 crosvm: 103.3 -> 104.0 2022-08-14 14:35:09 +02:00
Alyssa Ross
f85bbdf2d7 crosvm: don't repeat the path to Cargo.lock
This makes it slightly more convenient to test a local crosvm, by not
having to change the path to Cargo.lock twice.  It's also just cleaner.
2022-08-12 07:55:09 +00:00
Alyssa Ross
290039f8cd crosvm: get rid of upstream-info.json
This was important when building crosvm required assembling our own
build tree from lots of different repositories, but now that they've
moved to submodules, it's overly complicated and needlessly
inconsistent with the rest of Nixpkgs.
2022-08-12 07:55:09 +00:00
Alyssa Ross
7f4172608e crosvm: drop code for running integration tests
These are no longer by default as they have been extracted into their
own crate, so this code wasn't doing anything.  If we did want to run
the integration tests again, we'd have to download kernel and rootfs
binaries from Google, and that's more trouble than it's worth.
2022-08-12 07:55:09 +00:00
Alyssa Ross
a4e921432f crosvm: use cpu arch name to find seccomp files
This matches for both supported platforms, and the package is already
marked incompatible with other processes, so we can simplify here.
2022-08-12 07:55:09 +00:00
Alyssa Ross
de662ab315 crosvm: reindent
This style is more common across Nixpkgs.
2022-08-12 07:55:09 +00:00
Alyssa Ross
ad7f06781b crosvm: precompile seccomp policy files
This saves crosvm having to compile them at runtime, and allows us to
catch more errors at build time.
2022-08-02 12:25:58 +00:00
Alyssa Ross
5df33d0216 crosvm: add support for virgl_renderer{,_next} 2022-07-23 08:42:31 +00:00
Alyssa Ross
b273c33cb2 crosvm.updateScript: update repo URL
ed7d455a43
2022-07-21 16:30:56 +00:00
Alyssa Ross
c83e38c40d crosvm: 100.14526.0.0-rc1 -> 103.3
This is the first update using the new versioning scheme in introduced
in the previous commit.
2022-07-21 16:30:56 +00:00
Alyssa Ross
c01c68bf1c crosvm.updateScript: stop trying manifest-versions
manifest-versions never seems to contain the release build any more,
so we can't use it to find the version of crosvm being served to CrOS
devices.

Instead, I've changed the update script to take the latest version of
the appropriate crosvm Chrome OS release branch.  This is the branch
that gets served.  Every release, it is branched off from the
"chromeos" branch (which is the one that passes Chrome OS QA), and
then collects any critical fixes over the lifetime of the release.

With this change, I've introduced a new, simplified versioning
scheme, e.g. 100.0.  The tip build is always 1:1 with the Chrome
version, so having both of those is redundant.  The other number is
the number of commits that have been added to the release branch after
branching from the chromeos branch, so that the number will go up if
we update to include a new commit from the same release.
2022-07-21 16:30:56 +00:00
Alyssa Ross
acdfec904d crosvm.updateScript: update for new serving dash
The old dashboard no longer exists.  Currently, the platform version
being served doesn't exist in manifest versions, but that was also a
problem we had before sometimes.
2022-07-21 16:30:56 +00:00
Alyssa Ross
931ae3ee7b crosvm.updateScript: check for . in buildspec name
Otherwise, we might only match a prefix of the version.  (Although
it's not likely to be a problem in practice — I doubt we'll end up in
a situation where there's a buildspec number 10x the one we're looking
for.)
2022-07-21 16:30:56 +00:00
Alyssa Ross
11ffcf0fdf crosvm.updateScript: remove unused import 2022-07-21 16:30:56 +00:00
Alyssa Ross
ff8e90326f crosvm: fix seccomp directory on aarch64
"arm" is for 32-bit ARM.  (Which I don't think is even still
supported, but it's still present.)
2022-07-17 07:37:50 +00:00
Alyssa Ross
7e7aa63d3b crosvm: enable debug info 2022-07-16 09:21:57 +00:00
Alyssa Ross
40f140ad87 crosvm: 99.14468.0.0-rc1 -> 100.14526.0.0-rc1 2022-04-13 08:20:32 +00:00
Alyssa Ross
26d66fbfa9 crosvm.updateScript: generate Cargo.lock 2022-04-13 08:20:32 +00:00
Alyssa Ross
6aefdafbed crosvm: 81.12871.0.0-rc1 -> 99.14468.0.0-rc1
crosvm now uses submodules for all of its dependencies to ease
out-of-tree builds, so we no longer need to try to reconstruct a
partial Chromium OS source tree ourselves.  Yay!

But, it no longer comes with a Cargo.lock, so we have to bundle that.
2022-03-21 14:21:44 +00:00
Daniël de Kok
85f96822a0 treewide: fix cargoSha256/cargoHash
Rust 1.50.0 incorporated a Cargo change (rust-lang/cargo#8937) in
which cargo vendor erroneously changed permissions of vendored
crates. This was fixed in Rust
1.51.0 (rust-lang/cargo#9131). Unfortunately, this means that all
cargoSha256/cargoHashes produced during the Rust 1.50.0 cycle are
potentially broken.

This change updates cargoSha256/cargoHash tree-wide.

Fixes #121994.
2021-05-08 00:36:37 -07:00
John Ericson
9c213398b3 lib: Clean up how linux and gcc config is specified
Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that
commit for details.

This reverts commit 0bc275e634.
2021-01-23 10:01:28 -05:00
Jonathan Ringer
0bc275e634
Revert "lib: Clean up how linux and gcc config is specified"
This is a stdenv-rebuild, and should not be merged
into master

This reverts commit 8929989614.
2021-01-22 14:07:06 -08:00
John Ericson
8929989614 lib: Clean up how linux and gcc config is specified
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.

This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.

`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.

The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
2021-01-21 22:44:09 -05:00
Ben Siraphob
5d566c43b4 pkgs/applications: pkgconfig -> pkg-config 2021-01-16 23:49:59 -08:00
Alyssa Ross
98b3ac8d40 crosvm: 79.12607.0.0-rc4 -> 81.12871.0.0-rc1 2020-04-23 09:06:11 +00:00
Alyssa Ross
56e9d1f936 chromiumOSPackages.updateScript: fix buildspec url
"paladin" doesn't seem to be up to date, whereas "full" seems to match
what cros-updates-serving.appspot.com reports is currently being
shipped to Chromebooks.
2020-04-23 09:06:11 +00:00
Benjamin Hipple
ad30a30488 rustPlatform.fetchCargo: handle custom Cargo.lock patchfiles with validation
Previously, we would asssert that the lockfiles are consistent during the
unpackPhase, but if the pkg has a patch for the lockfile itself then we must
wait until the patchPhase is complete to check.

This also removes an implicity dependency on the src attribute coming from
`fetchzip` / `fetchFromGitHub`, which happens to name the source directory
"source". Now we glob for it, so different fetchers will work consistently.
2020-02-28 18:54:23 -08:00
Benjamin Hipple
eb11feaa0b treewide: change fetchCargoTarball default to opt-out
Changes the default fetcher in the Rust Platform to be the newer
`fetchCargoTarball`, and changes every application using the current default to
instead opt out.

This commit does not change any hashes or cause any rebuilds. Once integrated,
we will start deleting the opt-outs and recomputing hashes.

See #79975 for details.
2020-02-13 22:41:37 -08:00
Alyssa Ross
c76deaef9c crosvm: 77.12371.0.0-rc1 -> 79.12607.0.0-rc4
Replaced src munging with a custom unpackPhase because the previous
approach couldn't handle a newly introduced path with a space, and
this is cleaner anyway (but was impossible at the time due to
unpackPhase not being forwarded to fetchcargo).
2019-12-24 17:23:52 +00:00
Alyssa Ross
0c62e73b37 crosvm: add myself as maintainer 2019-12-24 17:23:52 +00:00
Alyssa Ross
7e683f6393 crosvm.updateScript: use more stable update source
It has been explained to me that cros-omahaproxy reports which
versions are available to users, while cros-updates-serving reports
the latest builds available for each channel.  The latter is probably
better for our use case anyway, and apparently, while both aren't
officially supported, is less likely to randomly break.

So let's use that instead, even if it is much more annoying to parse.
2019-12-24 17:23:52 +00:00