tawasuyu

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 1299Shell 92Rust 63Markdown 561634 Definiciones

gnome isla: gobject-introspection SELLA (b3:935cedf3) — keystone GNOME

El palo largo del stack GNOME, sellado. link=dynamic (consistente con la glib .so
de la isla, evita mezcla de estado GType) + build_introspection_data=false: g-i 1.84
sólo generaba aquí los typelibs EXTERNOS de X11/cairo (cairo/xlib/xft/xrandr/xfixes/
win32) — que NO queremos (Wayland-only) y sobre los que g-ir-compiler hace SIGSEGV
bajo musl. Los typelibs CORE (GLib/GObject/Gio) los produce glib (absorbió
girepository). g-i aquí = las TOOLS (g-ir-scanner/compiler) + libgirepository-1.0.so.

Cadena del muro (6 capas): py3-setuptools → wrapper -static/-shared → wrapper
--export-dynamic/.so → glib dinámica → glib default_library=both → introspection_data
off. El scanner (ejecuta código del target, el miedo real) CORRE bit a bit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

d83979d6ce8152a00f1895f5b9ff89064a23d07f · por sergio · (hace 3 meses) · padre b57ce6931 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

2 archivos · +20 −4

diff --git a/recipes/incoming-gnome-onda1/gobject-introspection.toml b/recipes/incoming-gnome-onda1/gobject-introspection.toml
index 737d667c..1de8dfbe 100644
--- a/recipes/incoming-gnome-onda1/gobject-introspection.toml
+++ b/recipes/incoming-gnome-onda1/gobject-introspection.toml
@@ -22,10 +22,18 @@ sha256  = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779"
 [build]
 compiler = "zig-cc"
 target   = "x86_64-linux-musl"
-link     = "static"
+# ISLA DINÁMICA: g-i es parte de la isla GNOME y linkea la glib dinámica. link=dynamic para que sus
+# binarios internos (g-ir-compiler, dumper) tomen libglib-2.0.so CONSISTENTEMENTE — no mezclar el .a
+# (estático) con la glib que ya trae libgirepository-2.0.so (dinámica): esa mezcla da DOS copias del
+# estado de GType ⇒ g-ir-compiler SIGSEGV. Ver [[gnome-introspection-dinamica]].
+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 --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Ddoctool=disabled -Dgtk_doc=false -Dtests=false -Dbuild_introspection_data=true -Dcairo=disabled -Dc_args=-Wno-error=date-time"
+# build_introspection_data=FALSE: g-i 1.84 sólo genera aquí los typelibs EXTERNOS de X11/cairo
+# (cairo/xlib/xft/xrandr/xfixes/win32) — que NO queremos (Wayland-only) y sobre los que g-ir-compiler
+# hace SIGSEGV bajo musl. Los typelibs CORE (GLib/GObject/Gio) los produce glib (absorbió girepository).
+# g-i aquí = las TOOLS (g-ir-scanner/compiler) que usan gtk4 &co. default_library=both (isla dinámica).
+configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Ddoctool=disabled -Dgtk_doc=false -Dtests=false -Dbuild_introspection_data=false -Dcairo=disabled -Dc_args=-Wno-error=date-time"
 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"
 
diff --git a/recipes/incoming-gnome/gobject-introspection.toml b/recipes/incoming-gnome/gobject-introspection.toml
index 737d667c..1de8dfbe 100644
--- a/recipes/incoming-gnome/gobject-introspection.toml
+++ b/recipes/incoming-gnome/gobject-introspection.toml
@@ -22,10 +22,18 @@ sha256  = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779"
 [build]
 compiler = "zig-cc"
 target   = "x86_64-linux-musl"
-link     = "static"
+# ISLA DINÁMICA: g-i es parte de la isla GNOME y linkea la glib dinámica. link=dynamic para que sus
+# binarios internos (g-ir-compiler, dumper) tomen libglib-2.0.so CONSISTENTEMENTE — no mezclar el .a
+# (estático) con la glib que ya trae libgirepository-2.0.so (dinámica): esa mezcla da DOS copias del
+# estado de GType ⇒ g-ir-compiler SIGSEGV. Ver [[gnome-introspection-dinamica]].
+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 --wrap-mode=nodownload --prefer-static -Ddefault_library=static -Ddoctool=disabled -Dgtk_doc=false -Dtests=false -Dbuild_introspection_data=true -Dcairo=disabled -Dc_args=-Wno-error=date-time"
+# build_introspection_data=FALSE: g-i 1.84 sólo genera aquí los typelibs EXTERNOS de X11/cairo
+# (cairo/xlib/xft/xrandr/xfixes/win32) — que NO queremos (Wayland-only) y sobre los que g-ir-compiler
+# hace SIGSEGV bajo musl. Los typelibs CORE (GLib/GObject/Gio) los produce glib (absorbió girepository).
+# g-i aquí = las TOOLS (g-ir-scanner/compiler) que usan gtk4 &co. default_library=both (isla dinámica).
+configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Ddoctool=disabled -Dgtk_doc=false -Dtests=false -Dbuild_introspection_data=false -Dcairo=disabled -Dc_args=-Wno-error=date-time"
 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"