diff --git a/srcpkgs/firefox/patches/firefox-156-fix-audio_thread_priority-musl.patch b/srcpkgs/firefox/patches/firefox-156-fix-audio_thread_priority-musl.patch deleted file mode 100644 index 303b5e75eee22e..00000000000000 --- a/srcpkgs/firefox/patches/firefox-156-fix-audio_thread_priority-musl.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 9c37971cf57f9b6bab44a247ebc7f610cf8186bd Mon Sep 17 00:00:00 2001 -From: Paul Adenot -Date: Mon, 14 Sep 2026 17:39:21 +0200 -Subject: [PATCH] Fix the build with musl, where pthread_t is a pointer - -musl defines pthread_t as *mut c_void instead of an integer, so the -to_ne_bytes/from_ne_bytes serialization didn't compile. Go through usize, -which is as wide as pthread_t on every Linux target, keeping the -serialized layout unchanged. - -Also check the musl targets in CI. - -Fixes #49 ---- - .github/workflows/rust.yml | 36 ++++++++++++++++++++++++++++++++++++ - src/rt_linux.rs | 6 ++++-- - src/rt_linux_native.rs | 6 ++++-- - 3 files changed, 44 insertions(+), 4 deletions(-) - -diff --git a/src/rt_linux.rs b/src/rt_linux.rs -index 982803c..82f9bff 100644 ---- a/third_party/rust/audio_thread_priority/src/rt_linux.rs -+++ b/third_party/rust/audio_thread_priority/src/rt_linux.rs -@@ -62,7 +62,9 @@ impl RtPriorityThreadInfoInternal { - /// struct, so no uninitialized padding bytes are ever read. Any trailing padding stays zero. - pub fn serialize(&self) -> [u8; std::mem::size_of::()] { - let thread_id = self.thread_id.to_ne_bytes(); -- let pthread_id = self.pthread_id.to_ne_bytes(); -+ // `pthread_t` is an integer with glibc but a pointer with musl: go through `usize`, which -+ // is as wide as both. -+ let pthread_id = (self.pthread_id as usize).to_ne_bytes(); - let pid = self.pid.to_ne_bytes(); - let policy = self.policy.to_ne_bytes(); - let priority = self.priority.to_ne_bytes(); -@@ -91,7 +93,7 @@ impl RtPriorityThreadInfoInternal { - let mut src = bytes.iter().copied(); - RtPriorityThreadInfoInternal { - thread_id: kernel_pid_t::from_ne_bytes(take(&mut src)), -- pthread_id: libc::pthread_t::from_ne_bytes(take(&mut src)), -+ pthread_id: usize::from_ne_bytes(take(&mut src)) as libc::pthread_t, - pid: libc::pid_t::from_ne_bytes(take(&mut src)), - policy: libc::c_int::from_ne_bytes(take(&mut src)), - priority: libc::c_int::from_ne_bytes(take(&mut src)), -diff --git a/src/rt_linux_native.rs b/src/rt_linux_native.rs -index def33b0..f166eb0 100644 ---- a/third_party/rust/audio_thread_priority/src/rt_linux_native.rs -+++ b/third_party/rust/audio_thread_priority/src/rt_linux_native.rs -@@ -78,7 +78,9 @@ impl RtPriorityThreadInfoInternal { - /// struct, so no uninitialized padding bytes are ever read. Any trailing padding stays zero. - pub fn serialize(&self) -> [u8; std::mem::size_of::()] { - let thread_id = self.thread_id.to_ne_bytes(); -- let pthread_id = self.pthread_id.to_ne_bytes(); -+ // `pthread_t` is an integer with glibc but a pointer with musl: go through `usize`, which -+ // is as wide as both. -+ let pthread_id = (self.pthread_id as usize).to_ne_bytes(); - let pid = self.pid.to_ne_bytes(); - let policy = self.policy.to_ne_bytes(); - let priority = self.priority.to_ne_bytes(); -@@ -107,7 +109,7 @@ impl RtPriorityThreadInfoInternal { - let mut src = bytes.iter().copied(); - RtPriorityThreadInfoInternal { - thread_id: kernel_pid_t::from_ne_bytes(take(&mut src)), -- pthread_id: libc::pthread_t::from_ne_bytes(take(&mut src)), -+ pthread_id: usize::from_ne_bytes(take(&mut src)) as libc::pthread_t, - pid: libc::pid_t::from_ne_bytes(take(&mut src)), - policy: libc::c_int::from_ne_bytes(take(&mut src)), - priority: libc::c_int::from_ne_bytes(take(&mut src)), diff --git a/srcpkgs/firefox/patches/firefox-158-lto-thin.patch b/srcpkgs/firefox/patches/firefox-158-lto-thin.patch deleted file mode 100644 index 04ba9221c5470c..00000000000000 --- a/srcpkgs/firefox/patches/firefox-158-lto-thin.patch +++ /dev/null @@ -1,12 +0,0 @@ -Use thin lto. ---- a/config/makefiles/rust.mk -+++ b/config/makefiles/rust.mk -@@ -56,7 +56,7 @@ - cargo_rustc_flags = $(CARGO_RUSTCFLAGS) - # Enable link-time optimization for release builds. - ifdef RUST_LIBRARY_LTO --cargo_rustc_flags += -Clto -+cargo_rustc_flags += -Clto=thin - endif - - ifdef CARGO_INCREMENTAL diff --git a/srcpkgs/firefox/patches/firefox-159-lto-thin.patch b/srcpkgs/firefox/patches/firefox-159-lto-thin.patch new file mode 100644 index 00000000000000..3853a7516ac40a --- /dev/null +++ b/srcpkgs/firefox/patches/firefox-159-lto-thin.patch @@ -0,0 +1,11 @@ +--- a/python/mozbuild/mozbuild/rust_commands.py ++++ b/python/mozbuild/mozbuild/rust_commands.py +@@ -418,7 +418,7 @@ + flags += substs.get("MOZ_RUST_LIBRARY_RUSTCFLAGS") + + if applies_library_lto(cmd.kind, cmd.lto, substs): +- flags.append("-Clto") ++ flags.append("-Clto=thin") + + flags += invocation.cargo_rustcflags + diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template index 2234955e4b11de..fb38c9b2f0919f 100644 --- a/srcpkgs/firefox/template +++ b/srcpkgs/firefox/template @@ -3,7 +3,7 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/firefox-i18n". # pkgname=firefox -version=158.0.1 +version=159.0 revision=1 _llvmver=23 build_helper="rust" @@ -25,7 +25,7 @@ license="GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only AND MPL-2.0" homepage="https://www.mozilla.org/firefox/" changelog="https://www.mozilla.org/en-US/firefox/${version}/releasenotes/" distfiles="${MOZILLA_SITE}/firefox/releases/${version/beta/b}/source/firefox-${version/beta/b}.source.tar.xz" -checksum=b5beff55fa73a29a674a867da5922f5d7699f51e351e6bbe4405fcc4ba55a824 +checksum=3d98df785894057fce60603e845828e758a5411ad79aaaaff2b8230597f500d9 lib32disabled=yes diff --git a/srcpkgs/wasi-sdk/template b/srcpkgs/wasi-sdk/template index 5dc7ae75cc4829..fe0257c3f64253 100644 --- a/srcpkgs/wasi-sdk/template +++ b/srcpkgs/wasi-sdk/template @@ -1,8 +1,8 @@ # Template file for 'wasi-sdk' pkgname=wasi-sdk version=34 -revision=1 -_llvmversion="23.1.3" +revision=2 +_llvmversion="23.1.4" _llvmver="${_llvmversion%%.*}" _wasi_libc_ref=2e6fb9d8ee0cdf9e431fbcabe8af3115de000a13 build_style=cmake @@ -16,7 +16,7 @@ homepage="https://github.com/WebAssembly/wasi-sdk" distfiles="https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${_llvmversion}.tar.gz https://github.com/WebAssembly/wasi-sdk/archive/refs/tags/wasi-sdk-${version}.tar.gz https://github.com/WebAssembly/wasi-libc/archive/${_wasi_libc_ref}.zip>wasi-libc-${_wasi_libc_ref}.tar.gz" -checksum="791b560dee8f65fdf7b19ad5db0b4ac627467824d8b687957d8a437b806103f0 +checksum="3e1c70b30f623976c2046d94b8eeab6cac536f107914cb4ed7bac572a03131db 3d7bc84a88b1a90a6cec5a6797e744c958bb7b357781797003a0ca2a8beaa2c9 d4321cb88bc7bf83dd8cf9aafae57404e1f4dc360e04fb89a218a122b83be0f4" @@ -51,8 +51,8 @@ do_build() { } do_install() { - vmkdir "usr/lib/clang/${_llvmver}/lib" - bsdtar -x -C "${DESTDIR}/usr/lib/clang/${_llvmver}/lib" --strip-components 1 -f "build/dist/libclang_rt-${version}.tar.gz" + vmkdir "usr/lib/llvm/${_llvmver}/lib/clang/${_llvmver}/lib" + bsdtar -x -C "${DESTDIR}/usr/lib/llvm/${_llvmver}/lib/clang/${_llvmver}/lib" --strip-components 1 -f "build/dist/libclang_rt-${version}.tar.gz" vmkdir usr/share/wasi-sysroot bsdtar -x -C "${DESTDIR}/usr/share/wasi-sysroot" --strip-components 1 -f "build/dist/wasi-sysroot-${version}.tar.gz" @@ -105,7 +105,7 @@ wasi-compiler-rt_package() { short_desc+=" - runtime libraries" nostrip=yes pkg_install() { - vmove "usr/lib/clang/${_llvmver}/lib" + vmove "usr/lib/llvm/${_llvmver}/lib/clang/${_llvmver}/lib" } }