runbook cosmic: el gotcha 7 pasa a decir las CUATRO deps y de dónde se leen

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-03 12:51:03 -04:00
co-authored by Claude Opus 5
parent 13dc9e3488
commit 911ac3eeaf
+13 -2
View File
@@ -215,8 +215,19 @@ cerró hoy en GNOME.
6. **Las features de smithay que asustan no cuestan deps de build**: `backend_vulkan` (crate `ash`),
`backend_x11` (`x11rb` con `dl-libxcb`) y `xwayland` cargan todo por **dlopen**. Son deuda de
RUNTIME —libxcb y vulkan-loader viven hoy sólo en la cola KDE—, no un muro de compilación.
7. **`libxkbcommon` + `pkgconf` van en TODA la cola, sin excepción — incluso en las piezas sin
interfaz.** Se aprendió dos veces, con dos razonamientos distintos y los dos equivocados:
7. **Todo cliente de la suite lleva las MISMAS CUATRO deps: `libxkbcommon`, `pkgconf`,
`libudev-zero`, `libinput`** — incluso las piezas sin interfaz. Las tres primeras se descubrieron
de a una, un build por dep, hasta que la línea de enlace las mostró juntas:
```
-Wl,-Bstatic -ludev -linput -lxkbcommon …
```
**El error dice la que falta primero; el COMANDO dice todas.** Leerlo entero la primera vez habría
ahorrado tres builds. Los tres llegan por la cadena de libcosmic —enumeración de monitores y de
dispositivos de entrada—, no por nada que el cliente haga a la vista.
Y el camino hasta ahí fue de razonamientos buenos y falsos, que es lo que vale dejar escrito:
- `cosmic-bg` fue sin `[deps]` porque «habla el protocolo en Rust y no toca C». Reventó en el
`build.rs` de `smithay-client-toolkit` pidiendo `xkbcommon.pc`: **sctk ENLAZA libxkbcommon**; el
que la dlopea es `winit`, que es otra capa. Hablar Wayland en Rust dice cómo viaja el byte, no