154 y no 155 pese a que Zen sigue 155.0.1 y Waterfox también va por release: los
parches de musl de Alpine son para 154.0, y son ONCE. Ese es el trabajo de
portabilidad que un import de nix pierde y sin el cual Firefox no compila contra
musl. Un Firefox que compila con el set probado vale más que uno con el número
correcto que no compila; y como Firefox se mueve cada 4 semanas, la paridad exacta
con Zen es una cinta de correr. Lo que se reutiliza entre los tres es la
PLATAFORMA (gtk3/nodejs/clang18/cbindgen, ya en el corpus) y este set de parches.
Subir a 155 después es un rebase, no un port.
Se traen los 11 de musl y NO los de ppc64le, loongarch ni Android: cada parche que
no hace falta es una forma más de que un rebase falle sin motivo.
TODO BUNDLEADO salvo GTK3. Alpine usa --with-system-{icu,nspr,nss,av1,libvpx,
webp,libevent} y de ésas el corpus tiene cero; Firefox las trae en el árbol.
Menos piezas móviles para el primer build, que es cuando conviene minimizar
variables.
SIN BRANDING OFICIAL, y no es descuido: el binario lleva once parches, y poner el
nombre y el logo de Firefox sobre un build modificado entra en la política de
marcas de Mozilla — es la historia de Iceweasel en Debian. Misma cautela que
dejavu-fonts-nerd con la licencia de Bitstream Vera: una fuente modificada no
puede llamarse como la original, y un navegador parcheado tampoco.
HERMÉTICO: --disable-bootstrap (su trabajo es descargar toolchains),
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system (si no, mach arma un virtualenv con
pip y sale a la red) y MOZBUILD_STATE_PATH al árbol (por defecto escribe en $HOME,
que en el sandbox no es suyo). Los crates vienen vendorizados en el tarball.
Wayland-only heredado de gtk3 (-Dx11_backend=false) ⇒ este Firefox NO correrá como
cliente X11 ni bajo Xwayland. Escrito en las dos recetas.
32 lines
913 B
Diff
32 lines
913 B
Diff
Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's
|
|
weird custom build system...
|
|
|
|
--- a/build/moz.configure/rust.configure
|
|
+++ b/build/moz.configure/rust.configure
|
|
@@ -225,7 +225,9 @@
|
|
data.setdefault(key, []).append(namespace(rust_target=t, target=info))
|
|
return data
|
|
|
|
-
|
|
+@imports('os')
|
|
+@imports(_from='mozbuild.util', _import='ensure_unicode')
|
|
+@imports(_from='mozbuild.util', _import='system_encoding')
|
|
def detect_rustc_target(
|
|
host_or_target, compiler_info, arm_target, rust_supported_targets
|
|
):
|
|
@@ -340,13 +342,13 @@
|
|
|
|
return None
|
|
|
|
- rustc_target = find_candidate(candidates)
|
|
+ rustc_target = os.environ['RUST_TARGET']
|
|
|
|
if rustc_target is None:
|
|
die("Don't know how to translate {} for rustc".format(host_or_target.alias))
|
|
|
|
- return rustc_target
|
|
+ return ensure_unicode(rustc_target, system_encoding)
|
|
|
|
|
|
@imports('os')
|