# graphene 1.10.8 — VARIANTE ISLA DINÁMICA (SHADOW de recipes/graphene.toml estática).
# Tipos/álgebra de vectores y matrices (GTK4/GSK). La isla GNOME la necesita como .so real CON
# typelib: gtk4 declara Graphene-1.0 en su introspección (Gsk expone tipos graphene) ⇒ el scan de
# gtk4 tiene que resolver Graphene-1.0.typelib + libgraphene-1.0.so. Ver [[gnome-introspection-dinamica]].
#
# vs corpus: link=dynamic (no static), default_library=both (.a p/ consumidores estáticos internos +
# .so p/ el scanner/gjs), introspection=ENABLED (produce el typelib). SIN --prefer-static (queremos el
# .so). Sombrea la corpus SÓLO para la cola GNOME (resolver hermano→padre); el resto del árbol sigue
# con la estática.
name    = "graphene"
version = "1.10.8"
license = "MIT"

[source]
tarball = "https://download.gnome.org/sources/graphene/1.10/graphene-1.10.8.tar.xz"
sha256  = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"

[build]
compiler = "zig-cc"
target   = "x86_64-linux-musl"
link     = "dynamic"

[build.phases]
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=both -Dtests=false -Dinstalled_tests=false -Dgtk_doc=false -Dintrospection=enabled"
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"

# 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", "py3-setuptools", "pkgconf", "glib", "glib-introspected", "gobject-introspection", "libffi", "pcre2", "zlib"]
