gnome onda 2: py3-setuptools en las 4 islas GUI (fix distutils de g-ir-scanner)

Primer ciclo del worker: los 5 targets fallaron, 3 muros distintos:
- graphene: compiló+linkeó .so/.a, murió SÓLO en g-ir-scanner con
  'ModuleNotFoundError: distutils' (Python 3.12 lo removió). Faltaba declarar
  py3-setuptools (el shim de setuptools), como ya hacían los keystones. FIX aquí.
- pango/gtk4: fallan en meson setup 'cairo-ft does not have required FontConfig
  support' — la DEUDA DE ALCANCE cobrándose: sin --prefer-static, pkg-config no
  resuelve las deps estáticas transitivas de cairo. --prefer-static NO sirve
  (embebería glib en pango.so → doble GType → SIGSEGV del keystone). Fix real =
  escalar el cierre C (cairo/fontconfig/freetype/harfbuzz) a islas dinámicas.
  PENDIENTE (pase grande). py3-setuptools agregado igual (lo necesitarán luego).
- spidermonkey: 'No module named _ctypes' (python3 del rootfs worker sin _ctypes,
  skew). No se reconstruye: se SIEMBRA la sellada del laptop (1.3G) ⇒ gjs cache-hit.

Este ciclo esperado: graphene sella + gjs sella (spidermonkey sembrado).
pango/gdk-pixbuf/gtk4 esperan el cierre C dinámico.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-27 12:29:37 -04:00
co-authored by Claude Opus 4.8
parent 9c9a8a8003
commit c2ea7cd884
8 changed files with 14 additions and 8 deletions
+1 -1
View File
@@ -23,4 +23,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla) + glib-introspected (GObject-2.0.gir) + gobject-introspection (tools) + libpng (loader PNG).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libpng", "libffi", "pcre2", "zlib"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libpng", "libffi", "pcre2", "zlib"]
+4 -1
View File
@@ -26,5 +26,8 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla dinámica) + glib-introspected (GObject-2.0.gir que referencia el typelib) +
# gobject-introspection (g-ir-scanner/compiler). Graphene-1.0 referencia GObject ⇒ necesita el .gir CORE.
# py3-setuptools: g-ir-scanner (giscanner/utils.py) hace `import distutils`, que Python 3.12 ya NO trae;
# py3-setuptools instala el shim de setuptools + el .pth que lo activa. Sin él: ModuleNotFoundError:
# distutils al generar el .gir (mismo requisito que los keystones glib-introspected/g-i).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libffi", "pcre2", "zlib"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libffi", "pcre2", "zlib"]
+1 -1
View File
@@ -33,4 +33,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib-introspected + gobject-introspection = la maquinaria de typelibs. pango/gdk-pixbuf/graphene =
# ISLAS (shadow) con sus typelibs. El resto = cierre C estático del corpus (wayland/mesa/libdrm/etc.).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "pango", "gdk-pixbuf", "graphene", "libepoxy", "wayland", "wayland-protocols", "libxkbcommon", "libdrm", "fontconfig", "harfbuzz", "fribidi", "libpng", "pixman", "freetype", "expat", "libffi", "pcre2", "zlib", "libjpeg-turbo", "libtiff", "mesa"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "pango", "gdk-pixbuf", "graphene", "libepoxy", "wayland", "wayland-protocols", "libxkbcommon", "libdrm", "fontconfig", "harfbuzz", "fribidi", "libpng", "pixman", "freetype", "expat", "libffi", "pcre2", "zlib", "libjpeg-turbo", "libtiff", "mesa"]
+1 -1
View File
@@ -29,4 +29,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla) + glib-introspected (GObject-2.0.gir) + gobject-introspection (tools). El resto = cierre .pc
# estático del corpus (cairo/harfbuzz/fribidi/freetype/fontconfig/pixman/libpng/expat).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "harfbuzz", "fribidi", "freetype", "fontconfig", "pixman", "libpng", "expat", "libffi", "pcre2", "zlib"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "harfbuzz", "fribidi", "freetype", "fontconfig", "pixman", "libpng", "expat", "libffi", "pcre2", "zlib"]
+1 -1
View File
@@ -23,4 +23,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla) + glib-introspected (GObject-2.0.gir) + gobject-introspection (tools) + libpng (loader PNG).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libpng", "libffi", "pcre2", "zlib"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libpng", "libffi", "pcre2", "zlib"]
+4 -1
View File
@@ -26,5 +26,8 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla dinámica) + glib-introspected (GObject-2.0.gir que referencia el typelib) +
# gobject-introspection (g-ir-scanner/compiler). Graphene-1.0 referencia GObject ⇒ necesita el .gir CORE.
# py3-setuptools: g-ir-scanner (giscanner/utils.py) hace `import distutils`, que Python 3.12 ya NO trae;
# py3-setuptools instala el shim de setuptools + el .pth que lo activa. Sin él: ModuleNotFoundError:
# distutils al generar el .gir (mismo requisito que los keystones glib-introspected/g-i).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libffi", "pcre2", "zlib"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libffi", "pcre2", "zlib"]
+1 -1
View File
@@ -33,4 +33,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib-introspected + gobject-introspection = la maquinaria de typelibs. pango/gdk-pixbuf/graphene =
# ISLAS (shadow) con sus typelibs. El resto = cierre C estático del corpus (wayland/mesa/libdrm/etc.).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "pango", "gdk-pixbuf", "graphene", "libepoxy", "wayland", "wayland-protocols", "libxkbcommon", "libdrm", "fontconfig", "harfbuzz", "fribidi", "libpng", "pixman", "freetype", "expat", "libffi", "pcre2", "zlib", "libjpeg-turbo", "libtiff", "mesa"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "pango", "gdk-pixbuf", "graphene", "libepoxy", "wayland", "wayland-protocols", "libxkbcommon", "libdrm", "fontconfig", "harfbuzz", "fribidi", "libpng", "pixman", "freetype", "expat", "libffi", "pcre2", "zlib", "libjpeg-turbo", "libtiff", "mesa"]
+1 -1
View File
@@ -29,4 +29,4 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins
# glib(isla) + glib-introspected (GObject-2.0.gir) + gobject-introspection (tools). El resto = cierre .pc
# estático del corpus (cairo/harfbuzz/fribidi/freetype/fontconfig/pixman/libpng/expat).
[deps]
build = ["meson", "samurai", "python3", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "harfbuzz", "fribidi", "freetype", "fontconfig", "pixman", "libpng", "expat", "libffi", "pcre2", "zlib"]
build = ["meson", "samurai", "python3", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "cairo", "harfbuzz", "fribidi", "freetype", "fontconfig", "pixman", "libpng", "expat", "libffi", "pcre2", "zlib"]