-
Notifications
You must be signed in to change notification settings - Fork 44
/
Cargo.toml
122 lines (119 loc) · 3.64 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
[workspace]
resolver = "2"
members = ["lib", "playback", "server", "tui"]
[workspace.package]
authors = ["tramhao <haoxinkui@gmail.com>"]
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.77"
[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.6"
chrono = "^0.4.23"
clap = { version = "4.5", features = ["derive", "env"] }
cpal = "^0.15"
ctrlc = { version = "3.4", features = ["termination"] }
dirs = "5.0"
discord-rich-presence = { version = "0.2" }
escaper = "0.1.1"
figment = { version = "0.10", features = ["toml"] }
glib = { version = "0.20" }
gstreamer = { version = "0.23" }
hex = "0.4"
id3 = "1.13"
# image cannot be upgraded to 0.25 because of viuer, see https://github.com/atanunq/viuer/issues/56
image = "0.24"
include_dir = "0.7"
lazy_static = "1.4"
libaes = "0.7"
libmpv-sirno = "2.0.2-fork.1"
lofty = "0.21"
log = "0.4"
flexi_logger = "0.28"
colored = "2.0"
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.36"
rand = "0.8"
regex = "^1.5.5"
reqwest = { version = "0.12", features = [
"cookies",
"gzip",
"json",
"stream",
] }
rfc822_sanitizer = "0.3"
rss = "2.0"
rusqlite = { version = "0.32", features = ["bundled"] }
sanitize-filename = "0.5"
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.7.3", default-features=false, features = ["use_zbus"] }
stream-download = { version = "0.7.2", features = ["reqwest-rustls"] }
symphonia = { version = "0.5.1", features = [
"default",
"aac",
"mp3",
"isomp4",
"alac",
"flac",
"mkv",
] }
sysinfo = { version = "^0.31", default-features = false, features = ["system"] }
tempfile = "3.10"
textwrap = "0.16"
tokio = { version = "1.37", 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"
tonic = "0.12"
tonic-build = "0.12"
tuirealm = { version = "~2.0.3", features = ["serialize"] }
tui-realm-stdlib = "~2.0"
tui-realm-treeview = "~2.0"
unicode-segmentation = "1.10"
unicode-width = "^0.1.8"
urlencoding = "2.1"
viuer = "0.7"
walkdir = "2.5"
wildmatch = "2.3"
ytd-rs = { version = "0.1", features = ["yt-dlp"] }
futures = "0.3"
# transistive dependency for some packages (like libsqlite), manually specified to upgrade the version, see https://github.com/rusqlite/rusqlite/issues/1543
cc = "1.1"
[profile.release]
# lto = true
# panic = 'abort'
# opt-level = 'z'
# codegen-units = 1