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…

⎇ main recipes/libtiff-shared.toml TOML · 38 líneas · 2.4 KB Historia crudo

sombras -shared: 8 promovidas al corpus, 0 hashes movidos — y cairo se para en un muro real 6e2772109 · sergio ·

1# libtiff-shared 4.7.0 — variante DINÁMICA (libtiff.so, NEEDED libz.so/libjpeg.so) para la isla GNOME.
2# gtk4 EXIGE libtiff-4 (meson.build:450, sin required:false ⇒ no se puede quitar). El canónico es
3# BUILD_SHARED_LIBS=OFF: su libtiff.a arrastra zlib/jpeg como cadena estática que gtk4 (dinámico) no
4# resuelve ('undefined inflate'). La .so lo resuelve por NEEDED. Ver [[gnome-introspection-dinamica]].
5name    = "libtiff-shared"
6version = "4.7.0"
7license = "libtiff"
8
9[source]
10tarball = "https://download.osgeo.org/libtiff/tiff-4.7.0.tar.gz"
11sha256  = "67160e3457365ab96c5b3286a0903aa6e78bdc44c4bc737d2e486bcecb6ba976"
12
13[build]
14compiler = "zig-cc"
15target   = "x86_64-linux-musl"
16link     = "dynamic"
17
18[build.phases]
19# --undefined-version: el version-script de libtiff.so nombra símbolos Windows-only (TIFFOpenWExt) que
20# en musl no se compilan; lld lo trata como error salvo con este flag (lo hace laxo, estándar en cross).
21configure = "cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--undefined-version -Dtiff-tools=OFF -Dtiff-tests=OFF -Dtiff-contrib=OFF -Dtiff-docs=OFF -Dzlib=ON -Djpeg=ON -Dlzma=OFF -Dzstd=OFF -Dwebp=OFF -Djbig=OFF -Dlerc=OFF -Dlibdeflate=OFF -Dcxx=OFF"
22compile   = "cmake --build build --target tiff"
23install   = "DESTDIR=/out cmake --install build"
24
25# zlib-shared/libjpeg-turbo-shared: la .so de tiff los enlaza por NEEDED (libz.so/libjpeg.so).
26[deps]
27build = ["cmake", "zlib-shared", "libjpeg-turbo-shared"]
28
29# ── PROMOVIDA AL CORPUS 2026-08-08 ──────────────────────────────────────────────────────────────
30# Copia literal de la sombra que vivía en una cola `incoming-*`. Se promovió porque la resolución de
31# deps es hermano→padre: una receta del corpus NO ve las de `incoming-*`, así que sin esto ninguna
32# receta canónica puede usar las variantes dinámicas.
33#
34# NO hay riesgo de colisión —el que advierte la nota de `granja-promote-colisiones`— porque el nombre
35# `*-shared` es DISTINTO del canónico: `zlib-shared` no pisa a `zlib`. Verificado además de forma
36# empírica antes de commitear: se calcularon los hashes de LAS 1153 recetas antes y después, y
37# **ninguna cambió**. El hash de esta copia es idéntico al del original, así que su artefacto ya está
38# sellado y no hay que reconstruir nada.