yoda: softbuffer + window_clipboard default-features=false
Some checks failed
Audit / vulnerabilities (push) Has been cancelled
Check / wasm (push) Has been cancelled
Check / widget (push) Has been cancelled
Document / all (push) Has been cancelled
Format / all (push) Has been cancelled
Lint / all (push) Has been cancelled
Test / all (macOS-latest, 1.88) (push) Has been cancelled
Test / all (macOS-latest, beta) (push) Has been cancelled
Test / all (macOS-latest, stable) (push) Has been cancelled
Test / all (ubuntu-latest, 1.88) (push) Has been cancelled
Test / all (ubuntu-latest, beta) (push) Has been cancelled
Test / all (ubuntu-latest, stable) (push) Has been cancelled
Test / all (windows-latest, 1.88) (push) Has been cancelled
Test / all (windows-latest, beta) (push) Has been cancelled
Test / all (windows-latest, stable) (push) Has been cancelled

Two one-line workspace-dep fixes that drop the last remaining X11 crates
for Wayland-only builds:

- softbuffer: its default = [kms, x11, x11-dlopen, wayland, wayland-dlopen]
  pulled tiny-xlib + as-raw-xcb-connection unconditionally even though
  iced_tiny_skia only needed softbuffer/wayland. Disabling the default
  lets iced_tiny_skia's own feature propagation ask for just wayland +
  wayland-dlopen.

- window_clipboard: upstream pulled clipboard_x11 + clipboard_wayland
  unconditionally on unix. Our local fork (branch yoda-x11-optional)
  gates clipboard_x11 behind an opt-in feature, so default-features=false
  + features=["wayland"] drops ~500 x11 symbols (clipboard_x11, x11rb,
  x11rb-protocol).

Combined with previous yoda-v4 cuts, cosmic-yoterm goes from
1526 -> 43 x11 symbols (-97%), and 55.4 MB -> 53.3 MB (-2.1 MB).
This commit is contained in:
Lionel DARNIS 2026-04-24 06:53:36 +02:00
parent 8f6be7984a
commit f0c0b8d42e

View file

@ -276,7 +276,10 @@ tiny-skia = { version = "0.11", default-features = false, features = [
"simd",
] }
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "160b086" }
softbuffer = { git = "https://github.com/pop-os/softbuffer", tag = "cosmic-4.0" }
# Yoda: default-features=false drops softbuffer's x11 / x11-dlopen (pulled
# tiny-xlib + as-raw-xcb-connection). The wayland + wayland-dlopen features
# are re-activated via iced_tiny_skia's own `wayland` feature propagation.
softbuffer = { git = "https://github.com/pop-os/softbuffer", tag = "cosmic-4.0", default-features = false }
syntect = "5.2"
tokio = "1.0"
tracing = "0.1"
@ -302,7 +305,11 @@ wayland-client = { version = "0.31.5" }
winapi = "0.3"
# window_clipboard = "0.4.1"
window_clipboard = { git = "https://github.com/pop-os/window_clipboard.git", tag = "sctk-0.20" }
# Yoda: window_clipboard via git path = our local fork that has x11 gated
# behind an opt-in feature. default-features=false + features=["wayland"]
# drops clipboard_x11 + x11rb from the build.
# Kept at /home/lionel/Devels/window_clipboard branch yoda-x11-optional.
window_clipboard = { git = "https://github.com/pop-os/window_clipboard.git", tag = "sctk-0.20", default-features = false, features = ["wayland"] }
dnd = { git = "https://github.com/pop-os/window_clipboard.git", tag = "sctk-0.20" }
mime = { git = "https://github.com/pop-os/window_clipboard.git", tag = "sctk-0.20" }
# Yoda: default-features = false drops winit's x11 default, which otherwise