libcosmic-yoda/Cargo.toml
2025-04-24 17:26:33 +02:00

220 lines
5.5 KiB
TOML

[package]
name = "libcosmic"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
[lib]
name = "cosmic"
[features]
default = ["multi-window", "a11y"]
# Accessibility support
a11y = ["iced/a11y", "iced_accessibility"]
# Enable about widget
about = ["desktop", "dep:license"]
# Builds support for animated images
animated-image = ["dep:async-fs", "image/gif", "tokio?/io-util", "tokio?/fs"]
# XXX autosize should not be used on winit windows unless dialogs
autosize = []
applet = [
"autosize",
"winit",
"wayland",
"tokio",
"cosmic-panel-config",
"ron",
"multi-window",
]
applet-token = ["applet"]
# Use the cosmic-settings-daemon for config handling
dbus-config = ["cosmic-config/dbus", "dep:zbus", "cosmic-settings-daemon"]
# Debug features
debug = ["iced/debug"]
# Enables pipewire support in ashpd, if ashpd is enabled
pipewire = ["ashpd?/pipewire"]
# Enables process spawning helper
process = ["dep:libc", "dep:rustix"]
# Use rfd for file dialogs
rfd = ["dep:rfd"]
# Enables desktop files helpers
desktop = [
"process",
"dep:freedesktop-desktop-entry",
"dep:mime",
"dep:shlex",
"tokio?/io-util",
"tokio?/net",
]
# Enables launching desktop files inside systemd scopes
desktop-systemd-scope = ["desktop", "dep:zbus"]
# Enables keycode serialization
serde-keycode = ["iced_core/serde"]
# Prevents multiple separate process instances.
single-instance = ["dep:zbus", "ron"]
# smol async runtime
smol = ["dep:smol", "iced/smol", "zbus?/async-io", "rfd?/async-std"]
tokio = [
"dep:tokio",
"ashpd?/tokio",
"iced/tokio",
"rfd?/tokio",
"zbus?/tokio",
"cosmic-config/tokio",
]
# Tokio async runtime
# Wayland window support
wayland = [
"ashpd?/wayland",
"autosize",
"iced_runtime/wayland",
"iced/wayland",
"iced_winit/wayland",
"cctk",
"surface-message",
]
surface-message = []
# multi-window support
multi-window = ["iced/multi-window"]
# Render with wgpu
wgpu = ["iced/wgpu", "iced_wgpu"]
# X11 window support via winit
winit = ["iced/winit", "iced_winit"]
winit_debug = ["winit", "debug"]
winit_tokio = ["winit", "tokio"]
winit_wgpu = ["winit", "wgpu"]
# Enables XDG portal integrations
xdg-portal = ["ashpd"]
qr_code = ["iced/qr_code"]
markdown = ["iced/markdown"]
highlighter = ["iced/highlighter"]
async-std = [
"dep:async-std",
"ashpd/async-std",
"rfd?/async-std",
"zbus?/async-io",
"iced/async-std",
]
[dependencies]
apply = "0.3.0"
ashpd = { version = "0.9.2", default-features = false, optional = true }
async-fs = { version = "2.1", optional = true }
async-std = { version = "1.13", optional = true }
auto_enums = "0.8.7"
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "178eb0b", optional = true }
chrono = "0.4.40"
cosmic-config = { path = "cosmic-config" }
cosmic-settings-daemon = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true }
css-color = "0.2.8"
derive_setters = "0.1.6"
futures = "0.3"
image = { version = "0.25.5", default-features = false, features = [
"jpeg",
"png",
] }
lazy_static = "1.5.0"
libc = { version = "0.2.171", optional = true }
license = { version = "3.6.0", optional = true }
mime = { version = "0.3.17", optional = true }
palette = "0.7.6"
rfd = { version = "0.14.1", default-features = false, features = [
"xdg-portal",
], optional = true }
rustix = { version = "1.0", features = ["pipe", "process"], optional = true }
serde = { version = "1.0.219", features = ["derive"] }
slotmap = "1.0.7"
smol = { version = "2.0.2", optional = true }
thiserror = "2.0.12"
tokio = { version = "1.44.1", optional = true }
tracing = "0.1.41"
unicode-segmentation = "1.12"
url = "2.5.4"
zbus = { version = "4.4.0", default-features = false, optional = true }
[target.'cfg(unix)'.dependencies]
freedesktop-icons = { package = "cosmic-freedesktop-icons", git = "https://github.com/pop-os/freedesktop-icons" }
freedesktop-desktop-entry = { version = "0.7.10", optional = true }
shlex = { version = "1.3.0", optional = true }
[dependencies.cosmic-theme]
path = "cosmic-theme"
[dependencies.iced]
path = "./iced"
default-features = false
features = [
"advanced",
"image-without-codecs",
"lazy",
"svg",
"web-colors",
"tiny-skia",
]
[dependencies.iced_runtime]
path = "./iced/runtime"
[dependencies.iced_renderer]
path = "./iced/renderer"
[dependencies.iced_core]
path = "./iced/core"
features = ["serde"]
[dependencies.iced_widget]
path = "./iced/widget"
features = ["canvas"]
[dependencies.iced_futures]
path = "./iced/futures"
[dependencies.iced_accessibility]
path = "./iced/accessibility"
optional = true
[dependencies.iced_tiny_skia]
path = "./iced/tiny_skia"
[dependencies.iced_winit]
path = "./iced/winit"
optional = true
[dependencies.iced_wgpu]
path = "./iced/wgpu"
optional = true
[dependencies.cosmic-panel-config]
git = "https://github.com/pop-os/cosmic-panel"
optional = true
[dependencies.ron]
version = "0.9"
optional = true
[dependencies.taffy]
git = "https://github.com/DioxusLabs/taffy"
rev = "7781c70"
features = ["grid"]
[workspace]
members = [
"cosmic-config",
"cosmic-config-derive",
"cosmic-theme",
"examples/*",
]
exclude = ["iced"]
[workspace.dependencies]
dirs = "6.0.0"
[patch."https://github.com/pop-os/libcosmic"]
libcosmic = { path = "./" }
# FIXME update winit deps where necessary to use this
# [patch.crates-io]
[patch."https://github.com/pop-os/winit.git"]
# winit = { git = "https://github.com/rust-windowing/winit.git", rev = "241b7a80bba96c91fa3901729cd5dec66abb9be4" }
# winit = { path = "../../winit" }