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).
40 lines
1.7 KiB
TOML
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"]
|