mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 06:25:41 +00:00
5377f3b737
Complete the Dependabot #910 bump: update Cargo.toml and migrate backup archive writes to SimpleFileOptions (zip 4.x API). Fixes lockfile drift where cargo downgraded zip back to 0.6.6 on every dev build.
110 lines
3.5 KiB
TOML
110 lines
3.5 KiB
TOML
[workspace]
|
||
members = ["crates/*"]
|
||
resolver = "2"
|
||
|
||
[workspace.package]
|
||
version = "1.47.0-dev"
|
||
edition = "2021"
|
||
rust-version = "1.95"
|
||
|
||
[workspace.dependencies]
|
||
tempfile = "3"
|
||
wiremock = "0.6"
|
||
mockall = "0.13"
|
||
proptest = "1"
|
||
|
||
[package]
|
||
name = "psysonic"
|
||
version.workspace = true
|
||
description = "Psysonic Desktop Music Player"
|
||
authors = []
|
||
license = ""
|
||
repository = ""
|
||
default-run = "psysonic"
|
||
edition.workspace = true
|
||
rust-version.workspace = true
|
||
|
||
[lib]
|
||
name = "psysonic_lib"
|
||
crate-type = ["staticlib", "cdylib", "rlib"]
|
||
|
||
[[bin]]
|
||
name = "psysonic"
|
||
path = "src/main.rs"
|
||
|
||
[build-dependencies]
|
||
tauri-build = { version = "2", features = [] }
|
||
|
||
[dependencies]
|
||
psysonic-core = { path = "crates/psysonic-core" }
|
||
psysonic-analysis = { path = "crates/psysonic-analysis" }
|
||
psysonic-audio = { path = "crates/psysonic-audio" }
|
||
psysonic-library = { path = "crates/psysonic-library" }
|
||
psysonic-syncfs = { path = "crates/psysonic-syncfs" }
|
||
psysonic-integration = { path = "crates/psysonic-integration" }
|
||
tauri = { version = "2", features = ["protocol-asset", "tray-icon", "image-png"] }
|
||
tauri-plugin-single-instance = "2"
|
||
tauri-plugin-shell = "2"
|
||
tauri-plugin-global-shortcut = "2"
|
||
tauri-plugin-store = "2"
|
||
tauri-plugin-dialog = "2"
|
||
tauri-plugin-fs = "2"
|
||
serde = { version = "1", features = ["derive"] }
|
||
serde_json = "1"
|
||
rodio = { version = "0.22", default-features = false, features = ["playback", "symphonia-all"] }
|
||
symphonia = { version = "0.5", default-features = false, features = ["flac", "mp3", "pcm", "aac", "alac", "isomp4", "vorbis", "ogg", "wav", "adpcm"] }
|
||
reqwest = { version = "0.13", default-features = false, features = ["stream", "json", "multipart", "query", "form", "rustls", "blocking", "gzip", "brotli"] }
|
||
futures-util = "0.3"
|
||
md5 = "0.8"
|
||
tokio = { version = "1", features = ["rt", "time", "sync"] }
|
||
biquad = "0.6"
|
||
ringbuf = "0.5"
|
||
tauri-plugin-window-state = "2.4.1"
|
||
tauri-plugin-process = "2"
|
||
tauri-plugin-updater = "2"
|
||
souvlaki = { version = "0.8", default-features = false, features = ["use_zbus"] }
|
||
discord-rich-presence = "1.1"
|
||
url = "2"
|
||
thread-priority = "3"
|
||
lofty = "0.24"
|
||
sysinfo = { version = "0.38", default-features = false, features = ["disk", "system"] }
|
||
id3 = "1.16.4"
|
||
symphonia-adapter-libopus = "0.2.9"
|
||
rusqlite = { version = "0.40", features = ["bundled"] }
|
||
ebur128 = "0.1"
|
||
dasp_sample = "0.11.0"
|
||
zip = "4.6.1"
|
||
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp"] }
|
||
webp = "0.3"
|
||
|
||
[target.'cfg(unix)'.dependencies]
|
||
libc = "0.2"
|
||
|
||
[target.'cfg(target_os = "linux")'.dependencies]
|
||
zbus = { version = "5.15", default-features = false, features = ["blocking-api", "async-io"] }
|
||
# Match wry/tauri’s WebKitGTK stack — used only to turn off kinetic wheel scrolling.
|
||
webkit2gtk = { version = "2.0", default-features = false, features = ["v2_40"] }
|
||
webkit2gtk-nvidia-quirk = "1.3"
|
||
|
||
[target.'cfg(windows)'.dependencies]
|
||
windows = { version = "0.62", features = [
|
||
"Win32_Foundation",
|
||
"Win32_Graphics",
|
||
"Win32_Graphics_Gdi",
|
||
"Win32_System_Com",
|
||
"Win32_System_Power",
|
||
"Win32_System_Threading",
|
||
"Win32_UI_Controls",
|
||
"Win32_UI_Shell",
|
||
"Win32_UI_WindowsAndMessaging",
|
||
] }
|
||
|
||
[patch.crates-io]
|
||
# Local patch for Symphonia's isomp4 demuxer:
|
||
# - Fixes descriptor.unwrap() panic on malformed esds atoms (older iTunes M4A)
|
||
# - Tolerates SL predefined=0x01 (null) used by some older iTunes-purchased files
|
||
# - Gracefully skips malformed trak atoms (e.g. MJPEG cover-art streams) instead
|
||
# of failing the entire probe
|
||
symphonia-format-isomp4 = { path = "patches/symphonia-format-isomp4" }
|
||
|