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…
nautilus y gvfs: el censo de frontera decía 26 recetas y son 6
1# gnome-autoar 0.4.5 — extraer y comprimir archivos desde GIO. Es dep DURA de nautilus:
2# `meson.build:114` la pide `dependency('gnome-autoar-0', version: '>= 0.4.4')`, sin perilla que la
3# apague. Es lo que hace que «extraer aquí» exista en el menú contextual del gestor de ficheros.
4#
5# ── `-Dgtk=false` Y NO ES UNA PODA: SU OPCIÓN `gtk` ES GTK3 ─────────────────────────────────────
6# La tentación es encenderla «porque el escritorio es GTK». Medido en el `meson.build:94-99` de esta
7# versión, la dep que pide esa opción es `gtk+-3.0`, no `gtk4`:
8#
9# gtk_req_version = '>= 3.2'
10# gtk_dep = dependency('gtk+-3.0', version: gtk_req_version, required: get_option('gtk'), …)
11#
12# GTK3 es una de las tres deudas que el frente GNOME aparcó a propósito (GTK3 / X11 / PAM), así que
13# encenderla dejaría esta receta en `never` para siempre. Y no cuesta nada: lo que esa opción
14# construye es `libgnome-autoar-gtk`, un par de widgets de diálogo que **nautilus no usa** — lo que
15# nautilus enlaza es `gnome-autoar-0` a secas (la línea de arriba). El día que se autore GTK3, esto
16# es una bandera.
17#
18# ── `-Dintrospection=disabled`: no hay consumidor todavía ───────────────────────────────────────
19# La isla SÍ sabe hacer introspección (es su razón de ser, ver [[gnome-introspection-dinamica]]), y
20# encenderla acá sería correcto el día que algo la mire por typelib — file-roller, o una extensión
21# JS. Hoy el único consumidor es nautilus, que es C y la enlaza. Se apaga para no arrastrar a
22# `gobject-introspection` + `gi-foreign-girs` + `py3-setuptools` a un build que no los necesita, y
23# se deja dicho para que encenderla sea una línea y no una arqueología.
24#
25# ⚠ `default_library=shared` y no `both`: el mismo criterio que `libadwaita` en esta cola. El único
26# consumidor está en la isla y enlaza la `.so`; producir además una `.a` invita a que un consumidor
27# futuro la monte y reintroduzca el doble estado.
28#
29# ⚠ SIN `gettext-tiny` en deps, y es un hecho comprobado, no un descuido: este tarball NO TRAE `po/`
30# (`ls gnome-autoar-0.4.5` ⇒ COPYING NEWS README.md docs gnome-autoar gnome-autoar.doap meson.build
31# meson_options.txt tests). No hay traducciones que compilar ⇒ no hay `msgfmt` que reviente.
32name = "gnome-autoar"
33version = "0.4.5"
34license = "LGPL-2.1-or-later"
35
36[source]
37tarball = "https://download.gnome.org/sources/gnome-autoar/0.4/gnome-autoar-0.4.5.tar.xz"
38sha256 = "838c5306fc38bfaa2f23abe24262f4bf15771e3303fb5dcb74f5b9c7a615dabe"
39
40[build]
41compiler = "zig-cc"
42target = "x86_64-linux-musl"
43link = "dynamic"
44
45[build.phases]
46configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared -Dgtk=false -Dintrospection=disabled -Dvapi=false -Dtests=false -Dgtk_doc=false -Dc_args=-Wno-error=date-time"
47compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
48install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
49
50[deps]
51# `libarchive-shared` y no `libarchive`: la canónica es estática y NO es PIC (3205 reubicaciones
52# `R_X86_64_32` fuera de `.debug`) ⇒ no entra en una `.so`. Ver el encabezado de esa receta.
53# glib + su cierre .pc (libffi/pcre2/zlib-shared) porque la hidratación es DIRECTA, no transitiva.
54build = ["meson", "samurai", "python3", "pkgconf", "glib", "libarchive-shared", "zlib-shared", "libffi", "pcre2"]