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
1021 B
Diff
36 lines
1021 B
Diff
widevine is linked against glibc and needs gcompat to work. Load the
|
|
libraries before the sandbox is started.
|
|
|
|
--- a/dom/media/gmp/GMPChild.cpp
|
|
+++ b/dom/media/gmp/GMPChild.cpp
|
|
@@ -208,6 +208,10 @@
|
|
"libdl.so.2",
|
|
"libpthread.so.0",
|
|
"librt.so.1",
|
|
+ "libgcompat.so.0",
|
|
+ "ld-linux-x86-64.so.2",
|
|
+ "ld-linux-aarch64.so.1",
|
|
+ "ld-linux.so.2",
|
|
};
|
|
|
|
nsTArray<nsCString> libs;
|
|
--- a/dom/media/gmp/GMPParent.cpp
|
|
+++ b/dom/media/gmp/GMPParent.cpp
|
|
@@ -1206,6 +1206,16 @@
|
|
// psapi.dll added for GetMappedFileNameW, which could possibly be avoided
|
|
// in future versions, see bug 1383611 for details.
|
|
mLibs = "dxva2.dll, ole32.dll, psapi.dll, shell32.dll, winmm.dll"_ns;
|
|
+#elif XP_LINUX
|
|
+ mLibs = "libgcompat.so.0"_ns
|
|
+#if defined(__x86_64__)
|
|
+ ", ld-linux-x86-64.so.2"_ns
|
|
+#elif defined(__aarch64__)
|
|
+ ", ld-linux-aarch64.so.1"_ns
|
|
+#elif defined(__i386__)
|
|
+ ", ld-linux.so.2"_ns
|
|
+#endif
|
|
+ ;
|
|
#endif
|
|
break;
|
|
#ifdef MOZ_WMF_CDM
|