Files
hammer/recipes/incoming-wlr/yambar.toml
T
sergioandClaude Opus 5 3545ea77fa 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>
2026-08-07 21:39:24 -04:00

46 lines
2.5 KiB
TOML

# 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"]