srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/crates/platform/Cargo.toml
blob: bc7ab77e360c65bc6d791beaf479e1de0aaf7986 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[package]
name = "srdwm-platform"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Platform abstraction trait shared by all srdwm backends"

[dependencies]
srdwm-core.workspace = true
log.workspace = true
thiserror.workspace = true
serde.workspace = true
serde_json.workspace = true
# `appmenu_registrar.rs`: owns `com.canonical.AppMenu.Registrar`, the
# classic Qt/`appmenu-qt5` global-menu D-Bus service every X11-capable
# backend needs - see that module's doc comment for why it lives here
# rather than in one specific backend crate. Default features (`async-io` +
# `blocking-api`) are already the lightest option zbus has - `async-io` is
# a small reactor, not a full runtime like tokio (which this compositor has
# no other reason to depend on) - and `blocking-api` is what lets that
# module drive it from a plain background thread with no `async`/`await`
# of its own.
zbus = "5"

# `native_lock_auth.rs`: PAM authentication for srdwm's own session-lock UI
# (`crates/wayland/src/native_lock.rs`) - Unix-only (PAM itself is a
# Linux/BSD concept with no Windows/macOS equivalent, and this whole crate
# is also linked into the Windows/macOS backend crates), so gated the same
# way `crates/ctl`'s socket code already is rather than pulling libpam into
# builds that will never call this. `default-features = false`: the `cli`
# feature (and its `rpassword` dependency) is for reading a password
# interactively off a terminal, which nothing here needs - the password
# already comes from srdwm's own lock UI, not a TTY prompt.
[target.'cfg(unix)'.dependencies]
pam-client = { version = "0.5", default-features = false }

[dev-dependencies]
tempfile = "3"