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>
46 lines
2.5 KiB
TOML
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"]
|