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/cargo/remote/BUILD.protoc-gen-prost-0.2.3.bazel b/third_party/rust/cargo/remote/BUILD.protoc-gen-prost-0.2.3.bazel
new file mode 100644
index 0000000..0adedfb
--- /dev/null
+++ b/third_party/rust/cargo/remote/BUILD.protoc-gen-prost-0.2.3.bazel
@@ -0,0 +1,89 @@
+"""
+@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/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_binary(
+ # Prefix bin name to disambiguate from (probable) collision with lib name
+ # N.B.: The exact form of this is subject to change.
+ name = "cargo_bin_protoc_gen_prost",
+ srcs = glob(["**/*.rs"]),
+ crate_root = "src/main.rs",
+ data = [] + [
+ "README.md",
+ ],
+ edition = "2021",
+ rustc_flags = [
+ "--cap-lints=allow",
+ ],
+ tags = [
+ "cargo-raze",
+ "crate-name=protoc-gen-prost",
+ "manual",
+ ],
+ version = "0.2.3",
+ # buildifier: leave-alone
+ deps = [
+ ":protoc_gen_prost",
+ "@raze__once_cell__1_18_0//:once_cell",
+ "@raze__prost__0_11_9//:prost",
+ "@raze__prost_build__0_11_9//:prost_build",
+ "@raze__prost_types__0_11_9//:prost_types",
+ "@raze__regex__1_9_6//:regex",
+ ],
+)
+
+rust_library(
+ name = "protoc_gen_prost",
+ srcs = glob(["**/*.rs"]),
+ crate_root = "src/lib.rs",
+ data = [] + [
+ "README.md",
+ ],
+ edition = "2021",
+ rustc_flags = [
+ "--cap-lints=allow",
+ ],
+ tags = [
+ "cargo-raze",
+ "crate-name=protoc-gen-prost",
+ "manual",
+ ],
+ version = "0.2.3",
+ # buildifier: leave-alone
+ deps = [
+ "@raze__once_cell__1_18_0//:once_cell",
+ "@raze__prost__0_11_9//:prost",
+ "@raze__prost_build__0_11_9//:prost_build",
+ "@raze__prost_types__0_11_9//:prost_types",
+ "@raze__regex__1_9_6//:regex",
+ ],
+)