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

[package]
name = "fuchsia-third-party"
version = "0.1.0"
authors = ["cramertj <cramertj@google.com>"]

[dependencies]
# Keep this sorted alphabetically, please.
ansi_term = "0.11.0"
base64 = "0.9"
bincode = "1"
bit-vec = "0.5.0"
bitfield = "0.13"
bitflags = "1"
byteorder = { version = "1", features = ["i128"] }
bytes = "0.4.7"
cc = "1"
chrono = "0.4.2"
clap = "2.29"
crossbeam = "0.5"
ct-logs = "0.5.1"
data-encoding = "2.1.2"
derp = "0.0.11"
euclid = "0.19"
eui48 = { version = "0.4.6", features = ["serde", "disp_hexstring"] }
failure = "0.1.1"
font-rs = "0.1.3"
freetype = { version = "0.4", default-features = false }
futures-preview = { version = "=0.3.0-alpha.13", features = ["io-compat"] }
getopts = "0.2"
glob = "0.3.0"
harfbuzz = { version = "0.3.1", default-features = false }
heck = "0.3.1"
hex = "0.3.2"
http = "0.1"
hyper = { version = "0.12.13", default-features = false }
hyper-rustls = { version = "0.16.1", default-features = false }
itertools = "0.7"
itoa = "0.4"
json5 = "0.2.4"
lazy_static = "1"
libc = "0.2"
log = { version = "0.4.4", features = ["std"] }
maplit = "1.0"
memchr = "2.0"
net2 = "0.2"
nom = "3.2"
num = "0.2"
num-derive = "0.2.4"
num-bigint = { version = "0.2", features = ["rand"] }
num-traits= "0.2.5"
owning_ref = "0.4.0"
parking_lot = "0.7.1"
pest = "2.1"
pest_derive = "2.1"
pin-utils = "=0.1.0-alpha.4"
pretty_assertions = "0.5.1"
proc-macro-hack = "0.5.4"
proc-macro-nested = "0.1.2"
proptest = "0.8.7"
rand = "0.6"
rand_core = "0.4.0"
rand_os = "0.1.2"
rand_xorshift = "0.1.1"
regex = "1.0.6"
ring = "0.14"
rouille = "3.0.0"
rust-crypto = "0.2"
rustc-serialize = "0.3"
rustls = "0.15"
rusttype = "0.7.3"
serde = "1"
serde_derive = "1"
serde_json = "1"
slab = "0.4"
smallvec = "0.6"
structopt = "0.2.14"
synstructure = "0.10.1"
tempfile = "3"
time = "0.1"
timebomb = "0.1.2"
toml = "0.4"
unicase = "2.2.0"
unicode-normalization = "0.1"
unicode-segmentation = "1.0"
unicode-width = "0.1.3"
untrusted = "0.6.2"
url = "1.7.0"
utf8parse = "0.1"
valico = "2.4.2"
void = "1.0.2"
vte = "0.3"
webpki = "0.19.1"
xi-core-lib = { version = "0.2.0", default-features = false } # disable "notify" crate
xi-rpc = "0.2.0"
xml-rs = "0.8"

# Target-side only dependencies
[target.'cfg(target_os = "fuchsia")'.dependencies]
# -- FIXME(cramertj) separate out the dependencies above that will only be
# needed target-side.

# Host-side only dependencies
[target.'cfg(not(target_os = "fuchsia"))'.dependencies]
proc-macro2 = "0.4.24"
quote = "0.6.10"
syn = { version = "0.15.25", features = ["full", "visit-mut"] }

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