Files
takana/scripts/rust-frontier/run-xpy.sh
T
sergioandClaude Opus 4.8 0725bf3453 selfhost-verify: artefactos del climb rust 1.90→1.91 (bootstrap.toml + run-xpy.sh)
Frente rust, fase climb: la toolchain mrustc-bootstrapped 1.90.0 (host musl) ya
sirve de stage0 para construir rust 1.91.0 con el bootstrap real (x.py).

- bootstrap.toml: build/host/target=x86_64-unknown-linux-musl, stage0 rustc/cargo
  = prefix run_rustc 1.90.0 host-musl, LLVM 20.1.8 reusado vía llvm-config (pasa
  el gate >=19, sin rebuild de LLVM), crt-static=false (link dinámico contra el
  musl del devfs, como Alpine y la toolchain de run_rustc), rpath=true.
- run-xpy.sh: corre x.py en el sandbox devfs (bind /src, /out, /mrustc) para que
  resuelvan los paths de stage0 + llvm-config del bootstrap.toml.
- README: documenta ambos.

dry-run de x.py VALIDADO (stage0 pasa el version-check minor+1, LLVM hallado,
target ok). Build stage-2 de 1.91.0 EN MARCHA en background.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 09:08:07 -04:00

29 lines
935 B
Bash
Executable File

#!/bin/sh
# Run rust's x.py inside the Alpine devfs sandbox (musl, 256-TLS loader, gcc),
# pointed at the mrustc-bootstrapped stage0. Hermetic: vendored deps, external LLVM.
# Usage: run-xpy.sh <SRCDIR> <PREFIXDIR> -- <x.py args...>
# SRCDIR : host path to the rust source tree (mounted at /src)
# PREFIXDIR : host path for the install prefix (mounted at /out)
set -eu
ROOT=/home/sergio/hammer
DEVFS=$ROOT/.dev-fs/alpine
MRUSTC=$ROOT/.scratch/mrustc
SRC=${1:?src dir required}; shift
PREFIX=${1:?prefix dir required}; shift
[ "${1:-}" = "--" ] && shift
exec bwrap \
--bind "$DEVFS" / \
--bind "$MRUSTC" /mrustc \
--bind "$SRC" /src \
--bind "$PREFIX" /out \
--dev /dev --proc /proc \
--tmpfs /tmp --tmpfs /run \
--setenv PATH /usr/bin:/bin:/usr/sbin:/sbin \
--setenv HOME /root \
--setenv TMPDIR /tmp \
--setenv CC gcc --setenv CXX g++ \
--setenv RUST_BACKTRACE 1 \
--chdir /src \
python3 x.py "$@"