tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1299Shell 92Rust 63Markdown 561634 Sutichaykuna

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>

c2ea7cd884e78af4bc7d48216be0218f69848060 · ruwaq sergio · (2 killa ñawpaq) · tayta 9c9a8a800 · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

8 qillqakuna · +14 −8

diff --git a/recipes/incoming-gnome-onda2/gdk-pixbuf.toml b/recipes/incoming-gnome-onda2/gdk-pixbuf.toml
index 0ad086a8..dcb00958 100644
--- a/recipes/incoming-gnome-onda2/gdk-pixbuf.toml
+++ b/recipes/incoming-gnome-onda2/gdk-pixbuf.toml
@@ -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"]
diff --git a/recipes/incoming-gnome-onda2/graphene.toml b/recipes/incoming-gnome-onda2/graphene.toml
index 1348035f..0fd8e350 100644
--- a/recipes/incoming-gnome-onda2/graphene.toml
+++ b/recipes/incoming-gnome-onda2/graphene.toml
@@ -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"]
diff --git a/recipes/incoming-gnome-onda2/gtk4.toml b/recipes/incoming-gnome-onda2/gtk4.toml
index 6ca9294a..a7cb25f9 100644
--- a/recipes/incoming-gnome-onda2/gtk4.toml
+++ b/recipes/incoming-gnome-onda2/gtk4.toml
@@ -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"]
diff --git a/recipes/incoming-gnome-onda2/pango.toml b/recipes/incoming-gnome-onda2/pango.toml
index 75ea5889..92458f28 100644
--- a/recipes/incoming-gnome-onda2/pango.toml
+++ b/recipes/incoming-gnome-onda2/pango.toml
@@ -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"]
diff --git a/recipes/incoming-gnome/gdk-pixbuf.toml b/recipes/incoming-gnome/gdk-pixbuf.toml
index 0ad086a8..dcb00958 100644
--- a/recipes/incoming-gnome/gdk-pixbuf.toml
+++ b/recipes/incoming-gnome/gdk-pixbuf.toml
@@ -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"]
diff --git a/recipes/incoming-gnome/graphene.toml b/recipes/incoming-gnome/graphene.toml
index 1348035f..0fd8e350 100644
--- a/recipes/incoming-gnome/graphene.toml
+++ b/recipes/incoming-gnome/graphene.toml
@@ -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"]
diff --git a/recipes/incoming-gnome/gtk4.toml b/recipes/incoming-gnome/gtk4.toml
index 6ca9294a..a7cb25f9 100644
--- a/recipes/incoming-gnome/gtk4.toml
+++ b/recipes/incoming-gnome/gtk4.toml
@@ -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"]
diff --git a/recipes/incoming-gnome/pango.toml b/recipes/incoming-gnome/pango.toml
index 75ea5889..92458f28 100644
--- a/recipes/incoming-gnome/pango.toml
+++ b/recipes/incoming-gnome/pango.toml
@@ -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"]