-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
173 lines (155 loc) · 5.31 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
[workspace]
members = [
"frontend",
"lastfm-client",
"lastfm-proc-macros",
"proc_macros",
"types",
]
[workspace.package]
version = "0.9.10"
edition = "2021"
[package]
name = "nghe"
version = { workspace = true }
edition = { workspace = true }
[workspace.dependencies]
anyhow = { version = "1.0.86", features = ["backtrace"] }
concat-string = { version = "1.0.1" }
constcat = { version = "0.5.0" }
derivative = { version = "2.2.0" }
hex = { version = "0.4.3" }
isolang = { version = "2.4.0", default-features = false, features = ["serde"] }
itertools = { version = "0.12.1" }
rand = { version = "0.8.5" }
serde = { version = "1.0.203", features = ["derive"] }
serde_html_form = { version = "0.2.6" }
serde_with = { version = "3.8.2", features = ["hex"] }
strum = { version = "0.26.3", features = ["derive"] }
time = { version = "0.3.36", features = ["serde-human-readable", "macros"] }
tracing = { version = "0.1.40" }
uuid = { version = "1.9.1", features = ["serde"] }
reqwest = { version = "0.12.5", default-features = false, features = [
"rustls-tls",
"json",
"http2",
] }
thiserror = { version = "1.0.61" }
tokio = { version = "1.38.0", features = ["full"] }
url = { version = "2.5.2" }
# Dev
serde_json = { version = "1.0.120" }
fake = { version = "2.9.2", features = [
"derive",
"uuid",
"serde_json",
"time",
] }
[dependencies]
anyhow = { workspace = true }
concat-string = { workspace = true }
constcat = { workspace = true }
derivative = { workspace = true }
hex = { workspace = true }
isolang = { workspace = true }
itertools = { workspace = true }
rand = { workspace = true }
reqwest = { workspace = true }
serde = { workspace = true }
serde_html_form = { workspace = true }
serde_with = { workspace = true }
strum = { workspace = true }
thiserror = { workspace = true }
time = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
uuid = { workspace = true }
lastfm-client = { path = "lastfm-client" }
nghe-proc_macros = { path = "proc_macros" }
nghe-types = { path = "types" }
async-trait = { version = "0.1.80" }
aws-config = { version = "1.5.3", default-features = false, features = [
"client-hyper",
"rustls",
"rt-tokio",
"credentials-process",
"behavior-version-latest",
] }
aws-sdk-s3 = { version = "1.39.0", features = ["rt-tokio"] }
axum = { version = "0.7.5", features = ["http2", "macros"] }
axum-extra = { version = "0.9.3", features = ["form", "typed-header"] }
diesel = { version = "2.2.2", features = ["64-column-tables", "time", "uuid"] }
diesel-async = { version = "0.5.0", features = [
"postgres",
"deadpool",
"async-connection-wrapper",
] }
diesel_full_text_search = { version = "2.2.0", default-features = false }
diesel_migrations = { version = "2.2.0", features = ["postgres"] }
figment = { version = "0.10.19", features = ["env"] }
flume = { version = "0.11.0", features = ["async"] }
futures = { version = "0.3.30" }
futures-buffered = { version = "0.2.6" }
ignore = { version = "0.4.22" }
libaes = { version = "0.7.0" }
lofty = { version = "0.20.1" }
lrc = { git = "https://github.com/vnghia/lrc.git", rev = "875a540" }
mimalloc = { version = "0.1.43" }
mime_guess = { version = "2.0.5" }
phf = { version = "0.11.2", features = ["macros"] }
rayon = { version = "1.10.0" }
rsmpeg = { version = "0.15.1", default-features = false, features = [
"ffmpeg7",
"link_system_ffmpeg",
] }
rspotify = { version = "0.13.2", default-features = false, features = [
"client-reqwest",
"reqwest-rustls-tls",
] }
tokio-postgres = { version = "0.7.10" }
tokio-util = { version = "0.7.11", features = ["io"] }
tower = { version = "0.5.0", features = ["util"] }
tower-http = { version = "0.6.0", features = ["cors", "fs", "trace"] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
typed-path = { version = "0.9.0" }
unicode-normalization = { version = "0.1.23" }
xxhash-rust = { version = "0.8.10", features = ["xxh3"] }
[dev-dependencies]
fake = { workspace = true }
serde_json = { workspace = true }
url = { workspace = true }
http-body-util = { version = "0.1.2" }
image = { version = "0.25.1", default-features = false, features = [
"jpeg",
"png",
] }
tempfile = { version = "3.10.1" }
uuid = { version = "1.9.1", features = ["v4", "fast-rng"] }
[target.'cfg(not(any(target_env = "musl", all(target_arch = "aarch64", target_os = "linux"))))'.dev-dependencies]
diesel = { version = "2.2.2", features = ["postgres"] }
[profile.release]
opt-level = 3
strip = "debuginfo"
overflow-checks = false
lto = "fat"
panic = "abort"
codegen-units = 1
[profile.profiling]
inherits = "release"
debug = true
[package.metadata.vcpkg]
dependencies = [
"ffmpeg[avcodec,avfilter,avformat,avresample,mp3lame,opus,soxr,swresample,vorbis,openssl]",
]
git = "https://github.com/microsoft/vcpkg"
rev = "fe1cde61e971d53c9687cf9a46308f8f55da19fa"
overlay-triplets-path = "vcpkg/triplets/"
[package.metadata.vcpkg.target]
x86_64-unknown-linux-gnu = { triplet = "x64-linux-release" }
aarch64-unknown-linux-gnu = { triplet = "arm64-linux-release" }
x86_64-unknown-linux-musl = { triplet = "x64-linux-musl-release" }
aarch64-unknown-linux-musl = { triplet = "arm64-linux-musl-release" }
x86_64-unknown-freebsd = { triplet = "x64-freebsd-release" }
x86_64-apple-darwin = { triplet = "x64-osx-release" }
aarch64-apple-darwin = { triplet = "arm64-osx-release" }
x86_64-pc-windows-msvc = { triplet = "x64-windows-static-release" }