| # Licensed under the Apache-2.0 license |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| module( |
| name = "openprot", |
| version = "0.0.1", |
| ) |
| |
| bazel_dep(name = "bazel_skylib", version = "1.8.2") |
| bazel_dep(name = "pigweed") |
| bazel_dep(name = "platforms", version = "1.0.0") |
| bazel_dep(name = "rules_rust", version = "0.68.1") |
| bazel_dep(name = "rules_rust_mdbook", version = "0.68.1") |
| bazel_dep(name = "rules_platform", version = "0.1.0") |
| bazel_dep(name = "rules_python", version = "1.8.3") |
| bazel_dep(name = "ureg") |
| |
| git_override( |
| module_name = "pigweed", |
| # ROLL: Warning: this entry is automatically updated by |
| # ROLL: https://cr-buildbucket.appspot.com/builder/pigweed-internal/opentitan.roll/pigweed-opentitan-roller |
| commit = "60041564a00b455fa68b20e89b685f19a210e69e", |
| remote = "https://pigweed.googlesource.com/pigweed/pigweed", |
| ) |
| |
| git_override( |
| module_name = "ureg", |
| commit = "412ca40146d5d2012417e493b4a01096b04edf4b", |
| remote = "https://github.com/chipsalliance/caliptra-ureg", |
| ) |
| |
| pw_rust = use_extension("@pigweed//pw_toolchain/rust:extensions.bzl", "pw_rust") |
| pw_rust.toolchain(cipd_tag = "git_revisions:fe5c95d4ae33ec9d7831921e448e2daf8264ea42,7b074fc9362a4a6a5f172dd8936a22fb25eff96b") |
| use_repo(pw_rust, "pw_rust_toolchains") |
| |
| register_toolchains( |
| "@pigweed//pw_toolchain/host_clang:host_cc_toolchain_linux", |
| "@pigweed//pw_toolchain/host_clang:host_cc_toolchain_macos", |
| "@pigweed//pw_toolchain/riscv_clang:riscv_clang_cc_toolchain_rv32imc", |
| "@pw_rust_toolchains//:all", |
| ) |
| |
| crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate") |
| crate.from_cargo( |
| name = "rust_crates", |
| cargo_lockfile = "//third_party/crates_io:Cargo.lock", |
| manifests = ["//third_party/crates_io:Cargo.toml"], |
| # crate_universe's defaults do not include some embedded triples so the |
| # triples are listed explicitly. |
| supported_platform_triples = [ |
| # Host platforms |
| "aarch64-unknown-linux-gnu", |
| "x86_64-unknown-linux-gnu", |
| "aarch64-apple-darwin", |
| "x86_64-apple-darwin", |
| |
| # Target platforms |
| "riscv32imc-unknown-none-elf", |
| ], |
| ) |
| use_repo(crate, "rust_crates") |
| |
| pw_rust_crates_ext = use_extension("@pigweed//pw_build:pw_rust_crates_extension.bzl", "pw_rust_crates_extension") |
| |
| # Ideally, we shouldn't need to override the pigweed `rust_crates` repo as it |
| # requires the downstream (openprot) repo adding pigweed cargo deps to its own |
| # Cargo.toml. This is currently needed to work around a limitation in |
| # rules_rust and unsupported target triples. |
| # |
| # TODO(cfrantz): Remove this override and non-directly referenced crates |
| # once pigweed has adopted a version of rules_rust that fixes the limitation. |
| override_repo( |
| pw_rust_crates_ext, |
| rust_crates = "rust_crates", |
| ) |
| |
| bazel_dep(name = "opentitan_devbundle") |
| archive_override( |
| module_name = "opentitan_devbundle", |
| integrity = "sha256-n/0uF/b0uXkEfTzP7QJx/cK1KWExES/Zn/C/EqyXzGo=", |
| url = "https://storage.googleapis.com/artifacts.opentitan.org/dev_bundle/devbundle-test-20251105.tar.xz", |
| ) |
| |
| nonhermetic_repo = use_repo_rule("//target/earlgrey/tooling/signing:nonhermetic.bzl", "nonhermetic_repo") |
| |
| nonhermetic_repo(name = "nonhermetic") |
| |
| hsm = use_extension("//third_party/hsm:extensions.bzl", "hsm") |
| use_repo(hsm, "cloud_kms_hsm") |