gnome isla: glib-introspected SELLA (b3:c12cb9fa) — typelibs CORE ✓ GATE PASS

El test definitivo del keystone: glib con -Dintrospection=enabled produce los
typelibs CORE (GLib/GObject/Gio/GModule/GioUnix/GLibUnix/GIRepository) usando
g-ir-scanner+compiler sobre GLib misma. SELLA ⇒ g-ir-compiler SÍ sirve para lo
core bajo musl; el SIGSEGV anterior era EXCLUSIVO de los .gir X11/cairo (que no
queremos, Wayland-only). La introspección funciona end-to-end ⇒ gjs→gnome-shell
destrabado.

Rompe el ciclo glib↔g-i: glib-introspected → g-i → glib(stage1, sin introspección),
sin ciclo. Clave: declara glib(stage1) en deps para hidratar libglib-2.0.so.0 y que
g-ir-scanner (que _giscanner.so dlopea) CORRA al configure (hammer hidrata deps
DIRECTAS, no transitivas — diagnosticado con una sonda musl).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 05:21:58 -04:00
co-authored by Claude Opus 4.8
parent 5296e91498
commit ade217cf06
2 changed files with 54 additions and 0 deletions
@@ -0,0 +1,27 @@
# glib 2.88.1 — GATE TEST de la isla: glib con introspection=ENABLED (produce GLib/GObject/Gio.typelib
# usando g-ir-scanner+compiler sobre GLib misma). Es el test definitivo del keystone: si sella,
# g-ir-compiler sirve para los typelibs CORE bajo musl (el SIGSEGV era sólo los .gir X11); si revienta,
# el tool está roto. Rompe el ciclo glib↔g-i: deps la g-i YA sellada (que usa la glib-stage1 sin
# introspección, también sellada) ⇒ glib-introspected → g-i → glib(stage1), sin ciclo.
# Ver [[gnome-introspection-dinamica]].
name = "glib-introspected"
version = "2.88.1"
[source]
tarball = "https://download.gnome.org/sources/glib/2.88/glib-2.88.1.tar.xz"
sha256 = "51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
[build.phases]
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=both -Dtests=false -Dnls=disabled -Dlibmount=disabled -Dselinux=disabled -Dman-pages=disabled -Dintrospection=enabled -Dglib_debug=disabled -Dglib_assert=false -Dglib_checks=false"
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
# glib (stage1, sin introspección) hidrata libglib-2.0.so.0 para que g-ir-scanner (que _giscanner.so
# dlopea) CORRA al configure. hammer hidrata deps DIRECTAS, no transitivas de g-i ⇒ hay que declararla.
[deps]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gobject-introspection", "glib", "libffi", "pcre2", "zlib"]
@@ -0,0 +1,27 @@
# glib 2.88.1 — GATE TEST de la isla: glib con introspection=ENABLED (produce GLib/GObject/Gio.typelib
# usando g-ir-scanner+compiler sobre GLib misma). Es el test definitivo del keystone: si sella,
# g-ir-compiler sirve para los typelibs CORE bajo musl (el SIGSEGV era sólo los .gir X11); si revienta,
# el tool está roto. Rompe el ciclo glib↔g-i: deps la g-i YA sellada (que usa la glib-stage1 sin
# introspección, también sellada) ⇒ glib-introspected → g-i → glib(stage1), sin ciclo.
# Ver [[gnome-introspection-dinamica]].
name = "glib-introspected"
version = "2.88.1"
[source]
tarball = "https://download.gnome.org/sources/glib/2.88/glib-2.88.1.tar.xz"
sha256 = "51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
[build.phases]
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=both -Dtests=false -Dnls=disabled -Dlibmount=disabled -Dselinux=disabled -Dman-pages=disabled -Dintrospection=enabled -Dglib_debug=disabled -Dglib_assert=false -Dglib_checks=false"
compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
# glib (stage1, sin introspección) hidrata libglib-2.0.so.0 para que g-ir-scanner (que _giscanner.so
# dlopea) CORRA al configure. hammer hidrata deps DIRECTAS, no transitivas de g-i ⇒ hay que declararla.
[deps]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gobject-introspection", "glib", "libffi", "pcre2", "zlib"]