Files
SergioandClaude Opus 5 058e3e9206 recetas: girara, xxhash y json-glib al corpus — la cadena de zathura, medida
⚠ CORRIGE UNA CREENCIA DEL REPO: zathura NO está bloqueada por GTK3. Upstream VACIÓ
girara — en 2026.07.18 su árbol son siete .c (datastructures, input-history, log,
template, utils) y su meson.build no menciona GTK ni una vez. Toda la UI se mudó
adentro de zathura, que hoy pide GTK4 >= 4.12, y gtk4 4.18.6 está en el corpus.
El plan de apps daba a zathura por «verificar si su cadena es GTK4 y no GTK3»: lo es.

Las tres piezas que faltaban, medidas con scripts/provee.py --desde corpus:

- girara: sella al primer intento; sus tres deps (glib/gobject/gio) salen del mismo
  artefacto glib. -Ddocs=disabled porque ese target es doxygen y produce HTML de API.

- xxhash 0.8.3 (zathura lo usa para la caché de páginas). DISPATCH=0 no es preferencia,
  el build se cae sin eso: Makefile:58-62 hace `$(CC) -dumpmachine | grep x86_64` y
  enciende DISPATCH solo por detección de arquitectura — una perilla auto que hace
  depender el artefacto de dónde se construyó. Con ella, xxh_x86dispatch.c muere porque
  pide AVX-512 con -mavx512f a secas y el clang de zig ya exige además -mevex512
  («AVX vector argument of type __m512i without evex512 enabled changes the ABI»).
  No se arregla subiendo flags: esa variante sólo la usa el despacho en runtime, que es
  justo lo que no queremos. Apaga las dos cosas de una.

- json-glib PROMOVIDA al corpus, y salió GRATIS por la misma razón que pipewire: la
  variante de COSMIC resuelve sus deps enteras contra el catálogo padre ⇒ mismo
  ArtifactHash desde las dos partes (b3:62011e81, medido antes de mover nada). La de
  GNOME no podía: arrastra gobject-introspection, glib-introspected, gi-foreign-girs y
  py3-setuptools. La copia de incoming-cosmic se jubila, verificado como manda el repo:
  su único consumidor (xdg-desktop-portal) hashea b3:749fbffe ANTES y DESPUÉS ⇒ cero
  rebuilds. La de incoming-gnome SE QUEDA: variante deliberada, artefacto distinto.

Falta todavía el backend de PDF, que es el hueco real: incoming-kde/poppler va con
-DENABLE_GLIB=OFF ⇒ publica libpoppler.so pero NO poppler-glib, y encima sólo se
alcanza desde su cola.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XB2iEmxeLZgzqNfhWChrLo
2026-09-03 11:49:44 +00:00

43 lines
2.1 KiB
TOML

# girara 2026.07.18 — utilidades comunes de zathura. **YA NO ES UN TOOLKIT.**
#
# ══ LO QUE HAY QUE SABER ANTES DE LEER NADA MÁS ════════════════════════════════════════════════
# La memoria del repo tenía a girara anotada como muro de GTK3, y el plan de apps daba a zathura por
# bloqueada por eso. **Está desactualizado y hay que decirlo fuerte**: upstream VACIÓ girara. En
# 2026.07.18 el árbol `girara/` son siete `.c` —datastructures, input-history, log, template,
# utils— y el `meson.build` no menciona GTK ni una vez. Toda la UI (sesión, pestañas, statusbar,
# completado) se mudó adentro de zathura, que hoy pide **GTK4 >= 4.12**, y GTK4 sí está en el corpus.
# O sea: el muro de GTK3 que bloqueaba a zathura NO EXISTE. Medido, no recordado.
#
# Sus tres deps son glib, gobject y gio, las tres del mismo artefacto `glib` del corpus.
#
# `-Ddocs=disabled` porque ese target es doxygen y lo que produce es HTML de API, no algo que vaya
# a una imagen. Los tests se compilan igual (su `meson.build` no está detrás de una opción) pero no
# se instalan; no vale la pena parchear el árbol para ahorrar dos ejecutables que no se sellan.
#
# Fuente por commit git (ADR 0006): `2026.07.18` es un objeto TAG ⇒ éste es su commit pelado.
name = "girara"
version = "2026.07.18"
license = "Zlib"
[source]
repo = "https://github.com/pwmt/girara.git"
commit = "c5faf7f92442804e3e7eabebc1ed82e0d9d9d6a8"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
[build.phases]
configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=static -Ddocs=disabled"
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
# `.pc Requires` → `[deps].build`: glib-2.0 arrastra pcre2 y libffi, y gio pide además zlib.
[deps]
build = [
"meson", "samurai", "python3", "pkgconf", "linux-headers",
"glib", "pcre2", "libffi", "zlib",
]