workspace: add Rust EFI infrastructure

This bumps rules_rust, cleans up the toolchains with the new version.
It also adds the Prost codegen to "normal" crate set as well as a new
crate set specific to EFI. This is separate because of Rust no-std's
dependence on create feature tags.

Change-Id: Ie76e66ee83696948391420ca3b011a3a71258690
Reviewed-on: https://review.monogon.dev/c/monogon/+/2202
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/third_party/rust_efi/cargo/BUILD.bazel b/third_party/rust_efi/cargo/BUILD.bazel
new file mode 100644
index 0000000..406c168
--- /dev/null
+++ b/third_party/rust_efi/cargo/BUILD.bazel
@@ -0,0 +1,24 @@
+"""
+@generated
+cargo-raze generated Bazel file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# Export file for Stardoc support
+exports_files(
+    glob([
+        "**/*.bazel",
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "**/*.bazel",
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
diff --git a/third_party/rust_efi/cargo/Cargo.raze.lock b/third_party/rust_efi/cargo/Cargo.raze.lock
new file mode 100644
index 0000000..0eec2c2
--- /dev/null
+++ b/third_party/rust_efi/cargo/Cargo.raze.lock
@@ -0,0 +1,223 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+[[package]]
+name = "anyhow"
+version = "1.0.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+
+[[package]]
+name = "bit_field"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+
+[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "compile_with_bazel"
+version = "0.0.0"
+dependencies = [
+ "prost",
+ "prost-types",
+ "uefi",
+ "uefi-services",
+]
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "prost"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d"
+dependencies = [
+ "bytes",
+ "prost-derive",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32"
+dependencies = [
+ "anyhow",
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf"
+dependencies = [
+ "prost",
+]
+
+[[package]]
+name = "ptr_meta"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607"
+dependencies = [
+ "ptr_meta_derive",
+]
+
+[[package]]
+name = "ptr_meta_derive"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "ucs2"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bad643914094137d475641b6bab89462505316ec2ce70907ad20102d28a79ab8"
+dependencies = [
+ "bit_field",
+]
+
+[[package]]
+name = "uefi"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b63e82686b4bdb0db74f18b2abbd60a0470354fb640aa69e115598d714d0a10"
+dependencies = [
+ "bitflags",
+ "log",
+ "ptr_meta",
+ "ucs2",
+ "uefi-macros",
+ "uefi-raw",
+ "uguid",
+]
+
+[[package]]
+name = "uefi-macros"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "023d94ef8e135d068b9a3bd94614ef2610b2b0419ade0a9d8f3501fa9cd08e95"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "uefi-raw"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62642516099c6441a5f41b0da8486d5fc3515a0603b0fdaea67b31600e22082e"
+dependencies = [
+ "bitflags",
+ "ptr_meta",
+ "uguid",
+]
+
+[[package]]
+name = "uefi-services"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44b32954ebbb4be5ebfde0df6699c2091f04e9f9c3762c65f3435dfb1a90a668"
+dependencies = [
+ "cfg-if",
+ "log",
+ "uefi",
+]
+
+[[package]]
+name = "uguid"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16dfbd255defbd727b3a30e8950695d2e6d045841ee250ff0f1f7ced17917f8d"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
diff --git a/third_party/rust_efi/cargo/crates.bzl b/third_party/rust_efi/cargo/crates.bzl
new file mode 100644
index 0000000..97e6623
--- /dev/null
+++ b/third_party/rust_efi/cargo/crates.bzl
@@ -0,0 +1,252 @@
+"""
+@generated
+cargo-raze generated Bazel file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")  # buildifier: disable=load
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")  # buildifier: disable=load
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")  # buildifier: disable=load
+
+def rsefi_fetch_remote_crates():
+    """This function defines a collection of repos and should be called in a WORKSPACE file"""
+    maybe(
+        http_archive,
+        name = "rsefi__anyhow__1_0_75",
+        url = "https://crates.io/api/v1/crates/anyhow/1.0.75/download",
+        type = "tar.gz",
+        sha256 = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6",
+        strip_prefix = "anyhow-1.0.75",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.anyhow-1.0.75.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__bit_field__0_10_2",
+        url = "https://crates.io/api/v1/crates/bit_field/0.10.2/download",
+        type = "tar.gz",
+        sha256 = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61",
+        strip_prefix = "bit_field-0.10.2",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.bit_field-0.10.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__bitflags__2_4_0",
+        url = "https://crates.io/api/v1/crates/bitflags/2.4.0/download",
+        type = "tar.gz",
+        sha256 = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635",
+        strip_prefix = "bitflags-2.4.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.bitflags-2.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__bytes__1_5_0",
+        url = "https://crates.io/api/v1/crates/bytes/1.5.0/download",
+        type = "tar.gz",
+        sha256 = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223",
+        strip_prefix = "bytes-1.5.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.bytes-1.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__cfg_if__1_0_0",
+        url = "https://crates.io/api/v1/crates/cfg-if/1.0.0/download",
+        type = "tar.gz",
+        sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
+        strip_prefix = "cfg-if-1.0.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.cfg-if-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__either__1_9_0",
+        url = "https://crates.io/api/v1/crates/either/1.9.0/download",
+        type = "tar.gz",
+        sha256 = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07",
+        strip_prefix = "either-1.9.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.either-1.9.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__itertools__0_11_0",
+        url = "https://crates.io/api/v1/crates/itertools/0.11.0/download",
+        type = "tar.gz",
+        sha256 = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57",
+        strip_prefix = "itertools-0.11.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.itertools-0.11.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__log__0_4_20",
+        url = "https://crates.io/api/v1/crates/log/0.4.20/download",
+        type = "tar.gz",
+        sha256 = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f",
+        strip_prefix = "log-0.4.20",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.log-0.4.20.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__proc_macro2__1_0_67",
+        url = "https://crates.io/api/v1/crates/proc-macro2/1.0.67/download",
+        type = "tar.gz",
+        sha256 = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328",
+        strip_prefix = "proc-macro2-1.0.67",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.proc-macro2-1.0.67.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__prost__0_12_1",
+        url = "https://crates.io/api/v1/crates/prost/0.12.1/download",
+        type = "tar.gz",
+        sha256 = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d",
+        strip_prefix = "prost-0.12.1",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.prost-0.12.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__prost_derive__0_12_1",
+        url = "https://crates.io/api/v1/crates/prost-derive/0.12.1/download",
+        type = "tar.gz",
+        sha256 = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32",
+        strip_prefix = "prost-derive-0.12.1",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.prost-derive-0.12.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__prost_types__0_12_1",
+        url = "https://crates.io/api/v1/crates/prost-types/0.12.1/download",
+        type = "tar.gz",
+        sha256 = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf",
+        strip_prefix = "prost-types-0.12.1",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.prost-types-0.12.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__ptr_meta__0_2_0",
+        url = "https://crates.io/api/v1/crates/ptr_meta/0.2.0/download",
+        type = "tar.gz",
+        sha256 = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607",
+        strip_prefix = "ptr_meta-0.2.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.ptr_meta-0.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__ptr_meta_derive__0_2_0",
+        url = "https://crates.io/api/v1/crates/ptr_meta_derive/0.2.0/download",
+        type = "tar.gz",
+        sha256 = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2",
+        strip_prefix = "ptr_meta_derive-0.2.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.ptr_meta_derive-0.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__quote__1_0_33",
+        url = "https://crates.io/api/v1/crates/quote/1.0.33/download",
+        type = "tar.gz",
+        sha256 = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae",
+        strip_prefix = "quote-1.0.33",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.quote-1.0.33.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__syn__1_0_109",
+        url = "https://crates.io/api/v1/crates/syn/1.0.109/download",
+        type = "tar.gz",
+        sha256 = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237",
+        strip_prefix = "syn-1.0.109",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.syn-1.0.109.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__syn__2_0_37",
+        url = "https://crates.io/api/v1/crates/syn/2.0.37/download",
+        type = "tar.gz",
+        sha256 = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8",
+        strip_prefix = "syn-2.0.37",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.syn-2.0.37.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__ucs2__0_3_2",
+        url = "https://crates.io/api/v1/crates/ucs2/0.3.2/download",
+        type = "tar.gz",
+        sha256 = "bad643914094137d475641b6bab89462505316ec2ce70907ad20102d28a79ab8",
+        strip_prefix = "ucs2-0.3.2",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.ucs2-0.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__uefi__0_24_0",
+        url = "https://crates.io/api/v1/crates/uefi/0.24.0/download",
+        type = "tar.gz",
+        sha256 = "3b63e82686b4bdb0db74f18b2abbd60a0470354fb640aa69e115598d714d0a10",
+        strip_prefix = "uefi-0.24.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.uefi-0.24.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__uefi_macros__0_12_0",
+        url = "https://crates.io/api/v1/crates/uefi-macros/0.12.0/download",
+        type = "tar.gz",
+        sha256 = "023d94ef8e135d068b9a3bd94614ef2610b2b0419ade0a9d8f3501fa9cd08e95",
+        strip_prefix = "uefi-macros-0.12.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.uefi-macros-0.12.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__uefi_raw__0_3_0",
+        url = "https://crates.io/api/v1/crates/uefi-raw/0.3.0/download",
+        type = "tar.gz",
+        sha256 = "62642516099c6441a5f41b0da8486d5fc3515a0603b0fdaea67b31600e22082e",
+        strip_prefix = "uefi-raw-0.3.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.uefi-raw-0.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__uefi_services__0_21_0",
+        url = "https://crates.io/api/v1/crates/uefi-services/0.21.0/download",
+        type = "tar.gz",
+        sha256 = "44b32954ebbb4be5ebfde0df6699c2091f04e9f9c3762c65f3435dfb1a90a668",
+        strip_prefix = "uefi-services-0.21.0",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.uefi-services-0.21.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__uguid__2_0_1",
+        url = "https://crates.io/api/v1/crates/uguid/2.0.1/download",
+        type = "tar.gz",
+        sha256 = "16dfbd255defbd727b3a30e8950695d2e6d045841ee250ff0f1f7ced17917f8d",
+        strip_prefix = "uguid-2.0.1",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.uguid-2.0.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rsefi__unicode_ident__1_0_12",
+        url = "https://crates.io/api/v1/crates/unicode-ident/1.0.12/download",
+        type = "tar.gz",
+        sha256 = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b",
+        strip_prefix = "unicode-ident-1.0.12",
+        build_file = Label("//third_party/rust_efi/cargo/remote:BUILD.unicode-ident-1.0.12.bazel"),
+    )
diff --git a/third_party/rust_efi/cargo/remote/BUILD.anyhow-1.0.75.bazel b/third_party/rust_efi/cargo/remote/BUILD.anyhow-1.0.75.bazel
new file mode 100644
index 0000000..0451aa7
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.anyhow-1.0.75.bazel
@@ -0,0 +1,116 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+# buildifier: disable=out-of-order-load
+# buildifier: disable=load-on-top
+load(
+    "@rules_rust//cargo:cargo_build_script.bzl",
+    "cargo_build_script",
+)
+
+cargo_build_script(
+    name = "anyhow_build_script",
+    srcs = glob(["**/*.rs"]),
+    build_script_env = {
+    },
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "build.rs",
+    data = glob(["**"]),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "1.0.75",
+    visibility = ["//visibility:private"],
+    deps = [
+    ],
+)
+
+rust_library(
+    name = "anyhow",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=anyhow",
+        "manual",
+    ],
+    version = "1.0.75",
+    # buildifier: leave-alone
+    deps = [
+        ":anyhow_build_script",
+    ],
+)
+
+# Unsupported target "compiletest" with type "test" omitted
+
+# Unsupported target "test_autotrait" with type "test" omitted
+
+# Unsupported target "test_backtrace" with type "test" omitted
+
+# Unsupported target "test_boxed" with type "test" omitted
+
+# Unsupported target "test_chain" with type "test" omitted
+
+# Unsupported target "test_context" with type "test" omitted
+
+# Unsupported target "test_convert" with type "test" omitted
+
+# Unsupported target "test_downcast" with type "test" omitted
+
+# Unsupported target "test_ensure" with type "test" omitted
+
+# Unsupported target "test_ffi" with type "test" omitted
+
+# Unsupported target "test_fmt" with type "test" omitted
+
+# Unsupported target "test_macros" with type "test" omitted
+
+# Unsupported target "test_repr" with type "test" omitted
+
+# Unsupported target "test_source" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bazel b/third_party/rust_efi/cargo/remote/BUILD.bazel
new file mode 100644
index 0000000..b49fb68
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bazel
@@ -0,0 +1,17 @@
+# Export file for Stardoc support
+exports_files(
+    glob([
+        "**/*.bazel",
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "**/*.bazel",
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bit_field-0.10.2.bazel b/third_party/rust_efi/cargo/remote/BUILD.bit_field-0.10.2.bazel
new file mode 100644
index 0000000..9be4862
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bit_field-0.10.2.bazel
@@ -0,0 +1,54 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0 OR MIT"
+])
+
+# Generated Targets
+
+# Unsupported target "bench" with type "bench" omitted
+
+rust_library(
+    name = "bit_field",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=bit_field",
+        "manual",
+    ],
+    version = "0.10.2",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bitflags-2.4.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.bitflags-2.4.0.bazel
new file mode 100644
index 0000000..5c90aa8
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bitflags-2.4.0.bazel
@@ -0,0 +1,64 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "parse" with type "bench" omitted
+
+# Unsupported target "custom_bits_type" with type "example" omitted
+
+# Unsupported target "custom_derive" with type "example" omitted
+
+# Unsupported target "fmt" with type "example" omitted
+
+# Unsupported target "macro_free" with type "example" omitted
+
+# Unsupported target "serde" with type "example" omitted
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=bitflags",
+        "manual",
+    ],
+    version = "2.4.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.bytes-1.5.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.bytes-1.5.0.bazel
new file mode 100644
index 0000000..4e0ef58
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.bytes-1.5.0.bazel
@@ -0,0 +1,80 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+# Unsupported target "buf" with type "bench" omitted
+
+# Unsupported target "bytes" with type "bench" omitted
+
+# Unsupported target "bytes_mut" with type "bench" omitted
+
+rust_library(
+    name = "bytes",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=bytes",
+        "manual",
+    ],
+    version = "1.5.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "test_buf" with type "test" omitted
+
+# Unsupported target "test_buf_mut" with type "test" omitted
+
+# Unsupported target "test_bytes" with type "test" omitted
+
+# Unsupported target "test_bytes_odd_alloc" with type "test" omitted
+
+# Unsupported target "test_bytes_vec_alloc" with type "test" omitted
+
+# Unsupported target "test_chain" with type "test" omitted
+
+# Unsupported target "test_debug" with type "test" omitted
+
+# Unsupported target "test_iter" with type "test" omitted
+
+# Unsupported target "test_reader" with type "test" omitted
+
+# Unsupported target "test_serde" with type "test" omitted
+
+# Unsupported target "test_take" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.cfg-if-1.0.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..ef69402
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,54 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=cfg-if",
+        "manual",
+    ],
+    version = "1.0.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "xcrate" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.either-1.9.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.either-1.9.0.bazel
new file mode 100644
index 0000000..5893a0a
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.either-1.9.0.bazel
@@ -0,0 +1,52 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "either",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=either",
+        "manual",
+    ],
+    version = "1.9.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.itertools-0.11.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.itertools-0.11.0.bazel
new file mode 100644
index 0000000..4bdd2e9
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.itertools-0.11.0.bazel
@@ -0,0 +1,96 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "bench1" with type "bench" omitted
+
+# Unsupported target "combinations" with type "bench" omitted
+
+# Unsupported target "combinations_with_replacement" with type "bench" omitted
+
+# Unsupported target "fold_specialization" with type "bench" omitted
+
+# Unsupported target "powerset" with type "bench" omitted
+
+# Unsupported target "tree_fold1" with type "bench" omitted
+
+# Unsupported target "tuple_combinations" with type "bench" omitted
+
+# Unsupported target "tuples" with type "bench" omitted
+
+# Unsupported target "iris" with type "example" omitted
+
+rust_library(
+    name = "itertools",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "use_alloc",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=itertools",
+        "manual",
+    ],
+    version = "0.11.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__either__1_9_0//:either",
+    ],
+)
+
+# Unsupported target "adaptors_no_collect" with type "test" omitted
+
+# Unsupported target "flatten_ok" with type "test" omitted
+
+# Unsupported target "macros_hygiene" with type "test" omitted
+
+# Unsupported target "merge_join" with type "test" omitted
+
+# Unsupported target "peeking_take_while" with type "test" omitted
+
+# Unsupported target "quick" with type "test" omitted
+
+# Unsupported target "specializations" with type "test" omitted
+
+# Unsupported target "test_core" with type "test" omitted
+
+# Unsupported target "test_std" with type "test" omitted
+
+# Unsupported target "tuples" with type "test" omitted
+
+# Unsupported target "zip" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.log-0.4.20.bazel b/third_party/rust_efi/cargo/remote/BUILD.log-0.4.20.bazel
new file mode 100644
index 0000000..21e140e
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.log-0.4.20.bazel
@@ -0,0 +1,58 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "value" with type "bench" omitted
+
+rust_library(
+    name = "log",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2015",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=log",
+        "manual",
+    ],
+    version = "0.4.20",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "filters" with type "test" omitted
+
+# Unsupported target "macros" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.proc-macro2-1.0.67.bazel b/third_party/rust_efi/cargo/remote/BUILD.proc-macro2-1.0.67.bazel
new file mode 100644
index 0000000..d46bf3d
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.proc-macro2-1.0.67.bazel
@@ -0,0 +1,101 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+# buildifier: disable=out-of-order-load
+# buildifier: disable=load-on-top
+load(
+    "@rules_rust//cargo:cargo_build_script.bzl",
+    "cargo_build_script",
+)
+
+cargo_build_script(
+    name = "proc_macro2_build_script",
+    srcs = glob(["**/*.rs"]),
+    build_script_env = {
+    },
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "build.rs",
+    data = glob(["**"]),
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "1.0.67",
+    visibility = ["//visibility:private"],
+    deps = [
+    ],
+)
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=proc-macro2",
+        "manual",
+    ],
+    version = "1.0.67",
+    # buildifier: leave-alone
+    deps = [
+        ":proc_macro2_build_script",
+        "@rsefi__unicode_ident__1_0_12//:unicode_ident",
+    ],
+)
+
+# Unsupported target "comments" with type "test" omitted
+
+# Unsupported target "features" with type "test" omitted
+
+# Unsupported target "marker" with type "test" omitted
+
+# Unsupported target "test" with type "test" omitted
+
+# Unsupported target "test_fmt" with type "test" omitted
+
+# Unsupported target "test_size" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.prost-0.12.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.prost-0.12.1.bazel
new file mode 100644
index 0000000..4dc3aff
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.prost-0.12.1.bazel
@@ -0,0 +1,66 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "varint" with type "bench" omitted
+
+rust_library(
+    name = "prost",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "prost-derive",
+    ],
+    crate_root = "src/lib.rs",
+    data = [] + [
+        "README.md",
+    ],
+    edition = "2021",
+    proc_macro_deps = [
+        "@rsefi__prost_derive__0_12_1//:prost_derive",
+    ],
+    rustc_env = {
+        "PATH": "/usr/bin",
+    },
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=prost",
+        "manual",
+    ],
+    version = "0.12.1",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bytes__1_5_0//:bytes",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.prost-derive-0.12.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.prost-derive-0.12.1.bazel
new file mode 100644
index 0000000..07c6524
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.prost-derive-0.12.1.bazel
@@ -0,0 +1,57 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0"
+])
+
+# Generated Targets
+
+rust_proc_macro(
+    name = "prost_derive",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=prost-derive",
+        "manual",
+    ],
+    version = "0.12.1",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__anyhow__1_0_75//:anyhow",
+        "@rsefi__itertools__0_11_0//:itertools",
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__syn__2_0_37//:syn",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.prost-types-0.12.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.prost-types-0.12.1.bazel
new file mode 100644
index 0000000..0be6134
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.prost-types-0.12.1.bazel
@@ -0,0 +1,53 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # Apache-2.0 from expression "Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "prost_types",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=prost-types",
+        "manual",
+    ],
+    version = "0.12.1",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__prost__0_12_1//:prost",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.ptr_meta-0.2.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta-0.2.0.bazel
new file mode 100644
index 0000000..65a2a99
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta-0.2.0.bazel
@@ -0,0 +1,55 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "ptr_meta",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    proc_macro_deps = [
+        "@rsefi__ptr_meta_derive__0_2_0//:ptr_meta_derive",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=ptr_meta",
+        "manual",
+    ],
+    version = "0.2.0",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.ptr_meta_derive-0.2.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta_derive-0.2.0.bazel
new file mode 100644
index 0000000..66ee2a0
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.ptr_meta_derive-0.2.0.bazel
@@ -0,0 +1,55 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT"
+])
+
+# Generated Targets
+
+rust_proc_macro(
+    name = "ptr_meta_derive",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=ptr_meta_derive",
+        "manual",
+    ],
+    version = "0.2.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__syn__1_0_109//:syn",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.quote-1.0.33.bazel b/third_party/rust_efi/cargo/remote/BUILD.quote-1.0.33.bazel
new file mode 100644
index 0000000..b293b7d
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.quote-1.0.33.bazel
@@ -0,0 +1,61 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "quote",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=quote",
+        "manual",
+    ],
+    version = "1.0.33",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+    ],
+)
+
+# Unsupported target "compiletest" with type "test" omitted
+
+# Unsupported target "test" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.syn-1.0.109.bazel b/third_party/rust_efi/cargo/remote/BUILD.syn-1.0.109.bazel
new file mode 100644
index 0000000..10acbb5
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.syn-1.0.109.bazel
@@ -0,0 +1,161 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+# buildifier: disable=out-of-order-load
+# buildifier: disable=load-on-top
+load(
+    "@rules_rust//cargo:cargo_build_script.bzl",
+    "cargo_build_script",
+)
+
+cargo_build_script(
+    name = "syn_build_script",
+    srcs = glob(["**/*.rs"]),
+    build_script_env = {
+    },
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "build.rs",
+    data = glob(["**"]),
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "manual",
+    ],
+    version = "1.0.109",
+    visibility = ["//visibility:private"],
+    deps = [
+    ],
+)
+
+# Unsupported target "file" with type "bench" omitted
+
+# Unsupported target "rust" with type "bench" omitted
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=syn",
+        "manual",
+    ],
+    version = "1.0.109",
+    # buildifier: leave-alone
+    deps = [
+        ":syn_build_script",
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__unicode_ident__1_0_12//:unicode_ident",
+    ],
+)
+
+# Unsupported target "regression" with type "test" omitted
+
+# Unsupported target "test_asyncness" with type "test" omitted
+
+# Unsupported target "test_attribute" with type "test" omitted
+
+# Unsupported target "test_derive_input" with type "test" omitted
+
+# Unsupported target "test_expr" with type "test" omitted
+
+# Unsupported target "test_generics" with type "test" omitted
+
+# Unsupported target "test_grouping" with type "test" omitted
+
+# Unsupported target "test_ident" with type "test" omitted
+
+# Unsupported target "test_item" with type "test" omitted
+
+# Unsupported target "test_iterators" with type "test" omitted
+
+# Unsupported target "test_lit" with type "test" omitted
+
+# Unsupported target "test_meta" with type "test" omitted
+
+# Unsupported target "test_parse_buffer" with type "test" omitted
+
+# Unsupported target "test_parse_stream" with type "test" omitted
+
+# Unsupported target "test_pat" with type "test" omitted
+
+# Unsupported target "test_path" with type "test" omitted
+
+# Unsupported target "test_precedence" with type "test" omitted
+
+# Unsupported target "test_receiver" with type "test" omitted
+
+# Unsupported target "test_round_trip" with type "test" omitted
+
+# Unsupported target "test_shebang" with type "test" omitted
+
+# Unsupported target "test_should_parse" with type "test" omitted
+
+# Unsupported target "test_size" with type "test" omitted
+
+# Unsupported target "test_stmt" with type "test" omitted
+
+# Unsupported target "test_token_trees" with type "test" omitted
+
+# Unsupported target "test_ty" with type "test" omitted
+
+# Unsupported target "test_visibility" with type "test" omitted
+
+# Unsupported target "zzz_stable" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.syn-2.0.37.bazel b/third_party/rust_efi/cargo/remote/BUILD.syn-2.0.37.bazel
new file mode 100644
index 0000000..528a307
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.syn-2.0.37.bazel
@@ -0,0 +1,124 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+# Unsupported target "file" with type "bench" omitted
+
+# Unsupported target "rust" with type "bench" omitted
+
+rust_library(
+    name = "syn",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=syn",
+        "manual",
+    ],
+    version = "2.0.37",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__unicode_ident__1_0_12//:unicode_ident",
+    ],
+)
+
+# Unsupported target "regression" with type "test" omitted
+
+# Unsupported target "test_asyncness" with type "test" omitted
+
+# Unsupported target "test_attribute" with type "test" omitted
+
+# Unsupported target "test_derive_input" with type "test" omitted
+
+# Unsupported target "test_expr" with type "test" omitted
+
+# Unsupported target "test_generics" with type "test" omitted
+
+# Unsupported target "test_grouping" with type "test" omitted
+
+# Unsupported target "test_ident" with type "test" omitted
+
+# Unsupported target "test_item" with type "test" omitted
+
+# Unsupported target "test_iterators" with type "test" omitted
+
+# Unsupported target "test_lit" with type "test" omitted
+
+# Unsupported target "test_meta" with type "test" omitted
+
+# Unsupported target "test_parse_buffer" with type "test" omitted
+
+# Unsupported target "test_parse_stream" with type "test" omitted
+
+# Unsupported target "test_pat" with type "test" omitted
+
+# Unsupported target "test_path" with type "test" omitted
+
+# Unsupported target "test_precedence" with type "test" omitted
+
+# Unsupported target "test_receiver" with type "test" omitted
+
+# Unsupported target "test_round_trip" with type "test" omitted
+
+# Unsupported target "test_shebang" with type "test" omitted
+
+# Unsupported target "test_should_parse" with type "test" omitted
+
+# Unsupported target "test_size" with type "test" omitted
+
+# Unsupported target "test_stmt" with type "test" omitted
+
+# Unsupported target "test_token_trees" with type "test" omitted
+
+# Unsupported target "test_ty" with type "test" omitted
+
+# Unsupported target "test_visibility" with type "test" omitted
+
+# Unsupported target "zzz_stable" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.ucs2-0.3.2.bazel b/third_party/rust_efi/cargo/remote/BUILD.ucs2-0.3.2.bazel
new file mode 100644
index 0000000..73ff181
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.ucs2-0.3.2.bazel
@@ -0,0 +1,53 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "ucs2",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=ucs2",
+        "manual",
+    ],
+    version = "0.3.2",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bit_field__0_10_2//:bit_field",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-0.24.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-0.24.0.bazel
new file mode 100644
index 0000000..251f872
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-0.24.0.bazel
@@ -0,0 +1,68 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uefi",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "alloc",
+        "default",
+        "global_allocator",
+        "logger",
+        "panic-on-logger-errors",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    proc_macro_deps = [
+        "@rsefi__uefi_macros__0_12_0//:uefi_macros",
+    ],
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi",
+        "manual",
+    ],
+    version = "0.24.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bitflags__2_4_0//:bitflags",
+        "@rsefi__log__0_4_20//:log",
+        "@rsefi__ptr_meta__0_2_0//:ptr_meta",
+        "@rsefi__ucs2__0_3_2//:ucs2",
+        "@rsefi__uefi_raw__0_3_0//:uefi_raw",
+        "@rsefi__uguid__2_0_1//:uguid",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-macros-0.12.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-macros-0.12.0.bazel
new file mode 100644
index 0000000..a361567
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-macros-0.12.0.bazel
@@ -0,0 +1,57 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_proc_macro(
+    name = "uefi_macros",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi-macros",
+        "manual",
+    ],
+    version = "0.12.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__proc_macro2__1_0_67//:proc_macro2",
+        "@rsefi__quote__1_0_33//:quote",
+        "@rsefi__syn__2_0_37//:syn",
+    ],
+)
+
+# Unsupported target "compilation" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-raw-0.3.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-raw-0.3.0.bazel
new file mode 100644
index 0000000..55445b7
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-raw-0.3.0.bazel
@@ -0,0 +1,55 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uefi_raw",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi-raw",
+        "manual",
+    ],
+    version = "0.3.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__bitflags__2_4_0//:bitflags",
+        "@rsefi__ptr_meta__0_2_0//:ptr_meta",
+        "@rsefi__uguid__2_0_1//:uguid",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uefi-services-0.21.0.bazel b/third_party/rust_efi/cargo/remote/BUILD.uefi-services-0.21.0.bazel
new file mode 100644
index 0000000..15013c1
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uefi-services-0.21.0.bazel
@@ -0,0 +1,60 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "reciprocal",  # MPL-2.0 from expression "MPL-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uefi_services",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "default",
+        "logger",
+        "panic_handler",
+    ],
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uefi-services",
+        "manual",
+    ],
+    version = "0.21.0",
+    # buildifier: leave-alone
+    deps = [
+        "@rsefi__cfg_if__1_0_0//:cfg_if",
+        "@rsefi__log__0_4_20//:log",
+        "@rsefi__uefi__0_24_0//:uefi",
+    ],
+)
diff --git a/third_party/rust_efi/cargo/remote/BUILD.uguid-2.0.1.bazel b/third_party/rust_efi/cargo/remote/BUILD.uguid-2.0.1.bazel
new file mode 100644
index 0000000..bc366b1
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.uguid-2.0.1.bazel
@@ -0,0 +1,58 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+# Generated Targets
+
+rust_library(
+    name = "uguid",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=uguid",
+        "manual",
+    ],
+    version = "2.0.1",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "test_guid" with type "test" omitted
+
+# Unsupported target "test_macro_error" with type "test" omitted
+
+# Unsupported target "test_serde" with type "test" omitted
diff --git a/third_party/rust_efi/cargo/remote/BUILD.unicode-ident-1.0.12.bazel b/third_party/rust_efi/cargo/remote/BUILD.unicode-ident-1.0.12.bazel
new file mode 100644
index 0000000..e9744bc
--- /dev/null
+++ b/third_party/rust_efi/cargo/remote/BUILD.unicode-ident-1.0.12.bazel
@@ -0,0 +1,58 @@
+"""
+@generated
+cargo-raze crate build file.
+
+DO NOT EDIT! Replaced on runs of cargo-raze
+"""
+
+# buildifier: disable=load
+load("@bazel_skylib//lib:selects.bzl", "selects")
+
+# buildifier: disable=load
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = [
+    # Public for visibility by "@raze__crate__version//" targets.
+    #
+    # Prefer access through "//third_party/rust_efi/cargo", which limits external
+    # visibility to explicit Cargo.toml dependencies.
+    "//visibility:public",
+])
+
+licenses([
+    "notice",  # MIT from expression "(MIT OR Apache-2.0) AND Unicode-DFS-2016"
+])
+
+# Generated Targets
+
+# Unsupported target "xid" with type "bench" omitted
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(["**/*.rs"]),
+    crate_root = "src/lib.rs",
+    data = [],
+    edition = "2018",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=unicode-ident",
+        "manual",
+    ],
+    version = "1.0.12",
+    # buildifier: leave-alone
+    deps = [
+    ],
+)
+
+# Unsupported target "compare" with type "test" omitted
+
+# Unsupported target "static_size" with type "test" omitted