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