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