# 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
# docs/development/languages/rust/third_party.md.

[package]
name = "fuchsia-third-party"
version = "0.1.0"

[dependencies]
# Keep this sorted alphabetically, please.
anyhow = "1.0.25"
arbitrary = { version = "0.4.0", features = ["derive"] }
argh = "0.1.4"
arc-swap = "0.4.4"
async-trait = "0.1.40"
base64 = "0.9"
bincode = "1"
bitfield = "0.13"
bitflags = "1"
bumpalo = "3.2.1"
byteorder = { version = "1", features = ["i128"] }
cargo_metadata = "0.9.1"
chrono = "0.4.11"
clap = "2.33"
crc = "1.8.1"
criterion = { version = "0.2", default-features = false }
crossbeam = "0.7.3"
csv = "1.0.7"
cxx = "0.3.5"
cxxbridge-cmd = "0.3.5"
data-encoding = "2.1.2"
derp = "0.0.13"
difference = "2.0.0"
fatfs = "0.4.0"
flate2 = { version = "1.0.14", default-features = false, features = ["rust_backend"] }
futures = "=0.3.6"
futures-core = "=0.3.6"
futures-channel = "=0.3.6"
futures-executor = "=0.3.6"
futures-macro = "=0.3.6"
futures-io = "=0.3.6"
futures-sink = "=0.3.6"
futures-task = "=0.3.6"
futures-test = "=0.3.6"
futures-util = "=0.3.6"
glob = "0.3.0"
heck = "0.3.1"
hex = "0.3.2"
http = "0.2.1"
hyper = { version = "0.13.4", default-features = false, features = ["stream"] }
itertools = "0.8"
itoa = "0.4"
json5format = "0.1.4"
lazy_static = "1.4"
libc = "0.2.82"
libm = "0.2.1"
linked-hash-map = "0.5.3"
log = { version = "0.4.11", features = ["std"] }
maplit = "1.0"
matches = "0.1.8"
maybe-owned = "0.3.2"
memchr = "2.0"
nom = { version = "5.0.0", default-features = false, features = ["std", "regexp_macros"] }
nom_locate = "2.0.0"
num-derive = "0.2.4"
num-traits= "0.2.5"
numtoa = "0.1.0"
once_cell = { version = "1.2.0", features = ["parking_lot"] }
parking_lot = "0.9"
paste = "1.0"
percent-encoding = "2.1"
pest = "2.1"
pest_derive = "2.1"
pest_generator = "2.1.3"
pin-project = "0.4.26"
pin-utils = "0.1.0"
png = "0.14" # saved for future use
pretty_assertions = "0.5.1"
proc-macro-hack = "0.5.15"
proptest = "0.9.3"
proptest-derive = "0.1.1"
rand = "0.6"
rand_core = "0.4.0"
rand_os = "0.1.2"
rayon = "1.2.1"
regex = "1.0.6"
regex-syntax = "0.6.5"
rental = "0.5.4"
ring = "0.16"
rouille = "3.0.0"
rust-crypto = "0.2"
rustc-demangle = "0.1.16"
rustc-hash = "1.0.1"
rustls = { version = "0.17.0", features = ["dangerous_configuration"] }
scopeguard = "0.3.3"
semver = "0.9.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 = "0.1.0"
slab = "0.4"
socket2 = { version = "0.3.12", features = ["reuseport", "unix"] }
splines = "2.2.0"
static_assertions = "1.1.0"
structopt = "0.2.14"
tempfile = "3.1"
termion = "1.5.3"
test-case = "1.1.0"
textwrap = "0.11.0"
thiserror = "1.0.9"
timebomb = "0.1.2"
tokio = { version = "0.2.16", default-features = false }
toml = "0.5"
tracing = { version = "0.1.15", features = ["log"] }
tracing-futures = "0.2.4"
unicase = "2.2.0"
untrusted = "0.7"
url = "2.1"
uuid = { version = "0.7.2", features = ["serde", "v4"] } # move ?
valico = "2.4.2"
wasm-bindgen = "0.2.60"
webpki = "0.21"
xml-rs = "0.8"
# move once target-side tests of host-side code have been removed
# in wayland/scanner:lib and unicode_block_generator :
num = "0.2"
unic-char-range = "0.9"
unic-ucd-block = "0.9"
unicode-segmentation = "1.0"
unicode-width = "0.1.3"
utf8parse = "0.1"

[dependencies.tracing-subscriber]
version = "0.2.7"
default-features = false
features = ["chrono", "registry", "tracing-log"]

