[package] name = "smithay" version = "0.3.0" authors = ["Victor Berger ", "Drakulix (Victoria Brekenfeld)"] license = "MIT" description = "Smithay is a library for writing wayland compositors." repository = "https://github.com/Smithay/smithay" edition = "2021" readme = "README.md" homepage = "https://smithay.github.io/" keywords = ["wayland", "compositor", "graphics", "server"] categories = ["gui"] [package.metadata.docs.rs] features = ["test_all_features"] rustdoc-args = ["--cfg", "docsrs"] [workspace] members = [ "smallvil", "anvil", "wlcs_anvil" ] [dependencies] appendlist = "1.4" # Intentionally pick a commit from "0.37-stable" branch since additions for 0.37.1 are used ash = { git = "https://github.com/ash-rs/ash", rev = "62960ad680207e8496ae19ebd11f7c7ae8422e27", optional = true } bitflags = "1" calloop = "0.10.1" cgmath = "0.18.0" dbus = { version = "0.9.4", optional = true } downcast-rs = "1.2.0" drm-fourcc = "^2.2.0" drm = { version = "0.7.0", optional = true } drm-ffi = { version = "0.3.0", optional = true } gbm = { version = "0.9.0", optional = true, default-features = false, features = ["drm-support"] } glow = { version = "0.11.2", optional = true } input = { version = "0.7", default-features = false, features=["libinput_1_14"], optional = true } indexmap = "1.7" lazy_static = "1" libc = "0.2.103" libseat= { version = "0.1.1", optional = true } libloading = { version="0.7.0", optional = true } nix = "0.24.1" once_cell = "1.8.0" rand = "0.8.4" scopeguard = { version = "1.1.0", optional = true } slog = "2" slog-stdlog = { version = "4", optional = true } tempfile = { version = "3.0", optional = true } thiserror = "1.0.25" udev = { version = "0.6", optional = true } wayland-egl = { version = "=0.30.0-beta.13", optional = true } wayland-protocols = { version = "=0.30.0-beta.13", features = ["unstable", "staging", "server"], optional = true } wayland-protocols-wlr = { version = "=0.1.0-beta.13", features = ["server"]} wayland-protocols-misc = { version = "=0.1.0-beta.13", features = ["server"]} wayland-server = { version = "=0.30.0-beta.13", optional = true } wayland-sys = { version = "=0.30.0-beta.13", optional = true } wayland-backend = { version = "=0.1.0-beta.13", optional = true } winit = { version = "0.27.1", default-features = false, features = ["wayland", "wayland-dlopen", "x11"], optional = true } x11rb = { version = "0.10.0", optional = true } xkbcommon = { version = "0.5.0", features = ["wayland"]} scan_fmt = { version = "0.2.3", default-features = false } io-lifetimes = "=1.0.0-rc1" [dev-dependencies] slog-term = "2.3" [build-dependencies] gl_generator = { version = "0.14", optional = true } pkg-config = { version = "0.3.17", optional = true } cc = { version = "1.0", optional = true } [features] default = ["backend_drm", "backend_gbm", "backend_libinput", "backend_udev", "backend_session_logind", "backend_x11", "backend_winit", "desktop", "renderer_gl", "renderer_multi", "xwayland", "wayland_frontend", "slog-stdlog", "backend_vulkan"] backend_winit = ["winit", "backend_egl", "wayland-egl", "renderer_gl"] backend_x11 = ["x11rb", "x11rb/dri3", "x11rb/xfixes", "x11rb/present", "x11rb_event_source", "backend_gbm", "backend_drm", "backend_egl"] backend_drm = ["drm", "drm-ffi"] backend_gbm = ["gbm", "cc", "pkg-config"] backend_gbm_has_fd_for_plane = [] backend_egl = ["gl_generator", "libloading"] backend_libinput = ["input"] backend_session = [] backend_udev = ["udev", "input/udev"] backend_vulkan = ["ash", "scopeguard"] backend_session_logind = ["dbus", "backend_session", "pkg-config"] backend_session_elogind = ["backend_session_logind"] backend_session_libseat = ["backend_session", "libseat"] desktop = [] renderer_gl = ["gl_generator", "backend_egl"] renderer_glow = ["renderer_gl", "glow"] renderer_multi = ["backend_drm"] use_system_lib = ["wayland_frontend", "wayland-backend/server_system", "wayland-sys"] wayland_frontend = ["wayland-server", "wayland-protocols", "tempfile"] x11rb_event_source = ["x11rb"] xwayland = ["wayland_frontend"] test_all_features = ["default", "renderer_glow"] [[example]] name = "minimal" required-features = ["backend_winit", "renderer_gl", "wayland_frontend"] [[example]] name = "seat" required-features = ["wayland_frontend"] [[example]] name = "compositor" required-features = ["wayland_frontend"] [[example]] name = "vulkan" required-features = ["backend_vulkan"]