commit | ed1ec1bd240b9446b30af5331b960871a0503a6c | [log] [tgz] |
---|---|---|
author | Erik Gilling <konkers@google.com> | Tue Oct 08 18:53:17 2024 +0000 |
committer | Erik Gilling <konkers@google.com> | Tue Oct 08 18:53:17 2024 +0000 |
tree | 59e3a70809c832bb97cd579b86368ff544465ccd | |
parent | de54de1a2683212d8edb4e15ec7393eb013c849c [diff] |
Update rules_rust to 0.52.2 Change-Id: I65f51add8f6bf38e1bfae84d3bf8b99b66eacf6d Reviewed-on: https://pigweed-review.googlesource.com/c/third_party/rust_crates/+/240852 Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Reviewed-by: Ted Pudlik <tpudlik@google.com>
This is a repository to vendor and provide build rules for the third party crates that Pigweed's rust code depends on. Currently only Bazel build rules are provided.
std
and no_std
This repository provides two separate sets of crates. One for std
environments and one for no_std
environments. The set that is used is determined by the //:std_enabled
constraint setting and defaults to std
. To use no_std
add @rust_crates//:no_std
to your platform definition.
The list of vendored crates is defined by the dependencies listed in //crates/Cargo.toml and //crates_std/Cargo.toml. The contents of the //crates
and //crates_std
directories are generated by the //:crates_vendor
and //:crates_vendor_std
targets.
To update the vendored crates, build files, and aliases to match run the following commands from the top level directory of the repository:
bazel run //:crates_vendor -- --repin bazel run //:crates_vendor_std -- --repin cargo run -- --config config.toml > aliases.bzl
Licenses can be checked with cargo license -d
in the appropriate stub_crate.
We keep this, and all Markdown files in this repository, in a consistent Markdown format using mdformat. To install and format, use the following commands:
pip install mdformat-gfm mdformat README.md
= note: collect2: fatal error: cannot find 'ld' compilation terminated.
If you get the above error when running bazel run //:crates_vendor -- --repin
, ensure lld
is installed on your system. For instance, on Debian based systems:
sudo apt install lld
An error like above is cause by having a directory in your $PATH
containing a space. rules_rust
's wrapper script around vendoring does not properly escape the path.
Workaround: remove directories containing spaces from your $PATH
.