2017-01-20 09:54:05 +01:00
|
|
|
[package]
|
|
|
|
name = "smithay"
|
2021-07-25 11:46:06 +02:00
|
|
|
version = "0.3.0"
|
2022-06-23 18:10:40 +02:00
|
|
|
authors = ["Victor Berger <victor.berger@m4x.org>", "Drakulix (Victoria Brekenfeld)"]
|
2017-03-24 10:24:07 +01:00
|
|
|
license = "MIT"
|
2017-10-01 22:57:02 +02:00
|
|
|
description = "Smithay is a library for writing wayland compositors."
|
2017-10-08 16:18:56 +02:00
|
|
|
repository = "https://github.com/Smithay/smithay"
|
2021-11-28 00:58:51 +01:00
|
|
|
edition = "2021"
|
2021-07-25 10:47:30 +02:00
|
|
|
readme = "README.md"
|
|
|
|
homepage = "https://smithay.github.io/"
|
|
|
|
keywords = ["wayland", "compositor", "graphics", "server"]
|
|
|
|
categories = ["gui"]
|
2024-02-15 15:36:47 +01:00
|
|
|
rust-version = "1.72.0"
|
2021-07-25 10:47:30 +02:00
|
|
|
|
|
|
|
[package.metadata.docs.rs]
|
|
|
|
features = ["test_all_features"]
|
2022-02-18 18:32:29 +01:00
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
2017-01-20 09:54:05 +01:00
|
|
|
|
2018-05-07 19:56:38 +02:00
|
|
|
[workspace]
|
2022-05-26 00:52:13 +02:00
|
|
|
members = [
|
2023-03-24 16:19:06 +01:00
|
|
|
"smithay-drm-extras",
|
2022-05-26 00:52:13 +02:00
|
|
|
"smallvil",
|
|
|
|
"anvil",
|
|
|
|
"wlcs_anvil"
|
|
|
|
]
|
2018-05-07 19:56:38 +02:00
|
|
|
|
2017-01-20 09:54:05 +01:00
|
|
|
[dependencies]
|
2021-06-23 09:43:53 +02:00
|
|
|
appendlist = "1.4"
|
2024-06-19 21:53:35 +02:00
|
|
|
ash = { version = "0.38.0", optional = true }
|
2023-05-15 04:54:57 +02:00
|
|
|
bitflags = "2.2.1"
|
2024-06-19 19:34:44 +02:00
|
|
|
calloop = "0.14.0"
|
2023-10-02 02:35:06 +02:00
|
|
|
cursor-icon = "1.0.0"
|
2021-04-07 00:54:29 +02:00
|
|
|
cgmath = "0.18.0"
|
2021-06-23 09:43:53 +02:00
|
|
|
downcast-rs = "1.2.0"
|
2022-08-11 13:38:19 +02:00
|
|
|
drm-fourcc = "^2.2.0"
|
2024-04-19 17:23:31 +02:00
|
|
|
drm = { version = "0.12.0", optional = true }
|
|
|
|
drm-ffi = { version = "0.8.0", optional = true }
|
2023-10-11 02:00:12 +02:00
|
|
|
errno = "0.3.5"
|
2024-04-19 17:23:31 +02:00
|
|
|
gbm = { version = "0.15.0", optional = true, default-features = false, features = ["drm-support"] }
|
2024-09-26 22:17:21 +02:00
|
|
|
glow = { version = "0.14", optional = true }
|
2024-01-19 16:33:08 +01:00
|
|
|
input = { version = "0.9.0", default-features = false, features=["libinput_1_19"], optional = true }
|
2023-09-24 10:28:32 +02:00
|
|
|
indexmap = "2.0"
|
2021-10-17 20:41:54 +02:00
|
|
|
libc = "0.2.103"
|
2024-06-26 15:20:39 +02:00
|
|
|
libseat = { version = "0.2.1", optional = true, default-features = false }
|
2023-05-15 04:54:57 +02:00
|
|
|
libloading = { version="0.8.0", optional = true }
|
2023-10-18 22:30:39 +02:00
|
|
|
rustix = { version = "0.38.18", features = ["event", "fs", "mm", "net", "shm", "time"] }
|
2021-11-23 13:46:58 +01:00
|
|
|
once_cell = "1.8.0"
|
2021-07-31 05:43:59 +02:00
|
|
|
rand = "0.8.4"
|
2022-05-12 03:36:10 +02:00
|
|
|
scopeguard = { version = "1.1.0", optional = true }
|
2023-02-22 18:41:12 +01:00
|
|
|
tracing = "0.1.37"
|
2020-07-10 13:00:23 +02:00
|
|
|
tempfile = { version = "3.0", optional = true }
|
2022-01-05 21:59:14 +01:00
|
|
|
thiserror = "1.0.25"
|
2023-05-27 01:39:40 +02:00
|
|
|
udev = { version = "0.8.0", optional = true }
|
2024-06-20 20:14:56 +02:00
|
|
|
# Require never `wayland-client`/`wayland-cursor` than winit uses to fix `-Z minimal-versions`
|
|
|
|
# due to issue in older version.
|
|
|
|
wayland-client = { version = "0.31.3", optional = true }
|
|
|
|
wayland-cursor = { version = "0.31.3", optional = true }
|
2023-09-02 18:17:18 +02:00
|
|
|
wayland-egl = { version = "0.32.0", optional = true }
|
2024-09-10 19:31:34 +02:00
|
|
|
wayland-protocols = { version = "0.32.4", features = ["unstable", "staging", "server"], optional = true }
|
2024-05-31 19:03:27 +02:00
|
|
|
wayland-protocols-wlr = { version = "0.3.1", features = ["server"], optional = true }
|
|
|
|
wayland-protocols-misc = { version = "0.3.1", features = ["server"], optional = true }
|
2023-09-02 18:17:18 +02:00
|
|
|
wayland-server = { version = "0.31.0", optional = true }
|
|
|
|
wayland-sys = { version = "0.31", optional = true }
|
2024-07-08 13:17:06 +02:00
|
|
|
wayland-backend = { version = "0.3.5", optional = true }
|
2024-06-19 19:30:34 +02:00
|
|
|
winit = { version = "0.30.0", default-features = false, features = ["wayland", "wayland-dlopen", "x11", "rwh_06"], optional = true }
|
2023-12-09 11:04:50 +01:00
|
|
|
x11rb = { version = "0.13.0", optional = true }
|
2024-06-20 06:40:14 +02:00
|
|
|
xkbcommon = { version = "0.8.0", features = ["wayland"]}
|
2023-09-27 19:58:54 +02:00
|
|
|
encoding_rs = { version = "0.8.33", optional = true }
|
2023-06-26 08:42:41 +02:00
|
|
|
profiling = "1.0"
|
2023-09-12 12:17:15 +02:00
|
|
|
smallvec = "1.11"
|
2023-11-25 20:28:50 +01:00
|
|
|
pixman = { version = "0.1.0", features = ["drm-fourcc"], optional = true }
|
|
|
|
|
2017-02-22 11:00:03 +01:00
|
|
|
|
2018-12-05 22:44:30 +01:00
|
|
|
[dev-dependencies]
|
2023-02-06 20:20:17 +01:00
|
|
|
clap = { version = "4", features = ["derive"] }
|
2023-09-24 10:28:32 +02:00
|
|
|
criterion = { version = "0.5" }
|
2024-04-19 17:23:31 +02:00
|
|
|
image = "0.25"
|
2023-02-22 18:41:12 +01:00
|
|
|
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
|
2018-12-05 22:44:30 +01:00
|
|
|
|
2017-05-18 22:28:02 +02:00
|
|
|
[build-dependencies]
|
2020-04-15 10:25:31 +02:00
|
|
|
gl_generator = { version = "0.14", optional = true }
|
2020-05-20 00:13:06 +02:00
|
|
|
pkg-config = { version = "0.3.17", optional = true }
|
2023-02-22 18:41:12 +01:00
|
|
|
cc = { version = "1.0.79", optional = true }
|
2017-05-18 22:28:02 +02:00
|
|
|
|
2017-03-07 11:53:57 +01:00
|
|
|
[features]
|
2023-10-21 23:00:36 +02:00
|
|
|
default = ["backend_drm", "backend_gbm", "backend_libinput", "backend_udev", "backend_session_libseat", "backend_x11", "backend_winit", "desktop", "renderer_gl", "renderer_pixman", "renderer_multi", "xwayland", "wayland_frontend", "backend_vulkan"]
|
2024-06-20 20:14:56 +02:00
|
|
|
backend_winit = ["winit", "backend_egl", "wayland-client", "wayland-cursor", "wayland-egl", "renderer_gl"]
|
2024-09-17 00:52:06 +02:00
|
|
|
backend_x11 = ["x11rb", "x11rb/dri3", "x11rb/xfixes", "x11rb/xinput", "x11rb/present", "x11rb_event_source", "backend_gbm", "backend_drm", "backend_egl"]
|
2021-04-09 15:17:10 +02:00
|
|
|
backend_drm = ["drm", "drm-ffi"]
|
2022-10-03 09:27:15 +02:00
|
|
|
backend_gbm = ["gbm", "cc", "pkg-config"]
|
|
|
|
backend_gbm_has_fd_for_plane = []
|
2023-02-08 17:42:14 +01:00
|
|
|
backend_gbm_has_create_with_modifiers2 = []
|
2021-08-31 02:08:17 +02:00
|
|
|
backend_egl = ["gl_generator", "libloading"]
|
2017-04-15 00:23:03 +02:00
|
|
|
backend_libinput = ["input"]
|
2017-10-01 19:21:12 +02:00
|
|
|
backend_session = []
|
2021-06-30 16:58:23 +02:00
|
|
|
backend_udev = ["udev", "input/udev"]
|
2022-05-12 03:36:10 +02:00
|
|
|
backend_vulkan = ["ash", "scopeguard"]
|
2021-07-01 23:21:30 +02:00
|
|
|
backend_session_libseat = ["backend_session", "libseat"]
|
2022-09-05 14:26:42 +02:00
|
|
|
desktop = []
|
2021-04-07 00:54:29 +02:00
|
|
|
renderer_gl = ["gl_generator", "backend_egl"]
|
2022-09-07 21:45:51 +02:00
|
|
|
renderer_glow = ["renderer_gl", "glow"]
|
2022-03-03 19:40:13 +01:00
|
|
|
renderer_multi = ["backend_drm"]
|
2023-11-25 20:28:50 +01:00
|
|
|
renderer_pixman = ["pixman"]
|
2023-10-09 19:50:59 +02:00
|
|
|
renderer_test = []
|
2023-02-14 10:55:30 +01:00
|
|
|
use_system_lib = ["wayland_frontend", "wayland-backend/server_system", "wayland-sys", "gbm?/import-wayland"]
|
2024-01-19 16:33:08 +01:00
|
|
|
use_bindgen = ["drm-ffi/use_bindgen", "gbm/use_bindgen", "input/use_bindgen"]
|
2023-02-17 05:20:52 +01:00
|
|
|
wayland_frontend = ["wayland-server", "wayland-protocols", "wayland-protocols-wlr", "wayland-protocols-misc", "tempfile"]
|
2021-10-17 09:23:45 +02:00
|
|
|
x11rb_event_source = ["x11rb"]
|
2023-09-27 19:58:54 +02:00
|
|
|
xwayland = ["encoding_rs", "wayland_frontend", "x11rb/composite", "x11rb/xfixes", "x11rb_event_source", "scopeguard"]
|
2024-01-29 13:56:35 +01:00
|
|
|
test_all_features = ["default", "use_system_lib", "renderer_glow", "renderer_test"]
|
2018-12-15 21:18:54 +01:00
|
|
|
|
2022-03-09 21:47:44 +01:00
|
|
|
[[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"]
|
2022-05-12 03:36:10 +02:00
|
|
|
|
|
|
|
[[example]]
|
|
|
|
name = "vulkan"
|
|
|
|
required-features = ["backend_vulkan"]
|
2023-02-06 20:20:17 +01:00
|
|
|
|
|
|
|
[[example]]
|
|
|
|
name = "buffer_test"
|
2023-03-30 15:31:01 +02:00
|
|
|
required-features = ["backend_drm", "backend_gbm", "backend_egl", "backend_vulkan", "renderer_gl"]
|
2023-05-18 01:00:57 +02:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "benchmark"
|
|
|
|
harness = false
|
2023-06-26 08:42:41 +02:00
|
|
|
|
2024-06-08 22:56:54 +02:00
|
|
|
[[bench]]
|
|
|
|
name = "geometry"
|
|
|
|
harness = false
|
|
|
|
|
2023-06-26 08:42:41 +02:00
|
|
|
[profile.release-with-debug]
|
|
|
|
inherits = "release"
|
2024-03-01 19:29:33 +01:00
|
|
|
debug = true
|