# Target-side only dependencies
[target.'cfg(target_os = "fuchsia")'.dependencies]
bytes = "0.5.4"
# do not add back without verifying certificate transparency is ready to use - see fxbug.dev/25100
# ct-logs = "0.6"
derivative = "2.1.1"
euclid = "0.20.7"
eui48 = { version = "0.4.6", features = ["serde", "disp_hexstring"] }
freetype = "0.4" # saved for future use
getopts = "0.2"
hyper-rustls = { version = "0.20.0", default-features = false }
lipsum = "0.6.0"
num-bigint = { version = "0.2", features = ["rand"] }
openat = "0.1.17"
owning_ref = "0.4.0"
pretty = "0.5.2"
prettytable-rs = "0.8.0"
proc-macro-nested = "0.1.4"
rand_xorshift = "0.1.1"
rust_icu_common = { version = "0.4.1", default-features = false, features = ["renaming"] }
rust_icu_sys = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ucal = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_udat = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_udata = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uenum = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uloc = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ustring = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_utext = { version = "0.4.1", default-features = false, features = ["renaming", "icu_version_in_env"] }
rusttype = "0.7.3"
serde_repr = "0.1.3"
smallvec = "0.6"
time = "0.1"
tokio-rustls = "0.13.0"
trust-dns-proto = { version = "0.19.2", default-features = false, features = ["testing"] }
trust-dns-resolver = { version = "0.19.2", default-features = false, features = ["testing"] }
ttf-parser = "0.8.2"
unicode-normalization = "0.1"
vk-sys = "0.4.0"
void = "1.0.2"
vte = "0.3"
walkdir = "2.2.7"

# Host-side only dependencies
[target.'cfg(not(target_os = "fuchsia"))'.dependencies]
async-std = { version = "1.6.0", features = ["attributes"] }
crossterm = "0.17.7"
handlebars = "2.0.0-beta.2"
home = "0.5.3"
hyper-rustls = { version = "0.20.0", default-features = false, features = ["rustls-native-certs"] }
indoc = "0.3.3"
nix = "0.18" # not included in fuchsia so we don't depend on #[cfg(unix)] things on target
petgraph = "0.5.1"
proc-macro2 = "1.0.9"
pulldown-cmark = "0.6.0"
quote = "1.0.2"
serial_test = "0.5.1" # Not for use on Fuchsia, only for a single process.
signal-hook = "0.1.16"
simplelog = "0.8.0"
smol = "0.1.11"
syn = { version = "1.0.5", features = ["full", "visit-mut", "extra-traits"] }
synstructure = "0.12.1"
tar = "0.4.25"
termios = "0.3.2"
tui = { version = "0.10.0", features = ["crossterm"], default-features = false }
zip = { version = "0.5.5", default-features = false, features = ["deflate"] }

# For crates that we don't want to vendor, create a dummy package in tiny_mirrors/ (see existing
# examples).
[patch.crates-io]
# Keep this sorted alphabetically, please.
backtrace-sys = { path = "tiny_mirrors/backtrace-sys" }
cmake = { path = "tiny_mirrors/cmake"}
# TODO(fxbug.dev/56201): Vendor fatfs when upstream makes a new release.
# See https://github.com/rafalh/rust-fatfs/pull/37#issuecomment-653760603 for more information.
crossterm_winapi = { path = "tiny_mirrors/crossterm_winapi" }
fatfs = { path = "tiny_mirrors/fatfs" }
fuchsia-cprng = { path = "../../src/lib/zircon/rust/fuchsia-cprng" }
futures-timer = { path = "tiny_mirrors/futures-timer" }
js-sys = { path = "tiny_mirrors/js-sys" }
libm = { path = "tiny_mirrors/libm" }
memchr = { path = "tiny_mirrors/memchr" }
miow = { path = "tiny_mirrors/miow" }
nom_locate = { path = "tiny_mirrors/nom_locate" }
ntapi = { path = "tiny_mirrors/ntapi" }
pkg-config = { path = "tiny_mirrors/pkg-config" }
regex-automata = { path = "tiny_mirrors/regex-automata" }
rust-crypto = { path = "../rust-mirrors/rust-crypto" }
rustls = { path = "tiny_mirrors/rustls" }
security-framework = { path = "tiny_mirrors/security-framework" }
serde_json5 = { path = "../rust-mirrors/serde_json5" }
servo-freetype-sys = { path = "tiny_mirrors/servo-freetype-sys" }
# termcolor 1.1.0 w/ UNLICENSE file removed per OSRB
termcolor = { path = "tiny_mirrors/termcolor" }
tracing-core = { path = "tiny_mirrors/tracing-core" }
ttf-parser = { path = "tiny_mirrors/ttf-parser" }
wasm-bindgen-futures = { path = "tiny_mirrors/wasm-bindgen-futures" }
web-sys = { path = "tiny_mirrors/web-sys" }
wepoll-binding = { path = "tiny_mirrors/wepoll-binding" }
winapi-i686-pc-windows-gnu = { path = "tiny_mirrors/winapi-i686-pc-windows-gnu" }
winapi-x86_64-pc-windows-gnu = { path = "tiny_mirrors/winapi-x86_64-pc-windows-gnu" }
winapi = { path = "tiny_mirrors/winapi" }
winapi-util = { path = "tiny_mirrors/winapi-util" }

