-
Notifications
You must be signed in to change notification settings - Fork 48
/
Copy pathCargo.toml
123 lines (120 loc) · 3.6 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
[workspace]
resolver = "2"
members = ["lib", "playback", "server", "tui"]
[workspace.package]
authors = ["tramhao <[email protected]>"]
edition = "2021"
license = "MIT"
description = "Terminal Music and Podcast Player written in Rust. Can download music from youtube(netease/migu/kugou) and then embed lyrics and album photos into mp3/m4a/flac/wav/ogg vorbis files."
repository = "https://github.com/tramhao/termusic"
homepage = "https://github.com/tramhao/termusic"
keywords = ["terminal", "tui", "music", "youtube", "podcast"]
categories = [
"command-line-interface",
"command-line-utilities",
"multimedia::audio",
]
readme = "./README.md"
version = "0.9.1"
rust-version = "1.79"
[workspace.dependencies]
# "version" key is required, as per https://github.com/rust-lang/cargo/issues/11133
termusic-lib = { path = "lib/", version = "0.9.1" }
# need to disable "default-features" here for "termusic-server", otherwise the "default-features" in "termusic-server" have no effect
termusic-playback = { path = "playback/", version = "0.9.1", default-features = false }
ahash = "^0.8"
anyhow = { version = "1.0", features = ["backtrace"] }
async-channel = "2.2"
async-trait = "0.1"
base64 = "0.22"
bytes = "1.9"
chrono = "0.4.39"
clap = { version = "4.5", features = ["derive", "env"] }
ctrlc = { version = "3.4", features = ["termination"] }
dirs = "5.0"
discord-rich-presence = "0.2.5"
escaper = "0.1.1"
figment = { version = "0.10", features = ["toml"] }
glib = { version = "0.20" }
gstreamer = { version = "0.23" }
hex = "0.4"
id3 = "1.16"
# image must be upgraded together with viuer
image = "0.25"
viuer = "0.9"
include_dir = "0.7"
lazy_static = "1.4"
libaes = "0.7"
libmpv-sirno = "2.0.2-fork.1"
lofty = "0.22.1"
log = "0.4"
flexi_logger = "0.29.8"
colored = "2.2"
md5 = "0.7"
num-bigint = "0.4"
opml = "1.1"
parking_lot = "^0.12"
pathdiff = { version = "0.2", features = ["camino"] }
percent-encoding = "2.2"
pinyin = "0.10"
pretty_assertions = "1.4"
quick-xml = "0.37"
rand = "0.8"
regex = "^1.11.0"
reqwest = { version = "0.12", features = [
"cookies",
"gzip",
"json",
"stream",
] }
rfc822_sanitizer = "0.3"
rss = "2.0.11"
rusqlite = { version = "0.32", features = ["bundled"] }
sanitize-filename = "0.6"
semver = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
shellexpand = { version = "3.1", features = ["path"] }
soundtouch = "0.4.2"
souvlaki = { version = "0.8.0", default-features=false, features = ["use_zbus"] }
stream-download = { version = "0.14.1", features = ["reqwest-rustls"] }
symphonia = { version = "0.5.1", features = [
"aac",
"mp3",
"isomp4",
"alac",
"flac",
"mkv",
"wav",
"aiff"
] }
rodio = { version = "0.20", default-features = false }
sysinfo = { version = "^0.33", default-features = false, features = ["system"] }
textwrap = "0.16"
tokio = { version = "1.43", features = ["sync", "macros", "rt","rt-multi-thread"] }
tokio-util = "0.7"
tokio-stream = { version = "0.1", features = ["sync"] }
toml = "0.8"
# only update prost and tonic major versions together
prost = "0.13.4"
tonic = "0.12.3"
tonic-build = "0.12.3"
tuirealm = "~2.0.3"
tui-realm-stdlib = "~2.0"
tui-realm-treeview = "~2.0"
unicode-segmentation = "1.12"
unicode-width = "^0.2.0"
urlencoding = "2.1"
walkdir = "2.5"
wildmatch = "2.4"
ytd-rs = { version = "0.1", features = ["yt-dlp"] }
futures = "0.3"
alphanumeric-sort = "1.5"
# transistive dependency for some packages (like libsqlite), manually specified to upgrade the version, see https://github.com/rusqlite/rusqlite/issues/1543
cc = "1.2"
[profile.release]
lto = true
# panic = 'abort'
# opt-level = 'z'
# codegen-units = 1