Files
hammer/recipes/markupsafe.toml
T
sergioandClaude Opus 4.8 0b3646d204 Etapa G: prerequisitos de Mesa — mako/markupsafe + PIC en libs base C
Mesa necesita el codegen Python `mako` (dispatch GL/GLES, formatos) y éste importa
`markupsafe` a nivel de módulo. Ambos como módulos Python puros (igual que meson):
se copia el paquete a site-packages de python3.12, sin pip/wheel. markupsafe cae a
su backend `_native` (sin compilar la extensión C `_speedups`). Verificado import +
render de Template.

PIC en libs base C (zlib, zstd, expat; libffi ya en el commit anterior): el .a estático
lleva objetos PIC para poder enlazarse DENTRO de bibliotecas compartidas — Mesa liga
libz/libzstd/libexpat/libffi en sus .so y sin PIC falla con
«R_X86_64_PC32 ... recompile with -fPIC». PIC es superset (sigue sirviendo para enlace
estático de exes/toolchain); la invalidación de caché de los dependientes es perezosa y
produce artefactos equivalentes. Mismo patrón aplicado y verificado con libffi→wayland.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 01:05:25 -04:00

30 lines
1006 B
TOML

# markupsafe 3.0.3 — dep de Mako (que a su vez es codegen de Mesa). Trae un speedup en C
# (`_speedups`) PERO `__init__` cae a `_native` (Python puro) si no está compilado ⇒ lo instalamos
# como módulo Python puro (sin compilar la extensión), igual que `meson`. site-packages de
# python3.12. python3 es dep de runtime.
name = "markupsafe"
version = "3.0.3"
[source]
tarball = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz"
sha256 = "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698"
[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 src/markupsafe "$SP/markupsafe"
# sin la extensión C: borrá fuentes que no sirven en runtime (cae a _native).
rm -f "$SP/markupsafe/_speedups.c" "$SP/markupsafe/_speedups.pyi"
'''
[deps]
runtime = ["python3"]