cosmic-files/Cargo.toml

158 lines
3.9 KiB
TOML
Raw Normal View History

2024-01-03 15:27:32 -07:00
[package]
name = "cosmic-files"
version = "1.0.13"
authors = ["Jeremy Soller <jeremy@system76.com>"]
2025-09-03 23:24:38 +02:00
edition = "2024"
license = "GPL-3.0-only"
2026-04-28 14:42:39 +02:00
rust-version = "1.93"
2024-01-03 15:27:32 -07:00
[dependencies]
anyhow = "1"
jiff = "0.2"
jiff-icu = "0.2"
2026-04-28 14:42:39 +02:00
icu = { version = "2.2.0", features = ["compiled_data"] }
2026-05-25 18:10:22 +02:00
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 }
2025-02-19 17:55:33 +01:00
dirs = "6.0.0"
gio = { version = "0.21", optional = true }
glib = { version = "0.21", optional = true }
2024-07-03 12:24:35 -06:00
glob = "0.3"
2024-08-26 13:24:13 -06:00
ignore = "0.4"
2024-11-11 09:14:03 -07:00
image = "0.25"
2024-03-04 10:28:16 -07:00
libc = "0.2"
2024-01-03 15:27:32 -07:00
log = "0.4"
2024-02-22 15:04:37 -07:00
mime_guess = "2"
2026-01-24 16:49:12 +01:00
notify-debouncer-full = "0.7"
notify-rust = { version = "4", optional = true }
2026-04-28 14:42:39 +02:00
open = "5.3.4"
paste = "1.0"
2024-05-31 14:54:19 -06:00
regex = "1"
rustc-hash = "2.1"
2024-05-17 08:56:19 -06:00
serde = { version = "1", features = ["serde_derive"] }
2024-03-04 10:28:16 -07:00
shlex = { version = "1.3" }
tempfile = "3"
tikv-jemallocator = { version = "0.6", optional = true }
2024-11-11 11:18:15 -07:00
tokio = { version = "1", features = ["process", "sync"] }
2024-09-18 08:31:30 -06:00
trash = { git = "https://github.com/jackpot51/trash-rs.git", branch = "cosmic" }
2024-08-26 13:24:13 -06:00
url = "2.5"
walkdir = "2.5.0"
2026-04-28 14:42:39 +02:00
wayland-client = { version = "0.31.14", optional = true }
xdg = { version = "3.0", optional = true }
2025-09-11 18:16:09 -04:00
xdg-mime = { git = "https://github.com/ebassi/xdg-mime-rs" }
# Compression
2026-01-28 20:05:51 -05:00
bzip2 = { version = "0.6", optional = true } #TODO: replace with pure Rust crate
flate2 = "1.1"
2026-04-28 14:42:39 +02:00
tar = "0.4.45"
lzma-rust2 = { version = "0.16", optional = true }
2026-04-28 14:42:39 +02:00
ordermap = { version = "1.2.0", features = ["serde"] }
2024-01-03 15:27:32 -07:00
# Internationalization
i18n-embed = { version = "0.16", features = [
2024-01-24 09:30:06 -05:00
"fluent-system",
"desktop-requester",
] }
i18n-embed-fl = "0.10"
2024-01-24 09:30:06 -05:00
rust-embed = "8"
2026-01-24 16:49:12 +01:00
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"
2026-04-10 05:48:58 +02:00
tracing = "0.1.44"
2026-04-28 14:42:39 +02:00
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"
2025-05-05 09:07:33 -06:00
# Completion-based IO runtime to enable io_uring / IOCP file IO support.
[dependencies.compio]
2026-01-29 15:14:49 -05:00
version = "0.18"
2025-05-05 09:07:33 -06:00
default-features = false
2026-01-14 11:16:30 -07:00
features = ["fs", "io", "macros", "polling", "runtime"]
2025-05-05 09:07:33 -06:00
yoda: cosmic-files customizations (squashed 21 commits) This commit squashes the 21 local commits that customize cosmic-files for the yoda stack, to allow a clean rebase on upstream/master. Original commits (chronological): - 9bcfe7a Cargo.toml: patch libcosmic via local path for dev builds - 04abd13 yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic - 02adcc3 lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2 - a025fd6 yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback - e8d62ae yoda: add "Always use this app" toggle to OpenWith dialog - 8fb2b15 yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks - 0595296 yoda: Dolphin-style quick actions toolbar under the headerbar - 4b6d345 yoda: fix missing rename icon in toolbar - 8b51af1 yoda: use pencil-symbolic for the Rename toolbar button - 33a5c8f yoda: phase 2 - customizable toolbar (settings toggles per button) - 1cf17dc yoda: phase 3 - drag-drop toolbar editor in Settings - 11d4357 yoda: add up/down buttons next to drag handle in toolbar editor - af843d2 yoda: direct drag-drop reorder on the toolbar itself - 94c3e6c yoda: toolbar as segmented_button for working drag reorder - f053819 yoda: toolbar icon-only + clean visual (Control style, 32px squares) - 338354c Improve initial directory listing latency - d080bc8 Resolve cosmic-files warnings without masking - 69c35ab yoda: switch window_clipboard patch to public Forgejo fork - 35e115f yoda: switch cosmic-text patch to public Forgejo fork - 6f3adcd chore: clean feature-gated warnings - 57ab1ec fix: clean files warnings for terminal build Original tip preserved as tag backup/pre-rebase-upstream-20260524.
2026-05-24 21:16:14 +02:00
# Yoda fork — depend on libcosmic-yoda directly by path (no git/no patch).
[dependencies.libcosmic-yoda]
path = "../libcosmic"
2024-01-03 15:27:32 -07:00
default-features = false
#TODO: a11y feature crashes
2026-01-28 20:05:51 -05:00
features = [
"about",
2026-04-03 19:29:48 -04:00
"advanced-shaping",
2026-01-28 20:05:51 -05:00
"autosize",
"multi-window",
"tokio",
yoda: cosmic-files customizations (squashed 21 commits) This commit squashes the 21 local commits that customize cosmic-files for the yoda stack, to allow a clean rebase on upstream/master. Original commits (chronological): - 9bcfe7a Cargo.toml: patch libcosmic via local path for dev builds - 04abd13 yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic - 02adcc3 lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2 - a025fd6 yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback - e8d62ae yoda: add "Always use this app" toggle to OpenWith dialog - 8fb2b15 yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks - 0595296 yoda: Dolphin-style quick actions toolbar under the headerbar - 4b6d345 yoda: fix missing rename icon in toolbar - 8b51af1 yoda: use pencil-symbolic for the Rename toolbar button - 33a5c8f yoda: phase 2 - customizable toolbar (settings toggles per button) - 1cf17dc yoda: phase 3 - drag-drop toolbar editor in Settings - 11d4357 yoda: add up/down buttons next to drag handle in toolbar editor - af843d2 yoda: direct drag-drop reorder on the toolbar itself - 94c3e6c yoda: toolbar as segmented_button for working drag reorder - f053819 yoda: toolbar icon-only + clean visual (Control style, 32px squares) - 338354c Improve initial directory listing latency - d080bc8 Resolve cosmic-files warnings without masking - 69c35ab yoda: switch window_clipboard patch to public Forgejo fork - 35e115f yoda: switch cosmic-text patch to public Forgejo fork - 6f3adcd chore: clean feature-gated warnings - 57ab1ec fix: clean files warnings for terminal build Original tip preserved as tag backup/pre-rebase-upstream-20260524.
2026-05-24 21:16:14 +02:00
"wayland",
2026-01-28 20:05:51 -05:00
"surface-message",
]
2024-01-03 15:27:32 -07:00
2025-11-20 08:39:26 -07:00
[[example]]
name = "gio-list"
required-features = ["gvfs"]
[[example]]
name = "gio-mount"
required-features = ["gvfs"]
[[example]]
name = "gvfs"
required-features = ["gvfs"]
2024-01-03 15:27:32 -07:00
[features]
2025-03-15 11:59:03 -04:00
default = [
"bzip2",
"dbus-config",
2025-03-15 11:59:03 -04:00
"desktop",
"gvfs",
"io-uring",
"lzma-rust2",
2025-03-15 11:59:03 -04:00
"notify",
2025-06-18 11:22:48 -04:00
"wayland",
2026-03-13 16:04:17 -04:00
"wgpu",
2025-03-15 11:59:03 -04:00
]
yoda: cosmic-files customizations (squashed 21 commits) This commit squashes the 21 local commits that customize cosmic-files for the yoda stack, to allow a clean rebase on upstream/master. Original commits (chronological): - 9bcfe7a Cargo.toml: patch libcosmic via local path for dev builds - 04abd13 yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic - 02adcc3 lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2 - a025fd6 yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback - e8d62ae yoda: add "Always use this app" toggle to OpenWith dialog - 8fb2b15 yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks - 0595296 yoda: Dolphin-style quick actions toolbar under the headerbar - 4b6d345 yoda: fix missing rename icon in toolbar - 8b51af1 yoda: use pencil-symbolic for the Rename toolbar button - 33a5c8f yoda: phase 2 - customizable toolbar (settings toggles per button) - 1cf17dc yoda: phase 3 - drag-drop toolbar editor in Settings - 11d4357 yoda: add up/down buttons next to drag handle in toolbar editor - af843d2 yoda: direct drag-drop reorder on the toolbar itself - 94c3e6c yoda: toolbar as segmented_button for working drag reorder - f053819 yoda: toolbar icon-only + clean visual (Control style, 32px squares) - 338354c Improve initial directory listing latency - d080bc8 Resolve cosmic-files warnings without masking - 69c35ab yoda: switch window_clipboard patch to public Forgejo fork - 35e115f yoda: switch cosmic-text patch to public Forgejo fork - 6f3adcd chore: clean feature-gated warnings - 57ab1ec fix: clean files warnings for terminal build Original tip preserved as tag backup/pre-rebase-upstream-20260524.
2026-05-24 21:16:14 +02:00
dbus-config = ["libcosmic-yoda/dbus-config"]
desktop = ["libcosmic-yoda/desktop", "dep:cosmic-mime-apps", "dep:xdg"]
2025-06-18 14:12:00 -04:00
desktop-applet = []
gvfs = ["dep:gio", "dep:glib"]
2026-01-29 15:14:49 -05:00
io-uring = ["compio/io-uring"]
jemalloc = ["dep:tikv-jemallocator"]
notify = ["dep:notify-rust"]
yoda: cosmic-files customizations (squashed 21 commits) This commit squashes the 21 local commits that customize cosmic-files for the yoda stack, to allow a clean rebase on upstream/master. Original commits (chronological): - 9bcfe7a Cargo.toml: patch libcosmic via local path for dev builds - 04abd13 yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic - 02adcc3 lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2 - a025fd6 yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback - e8d62ae yoda: add "Always use this app" toggle to OpenWith dialog - 8fb2b15 yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks - 0595296 yoda: Dolphin-style quick actions toolbar under the headerbar - 4b6d345 yoda: fix missing rename icon in toolbar - 8b51af1 yoda: use pencil-symbolic for the Rename toolbar button - 33a5c8f yoda: phase 2 - customizable toolbar (settings toggles per button) - 1cf17dc yoda: phase 3 - drag-drop toolbar editor in Settings - 11d4357 yoda: add up/down buttons next to drag handle in toolbar editor - af843d2 yoda: direct drag-drop reorder on the toolbar itself - 94c3e6c yoda: toolbar as segmented_button for working drag reorder - f053819 yoda: toolbar icon-only + clean visual (Control style, 32px squares) - 338354c Improve initial directory listing latency - d080bc8 Resolve cosmic-files warnings without masking - 69c35ab yoda: switch window_clipboard patch to public Forgejo fork - 35e115f yoda: switch cosmic-text patch to public Forgejo fork - 6f3adcd chore: clean feature-gated warnings - 57ab1ec fix: clean files warnings for terminal build Original tip preserved as tag backup/pre-rebase-upstream-20260524.
2026-05-24 21:16:14 +02:00
wayland = ["libcosmic-yoda/wayland", "dep:cctk", "dep:wayland-client"]
wgpu = ["libcosmic-yoda/wgpu"]
2024-01-03 15:27:32 -07:00
[profile.dev]
opt-level = 1
2024-01-03 15:27:32 -07:00
[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: cosmic-files customizations (squashed 21 commits) This commit squashes the 21 local commits that customize cosmic-files for the yoda stack, to allow a clean rebase on upstream/master. Original commits (chronological): - 9bcfe7a Cargo.toml: patch libcosmic via local path for dev builds - 04abd13 yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic - 02adcc3 lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2 - a025fd6 yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback - e8d62ae yoda: add "Always use this app" toggle to OpenWith dialog - 8fb2b15 yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks - 0595296 yoda: Dolphin-style quick actions toolbar under the headerbar - 4b6d345 yoda: fix missing rename icon in toolbar - 8b51af1 yoda: use pencil-symbolic for the Rename toolbar button - 33a5c8f yoda: phase 2 - customizable toolbar (settings toggles per button) - 1cf17dc yoda: phase 3 - drag-drop toolbar editor in Settings - 11d4357 yoda: add up/down buttons next to drag handle in toolbar editor - af843d2 yoda: direct drag-drop reorder on the toolbar itself - 94c3e6c yoda: toolbar as segmented_button for working drag reorder - f053819 yoda: toolbar icon-only + clean visual (Control style, 32px squares) - 338354c Improve initial directory listing latency - d080bc8 Resolve cosmic-files warnings without masking - 69c35ab yoda: switch window_clipboard patch to public Forgejo fork - 35e115f yoda: switch cosmic-text patch to public Forgejo fork - 6f3adcd chore: clean feature-gated warnings - 57ab1ec fix: clean files warnings for terminal build Original tip preserved as tag backup/pre-rebase-upstream-20260524.
2026-05-24 21:16:14 +02:00
# 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']
2026-05-25 11:34:38 +02:00
cosmic-text = { path = "../cosmic-text" }
2024-08-20 13:26:10 -06:00
[workspace]
members = ["cosmic-files-applet"]