gnome onda 3: hojas de la cadena eds — nghttp2 (b3:5f35b06e) y libpsl (b3:824b4bb9)

Arranca la última frontera de gnome-shell: evolution-data-server. El comentario
de gnome-shell.toml estimaba ~10 recetas dominadas por icu, pero icu4c YA quedó
sellada por la campaña KDE (b3:dbda6797) y sólo depende de pkgconf+python3, o
sea del corpus padre ⇒ copiarla a incoming-gnome da hash IDÉNTICO y cero
rebuild (la resolución de deps es hermano→padre, nunca de reojo a otra cola).

Con icu ya pago, las dos hojas de libsoup salen a la primera:

  nghttp2 1.64.0  b3:5f35b06e  --enable-lib-only deja la frontera en CERO deps
                               nuevas; las apps arrastraban libev, libcares,
                               openssl, jansson y libevent.
  libpsl  0.21.5  b3:824b4bb9  --enable-{runtime,builtin}=libicu, verificado por
                               NEEDED libicuuc.so.77 (no degradó a libpsl ciego).

Frontera restante de la cima: libsoup, libical, evolution-data-server.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-28 19:43:34 -04:00
co-authored by Claude Opus 5
parent f07163aba0
commit a9f40e15bc
3 changed files with 90 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# icu4c 77.1 — International Components for Unicode (libicuuc/libicui18n/libicudata.so). Dep transitiva
# del stack Qt/KDE (ki18n opcional, libqalculate opcional, apps con colación Unicode). C++ autotools;
# el tarball descomprime a `icu/source/` → todas las fases entran con `cd source`. musl, shared.
name = "icu4c"
version = "77.1"
[source]
tarball = "https://github.com/unicode-org/icu/releases/download/release-77-1/icu4c-77_1-src.tgz"
sha256 = "588e431f77327c39031ffbb8843c0e3bc122c211374485fa87dc5f3faff24061"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
flags = []
[build.phases]
configure = '''
cd source && ./configure --prefix=/usr --enable-shared --disable-static \
--disable-samples --disable-tests
'''
compile = "cd source && make -j\"$(nproc)\""
install = "cd source && make install DESTDIR=/out"
[deps]
build = ["pkgconf", "python3"]
+35
View File
@@ -0,0 +1,35 @@
# libpsl 0.21.5 — Public Suffix List. Dep dura de libsoup (cookie jar): decide si un dominio puede
# fijar cookie sobre otro, o sea que NO es adorno de features — es la frontera entre `.com` y
# `example.com` para el navegador y para cualquier cliente HTTP del escritorio. Entra por
# eds → libsoup → libpsl.
#
# La opción cara acá es de dónde sale el soporte IDN (dominios con acentos/no-ASCII). libpsl acepta
# libidn2, libicu o libidn. NINGUNA de las dos primeras estaba en el corpus cuando se planeó esta
# cadena, pero icu4c YA quedó sellada por la campaña KDE (b3:dbda6797) ⇒ se elige `libicu` y la
# frontera de libpsl es CERO recetas nuevas. Con `--enable-runtime=no` habría compilado igual, pero
# dejando un libpsl ciego a los dominios internacionales; no vale la pena cuando el ICU ya está pago.
#
# `--enable-builtin=libicu` hornea la lista del tarball en el .so (psl-make-dafsa, python3) para que
# no haga falta un fichero de datos en runtime: un artefacto autocontenido, que es lo que quiere el
# store direccionable por contenido. La lista queda fijada al tarball ⇒ entra al ArtifactHash.
#
# ISLA DINÁMICA: shared, igual que el resto de la onda 3.
name = "libpsl"
version = "0.21.5"
[source]
tarball = "https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz"
sha256 = "1dcc9ceae8b128f3c0b3f654decd0e1e891afc6ff81098f227ef260449dae208"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
[build.phases]
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig ./configure --prefix=/usr --enable-shared --disable-static --enable-runtime=libicu --enable-builtin=libicu --disable-gtk-doc --disable-man"
compile = "make -j\"$(nproc)\""
install = "make install DESTDIR=/out"
[deps]
build = ["pkgconf", "python3", "icu4c"]
+29
View File
@@ -0,0 +1,29 @@
# nghttp2 1.64.0 — HTTP/2 en C. Entra al frente GNOME por debajo de libsoup: soup 3.x usa
# libnghttp2 para HTTP/2 y libnghttp2 para el (opcional) HTTP/3, y sin ella el meson de soup
# corta. No la pide el escritorio directamente: es dep transitiva de la cima (eds → libsoup).
#
# --enable-lib-only es la clave del costo: nghttp2 trae ADEMÁS un set de aplicaciones (nghttp,
# nghttpd, nghttpx, h2load) que arrastran libev, libcares, openssl, jansson y libevent — cinco
# recetas que NO hay que autorar. Lo que libsoup enlaza es sólo `libnghttp2.so`, así que
# apagando las apps la frontera de nghttp2 queda en CERO deps nuevas: pkgconf y nada más.
#
# ISLA DINÁMICA: shared, porque libsoup y todo el stack GNOME de esta onda son .so.
name = "nghttp2"
version = "1.64.0"
[source]
tarball = "https://github.com/nghttp2/nghttp2/releases/download/v1.64.0/nghttp2-1.64.0.tar.xz"
sha256 = "88bb94c9e4fd1c499967f83dece36a78122af7d5fb40da2019c56b9ccc6eb9dd"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
[build.phases]
configure = "./configure --prefix=/usr --enable-lib-only --enable-shared --disable-static --disable-python-bindings --disable-examples"
compile = "make -j\"$(nproc)\""
install = "make install DESTDIR=/out"
[deps]
build = ["pkgconf"]