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.
36 lines
1.3 KiB
Diff
36 lines
1.3 KiB
Diff
force stat() instead of stat64() on 32-bit
|
|
--
|
|
--- a/xpcom/io/nsLocalFileUnix.h
|
|
+++ b/xpcom/io/nsLocalFileUnix.h
|
|
@@ -21,7 +21,7 @@
|
|
|
|
// stat64 and lstat64 are deprecated on OS X. Normal stat and lstat are
|
|
// 64-bit by default on OS X 10.6+.
|
|
-#if defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
|
|
+#if 0 && defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
|
|
# define STAT stat64
|
|
# define LSTAT lstat64
|
|
# define HAVE_STATS64 1
|
|
--- a/mozglue/baseprofiler/core/shared-libraries-linux.cc
|
|
+++ b/mozglue/baseprofiler/core/shared-libraries-linux.cc
|
|
@@ -178,7 +178,7 @@
|
|
return false;
|
|
}
|
|
|
|
-#if defined(__x86_64__) || defined(__aarch64__) || \
|
|
+#if 1 || defined(__x86_64__) || defined(__aarch64__) || \
|
|
(defined(__mips__) && _MIPS_SIM == _ABI64) || \
|
|
!(defined(GP_OS_linux) || defined(GP_OS_android))
|
|
|
|
--- a/security/sandbox/linux/broker/SandboxBrokerUtils.h
|
|
+++ b/security/sandbox/linux/broker/SandboxBrokerUtils.h
|
|
@@ -15,7 +15,7 @@
|
|
// calls. We'll intercept those and handle them in the stat functions
|
|
// but must be sure to use the right structure layout.
|
|
|
|
-#if defined(__NR_stat64) || defined(__NR_fstatat64)
|
|
+#if 0 && (defined(__NR_stat64) || defined(__NR_fstatat64) )
|
|
typedef struct stat64 statstruct;
|
|
# define statsyscall stat64
|
|
# define lstatsyscall lstat64
|