Files
takana/recipes/glad.toml
T
Sergio ecc6166dfe jinja2 3.1.6 + glad 2.0.8: el generador del loader GL que libplacebo trae como submódulo
libplacebo genera su `gl.h` con `python -m glad`, y glad le llega a upstream como submódulo git
(`3rdparty/glad`). El `[source]` de hammer no clona submódulos —sólo repo+commit o
tarball+sha256— así que glad entra como receta propia desde PyPI, que además pinea por sha256.
Es lo mismo que hace Alpine con `py3-glad` como makedepend.

Python puro las dos, mismo molde que `mako`/`markupsafe`: se copia el paquete a site-packages,
sin pip ni wheel. jinja2 es dep de runtime de glad; markupsafe ya estaba en el corpus.

El sdist de glad trae los XML de Khronos adentro ⇒ el generador no sale a la red, que es lo que
lo hace usable dentro del sandbox hermético.

Selladas: jinja2 b3:74a3aa9f (27 ficheros), glad b3:c1d773f2 (75 ficheros).
2026-09-03 03:10:00 +00:00

40 lines
1.7 KiB
TOML

# glad 2.0.8 (paquete PyPI `glad2`, módulo `glad`) — generador de loaders GL/GLES/EGL/Vulkan.
# Herramienta de BUILD de `libplacebo`: su `src/opengl/include/glad/meson.build` corre
# `python -m glad … --api=gl:core,gles2,egl --header-only --mx` y genera el `gl.h` que compila el
# backend de OpenGL. Sin glad, libplacebo sólo construye con `-Dopengl=disabled` y `mpv` se queda
# sin `vo=gpu-next`.
#
# POR QUÉ ES UNA RECETA Y NO UN SUBMÓDULO. libplacebo trae glad como submódulo git
# (`3rdparty/glad`), y el `[source]` de hammer NO clona submódulos: `Source` sólo entiende
# repo+commit o tarball+sha256. Alpine resuelve lo mismo con `py3-glad` como makedepend, así que
# acá va igual — y de paso el pin queda por sha256 de PyPI, que es más firme que un submódulo.
# El `python_env` de libplacebo hace `append` sobre el PYTHONPATH heredado, no lo reemplaza, así
# que apuntar `PYTHONPATH=/usr/lib/python3.12/site-packages` en la fase alcanza para que lo vea.
#
# Python PURO. El sdist trae los XML de Khronos ya adentro (`glad/files/{gl,egl,vk}.xml`) ⇒ el
# generador NO sale a la red, que es lo que lo hace utilizable en el sandbox hermético.
name = "glad"
version = "2.0.8"
license = "MIT"
[source]
tarball = "https://files.pythonhosted.org/packages/6e/5a/d62b24fe1c7c2f34e15c2aa4418a5327a8550fdc272999a59e0dddebc3ee/glad2-2.0.8.tar.gz"
sha256 = "b84079b9fa404f37171b961bdd1d8da21370e6c818defb8481c5b3fe3d6436da"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
[build.phases]
compile = "true"
install = '''
set -e
SP=/out/usr/lib/python3.12/site-packages
mkdir -p "$SP"
cp -r glad "$SP/glad"
'''
[deps]
build = ["python3", "jinja2", "markupsafe"]