WEFT_OS/crates/weft-compositor/Cargo.toml
Marco Allegretti feb69be199 feat(compositor): add weft-compositor crate
- Implement WeftCompositorState with all Wayland protocol globals:
 compositor, xdg-shell, layer-shell, shm, dmabuf, output, presentation,
 text-input, input-method, pointer-constraints, cursor-shape, seat.
- Implement process_input_event covering keyboard, pointer (relative +
 absolute), axis, touch, and all gesture types (swipe, pinch, hold).
- Implement Winit backend with damage-tracked rendering loop and frame
 callbacks.
- Add DRM/KMS backend skeleton: libseat session, udev device discovery,
 calloop integration (rendering path deferred).
- Add infra/systemd/weft-compositor.service (Type=notify).
- Split CI into cross-platform and linux-only jobs.
- Exclude weft-compositor from Windows check scripts.
2026-03-10 20:56:35 +01:00

41 lines
1.1 KiB
TOML

[package]
name = "weft-compositor"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
publish = false
[lints]
workspace = true
[[bin]]
name = "weft-compositor"
path = "src/main.rs"
# Features available on all build platforms.
[dependencies]
smithay = { version = "0.7", default-features = false, features = [
"backend_egl",
"backend_winit",
"renderer_gl",
"wayland_frontend",
"desktop",
] }
calloop = { version = "0.14", features = ["executor"] }
calloop-wayland-source = "0.4"
wayland-server = "0.31"
wayland-protocols = { version = "0.32", features = ["server", "unstable"] }
wayland-protocols-wlr = { version = "0.3", features = ["server"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
anyhow = "1"
# DRM/KMS and hardware input depend on Linux kernel interfaces; compile only on Linux.
[target.'cfg(target_os = "linux")'.dependencies]
smithay = { version = "0.7", default-features = false, features = [
"backend_drm",
"backend_gbm",
"backend_libinput",
"backend_udev",
"backend_session_libseat",
] }