# 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"
