-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Cargo.toml
115 lines (101 loc) · 3.71 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
114
115
[package]
name = "qcp"
description = "Secure remote file copy utility which uses the QUIC protocol over UDP"
rust-version = "1.81.0"
resolver = "2"
version = "0.1.2"
edition = "2021"
authors = ["Ross Younger <qcp@crazyscot.com>"]
license = "AGPL-3.0-or-later"
repository = "https://github.com/crazyscot/qcp/"
homepage = "https://github.com/crazyscot/qcp/"
keywords = [ "networking", "file-transfer", "quic" ]
categories = [ "command-line-utilities" ]
[profile.release]
lto = "thin"
strip = "symbols"
[dependencies]
anstyle = "1.0.8"
anyhow = "1.0.89"
capnp = "0.20.1"
capnp-futures = "0.20.0"
clap = { version = "4.5.19", features = ["wrap_help", "derive", "cargo", "help", "string"] }
console = "0.15.8"
dns-lookup = "2.0.4"
futures-util = { version = "0.3.31", default-features = false }
gethostname = "0.5.0"
human-repr = "1.1.0"
humanize-rs = "0.1.5"
indicatif = { version = "0.17.8", features = ["tokio"] }
num-format = { version = "0.4.4" }
quinn = { version = "0.11.5", default-features = false, features = ["runtime-tokio", "rustls", "ring"] }
rcgen = { version = "0.13.1" }
rustls-pki-types = "1.9.0"
static_assertions = "1.1.0"
strum_macros = "0.26.4"
tokio = { version = "1.40.0", default-features = true, features = ["fs", "io-std", "macros", "process", "rt", "time", "sync"] }
tokio-util = { version = "0.7.12", features = ["compat"] }
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29.0", features = ["socket"] }
[target.'cfg(all(target_env = "musl", target_pointer_width = "64"))'.dependencies]
jemallocator = "0.5.4"
[build-dependencies]
capnpc = "0.20.0"
[dev-dependencies]
fastrand = "2.1.1"
[lints.rust]
dead_code = "warn"
elided_lifetimes_in_paths = "deny"
meta_variable_misuse = "deny"
missing_abi = "deny"
missing_copy_implementations = "deny"
missing_debug_implementations = "deny"
missing_docs = "warn"
non_ascii_idents = "deny"
single_use_lifetimes = "deny"
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unreachable_pub = "deny"
# unused_crate_dependencies = "deny" # false positives
unused_extern_crates = "deny"
unused_lifetimes = "deny"
unused_results = "deny"
variant_size_differences = "deny"
[lints.clippy]
pedantic = { level = "deny", priority = -1 }
missing_errors_doc = "allow"
[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"
invalid_codeblock_attributes = "deny"
invalid_html_tags = "deny"
invalid_rust_codeblocks = "deny"
missing_crate_level_docs = "deny"
private_intra_doc_links = "deny"
unescaped_backticks = "deny"
[package.metadata.cross.target.x86_64-unknown-linux-musl]
pre-build = [ "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install capnproto" ]
[package.metadata.cross.target.aarch64-unknown-linux-musl]
pre-build = [ "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install capnproto" ]
[package.metadata.deb]
extended-description = """\
The QUIC Copier (`qcp`) is an experimental high-performance remote file
copy utility for long-distance internet connections.
It is intended as a drop-in replacement for scp, offering similar
security properties but better throughput on congested networks.
"""
section = "contrib/net"
assets = [
# sneaky; this seems to automagically pick up the correct binary when cross building:
[ "target/release/qcp", "usr/bin/", "755" ],
[ "README.md", "usr/share/doc/qcp/", "644" ],
[ "LICENSE", "usr/share/doc/qcp/", "644" ],
# gzip -9n < CHANGELOG.md > misc/changelog.gz
[ "misc/changelog.gz", "usr/share/doc/qcp/", "644" ],
[ "misc/20-qcp.conf", "etc/sysctl.d/", "644" ],
[ "misc/qcp.1", "usr/share/man/man1/", "644" ],
]