diff --git a/recipes/firefox.toml b/recipes/firefox.toml index 5431e703..216af9f3 100644 --- a/recipes/firefox.toml +++ b/recipes/firefox.toml @@ -127,6 +127,15 @@ configure = ''' export MOZBUILD_STATE_PATH="$PWD/.mozbuild" export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system export MOZ_NOSPAM=1 +# ── RUST_TARGET: lo EXIGE el parche de Alpine, no Firefox ───────────────────────────────────── +# `fix-rust-target.patch` REEMPLAZA la autodetección del triple de Rust por un +# `os.environ['RUST_TARGET']` pelado. Sin la variable, configure muere con +# `KeyError: 'RUST_TARGET'` — que se lee como un bug de Firefox y es en realidad el contrato del +# parche: el APKBUILD de Alpine lo exporta como `$CTARGET` y acá hay que hacer lo propio. +# El valor NO se adivina: sale de `ls .dev-fs/alpine/usr/lib/rustlib/` en el lab, que es +# `x86_64-alpine-linux-musl` — el rustc del sandbox es el de Alpine, no el del host (el del host es +# `x86_64-unknown-linux-gnu` y usarlo produciría un cross-compile silencioso). +export RUST_TARGET=x86_64-alpine-linux-musl cat > .mozconfig <<'MOZ' ac_add_options --prefix=/usr ac_add_options --enable-application=browser @@ -161,6 +170,7 @@ MOZ # del host (medido en el LXC: 186 GiB en vez de 16), así que en un contenedor esta cuenta se degrada # a `nproc`. Es un tope, no una garantía. compile = ''' +export RUST_TARGET=x86_64-alpine-linux-musl # ver la nota en la fase configure export MOZBUILD_STATE_PATH="$PWD/.mozbuild" export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system export MOZ_NOSPAM=1 @@ -171,6 +181,7 @@ echo "mach build -j$j (MemTotal ${gib} GiB, nproc $n)" ./mach build -j"$j" ''' install = ''' +export RUST_TARGET=x86_64-alpine-linux-musl # ver la nota en la fase configure export MOZBUILD_STATE_PATH="$PWD/.mozbuild" export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system DESTDIR=/out ./mach install