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>
29 lines
935 B
Bash
Executable File
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 "$@"
|