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.
67 lines
2.7 KiB
Diff
67 lines
2.7 KiB
Diff
From 028fe668ae12ba3c8fec833778c31f6d5b6d318b Mon Sep 17 00:00:00 2001
|
|
From: Aelin <aelin@postmarketos.org>
|
|
Date: Wed, 24 Jun 2026 17:36:25 +0200
|
|
Subject: [PATCH] time64 compile fixes
|
|
|
|
---
|
|
third_party/rust/alsa/src/pcm.rs | 6 +++---
|
|
third_party/rust/wgpu-hal/src/vulkan/adapter.rs | 5 +----
|
|
third_party/rust/zeitstempel/src/unix.rs | 10 ++--------
|
|
3 files changed, 6 insertions(+), 15 deletions(-)
|
|
|
|
diff --git a/third_party/rust/alsa/src/pcm.rs b/third_party/rust/alsa/src/pcm.rs
|
|
index 16569b7..ca3517b 100644
|
|
--- a/third_party/rust/alsa/src/pcm.rs
|
|
+++ b/third_party/rust/alsa/src/pcm.rs
|
|
@@ -1110,19 +1110,19 @@ impl Status {
|
|
fn ptr(&self) -> *mut alsa::snd_pcm_status_t { self.0.as_ptr() as *const _ as *mut alsa::snd_pcm_status_t }
|
|
|
|
pub fn get_htstamp(&self) -> timespec {
|
|
- let mut h = timespec {tv_sec: 0, tv_nsec: 0};
|
|
+ let mut h = timespec::default();
|
|
unsafe { alsa::snd_pcm_status_get_htstamp(self.ptr(), &mut h) };
|
|
h
|
|
}
|
|
|
|
pub fn get_trigger_htstamp(&self) -> timespec {
|
|
- let mut h = timespec {tv_sec: 0, tv_nsec: 0};
|
|
+ let mut h = timespec::default();
|
|
unsafe { alsa::snd_pcm_status_get_trigger_htstamp(self.ptr(), &mut h) };
|
|
h
|
|
}
|
|
|
|
pub fn get_audio_htstamp(&self) -> timespec {
|
|
- let mut h = timespec {tv_sec: 0, tv_nsec: 0};
|
|
+ let mut h = timespec::default();
|
|
unsafe { alsa::snd_pcm_status_get_audio_htstamp(self.ptr(), &mut h) };
|
|
h
|
|
}
|
|
diff --git a/third_party/rust/zeitstempel/src/unix.rs b/third_party/rust/zeitstempel/src/unix.rs
|
|
index d2db5c6..874047b 100644
|
|
--- a/third_party/rust/zeitstempel/src/unix.rs
|
|
+++ b/third_party/rust/zeitstempel/src/unix.rs
|
|
@@ -12,10 +12,7 @@ fn timespec_to_ns(ts: libc::timespec) -> u64 {
|
|
///
|
|
/// [`clock_gettime`]: https://manpages.debian.org/buster/manpages-dev/clock_gettime.3.en.html
|
|
pub fn now_including_suspend() -> u64 {
|
|
- let mut ts = libc::timespec {
|
|
- tv_sec: 0,
|
|
- tv_nsec: 0,
|
|
- };
|
|
+ let mut ts = libc::timespec::default();
|
|
unsafe {
|
|
libc::clock_gettime(libc::CLOCK_BOOTTIME, &mut ts);
|
|
}
|
|
@@ -32,10 +29,7 @@ pub fn now_including_suspend() -> u64 {
|
|
/// [`clock_gettime`]: https://manpages.debian.org/buster/manpages-dev/clock_gettime.3.en.html
|
|
/// [`FreeBSD clock_gettime`]: https://man.freebsd.org/cgi/man.cgi?query=clock_gettime&manpath=FreeBSD+15.0-RELEASE
|
|
pub fn now_awake() -> u64 {
|
|
- let mut ts = libc::timespec {
|
|
- tv_sec: 0,
|
|
- tv_nsec: 0,
|
|
- };
|
|
+ let mut ts = libc::timespec::default();
|
|
#[cfg(any(target_os = "linux", target_os = "android"))]
|
|
let clock = libc::CLOCK_MONOTONIC;
|
|
#[cfg(any(target_os = "freebsd", target_os = "openbsd"))]
|