# 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`, a build,
# and then `fx update-rustc-crate-map --output third_party/rust_crates/crate_map.json`.
#
# 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"
authors = ["cramertj <cramertj@google.com>"]

[dependencies]
# Keep this sorted alphabetically, please.
bitfield = "0.13"
bitflags = "1"
byteorder = { version = "1", features = ["i128"] }
chrono = "0.4.2"
clap = "2.33"
crc = "1.8.1"
criterion = { version = "0.2", default-features = false }
csv = "1.0.7"
difference = "2.0.0"
failure = "0.1.1"
futures-preview = { version = "=0.3.0-alpha.17", features = ["async-await", "io-compat", "nightly"] }
futures-test-preview = "=0.3.0-alpha.17"
heck = "0.3.1"
itertools = "0.8"
json5 = "0.2.4"
lazy_static = "1"
libc = "0.2"
log = { version = "0.4.4", features = ["std"] }
matches = "0.1.8"
memchr = "2.0"
nom = { version = "5.0.0", default-features = false, features = ["std", "regexp_macros"] }
parking_lot = "0.9"
paste = "0.1"
percent-encoding = "2.1"
pest = "2.1"
pest_derive = "2.1"
png = "0.14" # saved for future use
pretty_assertions = "0.5.1"
proc-macro-hack = "0.5.7"
rand = "0.6"
rand_core = "0.4.0"
rand_os = "0.1.2"
rayon = "1.1"
regex = "1.0.6"
ring = "0.16"
scopeguard = "0.3.3"
serde = "1.0.99"
serde_derive = "1.0.99"
serde_json = "1"
slab = "0.4"
structopt = "0.2.14"
tempfile = "3"
timebomb = "0.1.2"
unicase = "2.2.0"
url = "2.1"
uuid = { version = "0.7.2", features = ["v4"] } # move ?
valico = "2.4.2"
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"

# Target-side only dependencies
[target.'cfg(target_os = "fuchsia")'.dependencies]
async-trait = "0.1.11"
base64 = "0.9"
bincode = "1"
bytes = "0.4.7"
crossbeam = "0.5"
ct-logs = "0.6"
data-encoding = "2.1.2"
derivative = "1.0.2"
derp = "0.0.13"
euclid = "0.19"
eui48 = { version = "0.4.6", features = ["serde", "disp_hexstring"] }
freetype = "0.4" # saved for future use
getopts = "0.2"
glob = "0.3.0"
harfbuzz = { version = "0.3.1", default-features = false } # saved for future use
hex = "0.3.2"
http = "0.1"
hyper = { version = "0.12.13", default-features = false }
hyper-rustls = { version = "0.17.1", default-features = false }
id_tree = "1.5"
itoa = "0.4"
lipsum = "0.6.0"
maplit = "1.0"
net2 = "0.2"
num-derive = "0.2.4"
num-bigint = { version = "0.2", features = ["rand"] }
num-traits= "0.2.5"
openat = "0.1.17"
owning_ref = "0.4.0"
pin-utils = "=0.1.0-alpha.4"
prettytable-rs = "0.8.0"
proc-macro-nested = "0.1.2"
proptest = "0.9.3"
proptest-derive = "0.1.1"
rand_core = "0.4.0"
rand_os = "0.1.2"
rand_xorshift = "0.1.1"
rental = "0.5.4"
rouille = "3.0.0"
rust-crypto = "0.2"
rustls = { version = "0.16", features = ["dangerous_configuration"] }
rusttype = "0.7.3"
serde_repr = "0.1.3"
smallvec = "0.6"
static_assertions = "0.3.1"
textwrap = "0.11.0"
time = "0.1"
unicode-normalization = "0.1"
unicode-segmentation = "1.0"
unicode-width = "0.1.3"
untrusted = "0.7"
utf8parse = "0.1"
vk-sys = "0.4.0"
void = "1.0.2"
vte = "0.3"
walkdir = "2.2.7"
webpki = "0.21"
xi-core-lib = { version = "0.2.0", default-features = false } # disable "notify" crate
xi-rpc = "0.2.0"

# Host-side only dependencies
[target.'cfg(not(target_os = "fuchsia"))'.dependencies]
flate2 = "1.0.7"
handlebars = "2.0.0-beta.2"
indoc = "0.3.3"
proc-macro2 = "1.0.1"
quote = "1.0.2"
syn = { version = "1.0.5", features = ["full", "visit-mut", "extra-traits"] }
synstructure = "0.12.1"
tar = "0.4.25"
tokio = "0.1.22"

# 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"}
fuchsia-cprng = { path = "../../garnet/public/rust/fuchsia-cprng" }
pkg-config = { path = "tiny_mirrors/pkg-config" }
rust-crypto = { path = "../rust-mirrors/rust-crypto" }
servo-freetype-sys = { path = "tiny_mirrors/servo-freetype-sys" }
web-sys = { path = "tiny_mirrors/web-sys" }
winapi = { path = "tiny_mirrors/winapi" }
winapi-util = { path = "tiny_mirrors/winapi-util" }
xi-core-lib = { path = "../rust-mirrors/xi-editor/rust/core-lib" }
xi-rope = { path = "../rust-mirrors/xi-editor/rust/rope" }
xi-rpc = { path = "../rust-mirrors/xi-editor/rust/rpc" }
xi-trace = { path = "..//rust-mirrors/xi-editor/rust/trace" }
xi-trace-dump = { path = "../rust-mirrors/xi-editor/rust/trace-dump" }
xi-unicode = { path = "../rust-mirrors/xi-editor/rust/unicode" }
