blob: 85125b034e9a505c2b3d8da870f0bd492d15ef2b [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 = { version = "0.4.2", 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.12.0"
anyhow = "1.0.57"
arbitrary = { version = "1.0.3", features = ["derive"] }
argh = "0.1.10"
arrayvec = "0.7.1"
ash = { version = "0.37.0", features = ["linked"], default-features = false }
assert_matches = "1.5.0"
async-channel = "1.8.0"
async-lock = "2.3"
async-stream = "0.3.4"
async-trait = "0.1.56"
atty = "0.2.11"
base64 = "0.13"
bincode = "1.3"
bitfield = "0.14.0"
bitflags = "1.3"
bit-set = "0.5.0"
bit-vec = "0.5.0"
blocking = "1.0.2"
byteorder = { version = "1.4.3", features = ["i128"] }
bytes = "1.0.1"
camino = { version = "1.1.1", features = ["proptest1", "serde1"] }
# 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.34"
crc = "1.8.1"
criterion = { version = "0.2", default-features = false }
crossbeam = "0.8.0"
crossbeam-utils = "0.8.14"
crypto-mac = { version = "0.11.1", features = ["std"] }
cfg-if = "1.0.0"
chacha20 = "0.8.1"
csv = "1.2.1"
darling = "0.12.0"
data-encoding = "2.1.2"
derivative = { version = "2.2.0", features = ["use_core"] }
derive_builder = "0.11.1"
derp = "0.0.14"
downcast-rs = "1.2.0"
difference = "2.0.0"
dyn-clone = "1.0.5"
ecdsa = { version = "0.13.4", features = ["pkcs8"] }
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"
# TODO(fxbug.dev/112722): We're importing this explicitly for now, but eventually
# it will be imported by valico and the dt-schema tool.
# Remove this line when valico uses fancy-regex.
fancy-regex = "0.8"
fatfs = "0.3.6"
flate2 = { version = "1.0.14", default-features = false, features = ["rust_backend"] }
futures = "=0.3.19"
futures-executor = "=0.3.19"
futures-io = "=0.3.19"
futures-lite = "1.11.3"
futures-test = "=0.3.19"
futures-util = "=0.3.19"
getrandom = { version = "0.2.2", features = ["js"] }
glob = "0.3.0"
gpt = "3.0.0"
half = "1.6.0"
handlebars = "4.3.5"
heck = "0.3.1"
hex = "0.3.2"
hmac = "0.11.0"
hkdf = "0.11.0"
hound = "3.5.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.9.2"
iota = "0.2.2"
itertools = "0.10"
itoa = "0.4"
json5format = "0.2.6"
lazy_static = "1.4"
libc = { version = "0.2.138", 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"
macro_rules_attribute = "0.1.3"
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"
netlink-packet-core = "0.5.0"
netlink-packet-route = "0.15.0"
netlink-packet-utils = "0.5.2"
nix = "0.26.2"
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"
once_cell = { version = "1.2.0", features = ["parking_lot"] }
p256 = { version = "0.10.1", features = ["pem", "serde"] }
pkcs8 = "0.8.0"
parking_lot = "0.9"
paste = "1.0"
pathdiff = { version = "0.2.1", features = ["camino"] }
pem = "0.8.3"
percent-encoding = "2.1"
pest = "2.1.3"
pest_derive = "2.1"
pin-project = "1.0.11"
pin-utils = "0.1.0"
png = "0.14" # saved for future use
pretty_assertions = "1.2.1"
prettytable-rs = "0.8.0"
proptest = "1.0.0"
proptest-derive = "0.3.0"
prost = "0.11.0"
prost-build = "0.11.1"
prost-types = "0.11.1"
rand = { version = "0.8", features = ["small_rng"] }
rand_xorshift = "0.3"
rayon = "1.2.1"
ref-cast = "1.0.9"
regex = "1.0.6"
regex-syntax = "0.6.5"
ring = "0.16"
rustc-hash = "1.0.1"
rustls = { version = "0.19.1", features = ["dangerous_configuration"] }
rustyline = "2.1.0"
schemars = { version = "0.8", features = ["chrono", "preserve_order"] }
scopeguard = "1.1.0"
scrypt = "0.8.0"
serde = { version = "1.0.147", features = ["derive"] }
serde_cbor = "0.11.1"
serde_derive = "1.0.147"
serde_json = "1.0.87"
serde_json5 = "0.1.0"
serde_repr = "0.1.7"
sha2 = "0.9"
signature = "1.4.0"
siphasher = "0.3.10"
slab = "0.4.7"
smallvec = {version= "1.8", features = ["const_generics"]}
socket2 = { version = "0.4.4", features = ["all"] }
splines = "2.2.0"
static_assertions = "1.1.0"
strsim = "0.10.0"
structopt = "0.2.14"
tempfile = "3.2"
tuf = { version = "0.3.0-beta11", default-features = false, features = ["hyper"] }
termion = "1.5.3"
test-case = "1.1.0"
textwrap = "0.11.0"
thiserror = "1.0.23"
tokio-rustls = "0.22.0"
toml = "0.5"
toml_edit = "0.2.1"
tracing = { version = "0.1.29", default-features = false, features = ["std", "attributes"] }
tracing-core = "0.1.21"
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.3"
uuid = { version = "1.1.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"
vm-device = "0.1.0"
walkdir = "2.2.7"
zerocopy = "0.7.0-alpha.4"
zstd = "0.11.2"
[dependencies.tracing-subscriber]
version = "0.3.1"
default-features = false
features = ["env-filter", "fmt", "registry", "std", "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"
pretty = "0.5.2"
rust_icu_common = { version = "4.0.0", default-features = false, features = ["renaming"] }
rust_icu_sys = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ucal = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uchar = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_udat = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_udata = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uenum = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uloc = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_unorm2 = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ustring = { version = "4.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
tokio = { version = "1.19.2", default-features = false }
trust-dns-proto = { version = "0.22.0", default-features = false, features = ["testing"] }
trust-dns-resolver = { version = "0.22.0", default-features = false, features = ["testing"] }
ttf-parser = "0.10.1"
unicode-normalization = "0.1"
vk-sys = "0.7.0"
# Host-side only dependencies
[target.'cfg(not(target_os = "fuchsia"))'.dependencies]
async-executor = "1.5.0"
async-fs = "1.6.0"
async-io = "1.12.0"
async-net = "1.7.0"
cargo_metadata = "0.14.1"
crossterm = "0.19"
easy-parallel = "3.1"
fs_extra = "1.2.0"
fuse3 = { version = "0.6.1", features = ["tokio-runtime", "unprivileged"] }
home = "0.5.3"
hyper-rustls = { version = "0.22.1", default-features = false, features = ["rustls-native-certs"] }
indoc = "1.0.3"
loom = "0.5.6"
# TODO(fxbug.dev/106164) Remove this explicit mio dependency when it can be
# pulled in automatically by tokio
mio = { version = "0.8.5", features = ["net", "os-ext", "os-poll"] }
notify = { version = "5.0.0", default-features = false, features = ["macos_fsevent"] }
petgraph = { version = "0.6.2" }
proc-macro2 = { version = "1.0.58", features = ["span-locations"] }
pulldown-cmark = "0.6.0"
quote = "1.0.10"
rustfix = "0.6.1"
rustls-native-certs = "0.5.0"
serde_yaml = "0.9.14" # To use on Fuchsia, serde_yaml and unsafe-libyaml will need to be re-audited.
serial_test = "0.5.1" # Not for use on Fuchsia, only for a single process.
shared_child = "1.0.0"
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"
term_grid = "0.2.0"
termios = "0.3.2"
tinyjson = "2.5.0"
# TODO(fxbug.dev/106164) Enable the "rt" and "net" features here once gnaw
# supports target-specific feature resolution
tokio = { version = "1.19.2", default-features = false }
tokio-stream = "0.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 = "intree/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" }
termcolor = { path = "ask2patch/termcolor" }
walkdir = { path = "ask2patch/walkdir" }
### Empty Forks: empty forks kept only for satisfying cargo's resolution
crossterm_winapi = { path = "empty/crossterm_winapi" }
ctor = { path = "empty/ctor" }
miow = { path = "empty/miow" }
ntapi = { path = "empty/ntapi" }
output_vt100 = { path = "empty/output_vt100" }
rustversion = { path = "empty/rustversion" }
wasi = { path = "empty/wasi" }
wasi-0_10_1 = { path = "empty/wasi-0.10.1", package = "wasi" }
web-sys = { path = "empty/web-sys" }
wepoll-ffi = { path = "empty/wepoll-ffi" }
winapi = { path = "empty/winapi" }
winapi-util = { path = "empty/winapi-util" }
windows = { path = "empty/windows" }
windows-sys = { path = "empty/windows-sys" }
### Forks: vendored crates whose code doesn't match the upstream version
fatfs = { path = "forks/fatfs" }
fuse3 = { path = "forks/fuse3" }
hound = { path = "forks/hound" }
libm = { path = "forks/libm" }
# FIXME(121001): Revert once pull request is accepted and rolled into a crates.io release.
nix = { path = "forks/nix" }
notify = { path = "forks/notify" }
# FIXME(118248): We can unfork once undefined behavior is resolved.
prettytable-rs = { path = "forks/prettytable-rs" }
pulldown-cmark = { path = "forks/pulldown-cmark" }
# FIXME(87798): We can unfork to 0.19.1 once we've updated hyper to 0.14.x, and
# tokio to 1.x.
rustls = { path = "forks/rustls" }
rustyline = { path = "forks/rustyline" }
security-framework = { path = "forks/security-framework" }
tracing-core = { path = "forks/tracing-core" }
valico = { path = "forks/valico" }
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. ###
#################################################################################
# IMPORTANT: The expression ${gn_source_root} must be used to reference
# a path to the root source directory relative to the current directory
# (which would be the Ninja build directory in the case of Fuchsia).
#
# Apart from that, it is ok to use relative paths with any number of ../ in them
# as long as these are relative to source locations instead.
#
# 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.ash."0.37.0+1.3.209"]
rustflags = []
[gn.package.async-fs."1.6.0"]
rustflags = []
[gn.package.async-io."1.12.0"]
rustflags = []
[gn.package.async-net."1.7.0"]
rustflags = []
[gn.package.async-trait."0.1.56"]
rustflags = []
[gn.package.camino."1.1.1"]
rustflags = [
"--cfg=path_buf_capacity",
"--cfg=shrink_to",
"--cfg=try_reserve_2",
]
[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.14"]
rustflags = []
[gn.package.fancy-regex."0.8.0"]
# TODO(fxbug.dev/112722): We're importing this explicitly for now, but eventually
# it will be imported by valico and the dt-schema tool.
# Remove this line when valico uses fancy-regex.
visibility = [":*"]
[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" ]
# generator has not gone through a thorough safety review yet, and needs to be
# re-reviewed before it can be used outside of tests.
[gn.package.generator."0.7.4"]
deps = [
"//build/validate:non_production_tag",
"//third_party/rust_crates/compat/generator:asm",
]
visibility = [ ":loom-v0_5_6" ]
testonly = true
[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=${gn_source_root}/third_party/rust_crates/vendor/getrandom-0.2.2" ]
rustflags = []
[gn.package.httparse."1.7.1"]
rustflags = ["--cfg=httparse_simd"]
[gn.package.indexmap."1.9.2"]
rustflags = ["--cfg=has_std"]
[gn.package.js-sys."0.3.40"]
env_vars = [ "CARGO_PKG_NAME=js-sys", "CARGO_PKG_VERSION=0.3.40", "CARGO_MANIFEST_DIR=${gn_source_root}/third_party/rust_crates/vendor/js-sys-0.3.40" ]
[gn.package.libc."0.2.142"]
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_int128",
"--cfg=libc_non_exhaustive",
"--cfg=libc_long_array",
"--cfg=libc_ptr_addr_of",
"--cfg=libc_underscore_const_names",
"--cfg=libc_const_extern_fn",
]
[gn.package.libc."0.2.142".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/diagnostics/log/log_visibility.gni", variable = "third_party_rust_crate_log_visibility" }
# Loom has not gone through a thorough safety review yet, and needs to be
# re-reviewed before it can be used outside of tests.
[gn.package.loom."0.5.6"]
deps = [ "//build/validate:non_production_tag" ]
testonly = true
[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.nix."0.26.2"]
group_visibility = { import = "//src/lib/fuchsia_nix/nix_visibility.gni", variable = "nix_visibility" }
visibility = [":*", "//third_party/rust_crates/compat/rustyline:*"]
[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.memoffset."0.7.1"]
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.6"]
rustflags = []
[gn.package.polling."2.4.0"]
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.58"]
rustflags = ["--cfg=span_locations", "--cfg=use_proc_macro", "--cfg=wrap_proc_macro"]
# The `build.rs` file in this version of quote checks for rustc versions less
# than 53; for later rustc versions (including the one that we vendor with
# Fuchsia), the logic in `build.rs` is a no-op.
[gn.package.quote."1.0.27"]
rustflags = []
[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.ref-cast."1.0.9"]
rustflags = []
[gn.package.ring."0.16.12"]
# See fxbug.dev/104855 if you want to change this: Please talk to Security team.
# Thank you!
visibility = [
":ring",
":rustls-v0_19_1",
":sct-v0_6_0",
":trust-dns-proto-v0_21_2",
":tuf-v0_3_0-beta11",
":webpki-v0_21_0",
]
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.schemars."0.8.10"]
rustflags = ["--cfg=std_atomic64", "--cfg=std_atomic"]
# scoped-tls has not gone through a thorough safety review yet, and needs to be
# re-reviewed before it can be used outside of tests.
[gn.package.scoped-tls."1.0.1"]
deps = [ "//build/validate:non_production_tag" ]
visibility = [ ":loom-v0_5_6" ]
testonly = true
# 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.147"]
rustflags = []
[gn.package.serde_derive."1.0.147"]
rustflags = []
[gn.package.semver."1.0.4"]
rustflags = []
[gn.package.signal-hook."0.3.8"]
rustflags = []
[gn.package.slab."0.4.7"]
rustflags = []
# Not actually used in the gn build at all, just for the rules_rust bazel rules.
[gn.package.tinyjson."2.5.0"]
group_visibility = { import = "//third_party/rust_crates/private_visibility.gni", variable = "private_visibility" }
# TODO(fxbug.dev/106164) This manual configuration enables the "rt", "net"
# "fs" and "sync" features on non-Fuchsia targets. It should be removed
# once gnaw supports target-specific features.
[gn.package.tokio."1.19.2".platform."cfg(not(target_os = \"fuchsia\"))"]
deps = [
":bytes-v1_0_1",
":libc-v0_2_142",
":memchr-v2_4_0",
":mio-v0_8_5",
":num_cpus-v1_13_0",
":once_cell-v1_17_1",
":signal-hook-registry-v1_3_0",
":socket2-v0_4_4",
]
rustflags = [
"--cfg=feature=\\\"libc\\\"",
"--cfg=feature=\\\"fs\\\"",
"--cfg=feature=\\\"mio\\\"",
"--cfg=feature=\\\"net\\\"",
"--cfg=feature=\\\"num_cpus\\\"",
"--cfg=feature=\\\"once_cell\\\"",
"--cfg=feature=\\\"rt\\\"",
"--cfg=feature=\\\"rt-multi-thread\\\"",
"--cfg=feature=\\\"socket2\\\"",
"--cfg=feature=\\\"sync\\\"",
"--cfg=feature=\\\"time\\\"",
"--cfg=feature=\\\"winapi\\\"",
]
# TODO(fxbug.dev/106164) This manual configuration enables the "log" so that
# tracing macros also emit log events and binaries with setting up a
# log::Logger receive tracing events as logs. On Fuchsia we don't need that
# since all binaries set up a tracing Subscriber.
[gn.package.tracing."0.1.34".platform."cfg(not(target_os = \"fuchsia\"))"]
deps = [ ":log-v0_4_11" ]
rustflags = [
"--cfg=feature=\\\"log\\\"",
]
[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.valuable."0.1.0"]
rustflags = []
[gn.package.zstd-safe."5.0.2+zstd.1.5.2"]
rustflags = []
[gn.package.zstd-sys."2.0.1+zstd.1.5.2"]
rustflags = []
# 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.3.5"]
# pest relies on this being set to find the grammar file
env_vars = [ "CARGO_MANIFEST_DIR=${gn_source_root}/third_party/rust_crates/vendor/handlebars-4.3.5" ]
# Refer to //build/icu/README.md for the details of the approach.
[gn.package.rust_icu_uchar."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_common."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_sys."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_ucal."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_udat."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_udata."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_uenum."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_uloc."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_unorm2."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.rust_icu_ustring."4.0.0"]
configs = [ "//src/lib/icu:version" ]
target_renaming = { import = "//build/icu/icu_rust_crates.gni", group_name = "icu_group", rule_name = "icu_rust_library" }
[gn.package.trust-dns-resolver."0.22.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.22.0\\\"" ]
[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"]
[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.87"]
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"]