Commit graph

92 commits

Author SHA1 Message Date
Philipp Schuster
afdd47bf40
uefi: add jiff02 feature and integrate jiff types with struct Time 2026-06-16 07:02:14 +02:00
Philipp Schuster
991ccb2bcf
uefi: add time03 feature and integrate time types with struct Time 2026-06-09 21:00:09 +02:00
Philipp Schuster
89def6ad01
treewide: bump to MSRV 1.91
Required by some of our new deps. Rust 1.91 was released on October 30th
2025, so 7 months ago.
2026-05-31 21:17:30 +02:00
Philipp Schuster
a7542a6416
chore(deps): cargo bump deps 2026-05-31 21:17:30 +02:00
Nicholas Bishop
13b80d0c5c Bump MSRV to 1.88 2026-01-21 13:23:32 -05:00
Philipp Schuster
49255956fd workspace: switch to resolver v3
Default since Rust 2024 [0]. I am not sure if Cargo decided to use v2
instead of v3, but this way it is more correct in any way.

[0] https://doc.rust-lang.org/edition-guide/rust-2024/cargo-resolver.html
2026-01-02 13:38:20 +01:00
Philipp Schuster
fe5491f6ae uefi-services: remove again
Context: https://github.com/rust-osdev/uefi-rs/pull/1709
2025-06-24 09:26:21 +02:00
Philipp Schuster
00372ca68f uefi-services: prepare v0.26.0 release to accelerate migration/deprecation
Apparently, still a lot of people are using uefi-services, probably mostly due to
auto-upgrades. This seems to cause upgrades when people keep upgrading `uefi`
while still using an outdated version of `uefi-services`.

This update will cause everyone using auto-updates to either rethink to pin
their crate versions or to finally migrate.
2025-06-24 09:08:38 +02:00
Nicholas Bishop
79b667f93f Unpin uguid 2025-05-19 01:10:31 -04:00
renovate[bot]
b9fecde804
chore(deps): update rust crate uguid to v2.2.1 2025-05-18 22:49:20 +00:00
Philipp Schuster
bfe3c6d420 rust: update to edition 2024 2025-05-17 12:21:52 +02:00
Philipp Schuster
2f99572d55 ci: fix failing MSRV uefi-raw job
The new uguid version bumps the MSRV to 1.81 [0], but we don't want this yet.

[0] 02d38c2da4 (r156105330)
2025-04-30 10:10:39 +02:00
Nicholas Bishop
3c1ab6878a Update the workspace license 2025-02-06 23:19:51 -05:00
Nicholas Bishop
3cde1362e4 Update ptr_meta to 0.3.0
The PtrExt trait was removed in this release; free functions are used instead.
2024-12-13 11:49:44 -05:00
Nicholas Bishop
6e03f1a65b Increase MSRV to 1.81 2024-12-10 08:13:45 +01:00
Nicholas Bishop
acd5a841a9 Increase MSRV to 1.79
Mark a few new functions `const` to satisfy clippy lints.

