gioser

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 1182Shell 87Rust 63Markdown 541592 Definitions

⎇ 7b0ad7805dbe7caa2ddac172a52a7e5e13deee61 recipes/appstream.toml TOML · 42 lines · 3.1 KB History raw

takana etapa 5a: los comentarios de las 741 recetas e852f4849 · Sergio ·

1# appstream 1.0.5 — metadatos de software (libadwaita lo exige duro p/ AdwAboutDialog). meson static LEAN:
2# systemd/svg/stemming/gir/vapi/docs/compose OFF (como pide el default_options de libadwaita). Solo
3# glib + libxml2 + libyaml.
4name    = "appstream"
5version = "1.0.5"
6license = "LGPL-2.1-or-later"
7
8[source]
9tarball = "https://www.freedesktop.org/software/appstream/releases/AppStream-1.0.5.tar.xz"
10sha256  = "ce0ed29e89abd5f0cf790ea87d792f1967c3413060beb30e63a979578d975121"
11# las entradas del tar tienen `./` líder (./AppStream-1.0.5/…) ⇒ strip=2 (recorta `.` y el top-level).
12strip_components = 2
13
14[build]
15compiler = "zig-cc"
16target   = "x86_64-linux-musl"
17link     = "static"
18# ── PILOTO DEL SPLIT DE DEBUG (SDD 23 etapa 2) ─────────────────────────────────────────────────
19# Esta receta DIVERGÍA entre rebuilds: `takana why-differs` mostró que las únicas secciones
20# distintas eran `.debug_*` (rutas internas del árbol de build), con el código ejecutable IDÉNTICO.
21# Al quitar esas secciones del artefacto, el artefacto reproduce — y de paso pesa mucho menos (el
22# 79% del contenido binario del store es info de depuración).
23# El campo entra en `hash_inputs`, así que re-hashea esta receta A PROPÓSITO: cambia el contenido.
24strip_debug = true
25
26[build.phases]
27# subdir('docs/') es INCONDICIONAL (ignora -Ddocs=false) y exige xsltproc + stylesheets docbook-xsl
28# (otro pozo). Lo elimino: man pages prescindibles para la lib que consume libadwaita.
29configure = "sed -i \"\\#subdir('docs/')#d\" meson.build && PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Dsystemd=false -Ddocs=false -Dapidocs=false -Dinstall-docs=false -Dstemming=false -Dsvg-support=false -Dgir=false -Dvapi=false -Dcompose=false -Dc_args=-Wno-error=date-time"
30compile   = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
31install   = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
32
33# ⚠ `xz` (liblzma) está acá por el `.pc Requires` de libxmlb, no porque appstream la nombre:
34#     libxmlb.pc → Requires: gio-2.0 >= 2.45.8, liblzma, libzstd
35# Sin ella el link muere con `unable to find static system library 'lzma'`. Se ve PRIMERO en los
36# binarios de `tests/` (as-test_xml, as-test_validate…) porque son lo último que enlaza ninguna
37# opción puede saltarse: appstream 1.0.5 NO tiene opción `tests` en meson_options.txt. Arreglarlo
38# sedeando `subdir('tests')` habría tapado el síntoma y dejado el fallo para los 4 dependientes,
39# que enlazan appstream estática y necesitan igual la liblzma. Es el patrón `.pc Requires`→`[deps]`.
40[deps]
41# `binutils` por `strip_debug = true`: el paso de strip del lab usa su `strip --strip-debug`.
42build = ["binutils", "meson", "samurai", "python3", "pkgconf", "gperf", "gettext-tiny", "itstool", "glib", "libxml2", "libyaml", "curl", "openssl", "libxmlb", "xz", "zstd", "pcre2", "libffi", "zlib"]