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>
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user