diff --git a/recipes/incoming-gnome-onda2/gjs.toml b/recipes/incoming-gnome-onda2/gjs.toml index f3a4e15a..ef5b3d78 100644 --- a/recipes/incoming-gnome-onda2/gjs.toml +++ b/recipes/incoming-gnome-onda2/gjs.toml @@ -24,11 +24,13 @@ link = "dynamic" [build.phases] # -Dbsymbolic_functions=false: el linker zig/lld NO soporta -Bsymbolic-functions (meson.build:89 aborta). -# -Dcairo=disabled: gjs (dinámico) linkea cairo.a→fontconfig.a→expat, pero meson no arrastra la cadena -# transitiva estática ⇒ 'undefined symbol: XML_GetCurrentLineNumber'. Es la deuda del cierre C [[#7]]. -# Desactivado para SELLAR el hito (motor JS + introspección GjsPrivate); los bindings cairo (que -# gnome-shell necesita) vuelven cuando cairo sea isla dinámica. Ver [[gnome-introspection-dinamica]]. -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dbsymbolic_functions=false -Dcairo=disabled -Dinstalled_tests=false -Dprofiler=disabled -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dreadline=enabled -Dc_args=-Wno-error=date-time" +# cpp_link_args: cairo es dep OBLIGATORIA de gjs (no hay -Dcairo). gjs (dinámico) linkea cairo.a que +# arrastra fontconfig.a→expat, freetype→libpng/zlib, pixman — cadena estática que meson NO pone en la +# línea (sólo -lcairo) ⇒ 'undefined symbol: XML_GetCurrentLineNumber'. Las inyecto explícitas: son +# libs NO-GObject ⇒ embeberlas estáticas NO da doble-estado (a diferencia de --prefer-static con glib, +# que sí daría el SIGSEGV del keystone). Orden = cada lib resuelve símbolos de la anterior. Cuando +# cairo sea isla dinámica (cierre C, #7) esto se limpia. Ver [[gnome-introspection-dinamica]]. +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dbsymbolic_functions=false -Dcpp_link_args=-lfontconfig,-lfreetype,-lpixman-1,-lpng16,-lexpat,-lz -Dinstalled_tests=false -Dprofiler=disabled -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dreadline=enabled -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/gjs.toml b/recipes/incoming-gnome/gjs.toml index f3a4e15a..ef5b3d78 100644 --- a/recipes/incoming-gnome/gjs.toml +++ b/recipes/incoming-gnome/gjs.toml @@ -24,11 +24,13 @@ link = "dynamic" [build.phases] # -Dbsymbolic_functions=false: el linker zig/lld NO soporta -Bsymbolic-functions (meson.build:89 aborta). -# -Dcairo=disabled: gjs (dinámico) linkea cairo.a→fontconfig.a→expat, pero meson no arrastra la cadena -# transitiva estática ⇒ 'undefined symbol: XML_GetCurrentLineNumber'. Es la deuda del cierre C [[#7]]. -# Desactivado para SELLAR el hito (motor JS + introspección GjsPrivate); los bindings cairo (que -# gnome-shell necesita) vuelven cuando cairo sea isla dinámica. Ver [[gnome-introspection-dinamica]]. -configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dbsymbolic_functions=false -Dcairo=disabled -Dinstalled_tests=false -Dprofiler=disabled -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dreadline=enabled -Dc_args=-Wno-error=date-time" +# cpp_link_args: cairo es dep OBLIGATORIA de gjs (no hay -Dcairo). gjs (dinámico) linkea cairo.a que +# arrastra fontconfig.a→expat, freetype→libpng/zlib, pixman — cadena estática que meson NO pone en la +# línea (sólo -lcairo) ⇒ 'undefined symbol: XML_GetCurrentLineNumber'. Las inyecto explícitas: son +# libs NO-GObject ⇒ embeberlas estáticas NO da doble-estado (a diferencia de --prefer-static con glib, +# que sí daría el SIGSEGV del keystone). Orden = cada lib resuelve símbolos de la anterior. Cuando +# cairo sea isla dinámica (cierre C, #7) esto se limpia. Ver [[gnome-introspection-dinamica]]. +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dbsymbolic_functions=false -Dcpp_link_args=-lfontconfig,-lfreetype,-lpixman-1,-lpng16,-lexpat,-lz -Dinstalled_tests=false -Dprofiler=disabled -Dskip_dbus_tests=true -Dskip_gtk_tests=true -Dreadline=enabled -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"