cosmic-files/Cargo.toml

157 lines
3.9 KiB
TOML

[package]
name = "cosmic-files"
version = "1.0.13"
authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2024"
license = "GPL-3.0-only"
rust-version = "1.93"
[dependencies]
anyhow = "1"
jiff = "0.2"
jiff-icu = "0.2"
icu = { version = "2.2.0", features = ["compiled_data"] }
cctk = { path = "../cosmic-protocols/client-toolkit", package = "cosmic-client-toolkit", optional = true }
cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true }
dirs = "6.0.0"
gio = { version = "0.21", optional = true }
glib = { version = "0.21", optional = true }
glob = "0.3"
ignore = "0.4"
image = "0.25"
libc = "0.2"
log = "0.4"
mime_guess = "2"
notify-debouncer-full = "0.7"
notify-rust = { version = "4", optional = true }
open = "5.3.4"
paste = "1.0"
regex = "1"
rustc-hash = "2.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.14", optional = true }
xdg = { version = "3.0", optional = true }
xdg-mime = { git = "https://github.com/ebassi/xdg-mime-rs" }
# Compression
bzip2 = { version = "0.6", optional = true } #TODO: replace with pure Rust crate
flate2 = "1.1"
tar = "0.4.45"
lzma-rust2 = { version = "0.16", optional = true }
ordermap = { version = "1.2.0", features = ["serde"] }
# Internationalization
i18n-embed = { version = "0.16", features = [
"fluent-system",
"desktop-requester",
] }
i18n-embed-fl = "0.10"
rust-embed = "8"
slotmap = "1.1.1"
recently-used-xbel = "1.2.0"
zip = "8"
md-5 = "0.10.6"
png = "0.18"
jxl-oxide = { version = "0.12.5", features = ["image"] }
num_cpus = "1.17.0"
filetime = "0.2"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
thiserror = "2.0.18"
atomic_float = "1.1.0"
num_enum = "0.7.6"
bstr = "1.12.1"
# Completion-based IO runtime to enable io_uring / IOCP file IO support.
[dependencies.compio]
version = "0.18"
default-features = false
features = ["fs", "io", "macros", "polling", "runtime"]
# Yoda fork — depend on libcosmic-yoda directly by path (no git/no patch).
[dependencies.libcosmic-yoda]
path = "../libcosmic"
default-features = false
#TODO: a11y feature crashes
features = [
"about",
"advanced-shaping",
"autosize",
"multi-window",
"tokio",
"wayland",
"surface-message",
]
[[example]]
name = "gio-list"
required-features = ["gvfs"]
[[example]]
name = "gio-mount"
required-features = ["gvfs"]
[[example]]
name = "gvfs"
required-features = ["gvfs"]
[features]
default = [
"bzip2",
"dbus-config",
"desktop",
"gvfs",
"io-uring",
"lzma-rust2",
"notify",
"wayland",
"wgpu",
]
dbus-config = ["libcosmic-yoda/dbus-config"]
desktop = ["libcosmic-yoda/desktop", "dep:cosmic-mime-apps", "dep:xdg"]
desktop-applet = []
gvfs = ["dep:gio", "dep:glib"]
io-uring = ["compio/io-uring"]
jemalloc = ["dep:tikv-jemallocator"]
notify = ["dep:notify-rust"]
wayland = ["libcosmic-yoda/wayland", "dep:cctk", "dep:wayland-client"]
wgpu = ["libcosmic-yoda/wgpu"]
[profile.dev]
opt-level = 1
[profile.release-with-debug]
inherits = "release"
debug = true
[target.'cfg(unix)'.dependencies]
fork = "0.7"
uzers = "0.12.2"
[target.'cfg(target_os = "linux")'.dependencies]
procfs = "0.18"
[build-dependencies]
xdgen = "0.1"
[dev-dependencies]
# cap-std = "3"
# cap-tempfile = "3"
fastrand = "2"
test-log = "0.2"
tokio = { version = "1", features = ["rt", "macros"] }
# Yoda fork — libcosmic dep is now a direct path dep (libcosmic-yoda above),
# no [patch] block needed anymore. Keeping the block below would be a no-op
# since nothing in the dep graph still asks for pop-os/libcosmic.git.
[patch.'https://github.com/pop-os/cosmic-text.git']
cosmic-text = { path = "../cosmic-text" }
[workspace]
members = ["cosmic-files-applet"]