Skip to content

Update deps - #380

Merged
JohnAZoidberg merged 7 commits into
mainfrom
update-deps-2026-10-05
Oct 6, 2026
Merged

JohnAZoidberg merged 7 commits into
mainfrom
update-deps-2026-10-05

Conversation

@JohnAZoidberg

Copy link
Copy Markdown
Member

Made sure to stay compatible with rust 1.90 which is what ubuntu currently ships

Run cargo update and bump semver-major versions:

- nix 0.31, rand 0.10, spin 0.12, num-derive 0.5
- clap_mangen 0.3, nvml-wrapper 0.13
- uefi 0.41, uefi-raw 0.17
- winreg 0.56, windows-version 0.100, wmi 0.18

uefi 0.41 takes the event by reference in boot::check_event.

sha1 and sha2 stay at 0.10. 0.11 removed the force-soft feature and
its runtime CPU feature detection crashes LLVM again when compiling
for x86_64-unknown-uefi.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
The UEFI shell passes the executable name as the first argument, so the
argument list is never empty and running the tool without arguments
printed "Failed to parse any commandline options" instead of the help.
The same off-by-one prevented `-b` on its own from showing the help.

Add a QEMU test for running without arguments.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
The boot.efi rule only depended on framework_uefi's own sources and
Cargo.lock, so changes to framework_lib, or to FEATURES, didn't rebuild
it and `make test` silently ran a stale binary.

Always run cargo, which tracks all dependencies, and only replace
boot.efi when the binary changed, to avoid rebuilding the disk images.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
The declared rust-version of 1.81 (and 1.74 in the README) has been
out of date for a while: built 0.8.1 already needed 1.87. After the
dependency update the requirements differ per platform:

- Linux: 1.89 (uuid)
- UEFI: 1.91 (uefi)
- Windows: 1.95 (windows-version)

rust-version can't be set per target, so framework_lib declares the
Linux minimum. Cargo still enforces windows-version's own rust-version
when building for Windows with an older toolchain.

The higher MSRV enables clippy's manual_is_multiple_of lint, fix the
one place it flags.

Verified building for Linux with Rust 1.89 and for UEFI with Rust 1.91.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
v7 of both moves to ESM with no changes to the inputs we use. Also move
the FreeBSD job's pinned checkout from v5.0.0 to v7.0.1.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
The ESRT has been read from the registry instead of WMI since commit
3d7ecd1 ("esrt: Get full ESRT table entries on Windows"), leaving the
wmi crate unused. Dropping it also removes futures and serde from the
Windows dependency tree.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
Update nixpkgs and rust-overlay. The old rust-overlay pin from February
resolved "stable" to an older Rust than the dependencies now need; it
now resolves to 1.99.

Verified with `nix build .#tool .#uefi .#windows`

Signed-off-by: Daniel Schaefer <dhs@frame.work>
@JohnAZoidberg
JohnAZoidberg merged commit 58f47e6 into main Oct 6, 2026
5 of 11 checks passed
@JohnAZoidberg
JohnAZoidberg deleted the update-deps-2026-10-05 branch October 6, 2026 06:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant