Cargo.toml

  1[package]
  2name = "gpui_linux"
  3version = "0.1.0"
  4edition.workspace = true
  5publish.workspace = true
  6license = "Apache-2.0"
  7
  8[lints]
  9workspace = true
 10
 11[lib]
 12path = "src/gpui_linux.rs"
 13
 14[features]
 15default = ["wayland", "x11"]
 16test-support = ["gpui/test-support"]
 17wayland = [
 18    "bitflags",
 19    "gpui_wgpu",
 20    "ashpd/wayland",
 21
 22    "calloop-wayland-source",
 23    "wayland-backend",
 24    "wayland-client",
 25    "wayland-cursor",
 26    "wayland-protocols",
 27    "wayland-protocols-plasma",
 28    "wayland-protocols-wlr",
 29    "filedescriptor",
 30    "xkbcommon",
 31    "open",
 32    "gpui/wayland",
 33]
 34x11 = [
 35    "gpui_wgpu",
 36    "ashpd",
 37
 38    "as-raw-xcb-connection",
 39    "x11rb",
 40    "xkbcommon",
 41    "xim",
 42    "x11-clipboard",
 43    "filedescriptor",
 44    "open",
 45    "scap?/x11",
 46]
 47screen-capture = [
 48    "gpui/screen-capture",
 49    "scap",
 50]
 51
 52
 53[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies]
 54anyhow.workspace = true
 55bytemuck = "1"
 56collections.workspace = true
 57futures.workspace = true
 58gpui.workspace = true
 59gpui_wgpu = { workspace = true, optional = true, features = ["font-kit"] }
 60http_client.workspace = true
 61itertools.workspace = true
 62libc.workspace = true
 63log.workspace = true
 64parking_lot.workspace = true
 65pathfinder_geometry = "0.5"
 66pollster.workspace = true
 67profiling.workspace = true
 68smallvec.workspace = true
 69smol.workspace = true
 70strum.workspace = true
 71url.workspace = true
 72util.workspace = true
 73uuid.workspace = true
 74
 75# Always used
 76oo7 = { version = "0.6", default-features = false, features = [
 77    "async-std",
 78    "native_crypto",
 79] }
 80calloop = "0.14.3"
 81raw-window-handle = "0.6"
 82
 83# Used in both windowing options
 84ashpd = { workspace = true, optional = true }
 85swash = { version = "0.2.6" }
 86bitflags = { workspace = true, optional = true }
 87filedescriptor = { version = "0.8.2", optional = true }
 88open = { version = "5.2.0", optional = true }
 89xkbcommon = { version = "0.8.0", features = ["wayland", "x11"], optional = true }
 90
 91# Screen capture
 92scap = { workspace = true, optional = true }
 93
 94# Wayland
 95calloop-wayland-source = { version = "0.4.1", optional = true }
 96wayland-backend = { version = "0.3.3", features = [
 97    "client_system",
 98    "dlopen",
 99], optional = true }
100wayland-client = { version = "0.31.11", optional = true }
101wayland-cursor = { version = "0.31.11", optional = true }
102wayland-protocols = { version = "0.32.9", features = [
103    "client",
104    "staging",
105    "unstable",
106], optional = true }
107wayland-protocols-plasma = { version = "0.3.9", features = [
108    "client",
109], optional = true }
110wayland-protocols-wlr = { version = "0.3.9", features = [
111    "client",
112], optional = true }
113
114# X11
115as-raw-xcb-connection = { version = "1", optional = true }
116x11rb = { version = "0.13.1", features = [
117    "allow-unsafe-code",
118    "xkb",
119    "randr",
120    "xinput",
121    "cursor",
122    "resource_manager",
123    "sync",
124], optional = true }
125# WARNING: If you change this, you must also publish a new version of zed-xim to crates.io
126xim = { git = "https://github.com/zed-industries/xim-rs.git", rev = "16f35a2c881b815a2b6cdfd6687988e84f8447d8", features = [
127    "x11rb-xcb",
128    "x11rb-client",
129], package = "zed-xim", version = "0.4.0-zed", optional = true }
130x11-clipboard = { version = "0.9.3", optional = true }