Also drop the "Keep in Sync with README!" comment for the MSRV doc; it's not in
the readme anymore.
2024-10-27 19:30:17 -04:00
Philipp Schuster
47aaec7b82 workspace: add uefi-std-example member 2024-08-21 13:46:35 +02:00
Philipp Schuster
4cea282995 treewide: nuke uefi-services 2024-04-20 15:25:16 +02:00
dependabot[bot]
2b7ffc07e5
build(deps): bump uguid from 2.0.0 to 2.1.0
Bumps [uguid](https://github.com/google/gpt-disk-rs) from 2.0.0 to 2.1.0.
- [Changelog](https://github.com/google/gpt-disk-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gpt-disk-rs/compare/uguid-v2.0.0...uguid-v2.1.0)

---
updated-dependencies:
- dependency-name: uguid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 16:46:47 +00:00
Nicholas Bishop
8717f337b5 Bump MSRV to 1.70 2023-08-24 13:50:21 -04:00
Nicholas Bishop
a8876ed777 Use workspace.dependencies to declare shared dependencies 2023-08-09 17:25:13 +00:00
Nicholas Bishop
6c4a5807dc cargo: Use [workspace.package] to deduplicate metadata
Cargo 1.64 added the ability to inherit package metadata from the root
`Cargo.toml` file. Use that to deduplicate a bunch of fields.
2023-06-10 18:37:06 -04:00
Nicholas Bishop
66e1816deb Automatically download prebuilt OVMF files
The code for trying to find where the OS has installed OVMF files has been
removed. You can still pass your own OVMF files in via command-line or env vars,
but by default the code will download prebuilt OVMF files from
https://github.com/rust-osdev/ovmf-prebuilt.
2023-05-25 12:45:29 -04:00
Nicholas Bishop
2fec3f22b0 uefi-raw: Add mostly-empty package
This just adds the package and wires it into xtask. Nothing depends on it yet.
2023-04-14 20:19:34 -04:00
Nicholas Bishop
2d0c31628f Add uefi to workspace members 2023-03-26 04:15:55 -04:00
Philipp Schuster
c901eda785 workspace: adapted files 2022-11-17 13:14:19 -05:00
Nicholas Bishop
7fc40a8f3b chore: Release 2022-11-15 16:42:54 -05:00
Nicholas Bishop
eee45d8fef Update uefi-macros dependency version 2022-11-15 16:42:54 -05:00
Nicholas Bishop
d17b2bef26 (cargo-release) version 0.17.0 2022-09-09 13:18:07 -04:00
Nicholas Bishop
73a0094dda Update uefi dependency on uefi-macros to latest 2022-09-09 13:18:07 -04:00
Philipp Schuster
1863e29405 Transform feature "ignore-logger-errors" to additive feature. 2022-09-01 09:30:24 -04:00
Nicholas Bishop
99244728cd Use doc_auto_cfg to show feature requirements on docs.rs
Add a `docsrs` config in the `docs.rs` metadata in Cargo.toml. This will
set `--cfg docsrs` when building on docs.rs. Enable the `doc_auto_cfg`
feature when the `docsrs` config is enabled. This feature is currently
unstable, but docs.rs uses a nightly compiler so this works fine.

The effect of this is that docs.rs will show a badge for items that are
only available if some feature is enabled. For example,
`BootServices::find_handles` will have a badge saying "Available on
crate feature exts only."

To view this locally, run this:
```
RUSTDOCFLAGS="--cfg=docsrs" cargo +nightly doc --all-features --open
```

This change has only been applied to the `uefi` package, since the
`uefi-macros` package does not have any features and the `uefi-services`
package's features don't control the visiblity of any public items.

https://github.com/rust-osdev/uefi-rs/issues/486
2022-08-26 14:44:46 -04:00
Nicholas Bishop
08ddf18ae0 Relax version requirements for various deps
Allow older versions of some dependencies to be used if that's all
that's available. This change will have no effect for typical builds
with Cargo, as Cargo will just pick the latest version and download
it. But in more restrictive/sandboxed build environments where the
latest versions of packages might not be available, it's helpful to
allow a wider range of versions.

Only non-dev dependencies have been changed, and only in the three
published packages.

Tested locally by temporarily prefixing these depdency versions with `=`
to force Cargo to use exactly that version, and verifying that
build/test/run commands still worked.
2022-08-26 14:10:57 -04:00
Gabriel Majeri
d2f0b3d863
Release new versions of the crates (#432) 2022-05-16 12:59:49 +03:00
Gabriel Majeri
b7ec37fa6f
Publish new versions of the crates (#390) 2022-03-15 15:47:02 +02:00
Nicholas Bishop
b92545f650 Switch all packages to the 2021 edition 2022-02-28 12:41:10 +02:00
Nicholas Bishop
9c1304022e
Move badges from Cargo.toml to README.md (#349) 2022-01-24 16:31:29 +02:00
Nicholas Bishop
1977d5a146
Point the template at the latest released dependencies (#337) 2022-01-19 16:24:07 +02:00
Nicholas Bishop
a6bdfe54ad Replace build.py with the xtask pattern
This is a rewrite of the Python build.py code in Rust. See
https://github.com/matklad/cargo-xtask for details of the xtask
pattern. Essentially it's a pattern for extending cargo with
project-specific commands. Using Rust gives all the usual benefits of
checking stuff at compile time, thorough error handling, ease of
testing, etc. It is more verbose though, so the LOC goes up a bit.

* Removed `build-std` settings from `.cargo/config` because we want to
  run `xtask` with the default compiler config. The various `cargo
  xtask` commands handle adding the build-std args where needed. This
  has the side effect of obsoleting the
  `uefi-macros/tests/cargo_wrapper` hack.

* The build subcommand now builds the whole workspace (except for xtask,
  since that implicitly has already been built). So no separate CI step
  to test that the `tmplate` package builds is needed.

* Dropped the `--verbose` option, just always print the commands being
  run since it's helpful info.

* Looked like there was some vestigial timeout code for the VM test but
  no timeout was set that I could see; added a timeout to the github
  workflow yaml instead.
2022-01-19 15:04:08 +02:00
Nicholas Bishop
ad7654327d (cargo-release) version 0.14.0 2022-01-14 19:21:45 -05:00
Hiroki Tokunaga
97ad84a12c chore(deps): update the version of qemu-exit 2021-12-17 09:39:14 -05:00
Nicholas Bishop
c0311ff917 Fix compilation errors on nightly related to asm
Add `use core::arch::asm` in a couple places, and add a temporary
override of the qemu-exit dep to point at a branch with the asm fix.

Partially fixes https://github.com/rust-osdev/uefi-rs/issues/329 (but
keep it open until qemu-exit can be switched back to a normal release.)
2021-12-16 12:30:53 -05:00
Gabriel Majeri
1818cd7871
Publish new versions of the crates (#321) 2021-12-12 20:33:25 +02:00
Nicholas Bishop
fcf8d2aab5
Enable all uefi-rs features on docs.rs (#295) 2021-12-11 11:01:44 +02:00
Gabriel Majeri
005ec047a0 Handle panics by unwinding the stack 2021-09-07 14:17:54 +03:00
Gabriel Majeri
5095fcdaee Publish new version of uefi crate 2021-08-23 12:30:20 +03:00
Nicholas Bishop
9c5732f152
Add a minimal UEFI application template (#268)
This adds a new crate under `template/` that contains a very minimal UEFI
application. The instructions in `BUILDING.md` have been updated to reference
the template instead of using inline code snippets.

I think this makes it a bit easier to get started with a new app -- you can
just copy the whole directory and make a couple changes in `Cargo.toml` to get
started. `uefi-test-runner` is similar, but has a lot more stuff in it so it's
harder to see exactly what is needed. Moving the code out of markdown also
makes it easier to test in github actions to ensure the code stays valid.
2021-08-09 22:46:15 +03:00
Gabriel Majeri
7773aca38c Publish new versions of the crates 2021-05-20 20:31:31 +03:00
Gabriel Majeri
1561f676cd Publish new version of the crates 2021-05-19 09:35:07 +03:00
Gabriel Majeri
68d21a660e Publish new version of the crate 2021-05-12 17:44:33 +03:00