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>
18 lines
826 B
TOML
18 lines
826 B
TOML
# zstd 1.5.7 → libzstd.a (C, Makefile). Lib FUNDACIONAL: zstd-sys está en MONTONES de crates Rust
|
|
# (compresión moderna) + cola C. De-Alpinizada: compiler=gcc, build de lib/ (no CLI), estático.
|
|
name = "zstd"
|
|
version = "1.5.7"
|
|
[source]
|
|
tarball = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
|
|
sha256 = "eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3"
|
|
[build]
|
|
compiler = "gcc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
flags = []
|
|
[build.phases]
|
|
# CFLAGS con -fPIC: el libzstd.a lleva objetos PIC ⇒ enlazable dentro de .so (Mesa liga libzstd en
|
|
# sus bibliotecas compartidas; sin PIC: «R_X86_64_PC32 ... recompile with -fPIC»). PIC es superset.
|
|
compile = 'make -C lib libzstd.a CFLAGS="-O3 -fPIC"'
|
|
install = 'make -C lib install PREFIX=/usr DESTDIR=/out'
|