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 1472Shell 176Rust 106Markdown 953592 Definitions

⎇ 534014c3ec69daea789a1d0523e1d00a69c6ed65 recipes/incoming-wlr/gdk-pixbuf.toml TOML · 41 lines · 3.1 KB History raw

libpng-pic: la variante que faltaba entre la estatica y la .so 2b4999f68 · Sergio ·

1# gdk-pixbuf 2.44.6 — SOMBRA de `recipes/gdk-pixbuf.toml` para la cola wlr/sway.
2#
3# ── QUÉ CAMBIA Y POR QUÉ ────────────────────────────────────────────────────────────────────────
4# UNA sola línea: `libpng` → `libpng-shared` en `[deps]`. El resto es copia literal del canónico.
5#
6# El canónico muere enlazando:
7#     ld.lld: error: relocation R_X86_64_64 cannot be used against local symbol; recompile with -fPIC
8#     >>> in archive /usr/lib/libpng16.a
9# y en la misma tanda de errores aparece `libc.so`, o sea que ESE link acabó siendo DINÁMICO pese a
10# que la receta declara `link = "static"`. Con un link dinámico, una `.a` sin PIC no se puede usar:
11# `recipes/libpng.toml` es `--disable-shared` y sus objetos no son PIC. `libpng-shared` existe
12# justamente para este caso — su cabecera lo dice: «no enlaza dentro de un .so».
13#
14# ⚠ NO ES UN FALLO NUEVO: es una REGRESIÓN CONGELADA que la reconstrucción destapa. gdk-pixbuf tenía
15# artefacto sellado y se servía por cache-hit, así que el fallo llevaba tiempo invisible. Es el mismo
16# patrón que documenta la campaña del lab: «no re-hashea nada sellado» ≠ «es seguro».
17#
18# ── POR QUÉ SOMBRA Y NO TOCAR EL CANÓNICO ───────────────────────────────────────────────────────
19# Decisión del usuario (2026-08-21). El canónico tiene 12 dependientes en cuatro colas y es estático
20# por diseño; cambiarle la dep es una decisión de arquitectura del corpus, no un arreglo de receta.
21# Mismo patrón que la sombra de libadwaita en incoming-gnome.
22#
23# ⚠ ALCANCE REAL, y hay que tenerlo presente: la resolución de deps es HERMANO→PADRE — una receta del
24# CORPUS no ve las de `incoming-*`. Así que esta sombra la usan las recetas de ESTA cola, y las 7 del
25# corpus (gtk4, libadwaita, gtksourceview…) siguen resolviendo el canónico roto.
26name    = "gdk-pixbuf"
27version = "2.44.6"
28license = "LGPL-2.1-or-later"
29[source]
30tarball = "https://download.gnome.org/sources/gdk-pixbuf/2.44/gdk-pixbuf-2.44.6.tar.xz"
31sha256  = "140c2d0b899fcf853ee92b26373c9dc228dbcde0820a4246693f4328a27466fa"
32[build]
33compiler = "zig-cc"
34target   = "x86_64-linux-musl"
35link     = "static"
36[build.phases]
37configure = "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 -Dpng=enabled -Djpeg=disabled -Dtiff=disabled -Dothers=disabled -Dglycin=disabled -Dbuiltin_loaders=png -Dgio_sniffing=false -Dman=false -Dintrospection=disabled -Dtests=false -Dinstalled_tests=false -Dgtk_doc=false -Dc_args=-Wno-error=date-time"
38compile   = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
39install   = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
40[deps]
41build = ["meson", "samurai", "python3", "pkgconf", "glib", "libpng-pic", "libffi", "pcre2", "zlib"]