forked from zboxfs/zbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
113 lines (89 loc) · 2.97 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[package]
name = "zbox"
version = "0.9.2"
authors = ["Bo Lu"]
description = "ZboxFS is a zero-details, privacy-focused in-app file system."
documentation = "https://docs.rs/zbox"
homepage = "https://github.com/zboxfs/zbox"
repository = "https://github.com/zboxfs/zbox"
readme = "README.md"
keywords = ["filesystem", "crypto", "security", "privacy", "storage"]
categories = ["filesystem", "cryptography"]
license = "Apache-2.0"
build = "build.rs"
edition = "2018"
# This feature will be enabled during the docs.rs build
[package.metadata.docs.rs]
features = ["docs-rs"]
[badges]
travis-ci = { repository = "zboxfs/zbox" }
[lib]
name = "zbox"
crate-type = ["rlib", "cdylib", "staticlib"]
[profile.release]
lto = true
opt-level = 's'
[features]
default = ["storage-mem"]
# performance test compilation flag
test-perf = ["storage-file"]
# memory storage
storage-mem = []
# file storage
storage-file = []
# faulty storage for random io error test
storage-faulty = ["storage-file"]
# sqlite storage
storage-sqlite = ["libsqlite3-sys"]
# redis storage
storage-redis = ["redis"]
# zbox storage base dependencies
storage-zbox = ["http", "serde_json"]
# zbox storage with faulty transport, for test only
storage-zbox-faulty = ["storage-zbox"]
# zbox storage with native transport
storage-zbox-native = ["storage-zbox", "reqwest", "futures", "bytes"]
# zbox storage with android storage as local cache backend
storage-zbox-android = ["storage-zbox"]
# build-in libsodium dependency
libsodium-bundled = []
# feature for documentation build on docs.rs
docs-rs = []
[dependencies]
cfg-if = "1.0.0"
env_logger = "0.9.0"
log = "0.4.14"
rmp-serde = "0.15.5"
serde = { version = "1.0.130", features = ["derive"] }
lazy_static = "1.4.0"
libsqlite3-sys = { version = "0.22.2", optional = true }
redis = { version = "0.21.2", optional = true }
http = { version = "0.2.5", optional = true }
serde_json = { version = "1.0.68", optional = true }
reqwest = { version = "0.11.4", default-features = false, features = ["rustls-tls"], optional = true }
futures = { version = "0.3.17", features = ["executor"], optional = true }
bytes = { version = "1.1.0", optional = true }
[dependencies.linked-hash-map]
version = "0.5.4"
features = ["serde_impl"]
[target.'cfg(target_os = "android")'.dependencies]
jni = "0.19.0"
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { version = "0.2.50", features = ["serde-serialize"] }
js-sys = { version = "0.3.27" }
web-sys = { version = "0.3.27", features = ["Crypto", "WorkerGlobalScope", "XmlHttpRequest", "XmlHttpRequestResponseType", "Blob"] }
[dev-dependencies]
bytes = "1.1.0"
tempdir = "0.3.7"
rand = "0.8.4"
rand_xorshift = "0.3.0"
tokio = { version = "1.12.0", features = ["rt", "net", "macros", "rt-multi-thread"] }
[build-dependencies]
pkg-config = "0.3.20"
cc = "1.0.70"
[target.'cfg(target_os = "windows")'.build-dependencies]
libflate = "1.1.1"
reqwest = { version = "0.11.4", default-features = false, features = ["rustls-tls"] }
tar = "0.4.37"
tempfile = "3.2.0"
zip = "0.5.13"