Files
2026-08-14 02:14:46 +01:00

90 lines
2.6 KiB
TOML

[workspace]
resolver = "2"
members = [
"apps/desktop",
"crates/application",
"crates/backend",
"crates/backend-api",
"crates/domain",
"crates/platform-desktop",
"crates/ui",
]
[workspace.package]
version = "0.1.2"
edition = "2024"
rust-version = "1.97"
license = "WTFPL"
authors = ["Furumi contributors"]
description = "A native desktop player for personal music libraries and the Furumi federated network"
readme = "README.md"
[workspace.dependencies]
anyhow = "1.0.102"
blake3 = "1"
futures-util = "0.3.32"
slint = { version = "=1.17.1", default-features = false, features = [
"backend-winit",
"renderer-femtovg",
"renderer-software",
"compat-1-2",
] }
slint-build = "=1.17.1"
tokio = { version = "=1.52.3", features = ["rt-multi-thread", "sync", "time", "macros", "io-util", "fs"] }
tokio-util = { version = "=0.7.18", features = ["rt"] }
directories = "6.0.0"
image = { version = "0.25.10", default-features = false, features = ["webp"] }
music-dht = "0.4.0"
serde_json = "1.0.150"
serde = { version = "1.0", features = ["derive"] }
rusqlite = { version = "0.32.1", features = ["bundled"] }
rfd = { version = "0.15.4", default-features = false, features = ["xdg-portal", "tokio"] }
rodio = { version = "0.22.2", default-features = false, features = [
"playback",
"mp3",
"flac",
"vorbis",
"wav",
"symphonia-aac",
"symphonia-isomp4",
"symphonia-alac",
] }
reqwest = { version = "0.12.28", default-features = false, features = ["rustls-tls", "stream"] }
rustfft = "6.4.1"
sha2 = "0.10.9"
tract-onnx = "0.23.4"
souvlaki = { version = "0.8.3", default-features = false, features = ["use_zbus"] }
core-foundation = "0.10.1"
objc2 = "0.6.4"
objc2-app-kit = { version = "0.3.2", default-features = false, features = [
"NSApplication",
"NSImage",
"NSResponder",
] }
objc2-foundation = { version = "0.3.2", default-features = false, features = ["NSData"] }
windows-sys = { version = "0.61.2", features = ["Win32_System_LibraryLoader", "Win32_UI_WindowsAndMessaging"] }
furumi-application = { path = "crates/application" }
furumi-backend = { path = "crates/backend" }
furumi-backend-api = { path = "crates/backend-api" }
furumi-domain = { path = "crates/domain" }
furumi-library = "0.1.0"
furumi-platform-desktop = { path = "crates/platform-desktop" }
furumi-ui = { path = "crates/ui" }
[workspace.lints.rust]
unsafe_code = "deny"
[workspace.lints.clippy]
all = "warn"
pedantic = "warn"
[profile.release]
lto = "thin"
codegen-units = 1
strip = "symbols"
[patch.crates-io]
# souvlaki 0.8.3 still uses an uninhabited Objective-C FFI marker.
block = { path = "vendor/block" }