From afc13dc8e054705a42e2931b0840ed03ccfa583a Mon Sep 17 00:00:00 2001 From: xhe Date: Tue, 14 Jul 2026 20:47:50 +0800 Subject: [PATCH] gpui_linux: split xkbcommon wayland/x11 features (#60834) # Objective When xkbcommon compiled with either wayland or x11 only, the current manifests will prevent it from compiling, despite gpui is already wayland/x11 seperated. close #60943 ## Solution Simple changes to manifests. ## Testing ``` cargo tree -p gpui_platform --no-default-features --features {wayland,x11} -e features -i xkbcommon ``` ## Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [ ] The content adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [x] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable Release Notes: - N/A Co-authored-by: Kirill Bulatov --- crates/gpui_linux/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/gpui_linux/Cargo.toml b/crates/gpui_linux/Cargo.toml index 262da8d4dff..3fcaa995d3d 100644 --- a/crates/gpui_linux/Cargo.toml +++ b/crates/gpui_linux/Cargo.toml @@ -27,7 +27,7 @@ wayland = [ "wayland-protocols-plasma", "wayland-protocols-wlr", "filedescriptor", - "xkbcommon", + "xkbcommon/wayland", "open", "gpui/wayland", ] @@ -37,7 +37,7 @@ x11 = [ "as-raw-xcb-connection", "x11rb", - "xkbcommon", + "xkbcommon/x11", "xim", "x11-clipboard", "filedescriptor", @@ -89,7 +89,7 @@ swash = { version = "0.2.6" } bitflags = { workspace = true, optional = true } filedescriptor = { version = "0.8.2", optional = true } open = { version = "5.2.0", optional = true } -xkbcommon = { version = "0.8.0", features = ["wayland", "x11"], optional = true } +xkbcommon = { version = "0.8.0", default-features = false, optional = true } # Screen capture scap = { workspace = true, optional = true }