fuzzel + yambar SELLADAS — y waybar queda fuera POR MEDICIÓN, no por gusto

Lanzador y barra de estado: las dos piezas que faltaban para que un WM ligero se use de
verdad y no sólo arranque. El frente wlr suma 9 recetas y 11 binarios.

WAYBAR NO ENTRA, Y CONVIENE QUE CONSTE POR QUÉ. Medidas sus dependencias reales (0.12.0):
pide `gtkmm-3.0` — o sea GTK**3** *y además* sus bindings de C++ — más gtk-layer-shell,
jsoncpp, fmt, spdlog, sigc++, date y libnl. Es el mismo muro de GTK3 que el frente GNOME
aparcó a propósito, con ocho recetas nuevas encima. `yambar` es C puro, del mismo autor que
foot/fcft/fuzzel, y **sus dependencias ya estaban selladas**: es el bar estándar de esa
familia, no un sustituto pobre. Si algún día entra GTK3, waybar vuelve a estar sobre la mesa.

FUENTE GIT POR COMMIT, no el archive de codeberg (ADR 0006). Es el criterio que ya usan foot y
fcft, con la razón medida allí: el `/archive/<tag>.tar.gz` lo genera la forge AL VUELO, así que
sus bytes dependen de la versión de git/gzip del servidor y el sha256 pineado se muere solo
cuando codeberg actualiza su tooling. ⚠ Y los tags son ANOTADOS: el sha de `refs/tags/1.12.0`
NO es el commit; hay que pinear el `^{}` desreferenciado. Lo verifiqué con `git ls-remote`
antes de escribir, porque los dos shas aparecen juntos y es fácil copiar el equivocado.

DOS DEPS DE BUILD-TIME QUE NO SE VEN EN EL BINARIO Y MATAN EL BUILD:
· `scdoc` (las dos) — generan sus man pages con él y, a diferencia de sway/swaybg/grim, NO
  ofrecen `-Dman-pages` para saltárselo. Estaba en el corpus: la vía correcta es declararlo,
  no buscar cómo evitarlo.
· `flex` + `bison` (yambar) — generan el parser de su lenguaje de partículas. Invisibles en el
  resultado, y del tipo que se olvida hasta que el build muere con «Program 'flex' not found».