#################################################################################
###                            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 defaults targets to 2018 edition. third_party can be any version
  "//build/config:rust_edition_2018",
  # 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.anyhow."1.0.25"]
# TODO(bwb) turn on when backtrace stabilizes
# rustflags = ["--cfg=backtrace"]

[gn.package.arrayvec."0.4.10"]

[gn.package.bitflags."1.2.1"]
rustflags = ["--cfg=bitflags_const_fn"]

[gn.package.brotli-sys."0.3.2"]
deps = [ "//third_party/rust_crates/compat/brotli" ]

[gn.package.byteorder."1.3.1"]
rustflags = ["--cfg=byteorder_i128"]

[gn.package.core-foundation-sys."0.7.0".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.httparse."1.3.3"]
rustflags = ["--cfg=httparse_simd"]

[gn.package.libc."0.2.82"]
rustflags = ["--cfg=freebsd11", "--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"]

[gn.package.log."0.4.11"]
rustflags = ["--cfg=atomic_cas"]

[gn.package.memchr."2.3.3"]
rustflags = ["--cfg=memchr_runtime_simd", "--cfg=memchr_runtime_sse2", "--cfg=memchr_runtime_sse42", "--cfg=memchr_runtime_avx"]

[gn.package.mime_guess."1.8.6"]
env_vars = ["OUT_DIR=../../../compat/mime_guess"]

[gn.package.num-bigint."0.2.2"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-complex."0.2.1"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-derive."0.2.4"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-integer."0.1.39"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-rational."0.2.1"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-traits."0.2.11"]
rustflags = ["--cfg=has_i128"]

[gn.package.maybe-uninit."2.0.0"]
rustflags = ["--cfg=derive_copy", "--cfg=repr_transparent", "--cfg=native_uninit"]

[gn.package.num-iter."0.1.37"]
rustflags = ["--cfg=has_i128"]

[gn.package.pin-project-internal."0.4.26"]
rustflags = ["--cfg=underscore_consts", "--cfg=deprecated_proc_macro"]

[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.24"]
rustflags = ["--cfg=span_locations", "--cfg=lexerror_display", "--cfg=hygiene", "--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.rust-crypto."0.2.36"]
deps = [ "//third_party/rust_crates/compat/rust-crypto" ]

[gn.package.ryu."1.0.3"]
rustflags = ["--cfg=integer128", "--cfg=must_use_return", "--cfg=maybe_uninit"]

[gn.package.proc-macro-nested."0.1.4"]
rustflags = []
env_vars = ["OUT_DIR=../../../compat/proc-macro-nested"]

[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.tiny_http."0.6.2"]
# TODO(61282): Fix the leaks and remove this.
deps = [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]

[gn.package.unicase."1.4.2"]
rustflags = ["--cfg=__unicase__default_hasher", "--cfg=__unicase__iter_cmp"]

[gn.package.unicase."2.5.1"]
rustflags = ["--cfg=__unicase__default_hasher", "--cfg=__unicase__const_funs", "--cfg=__unicase__iter_cmp"]

[gn.package.valico."2.4.2"]
env_vars = ["OUT_DIR=../../../../compat/valico"]


# 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."2.0.0-beta.2"]
# 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_common."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_sys."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_ucal."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_udat."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_udata."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_uenum."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_uloc."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_ustring."0.4.1"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_utext."0.4.1"]
configs = [ "//src/lib/icu:version" ]

[gn.package.trust-dns-resolver."0.19.2"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.19.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.60"]
# Do not quote, this is embedded directly in .wasm sections and is needed by wasm-bindgen.
env_vars = [ "CARGO_PKG_VERSION=0.2.60" ]

# 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.backtrace-sys."0.1.32"]
[gn.package.bincode."1.1.1"]
[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."0.3.5"]
[gn.package.getrandom."0.1.13"]
# 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.nix."0.18.0"]
[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.servo-freetype-sys."4.0.5"]
[gn.package.syn."1.0.58"]
[gn.package.test-case."1.1.0"]
[gn.package.wasm-bindgen."0.2.60"]


# 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."0.3.5".binary.cxxbridge]
output_name = "cxxbridge"

[gn.package.serde_json."1.0.59"]
rustflags = ["--cfg=limb_width_64"]
