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.
22 lines
709 B
Diff
22 lines
709 B
Diff
set rust crate lto to thin to not use fatlto for gkrust which fails sometimes
|
|
|
|
additionally, disable lto on riscv64 altogether
|
|
|
|
--- a/config/makefiles/rust.mk
|
|
+++ b/config/makefiles/rust.mk
|
|
@@ -91,11 +91,13 @@
|
|
ifndef rustflags_sancov
|
|
# Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
|
|
ifndef MOZ_CODE_COVERAGE
|
|
+ifeq (,$(findstring riscv64,$(RUST_TARGET)))
|
|
ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
|
|
-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
|
|
+cargo_rustc_flags += -Clto=thin
|
|
endif
|
|
# We need -Cembed-bitcode=yes for all crates when using -Clto.
|
|
RUSTFLAGS += -Cembed-bitcode=yes
|
|
+endif
|
|
endif
|
|
endif
|
|
endif
|