gnome onda 2: gi-foreign-girs instala los .gir foráneos (freetype2/cairo/…)
harfbuzz falló 'Couldn't find freetype2-2.0.gir'; nuestro g-i minimal (build_introspection_data=false) NO instala ningún .gir, ni los foráneos hand-written. Nuevo recipe gi-foreign-girs copia gir/*.gir del source de g-i a /usr/share/gir-1.0 (sólo XML, sin compilar ⇒ SIN cascada de re-hash de g-i). harfbuzz→freetype2-2.0, pango→cairo-1.0 lo declaran. (pango tuvo tmb la carrera ADR 0012 'Directory not empty', reintenta sola.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Semantic delta
No definition changed: this change is text, documentation or data.
6 files · +58 −4
diff --git a/recipes/incoming-gnome-onda2/gi-foreign-girs.toml b/recipes/incoming-gnome-onda2/gi-foreign-girs.toml
new file mode 100644
index 00000000..1814000f
--- /dev/null
+++ b/recipes/incoming-gnome-onda2/gi-foreign-girs.toml
@@ -0,0 +1,27 @@
+# gi-foreign-girs — instala los .gir FORÁNEOS estáticos que gobject-introspection trae hand-written en
+# su source `gir/` (cairo-1.0, freetype2-2.0, fontconfig-2.0, xft/xlib/…). Nuestro g-i se construye con
+# -Dbuild_introspection_data=false (evita el SIGSEGV de g-ir-compiler en los typelibs X11/cairo) ⇒ NO
+# instala NINGÚN .gir. Pero las islas GUI los referencian por --include al escanear: harfbuzz→freetype2-2.0,
+# pango/gjs→cairo-1.0, etc. El g-ir-scanner sólo necesita el .gir (XML) presente en /usr/share/gir-1.0
+# para resolver el --include (no compila typelib) ⇒ copiarlos basta, SIN re-hashear g-i (sin cascada).
+# Ver [[gnome-introspection-dinamica]].
+name = "gi-foreign-girs"
+version = "1.84.0"
+
+[source]
+tarball = "https://download.gnome.org/sources/gobject-introspection/1.84/gobject-introspection-1.84.0.tar.xz"
+sha256 = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+
+[build.phases]
+# Sin compilar: sólo copia los .gir estáticos del source a /usr/share/gir-1.0.
+configure = "true"
+compile = "true"
+install = "mkdir -p /out/usr/share/gir-1.0 && cp gir/*.gir /out/usr/share/gir-1.0/ && ls /out/usr/share/gir-1.0/"
+
+[deps]
+build = []
diff --git a/recipes/incoming-gnome-onda2/harfbuzz.toml b/recipes/incoming-gnome-onda2/harfbuzz.toml
index 58328607..2e6552c5 100644
--- a/recipes/incoming-gnome-onda2/harfbuzz.toml
+++ b/recipes/incoming-gnome-onda2/harfbuzz.toml
@@ -26,4 +26,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla) + glib-introspected + gobject-introspection + py3-setuptools = maquinaria de typelibs.
# freetype-shared (.so) + su cierre libpng-shared/zlib-shared. pcre2/libffi = cierre .pc de glib.
[deps]
-build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "freetype-shared", "libpng-shared", "zlib-shared", "pcre2", "libffi"]
+build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "freetype-shared", "libpng-shared", "zlib-shared", "pcre2", "libffi"]
diff --git a/recipes/incoming-gnome-onda2/pango.toml b/recipes/incoming-gnome-onda2/pango.toml
index cd6bea23..9a80bbcb 100644
--- a/recipes/incoming-gnome-onda2/pango.toml
+++ b/recipes/incoming-gnome-onda2/pango.toml
@@ -31,4 +31,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
[deps]
# Cierre C DINÁMICO (-shared): pango linkea libcairo.so/libfontconfig.so/… y la cadena resuelve por
# NEEDED (el test cairo-ft de meson deja de fallar 'FontConfig support'). pixman canónico ya es dinámico.
-build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo-shared", "harfbuzz", "fribidi", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "expat", "libffi", "pcre2", "zlib-shared"]
+build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "cairo-shared", "harfbuzz", "fribidi", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "expat", "libffi", "pcre2", "zlib-shared"]
diff --git a/recipes/incoming-gnome/gi-foreign-girs.toml b/recipes/incoming-gnome/gi-foreign-girs.toml
new file mode 100644
index 00000000..1814000f
--- /dev/null
+++ b/recipes/incoming-gnome/gi-foreign-girs.toml
@@ -0,0 +1,27 @@
+# gi-foreign-girs — instala los .gir FORÁNEOS estáticos que gobject-introspection trae hand-written en
+# su source `gir/` (cairo-1.0, freetype2-2.0, fontconfig-2.0, xft/xlib/…). Nuestro g-i se construye con
+# -Dbuild_introspection_data=false (evita el SIGSEGV de g-ir-compiler en los typelibs X11/cairo) ⇒ NO
+# instala NINGÚN .gir. Pero las islas GUI los referencian por --include al escanear: harfbuzz→freetype2-2.0,
+# pango/gjs→cairo-1.0, etc. El g-ir-scanner sólo necesita el .gir (XML) presente en /usr/share/gir-1.0
+# para resolver el --include (no compila typelib) ⇒ copiarlos basta, SIN re-hashear g-i (sin cascada).
+# Ver [[gnome-introspection-dinamica]].
+name = "gi-foreign-girs"
+version = "1.84.0"
+
+[source]
+tarball = "https://download.gnome.org/sources/gobject-introspection/1.84/gobject-introspection-1.84.0.tar.xz"
+sha256 = "945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+
+[build.phases]
+# Sin compilar: sólo copia los .gir estáticos del source a /usr/share/gir-1.0.
+configure = "true"
+compile = "true"
+install = "mkdir -p /out/usr/share/gir-1.0 && cp gir/*.gir /out/usr/share/gir-1.0/ && ls /out/usr/share/gir-1.0/"
+
+[deps]
+build = []
diff --git a/recipes/incoming-gnome/harfbuzz.toml b/recipes/incoming-gnome/harfbuzz.toml
index 58328607..2e6552c5 100644
--- a/recipes/incoming-gnome/harfbuzz.toml
+++ b/recipes/incoming-gnome/harfbuzz.toml
@@ -26,4 +26,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla) + glib-introspected + gobject-introspection + py3-setuptools = maquinaria de typelibs.
# freetype-shared (.so) + su cierre libpng-shared/zlib-shared. pcre2/libffi = cierre .pc de glib.
[deps]
-build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "freetype-shared", "libpng-shared", "zlib-shared", "pcre2", "libffi"]
+build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "freetype-shared", "libpng-shared", "zlib-shared", "pcre2", "libffi"]
diff --git a/recipes/incoming-gnome/pango.toml b/recipes/incoming-gnome/pango.toml
index cd6bea23..9a80bbcb 100644
--- a/recipes/incoming-gnome/pango.toml
+++ b/recipes/incoming-gnome/pango.toml
@@ -31,4 +31,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
[deps]
# Cierre C DINÁMICO (-shared): pango linkea libcairo.so/libfontconfig.so/… y la cadena resuelve por
# NEEDED (el test cairo-ft de meson deja de fallar 'FontConfig support'). pixman canónico ya es dinámico.
-build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo-shared", "harfbuzz", "fribidi", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "expat", "libffi", "pcre2", "zlib-shared"]
+build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "gi-foreign-girs", "glib", "glib-introspected", "gobject-introspection", "cairo-shared", "harfbuzz", "fribidi", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "expat", "libffi", "pcre2", "zlib-shared"]