# 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" # licencia: los .gir foráneos no traen cabecera propia (verificado en gir/fontconfig-2.0.gir del tarball), así que rige el COPYING de gobject-introspection: girepository/ es LGPLv2+ y «the remaining code … consists of a mix of GPLv2+, LGPLv2+ and MIT» license = "GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT" [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" # cairo-1.0.gir NO está en gir/ como .gir sino como .gir.in (g-i lo genera con configure_file # sustituyendo @CAIRO_GIR_PACKAGE@=cairo-gobject y @CAIRO_SHARED_LIBRARY@=libcairo-gobject.so.2). # Reproduzco la sustitución con sed (pango/PangoCairo lo referencian por --include=cairo-1.0). install = "mkdir -p /out/usr/share/gir-1.0 && cp gir/*.gir /out/usr/share/gir-1.0/ && sed -e 's/@CAIRO_GIR_PACKAGE@/cairo-gobject/g' -e 's/@CAIRO_SHARED_LIBRARY@/libcairo-gobject.so.2/g' gir/cairo-1.0.gir.in > /out/usr/share/gir-1.0/cairo-1.0.gir && ls /out/usr/share/gir-1.0/" [deps] build = []