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"