Files
hammer/recipes/python3.toml
T
sergioandClaude Opus 4.8 2e1bc498b5 selfhost-verify: recipes cmake + python3 desde fuente (frente rust) — BORRADOR
Dependencias de build que rustc usa para construir su LLVM bundled (mrustc
README: cmake ≥3.4.3 + python3). De-Alpinizan el camino de bootstrap de rust;
hoy satisfechas por apk de arranque.

  - cmake 3.31.6: build vía ./bootstrap (zig cc/c++), enlace dinámico, OpenSSL OFF.
  - python3 3.12.10: ./configure autotools (zig cc), deps.build=[zlib],
    --without-ensurepip --disable-test-modules, enlace dinámico.

NOTA: ambos están EN VALIDACIÓN — sus builds estaban en fase `configure` (sin
errores, zig cc aceptado) al commitear, todavía NO sellados en store. Si la
compilación/instalación falla, requerirán ajuste en un commit de seguimiento.
zlib (f3ddad6) sí está validado y sellado.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:45:41 -04:00

34 lines
1.4 KiB
TOML

# CPython 3.12.10 — dependencia de build del frente rust (variante b, SDD 11 §7.2b).
#
# El bootstrap de rust/LLVM corre scripts python3 (mrustc README: "python3, required for building llvm
# in rustc"). El toolchain Alpine lo trae como paquete; esta receta lo construye desde fuente para
# de-Alpinizar el camino de bootstrap de rust.
#
# python3 es una HERRAMIENTA del toolchain (corre scripts en build-time, no se enlaza en el 4/4): no
# necesita casar byte-a-byte con el de Alpine, sólo interpretar igual. Build vainilla, sin patches.
#
# CPython usa autotools (./configure). zlib viene de recipes/zlib.toml (deps.build → materialize en
# /usr); --without-ensurepip evita la red (pip), --disable-test-modules acorta el build (no se necesita
# el test-suite). Enlace dinámico: el intérprete linkea libpython/libc; estático no aporta a una
# herramienta de build-time y CPython estático es frágil. El sandbox exporta CC="zig cc -mcpu=baseline".
name = "python3"
version = "3.12.10"
[source]
tarball = "https://www.python.org/ftp/python/3.12.10/Python-3.12.10.tgz"
sha256 = "15d9c623abfd2165fe816ea1fb385d6ed8cf3c664661ab357f1782e3036a6dac"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "dynamic"
[deps]
build = ["zlib"]
[build.phases]
configure = "./configure --prefix=/usr --without-ensurepip --disable-test-modules --with-ensurepip=no"
compile = "make -j\"$(nproc)\""
install = "make install DESTDIR=/out"