cosmic-files/Cargo.toml
2025-08-13 11:00:07 -06:00

147 lines
4.1 KiB
TOML

[package]
name = "cosmic-files"
version = "0.1.0"
authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2021"
license = "GPL-3.0-only"
rust-version = "1.85.0"
[build-dependencies]
vergen = { version = "8", features = ["git", "gitcl"] }
[dependencies]
anyhow = "1"
chrono = { version = "0.4", features = ["unstable-locales"] }
icu = { version = "1.5.0", features = [
"experimental",
"compiled_data",
"icu_datetime_experimental",
] }
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "178eb0b", optional = true }
cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true }
dirs = "6.0.0"
env_logger = "0.11"
freedesktop_entry_parser = "1.3"
futures = "0.3.31"
gio = { version = "0.20", optional = true }
glib = { version = "0.20", optional = true }
glob = "0.3"
icu_collator = "1.5"
icu_provider = { version = "1.5", features = ["sync"] }
ignore = "0.4"
image = "0.25"
libc = "0.2"
log = "0.4"
mime_guess = "2"
notify-debouncer-full = "0.3"
notify-rust = { version = "4", optional = true }
once_cell = "1.20"
open = "5.3.2"
paste = "1.0"
regex = "1"
serde = { version = "1", features = ["serde_derive"] }
shlex = { version = "1.3" }
tempfile = "3"
tikv-jemallocator = { version = "0.6", optional = true }
tokio = { version = "1", features = ["process", "sync"] }
trash = { git = "https://github.com/jackpot51/trash-rs.git", branch = "cosmic" }
url = "2.5"
walkdir = "2.5.0"
wayland-client = { version = "0.31.8", optional = true }
xdg = { version = "2.5.2", optional = true }
# https://github.com/ebassi/xdg-mime-rs/pull/31
xdg-mime = { git = "https://github.com/ellieplayswow/xdg-mime-rs", branch = "feature/get-same-as" }
# Compression
bzip2 = { version = "0.5", optional = true } #TODO: replace with pure Rust crate
flate2 = "1.0"
tar = "0.4.43"
xz2 = { version = "0.1", optional = true } #TODO: replace with pure Rust crate
ordermap = { version = "0.5.8", features = ["serde"] }
# Internationalization
i18n-embed = { version = "0.15", features = [
"fluent-system",
"desktop-requester",
] }
i18n-embed-fl = "0.9"
rust-embed = "8"
slotmap = "1.0.7"
recently-used-xbel = { git = "https://github.com/pop-os/recently-used-xbel.git" }
zip = "2.2.2"
uzers = "0.12.1"
md-5 = "0.10.6"
png = "0.17.16"
jxl-oxide = { version = "0.12.2", features = ["image"] }
num_cpus = "1.17.0"
# Completion-based IO runtime to enable io_uring / IOCP file IO support.
[dependencies.compio]
version = "0.14.0"
default-features = false
features = ["io", "macros", "polling", "runtime"]
[dependencies.io-uring]
version = "0.7.6"
default-features = false
optional = true
[dependencies.libcosmic]
git = "https://github.com/pop-os/libcosmic.git"
default-features = false
#TODO: a11y feature crashes
features = ["autosize","multi-window", "tokio", "winit", "surface-message"]
[features]
default = [
"bzip2",
"desktop",
"gvfs",
"io-uring",
"notify",
"wgpu",
"wayland",
"xz2",
]
dbus-config = ["libcosmic/dbus-config"]
desktop = ["libcosmic/desktop", "dep:cosmic-mime-apps", "dep:xdg"]
desktop-applet = []
gvfs = ["dep:gio", "dep:glib"]
io-uring = ["compio/io-uring", "dep:io-uring"]
io-uring-bindgen = ["io-uring?/bindgen"]
jemalloc = ["dep:tikv-jemallocator"]
notify = ["dep:notify-rust"]
wayland = ["libcosmic/wayland", "dep:cctk", "dep:wayland-client"]
wgpu = ["libcosmic/wgpu"]
[profile.dev]
opt-level = 1
[profile.release-with-debug]
inherits = "release"
debug = true
[target.'cfg(unix)'.dependencies]
fork = "0.2"
[target.'cfg(target_os = "linux")'.dependencies]
procfs = "0.17"
[dev-dependencies]
# cap-std = "3"
# cap-tempfile = "3"
fastrand = "2"
test-log = "0.2"
tokio = { version = "1", features = ["rt", "macros"] }
# [patch.'https://github.com/pop-os/cosmic-text']
# cosmic-text = { path = "../cosmic-text" }
# [patch.'https://github.com/pop-os/libcosmic']
# libcosmic = { path = "../libcosmic" }
# cosmic-config = { path = "../libcosmic/cosmic-config" }
# cosmic-theme = { path = "../libcosmic/cosmic-theme" }
# [patch.'https://github.com/pop-os/smithay-clipboard']
# smithay-clipboard = { path = "../smithay-clipboard" }
[workspace]
members = ["cosmic-files-applet"]