Estaba sólo en `recipes/incoming-wlr/`, o sea inalcanzable desde las otras cuatro colas. `cliphist` vive en el CORPUS y la pide en `[deps] run`, así que corpus, gnome, kde y cosmic la reportaban como `orphan_deps: ["wl-clipboard"]`. No era cosmético: `escritorio-cosmic` declara `cliphist` de raíz, y la imagen se habría armado con el demonio de historial y SIN `wl-copy`/`wl-paste` — el modo de fallo silencioso que la propia receta de cliphist advierte (el binario corre y no hace nada). La clausura no lo podía ver: decía `falta=0` en los cinco perfiles, porque una dep que no resuelve no se cuenta, desaparece. Solución = la que el catálogo ya usó con `mpv` y `atuq`: subirla al corpus, de donde las colas la alcanzan (sibling-first y después el catálogo padre). Medido antes de mover: ninguna de sus 9 deps tenía variante hermana en `incoming-wlr`, así que el ArtifactHash no podía cambiar — y no cambió (`b3:fc2ab7b7…` a los dos lados, comprobado con `takana hash`). Cero re-sellos. Tras regenerar los cinco grafos: `orphan_deps: []` en los cinco, y la clausura de `escritorio-cosmic` pasa de 273 a 274, sellada.
62 lines
3.7 KiB
TOML
62 lines
3.7 KiB
TOML
# 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.
|
|
#
|
|
# ── POR QUÉ VIVE EN EL CORPUS Y NO EN `incoming-wlr` (movida el 2026-09-14) ────────────────────
|
|
# Estaba SÓLO en la cola de wlr, y eso la hacía inalcanzable desde las otras cuatro. El problema no
|
|
# era teórico: `cliphist` vive en el CORPUS y la pide en `[deps] run`, así que en los grafos de
|
|
# corpus, gnome, kde y cosmic aparecía como **orphan_dep** — una dep que nadie resuelve. Y el
|
|
# perfil `escritorio-cosmic` declara `cliphist` de raíz: la imagen de COSMIC se habría armado con
|
|
# el demonio de historial y SIN `wl-copy`/`wl-paste`, que es exactamente el modo de fallo silencioso
|
|
# que la propia receta de cliphist advierte (el binario corre y no hace nada). La clausura NO lo
|
|
# veía: `falta=0` en los cinco perfiles, porque una dep que no resuelve no se cuenta, desaparece.
|
|
#
|
|
# La solución es la que este catálogo ya usó con `mpv` y `atuq`: subirla al corpus, desde donde las
|
|
# colas la alcanzan (resuelven sibling-first y después el catálogo padre). `escritorio-sway` la
|
|
# sigue declarando de raíz y la sigue encontrando.
|
|
#
|
|
# ⚠ El ArtifactHash NO cambió al mover (`b3:fc2ab7b7…` antes y después): la ruta del fichero no
|
|
# entra en `hash_inputs`, y ninguna de sus 9 deps tenía variante hermana en `incoming-wlr` que la
|
|
# mudanza pudiera cambiar. Comprobado con `takana hash` a los dos lados; el artefacto sellado sigue
|
|
# valiendo y no hubo que re-sellar nada.
|
|
#
|
|
# ── 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"]
|