cosmic-comp/Cargo.toml
Anthony T. Lannutti 821b431973 feat: separate logind feature from systemd
Move logind-zbus to a dedicated 'logind' feature that is independent
of the 'systemd' feature. This allows non-systemd users (e.g., OpenRC
with elogind) to access lid switch inhibition and lid status detection
without requiring the full systemd stack.

The 'systemd' feature now depends on 'logind' to maintain backward
compatibility, so existing users are unaffected.

Feature configuration:
- default: ["systemd"]
- logind: ["logind-zbus"]
- systemd: ["libsystemd", "logind", "tracing-journald"]

Resolves #2473

Coding-Agent: OpenCode
Model: claude-sonnet-4-5
2026-06-16 14:41:51 -06:00

146 lines
3.9 KiB
TOML

[package]
authors = ["Victoria Brekenfeld"]
edition = "2024"
license = "GPL-3.0-only"
name = "cosmic-comp"
version = "1.0.0"
rust-version = "1.90"
[workspace]
members = ["cosmic-comp-config"]
[dependencies]
anyhow = { version = "1.0.102", features = ["backtrace"] }
bitflags = "2.11.0"
calloop = { version = "0.14.4", features = ["executor", "stream"] }
cosmic-comp-config = { path = "cosmic-comp-config", features = [
"libdisplay-info",
"output",
] }
cosmic-config = { git = "https://github.com/pop-os/libcosmic", features = [
"calloop",
"macro",
] }
cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols", rev = "160b086", default-features = false, features = [
"server",
] }
cosmic-settings-config = { git = "https://github.com/pop-os/cosmic-settings-daemon" }
cosmic-settings-daemon-config = { git = "https://github.com/pop-os/cosmic-settings-daemon", features = [
"greeter",
] }
cosmic-text = { git = "https://github.com/pop-os/cosmic-text.git", features = [
"shape-run-cache",
] }
libdisplay-info = "0.3.0"
egui = { version = "0.31.1", optional = true }
egui_plot = { version = "0.31.0", optional = true }
i18n-embed = { version = "0.16", features = [
"fluent-system",
"desktop-requester",
] }
i18n-embed-fl = "0.10"
iced_tiny_skia = { git = "https://github.com/pop-os/libcosmic" }
indexmap = "2.13"
keyframe = "1.1.1"
libcosmic = { git = "https://github.com/pop-os/libcosmic", default-features = false }
libsystemd = { version = "0.7", optional = true }
log-panics = { version = "2", features = ["with-backtrace"] }
ordered-float = "5.1"
png = "0.18"
regex = "1"
ron = "0.12"
rust-embed = { version = "8.11", features = ["debug-embed"] }
sanitize-filename = "0.6.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2.0.18"
jiff = "0.2"
tiny-skia = "0.11"
tracing = { version = "0.1.44", features = [
"max_level_debug",
"release_max_level_info",
] }
tracing-journald = "0.3.2"
tracing-subscriber = { version = "0.3.22", features = [
"env-filter",
"tracing-log",
] }
tracy-client = { version = "0.18.4", default-features = false }
wayland-backend = "0.3.12"
wayland-scanner = "0.31.8"
xcursor = "0.3.10"
xdg = "^3.0"
xdg-user = "0.2.1"
xkbcommon = "0.9"
zbus = "5.14.0"
profiling = { version = "1.0" }
rustix = { version = "1.1.4", features = ["process"] }
rand = "0.10"
# CLI arguments
clap_lex = "1.0"
parking_lot = "0.12.5"
logind-zbus = { version = "5.3.2", optional = true }
futures-executor = { version = "0.3.32" }
futures-util = "0.3.32"
cgmath = "0.18.0"
[dependencies.id_tree]
branch = "feature/copy_clone"
git = "https://github.com/Drakulix/id-tree.git"
[dependencies.smithay]
version = "0.7.0"
default-features = false
features = [
"backend_drm",
"backend_gbm",
"backend_egl",
"backend_libinput",
"backend_session_libseat",
"backend_udev",
"backend_winit",
"backend_vulkan",
"backend_x11",
"desktop",
"renderer_glow",
"renderer_multi",
"renderer_pixman",
"wayland_frontend",
"xwayland",
]
[dependencies.smithay-egui]
version = "0.2.0"
features = ["svg"]
optional = true
[features]
debug = ["egui", "egui_plot", "smithay-egui", "anyhow/backtrace"]
default = ["systemd"]
logind = ["logind-zbus"]
systemd = ["libsystemd", "logind"]
profile-with-tracy = ["profiling/profile-with-tracy", "tracy-client/default"]
profile-with-tracy-gpu = ["profile-with-tracy", "smithay/tracy_gpu_profiling"]
[profile.dev.package.tiny-skia]
opt-level = 2
[profile.dev.package.rustybuzz]
opt-level = 2
[profile.dev.package.ttf-parser]
opt-level = 2
[profile.fastdebug]
debug = true
inherits = "release"
[profile.release]
lto = "fat"
[patch."https://github.com/pop-os/cosmic-protocols"]
cosmic-protocols = { git = "https://github.com/pop-os//cosmic-protocols", branch = "main" }
cosmic-client-toolkit = { git = "https://github.com/pop-os//cosmic-protocols", branch = "main" }
[patch.crates-io]
smithay = { git = "https://github.com/smithay/smithay.git", rev = "85f83ab" }