blob: adbecefe11b027affe2e86314c27964129bb126a [file] [log] [blame]
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# -------------- READ BEFORE EDITING ---------------
# This file describes the third-party packages used by Rust code and
# how they should be built.
#
# Every edit to this file should be followed by:
# - fx update-rustc-third-party
#
# Always request non-default features you use. This can sometimes get
# missed if another third-party crate in our build requests the same
# feature you use: your builds will usually work, but `fx rustdoc` will
# fail.
#
# More information is available in
# https://fuchsia.dev/fuchsia-src/development/languages/rust/external_crates .
[package]
name = "fuchsia-third-party"
version = "0.1.0"
[dependencies]
# Keep this sorted alphabetically, please.
aead = { features = ["std"] }
aes = { version = "0.7.5", features = ["armv8"] }
aes-gcm = "0.9"
aes-gcm-siv = { version = "0.10.3", features = ["std"] }
ansi_term = "0.11.0"
anyhow = "1.0.57"
arbitrary = { version = "1.0.3", features = ["derive"] }
argh = "0.1.7"
arrayvec = "0.7.1"
assert_matches = "1.5.0"
async-channel = "1.6.1"
async-lock = "2.3"
async-trait = "0.1.56"
atomic-waker = "1.0.0"
atty = "0.2.11"
base64 = "0.9"
bincode = "1.3"
bitfield = "0.13"
bitflags = "1.3"
blocking = "1.0.2"
bumpalo = "3.2.1"
byteorder = { version = "1", features = ["i128"] }
bytes = "1.0.1"
camino = "1.0.5"
# NB: morally we'd like to default-features = false here, but we have
# transitive dependencies on this crate that *do* enable default features.
# Cargo does something called "feature unification"
# (https://doc.rust-lang.org/cargo/reference/features.html#feature-unification)
# which causes a particular crate to be compiled with the superset of all
# features requested of it by any of its dependents. In this case, that means
# we get chrono with its default dependencies regardless of what we write here
# so long as any of our dependencies themselves depend on chrono with its
# default dependencies. In particular, an old version of the time crate is an
# optional dependency of chrono that is enabled by default; we don't want to
# write default-features = false here lest we prevent some unrelated crate
# upgrade by causing it to unexpectedly remove features we ourselves rely on.
#
# The sanity of this behavior is debated in
# https://github.com/rust-lang/cargo/issues/4463. Until there's an escape
# hatch, all we can do is document and shed a silent tear while we wait for the
# ecosystem to migrate away from time 0.1.
chrono = "0.4.11"
chrono-english = "0.1.4"
clap = "2.33"
crc = "1.8.1"
criterion = { version = "0.2", default-features = false }
crossbeam = "0.8.0"
crossbeam-utils = "0.8.0"
cfg-if = "1.0.0"
chacha20 = "0.8.1"
csv = "1.0.7"
cxx = "1.0.50"
cxxbridge-cmd = "1.0.49"
darling = "0.12.0"
dashmap = "4.0.2"
data-encoding = "2.1.2"
deepsize = { version = "0.2.0", features = ["chrono", "slab", "smallvec"] }
derivative = { version = "2.2.0", features = ["use_core"] }
derive_builder = "0.11.1"
derp = "0.0.14"
difference = "2.0.0"
ecdsa = "0.13.4"
elliptic-curve = { version = "0.11.12", features = [ "ecdh" ] }
either = "1.5.0"
eui48 = { version = "1.1.0", default-features = false, features = ["serde", "disp_hexstring"] }
event-listener = "2.5.1"
fatfs = { path = "forks/fatfs" }
flate2 = { version = "1.0.14", default-features = false, features = ["rust_backend"] }
futures = "=0.3.19"
futures-channel = "=0.3.19"
futures-core = "=0.3.19"
futures-executor = "=0.3.19"
futures-io = "=0.3.19"
futures-lite = "1.11.3"
futures-macro = "=0.3.19"
futures-sink = "=0.3.19"
futures-task = "=0.3.19"
futures-test = "=0.3.19"
futures-util = "=0.3.19"
getrandom = { features = ["js"] }
glob = "0.3.0"
gpt = "3.0.0"
heck = "0.3.1"
hex = "0.3.2"
hmac = "0.11.0"
humansize = "1.1.1"
http = "0.2.4"
# TODO(fxbug.dev/100964): We intentionally did not enable http2, since we're
# currently not using it on Fuchsia. Please see this ticket if you want to
# enable it.
hyper = { version = "0.14.19", default-features = false, features = ["stream", "http1", "client", "server"] }
indexmap = "1.7.0"
iota = "0.2.2"
itertools = "0.10"
itoa = "0.4"
json5format = "0.2.6"
lazy_static = "1.4"
libc = { version = "0.2.116", features = ["extra_traits"] }
libm = "0.2.1"
linked-hash-map = "0.5.3"
log = { version = "0.4.11", features = ["std"] }
lru-cache = "0.1.2"
maplit = "1.0"
maybe-owned = "0.3.2"
memchr = "2.0"
memoffset = "0.5.3"
miniz_oxide = "0.3.6"
# TODO(fxbug.dev/66092) limit to tests
mockall = "0.9"
nom = { version = "5.0.0", default-features = false, features = ["std", "regexp_macros"] }
nom_locate = "2.0.0"
nonzero_ext = "0.3.0"
num = { version = "0.4.0", features = ["rand"] }
num-derive = "0.3"
num-traits = "0.2"
numtoa = "0.1.0"
once_cell = { version = "1.2.0", features = ["parking_lot"] }
p256 = { version = "0.10.1", features = ["pem", "serde"] }
parking_lot = "0.9"
paste = "1.0"
pathdiff = { version = "0.2.1", features = ["camino"] }
percent-encoding = "2.1"
pest = "2.1.3"
pest_derive = "2.1"
pest_generator = "2.1.3"
pin-project = "1.0.4"
pin-utils = "0.1.0"
png = "0.14" # saved for future use
pretty_assertions = "0.5.1"
prettytable-rs = "0.8.0"
proptest = "0.9.3"
proptest-derive = "0.1.1"
prost = "0.10.1"
rand = { version = "0.8", features = ["small_rng"] }
rand_xorshift = "0.3"
rayon = "1.2.1"
regex = "1.0.6"
regex-syntax = "0.6.5"
ring = "0.16"
rustc-demangle = "0.1.16"
rustc-hash = "1.0.1"
# FIXME(87798): We can switch to 0.19.1 once we've updated hyper to 0.14.x, and
# tokio to 1.x.
#rustls = { version = "0.19.1", features = ["dangerous_configuration"] }
rustls = { path = "forks/rustls", features = ["dangerous_configuration"] }
schemars = { version = "0.8", features = ["chrono", "preserve_order"] }
scopeguard = "1.1.0"
scrypt = "0.8.0"
serde = { version = "1.0.116", features = ["derive"] }
serde_cbor = "0.11.1"
serde_derive = "1.0.116"
serde_json = "1.0.59"
serde_json5 = { path = "mirrors/serde_json5" }
serde_repr = "0.1.7"
serde_yaml = "0.8.23"
sha2 = "0.9"
signature = "1.4.0"
siphasher = "0.3.10"
slab = "0.4"
smallvec = {version= "1.8", features = ["const_generics"]}
socket2 = { version = "0.4.4", features = ["all"] }
splines = "2.2.0"
static_assertions = "1.1.0"
streaming-stats = "0.2.3"
strsim = "0.10.0"
structopt = "0.2.14"
tempfile = "3.2"
tuf = { version = "0.3.0-beta7", default-features = false, features = ["hyper_014"] }
tui = "0.16.0"
termion = "1.5.3"
test-case = "1.1.0"
textwrap = "0.11.0"
thiserror = "1.0.23"
tokio = { version = "1.19.2", default-features = false }
toml = "0.5"
toml_edit = "0.2.1"
tracing = { version = "0.1.29", features = ["log"] }
tracing-core = "0.1.21"
tracing-futures = "0.2.5"
tracing-log = "0.1.2"
tracing-mutex = { version = "0.2.1", features = ["parkinglot"] }
typed-builder = "0.10.0"
unicase = "2.2.0"
untrusted = "0.7.1"
url = "2.1"
uuid = { version = "0.7.2", features = ["serde", "v4"] } # move ?
valico = "2.4.2"
vte = "0.3"
wasm-bindgen = "0.2.63"
webpki = "0.21"
xml-rs = "0.8"
xts-mode = "0.4.1"
unic-char-range = "0.9"
unic-ucd-block = "0.9"
unicode-segmentation = "1.0"
unicode-width = "0.1.3"
unicode-xid = "0.2.0"
utf8parse = "0.1"
walkdir = "2.2.7"
zstd = "0.8.0+zstd.1.4.9"
zstd-safe = "4.0.0+zstd.1.4.9"
[dependencies.tracing-subscriber]
version = "0.3.1"
default-features = false
features = ["registry", "tracing-log"]
# Target-side only dependencies
[target.'cfg(target_os = "fuchsia")'.dependencies]
# do not add back without verifying certificate transparency is ready to use - see fxbug.dev/25100
# ct-logs = "0.6"
euclid = { version = "0.22.1", features = [ "serde" ] }
getopts = "0.2"
hyper-rustls = { version = "0.22.1", default-features = false }
lipsum = "0.6.0"
openat = "0.1.17"
owning_ref = "0.4.0"
pretty = "0.5.2"
proc-macro-nested = "0.1.7"
rust_icu_common = { version = "2.0.2", default-features = false, features = ["renaming"] }
rust_icu_sys = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ucal = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uchar = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_udat = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_udata = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uenum = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uloc = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_unorm2 = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ustring = { version = "2.0.2", default-features = false, features = ["renaming", "icu_version_in_env"] }
tokio-rustls = "0.22.0"
trust-dns-proto = { version = "0.21.2", default-features = false, features = ["testing"] }
trust-dns-resolver = { version = "0.21.2", default-features = false, features = ["testing"] }
ttf-parser = "0.10.1"
unicode-normalization = "0.1"
vk-sys = "0.4.0"
void = "1.0.2"
# Host-side only dependencies
[target.'cfg(not(target_os = "fuchsia"))'.dependencies]
async-broadcast = "0.2.0"
async-executor = "1.4.1"
async-fs = "1.5"
async-io = "1.4.1"
async-net = "1.6.0"
cargo_metadata = "0.14.1"
crossterm = "0.19"
concurrent-queue = "1.2.2"
easy-parallel = "3.1"
fs_extra = "1.2.0"
handlebars = "4.2.1"
home = "0.5.3"
hyper-rustls = { version = "0.22.1", default-features = false, features = ["rustls-native-certs"] }
indoc = "1.0.3"
# TODO(http://fxbug.dev/70292): Not for use on Fuchsia, this pulls in the
# latest Tokio, which we're not ready to update yet.
inotify = { version = "0.9.3", default-features = false }
# TODO(https://github.com/rust-lang/rust/issues/58590): nix is not generally
# visible in fuchsia so we don't depend on #[cfg(unix)] things on target
nix = "0.20"
notify = "5.0.0-pre.10"
parking = "2"
pem = "0.8.3"
petgraph = "0.5.1"
proc-macro2 = { version = "1.0.39", features = ["span-locations"] }
polling = "2.0.2"
pulldown-cmark = "0.6.0"
quote = "1.0.10"
rustfix = "0.6.1"
rustls-native-certs = "0.5.0"
serial_test = "0.5.1" # Not for use on Fuchsia, only for a single process.
shared_child = "0.3.5"
signal-hook = "0.3.8"
simplelog = "0.10.2"
syn = { version = "1.0.98", features = ["full", "visit", "visit-mut", "extra-traits"] }
synstructure = "0.12.1"
tar = "0.4.25"
termios = "0.3.2"
tower-service = "0.3.0"
waker-fn = "1.1"
zip = { version = "0.5.5", default-features = false, features = ["deflate"] }
# For crates we don't want to vendor, follow instructions at
# //docs/development/languages/rust/external_crates.md.
[patch.crates-io]
# Keep each section sorted alphabetically, please.
### In-tree Crates: crates which are on crates.io but which we build from our in-tree copy
fuchsia-cprng = { path = "../../src/lib/zircon/rust/fuchsia-cprng" }
### Ask to Patch: crates which require a policy exception to contribute to.
aho-corasick = { path = "ask2patch/aho-corasick" }
byteorder = { path = "ask2patch/byteorder" }
csv = { path = "ask2patch/csv" }
csv-core = { path = "ask2patch/csv-core" }
memchr = { path = "ask2patch/memchr" }
regex-automata = { path = "ask2patch/regex-automata" }
same-file = { path = "ask2patch/same-file" }
streaming-stats = { path = "ask2patch/streaming-stats" }
termcolor = { path = "ask2patch/termcolor" }
walkdir = { path = "ask2patch/walkdir" }
### Empty Forks: empty forks kept only for satisfying cargo's resolution
backtrace-sys = { path = "empty/backtrace-sys" }
crossterm_winapi = { path = "empty/crossterm_winapi" }
miow = { path = "empty/miow" }
ntapi = { path = "empty/ntapi" }
wasi = { path = "empty/wasi" }
web-sys = { path = "empty/web-sys" }
wepoll-sys = { path = "empty/wepoll-sys" }
winapi = { path = "empty/winapi" }
winapi-util = { path = "empty/winapi-util" }
windows-sys = { path = "empty/windows-sys" }
windows_aarch64_msvc = { path = "empty/windows_aarch64_msvc" }
windows_i686_gnu = { path = "empty/windows_i686_gnu" }
windows_i686_msvc = { path = "empty/windows_i686_msvc" }
windows_x86_64_gnu = { path = "empty/windows_x86_64_gnu" }
windows_x86_64_msvc = { path = "empty/windows_x86_64_msvc" }
### Forks: vendored crates whose code doesn't match the upstream version
fatfs = { path = "forks/fatfs" }
libm = { path = "forks/libm" }
rustls = { path = "forks/rustls" }
security-framework = { path = "forks/security-framework" }
tracing-core = { path = "forks/tracing-core" }
trust-dns-resolver = { path = "forks/trust-dns-resolver" }
zeroize = { path = "forks/zeroize" }
zstd-sys = { path = "forks/zstd-sys" }
### Mirrors: forked crates managed as separate git repos
serde_json5 = { path = "mirrors/serde_json5" } # TODO(fxbug.dev/75491) remove
#################################################################################
### Cargo GNaw Configs ###
### ###
### See GNaw's documentation in //tools/cargo-gnaw/README.md for more details ###
### and examples. ###
#################################################################################
# Global GN configs that will be added or removed from all generated targets
[gn.config]
remove_cfgs = [
# Fuchsia forces targets to comply with 2018 idioms. third_party can ignore this
"//build/config/rust:2018_idioms",
]
add_cfgs = []
# The below config data is for the targets being used by cargo-gnaw. This provides custom input that
# is usually provided by build.rs scripts. If the build.rs script is simple enough, cargo-gnaw will
# suggest what to put in here. if not, usually reading the build.rs script is sufficient.
#
# arguments to target:
# rustflags - flags to pass to rustc
# deps - native GN dependency
# env_vars - environment variables, usually used for pretending to be cargo
# configs - native GN config to use
#
# Keep this sorted alphabetically, please.
[gn.package.aes."0.7.5"]
configs = [ "//build/config/rust:allow_simd" ]
[gn.package.anyhow."1.0.57"]
# TODO(https://github.com/rust-lang/rust/pull/72981): uncomment when backtrace is stabilized.
#rustflags = ["--cfg=backtrace"]
[gn.package.async-trait."0.1.56"]
rustflags = []
[gn.package.byteorder."1.3.1"]
rustflags = ["--cfg=byteorder_i128"]
[gn.package.camino."1.0.5"]
rustflags = ["--cfg=path_buf_capacity"]
[gn.package.core-foundation-sys."0.8.3".platform."cfg(target_os = \"macos\")"]
rustflags = ["-lframework=CoreFoundation"]
[gn.package.crc."1.8.1"]
env_vars = ["OUT_DIR=../../../compat/crc"]
[gn.package.crc32fast."1.2.0"]
rustflags = ["--cfg=crc32fast_stdarchx86"]
[gn.package.crossbeam-utils."0.8.4"]
rustflags = [
"--cfg=has_min_const_fn",
"--cfg=has_atomic_u8",
"--cfg=has_atomic_u16",
"--cfg=has_atomic_u32",
"--cfg=has_atomic_u64",
# TODO(https://github.com/rust-lang/rust/issues/32976): AtomicU128 is unstable.
# "--cfg=has_atomic_u128",
]
[gn.package.futures-core."0.3.19"]
env_vars = [ "CARGO_PKG_NAME=futures-core" ]
[gn.package.futures-channel."0.3.19"]
env_vars = [ "CARGO_PKG_NAME=futures-channel" ]
[gn.package.futures-macro."0.3.19"]
env_vars = [ "CARGO_PKG_NAME=futures-macro" ]
rustflags = [ "--cfg=fn_like_proc_macro" ]
[gn.package.futures-task."0.3.19"]
env_vars = [ "CARGO_PKG_NAME=futures-task" ]
[gn.package.futures-util."0.3.19"]
env_vars = [ "CARGO_PKG_NAME=futures-util" ]
rustflags = [ "--cfg=fn_like_proc_macro" ]
[gn.package.generic-array."0.14.5"]
rustflags = [ "--cfg=relaxed_coherence" ]
[gn.package.getrandom."0.2.2"]
env_vars = [ "CARGO_PKG_NAME=getrandom", "CARGO_PKG_VERSION=0.2.2", "CARGO_MANIFEST_DIR=../../third_party/rust_crates/vendor/getrandom" ]
rustflags = []
[gn.package.httparse."1.7.1"]
rustflags = ["--cfg=httparse_simd"]
[gn.package.indexmap."1.7.0"]
rustflags = ["--cfg=has_std"]
[gn.package.js-sys."0.3.39"]
env_vars = [ "CARGO_PKG_NAME=js-sys", "CARGO_PKG_VERSION=0.3.39", "CARGO_MANIFEST_DIR=../../third_party/rust_crates/vendor/js-sys" ]
[gn.package.libc."0.2.116"]
rustflags = [
"--cfg=libc_priv_mod_use",
"--cfg=libc_union",
"--cfg=libc_const_size_of",
"--cfg=libc_align",
"--cfg=libc_core_cvoid",
"--cfg=libc_packedN",
"--cfg=libc_cfg_target_vendor",
"--cfg=libc_non_exhaustive",
"--cfg=libc_ptr_addr_of",
]
[gn.package.libc."0.2.116".platform."cfg(target_os = \"freebsd\")"]
rustflags = ["--cfg=freebsd11"]
[gn.package.lock_api."0.4.7"]
rustflags = ["--cfg=has_const_fn_trait_bound"]
[gn.package.log."0.4.11"]
rustflags = ["--cfg=atomic_cas"]
group_visibility = { import = "//src/lib/syslog/rust/log_visibility.gni", variable = "third_party_rust_crate_log_visibility" }
[gn.package.memchr."2.4.0"]
rustflags = ["--cfg=memchr_runtime_simd", "--cfg=memchr_runtime_sse2", "--cfg=memchr_runtime_sse42", "--cfg=memchr_runtime_avx"]
[gn.package.num-bigint."0.4.3"]
rustflags = [
"--cfg=u64_digit",
"--cfg=has_try_from",
]
env_vars = ["OUT_DIR=../../../../compat/num-bigint"]
[gn.package.num-bigint."0.4.3".platform."cfg(target_arch = \"x86_64\")"]
rustflags = ["--cfg=use_addcarry"]
[gn.package.num-complex."0.4.0"]
rustflags = ["--cfg=has_i128", "--cfg=has_const_fn"]
[gn.package.num-integer."0.1.44"]
rustflags = ["--cfg=has_i128"]
[gn.package.num-rational."0.4.0"]
rustflags = ["--cfg=has_int_exp_fmt"]
[gn.package.num-traits."0.2.14"]
rustflags = ["--cfg=has_i128"]
[gn.package.maybe-uninit."2.0.0"]
rustflags = ["--cfg=derive_copy", "--cfg=repr_transparent", "--cfg=native_uninit"]
[gn.package.memoffset."0.6.3"]
rustflags = ["--cfg=tuple_ty", "--cfg=allow_clippy", "--cfg=maybe_uninit", "--cfg=doctests", "--cfg=raw_ref_macros"]
[gn.package.num-iter."0.1.42"]
rustflags = ["--cfg=has_i128"]
[gn.package.parking_lot_core."0.9.2"]
rustflags = []
[gn.package.proc-macro2."0.4.27"]
rustflags = ["--cfg=u128", "--cfg=use_proc_macro", "--cfg=wrap_proc_macro"]
# cargo-gnaw suggested "--cfg=proc_macro_span" as well but proc_macro_span is still an unstable feature.
[gn.package.proc-macro2."1.0.39"]
rustflags = ["--cfg=span_locations", "--cfg=use_proc_macro", "--cfg=wrap_proc_macro"]
[gn.package.rand."0.6.5"]
rustflags = ["--cfg=rustc_1_25","--cfg=rustc_1_26", "--cfg=rustc_1_27",]
[gn.package.rand_chacha."0.1.1"]
rustflags = ["--cfg=rustc_1_26"]
[gn.package.rand_pcg."0.1.1"]
rustflags = ["--cfg=rust_1_26"]
[gn.package.ring."0.16.12"]
deps = [ "//third_party/rust_crates/compat/ring:ring-core" ]
[gn.package.ryu."1.0.3"]
rustflags = ["--cfg=integer128", "--cfg=must_use_return", "--cfg=maybe_uninit"]
[gn.package.proc-macro-nested."0.1.7"]
rustflags = []
env_vars = ["OUT_DIR=../../../compat/proc-macro-nested", "PATH_SEPARATOR=/"]
[gn.package.schemars."0.8.10"]
rustflags = ["--cfg=std_atomic64", "--cfg=std_atomic"]
# We always want to optimize scrypt for speed, because a single key derivation
# that takes 150 msec when speed-optimized takes 20 seconds (!) when not
# optimized, and that's a terrible experience for checking passwords.
[gn.package.scrypt."0.8.0"]
configs = [ "//build/config:optimize_speed" ]
[gn.package.serde."1.0.116"]
rustflags = ["--cfg=ops_bound", "--cfg=core_reverse", "--cfg=de_boxed_c_str", "--cfg=de_boxed_path", "--cfg=de_rc_dst", "--cfg=core_duration", "--cfg=integer128", "--cfg=range_inclusive", "--cfg=num_nonzero", "--cfg=core_try_from", "--cfg=num_nonzero_signed", "--cfg=std_atomic64", "--cfg=std_atomic"]
[gn.package.serde_derive."1.0.116"]
rustflags = ["--cfg=underscore_consts"]
[gn.package.semver."1.0.4"]
rustflags = []
[gn.package.signal-hook."0.3.8"]
rustflags = []
[gn.package.typenum."1.15.0"]
env_vars = [
"TYPENUM_BUILD_CONSTS=../../../compat/typenum/consts.rs",
"TYPENUM_BUILD_OP=../../../compat/typenum/op.rs",
]
[gn.package.unicase."2.5.1"]
rustflags = [
"--cfg=__unicase__iter_cmp",
"--cfg=__unicase__default_hasher",
"--cfg=__unicase__const_fns",
"--cfg=__unicase__core_and_alloc",
]
[gn.package.url."1.7.2"]
# FIXME(91750): Blocked on updating valico to 3.x.
visibility = [":*", "//build/sdk/meta:*"]
[gn.package.valico."2.4.2"]
env_vars = ["OUT_DIR=../../../../compat/valico"]
[gn.package.zstd-safe."4.0.0+zstd.1.4.9"]
rustflags = []
[gn.package.zstd-sys."1.5.0+zstd.1.4.9"]
rustflags = []
# These don't have build.rs scripts but require platform-specific target configuration.
#
# Keep this sorted alphabetically, please.
[gn.package.backtrace."0.3.42".platform."cfg(target_os = \"fuchsia\")"]
configs = [ "//build/config/fuchsia:libunwind" ]
# These don't have build.rs scripts, but they rely on Cargo populating the environment variables
#
# Keep this sorted alphabetically, please.
[gn.package.handlebars."4.2.1"]
# pest relies on this being set to find the grammar file
env_vars = [ "CARGO_MANIFEST_DIR=../../third_party/rust_crates/vendor/handlebars" ]
[gn.package.rust_icu_uchar."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_common."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_sys."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_ucal."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_udat."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_udata."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_uenum."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_uloc."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_unorm2."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_ustring."2.0.2"]
configs = [ "//src/lib/icu:version" ]
[gn.package.trust-dns-resolver."0.21.2"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.21.2\\\"" ]
[gn.package.unic-common."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-common\\\"", "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-ucd-version."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-ucd-version\\\"", "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-char-range."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-char-range\\\"", "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-char-property."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-char-property\\\"", "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-ucd-block."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-ucd-block\\\"", "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.wasm-bindgen-shared."0.2.63"]
# Do not quote, this is embedded directly in .wasm sections and is needed by wasm-bindgen.
env_vars = [ "CARGO_PKG_VERSION=0.2.63" ]
# These dependencies have build.rs scripts, but dummy invocations indicating they
# do not need to be run are sufficient for our build.
#
# Keep this sorted alphabetically, please.
[gn.package.crossbeam-epoch."0.8.2"]
[gn.package.crossbeam-utils."0.7.2"]
# cxx's build.rs is only used to build it's src/cxx.cc file, for crates that use cxx and build with
# cargo. It is replaced with //src/lib/rust_cxx:cxx_lib.
[gn.package.cxx."1.0.50"]
# cxx uses this to link against libc++ or libstdc++, for crates that use cxx and build with cargo.
# It is replaced by our own build machinery.
[gn.package.link-cplusplus."1.0.2"]
[gn.package.memoffset."0.5.3"]
[gn.package.nom."5.0.0"]
[gn.package.parking_lot."0.9.0"]
[gn.package.parking_lot_core."0.6.2"]
[gn.package.pulldown-cmark."0.6.0"]
[gn.package.rayon-core."1.7.0"]
[gn.package.serde_json."1.0.59"]
rustflags = ["--cfg=limb_width_64"]
[gn.package.syn."1.0.98"]
[gn.package.test-case."1.1.0"]
[gn.package.wasm-bindgen."0.2.63"]
# This section defines GN binary targets that should be generated from Cargo binary targets. (By
# default, cargo-gnaw will only generate targets for libraries and proc-macros.)
#
# Example:
#
# [gn.package.cargo-package-name."1.2.3".binary.cargo-target-name]
# output_name = "gn-name"
# rustflags = [ ... ]
# configs = [ ... ]
#
#
# In the above example, "gn-name" will become both the name of the group target to depend
# upon and the executable's output_name, so usages can assume output_name == target_name (and must
# since get_target_outputs only works within the same file).
#
# "cargo-target-name" is the name of the Cargo binary target within "cargo-package-name".
#
# Keep this sorted alphabetically, please.
[gn.package.cxxbridge-cmd."1.0.50".binary.cxxbridge]
output_name = "cxxbridge"