`-Dbackend-x11=disabled` en yambar evita SIETE dependencias de X11 (xcb-aux, xcb-cursor,
xcb-errors, xcb-event, xcb-ewmh, xcb-randr, xcb-render) para un backend que en una distro
Wayland pura no se usa nunca. Y en fuzzel, `-Dsvg-backend=nanosvg` (el default, vendorizado)
evita librsvg, que arrastraría la cadena de GNOME/Rust por unos iconos.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-07 21:39:24 -04:00
co-authored by Claude Opus 5
parent 50b080d258
commit 3545ea77fa
2 changed files with 87 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
# fuzzel 1.12.0 — el lanzador de aplicaciones. Es lo que convierte «hay un compositor» en «puedo
# abrir programas sin escribirlos en una terminal». Del mismo autor que `foot` y `fcft`, así que
# encaja con lo que ya está sellado sin traer una familia nueva de dependencias.
#
# ── FUENTE GIT POR COMMIT, NO EL ARCHIVE DE CODEBERG (ADR 0006) ────────────────────────────────
# Mismo criterio que `foot` y `fcft`, y con la misma razón medida allí: el `/archive/<tag>.tar.gz`
# lo genera la forge AL VUELO, así que sus bytes dependen de la versión de git/gzip del servidor y
# el sha256 pineado se muere solo cuando codeberg actualiza su tooling. Un commit es inmune.
# ⚠ El tag es ANOTADO: el sha de `refs/tags/1.12.0` (fbe69488…) NO es el commit. El de abajo es el
# `1.12.0^{}` desreferenciado, que es el que hay que pinear.
#
# `scdoc` en deps: fuzzel genera sus man pages con él y NO ofrece opción para saltárselo (a
# diferencia de sway/swaybg/grim, que sí tienen `-Dman-pages`). Como scdoc ya está en el corpus, la
# vía correcta es declararlo, no buscar cómo evitarlo.
#
# `-Dsvg-backend=nanosvg`: es el DEFAULT y va vendorizado en el árbol ⇒ evita `librsvg`, que
# arrastraría toda la cadena de GNOME/Rust por unos iconos. La alternativa `librsvg` queda ahí para
# el día que haga falta calidad de render SVG, que hoy no.
name = "fuzzel"
version = "1.12.0"
license = "MIT"
[source]
repo = "https://codeberg.org/dnkl/fuzzel.git"
commit = "05270d0458310abecec94a65c6e96b90db70e47a"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
zig_version = "0.13.0"
[build.phases]
configure = "meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dwerror=false -Denable-cairo=enabled -Dpng-backend=libpng -Dsvg-backend=nanosvg -Dc_link_args=-lexpat"
compile = "ninja -C output"
install = "DESTDIR=/out ninja -C output install"
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "scdoc", "wayland", "wayland-protocols", "fcft",
"tllist", "utf8proc", "pixman", "cairo", "fontconfig", "freetype", "harfbuzz", "fribidi",
"libpng", "libxkbcommon", "expat", "libffi", "zlib", "glib", "pcre2"]
run = ["wayland", "fcft", "pixman", "cairo", "libxkbcommon"]
+45
View File
@@ -0,0 +1,45 @@
# yambar 1.11.0 — la barra de estado. Reemplaza a `waybar` en este catálogo POR MEDICIÓN, no por
# gusto: waybar 0.12 pide `gtkmm-3.0` (o sea GTK**3** *y además* sus bindings de C++), más
# `gtk-layer-shell`, `jsoncpp`, `fmt`, `spdlog`, `sigc++`, `date` y `libnl` — el muro de GTK3 que el
# frente GNOME aparcó a propósito, con ocho recetas nuevas encima. yambar es C puro, del mismo autor
# que `foot`/`fcft`/`fuzzel`, y sus dependencias YA están selladas.
# ⇒ Si algún día entra GTK3, waybar vuelve a estar sobre la mesa. Mientras tanto esto no es un
# sustituto pobre: yambar es el bar estándar del ecosistema de esa familia.
#
# `-Dbackend-x11=disabled`: sin esto pediría xcb-aux, xcb-cursor, xcb-errors, xcb-event, xcb-ewmh,
# xcb-randr y xcb-render — siete dependencias de X11 para un backend que en una distro Wayland pura
# no se usa nunca. Con el backend seleccionado, ninguna hace falta.
#
# Plugins con dependencias que aún no tenemos (alsa, mpd, pipewire, pulse) van apagados explícitos;
# el resto queda en `auto`, que resuelve con lo que hay. Es una decisión de alcance para el primer
# sellado, no un muro: cada uno se prende cuando entre su dep.
#
# `flex` y `bison` en deps: yambar genera con ellos el parser de su lenguaje de particulas (los
# «tags» de la barra). Es un generador de código en build-time, invisible en el binario final, y del
# tipo que se olvida hasta que el build muere con «Program 'flex' not found».
#
# Fuente git por commit y tag anotado desreferenciado, igual que fuzzel/foot/fcft (ADR 0006).
name = "yambar"
version = "1.11.0"
license = "MIT"
[source]
repo = "https://codeberg.org/dnkl/yambar.git"
commit = "a2d30b96fbb026621ec11692272f0117f35a00fd"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
zig_version = "0.13.0"
[build.phases]
configure = "meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dwerror=false -Dbackend-x11=disabled -Dbackend-wayland=enabled -Dplugin-alsa=disabled -Dplugin-mpd=disabled -Dplugin-pipewire=disabled -Dplugin-pulse=disabled -Dc_link_args=-lexpat"
compile = "ninja -C output"
install = "DESTDIR=/out ninja -C output install"
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "scdoc", "flex", "bison", "wayland", "wayland-protocols", "fcft",
"tllist", "utf8proc", "pixman", "libyaml", "json-c", "libudev-zero", "fontconfig",
"freetype", "harfbuzz", "fribidi", "libxkbcommon", "expat", "libffi", "zlib", "libpng"]
run = ["wayland", "fcft", "pixman", "libyaml"]