From ade217cf06fb604ee169736c9dd927592d04736c Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 25 Jul 2026 05:21:58 -0400 Subject: [PATCH] =?UTF-8?q?gnome=20isla:=20glib-introspected=20SELLA=20(b3?= =?UTF-8?q?:c12cb9fa)=20=E2=80=94=20typelibs=20CORE=20=E2=9C=93=20GATE=20P?= =?UTF-8?q?ASS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../glib-introspected.toml | 27 +++++++++++++++++++ recipes/incoming-gnome/glib-introspected.toml | 27 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 recipes/incoming-gnome-onda1/glib-introspected.toml create mode 100644 recipes/incoming-gnome/glib-introspected.toml diff --git a/recipes/incoming-gnome-onda1/glib-introspected.toml b/recipes/incoming-gnome-onda1/glib-introspected.toml new file mode 100644 index 00000000..df027c31 --- /dev/null +++ b/recipes/incoming-gnome-onda1/glib-introspected.toml @@ -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"] diff --git a/recipes/incoming-gnome/glib-introspected.toml b/recipes/incoming-gnome/glib-introspected.toml new file mode 100644 index 00000000..df027c31 --- /dev/null +++ b/recipes/incoming-gnome/glib-introspected.toml @@ -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"]