tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1411Shell 141Markdown 85Rust 842918 Definitions

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>

3545ea77fa71ed166fd15144fcf8c8ff25d0ffb2 · by sergio · (2 months ago) · parent 50b080d25 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

2 files · +87 −0

diff --git a/recipes/incoming-wlr/fuzzel.toml b/recipes/incoming-wlr/fuzzel.toml
new file mode 100644
index 00000000..6818c622
--- /dev/null
+++ b/recipes/incoming-wlr/fuzzel.toml
@@ -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"]
diff --git a/recipes/incoming-wlr/yambar.toml b/recipes/incoming-wlr/yambar.toml
new file mode 100644
index 00000000..57246555
--- /dev/null
+++ b/recipes/incoming-wlr/yambar.toml
@@ -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"]