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 1534Shell 199Rust 109Markdown 993713 Sutichaykuna

wl-clipboard 2.2.1 SELLADA — cierra el entorno mínimo del frente wlr

`wl-copy` y `wl-paste`. En Wayland no hay forma de copiar o pegar desde un script sin esto, y
varios flujos que ya sellamos lo necesitan para ser útiles: capturar con grim, seleccionar
región con slurp, y poder pegar el resultado en algún lado.

UNA DIFERENCIA CON LAS ANTERIORES QUE CONVIENE NOTAR. Va por commit (ADR 0006, GitHub genera
sus archive/refs/tags al vuelo igual que codeberg), pero este tag es **LIGERO**: `git ls-remote`
devuelve UN solo sha y ése ES el commit. En fuzzel, yambar y foot los tags son ANOTADOS y
aparecen dos, donde el bueno es el `^{}`. Comprobar el tipo de tag antes de copiar evita pinear
el objeto del tag en vez del commit — un error silencioso, porque la receta valida y sólo falla
después, al no encontrar el árbol.

TRAE `subprojects/` CON WRAPS QUE BAJAN DE LA RED (expat, libffi, wayland, wayland-protocols).
`--wrap-mode=nodownload` es lo que lo impide y lo obliga a usar las del sistema, o sea nuestros
artefactos vía pkg-config. Sin esa flag el build intentaría salir a internet DENTRO del sandbox
hermético y moriría; con ella los wraps quedan inertes. Por eso las cuatro van en deps.

Estado del frente wlr: 10 recetas, 12 binarios — wlroots, sway (+swaybar/swaymsg/swaynag),
swaybg, swayidle, swaylock, grim, slurp, fuzzel, yambar, wl-copy/wl-paste. Con `foot` (ya en el
corpus) como terminal, el perfil «escritorio-sway» es armable: compositor, barra, lanzador,
fondo, bloqueo, inactividad, captura y portapapeles. Todo sin X11 y sin systemd.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

427ca1dd01740f62dd59602e5951406b9d612664 · ruwaq sergio · (2 killa ñawpaq) · tayta 39b88ebd2 · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

1 qillqakuna · +43 −0

diff --git a/recipes/incoming-wlr/wl-clipboard.toml b/recipes/incoming-wlr/wl-clipboard.toml
new file mode 100644
index 00000000..059c51f2
--- /dev/null
+++ b/recipes/incoming-wlr/wl-clipboard.toml
@@ -0,0 +1,43 @@
+# wl-clipboard 2.2.1 — `wl-copy` y `wl-paste`: el portapapeles por línea de comandos. Diminuto y
+# desproporcionadamente útil: en Wayland no hay forma de copiar/pegar desde un script sin esto, y
+# media docena de flujos (capturas con grim, selección con slurp) dependen de poder pegar el
+# resultado en algún lado.
+#
+# ── FUENTE GIT POR COMMIT, y una diferencia con codeberg que conviene notar ────────────────────
+# GitHub genera sus `archive/refs/tags/*.tar.gz` al vuelo igual que codeberg, así que se pinea el
+# commit (ADR 0006). PERO: este tag es **LIGERO**, no anotado — `git ls-remote` devuelve UN solo
+# sha y ése ES el commit. En fuzzel/yambar/foot los tags son ANOTADOS y aparecen dos shas, donde el
+# bueno es el `^{}`. Comprobar de qué tipo es el tag antes de copiar el sha evita pinear el objeto
+# del tag en lugar del commit, que es un error silencioso: la receta valida y luego no encuentra el
+# árbol.
+#
+# ── `subprojects/` CON WRAPS QUE BAJAN DE LA RED ───────────────────────────────────────────────
+# Trae wraps de expat, libffi, wayland y wayland-protocols que meson descargaría. `--wrap-mode=
+# nodownload` es justamente lo que lo impide y lo obliga a usar las del sistema — o sea nuestros
+# artefactos, vía pkg-config. Sin esa flag el build intentaría salir a internet DENTRO del sandbox
+# hermético y moriría; con ella, los wraps son inertes. Por eso las cuatro van declaradas en deps.
+#
+# Los XML de protocolo (incluido `wlr-data-control-unstable-v1.xml`) van vendorizados en
+# `src/protocol/`, así que no hace falta un paquete de protocolos wlr aparte.
+name    = "wl-clipboard"
+version = "2.2.1"
+license = "GPL-3.0-or-later"
+
+[source]
+repo   = "https://github.com/bugaevc/wl-clipboard.git"
+commit = "3eb912c274042cd5deed6b478b39908a12f37498"
+
+[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"
+compile   = "ninja -C output"
+install   = "DESTDIR=/out ninja -C output install"
+
+[deps]
+build = ["meson", "samurai", "python3", "pkgconf", "wayland", "wayland-protocols", "expat", "libffi", "zlib"]
+run   = ["wayland"]