aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWoodpecker CI <emmett1.2miligrams@protonmail.com>2026-03-02 00:19:43 +0000
committerWoodpecker CI <emmett1.2miligrams@protonmail.com>2026-03-02 00:19:43 +0000
commitba183bce192264f4578989337ef61e756b7e130d (patch)
tree755618486e31be1f5822cde6149ad806768dc241
parentddeed1d8c208089ab95d7c971487650dc3b1ddff (diff)
downloadalicelinux-ba183bce192264f4578989337ef61e756b7e130d.tar.gz
alicelinux-ba183bce192264f4578989337ef61e756b7e130d.zip
Woodpecker CI 8ca72161f4af1c51192f5878cfc0e39a0ee84a03 [SKIP CI]
-rw-r--r--librewolf/.checksum14
-rw-r--r--librewolf/abuild30
-rw-r--r--librewolf/enable-jxl.patch21
-rw-r--r--librewolf/fix-webrtc-pid_t.patch10
-rw-r--r--librewolf/gtk-focus-mask.patch12
-rw-r--r--librewolf/musl-heap-reporter.patch33
-rw-r--r--librewolf/musl-no-features-h.patch11
-rw-r--r--librewolf/musl-pread64.patch42
-rw-r--r--librewolf/musl-pthread-name.patch29
-rw-r--r--librewolf/musl-sandbox-libgcc.patch23
-rw-r--r--librewolf/musl-sandbox-sched.patch57
-rw-r--r--librewolf/musl-siginfo.patch35
-rw-r--r--librewolf/musl-single-threaded.patch10
-rw-r--r--librewolf/no-build-id.patch13
14 files changed, 330 insertions, 10 deletions
diff --git a/librewolf/.checksum b/librewolf/.checksum
index 35358ea0..fc021ca0 100644
--- a/librewolf/.checksum
+++ b/librewolf/.checksum
@@ -1,3 +1,15 @@
+f9405d027e062c80b3f642442a2b6fee5bfe89a506d15536558e1d1eba66668d enable-jxl.patch
+236ce405bbdd08d95caf005db4a51a573f8580b988c4ee2e5137972e35fb816c fix-webrtc-pid_t.patch
+b239875402706ed78023daab811cd997d5f3dd61f4a4444da7299e0fdc425832 gtk-focus-mask.patch
1a8b337a849c5020835735b37f741855655a837fa4b202fe40dd01957e0e5de4 libcxx18.patch
-83e8f94c7aa8a5273f376b6f886edeb50c6a774fa03363d27ffb4ca24c8c19d3 librewolf-146.0.1-1.source.tar.gz
+b62c1dbb6236cd043ce3e35419843ba92a6bbdd1c78b53958ac9ffedddd6940f librewolf-148.0-1.source.tar.gz
+6542fd04dea9bd934fc47e27f27ecab75339c5697d9555f893d57351ea688439 musl-heap-reporter.patch
+bbc08470b8480a73ef0f0358eb829e06fe9abd1dff282828ba3199b35d2fe3f8 musl-no-features-h.patch
5011887cf318607cb3dabce1cb407957557fd05670ad068d80fb0a3b903303a3 musl-prctl.patch
+49469f539740e8b2beea329b1076eeee96fa0fe10b38573caf2c2f465b16a1c3 musl-pread64.patch
+c30f3e9489317e910856e067840d80fe2ddd40e51e95ef5203e5383866bd7b32 musl-pthread-name.patch
+fdfd975ec0ac05f4a39864523f0ae02d831653d4eada066f2e10e31d84a3d70c musl-sandbox-libgcc.patch
+2c7b8b9d67209f85f3f80b1f3f58940ccf33a9ac23ac79fa8f855c8c6b2856b1 musl-sandbox-sched.patch
+87a1a54d27a7ac7c11774b359179ed84546486ee2e54d8f92c7558de01bbf64e musl-siginfo.patch
+6d3448a138b7e650fdc53ce0aee8dfdfce3bb75c0fcb1d5de82f3161c8e3effc musl-single-threaded.patch
+0fa00289b972f501d1980b5b34082f6fad78a9c89ce8fe1f2e8ad7315365e37c no-build-id.patch
diff --git a/librewolf/abuild b/librewolf/abuild
index 4dd2ce9c..a6125075 100644
--- a/librewolf/abuild
+++ b/librewolf/abuild
@@ -1,14 +1,31 @@
name=librewolf
-version=146.0.1.1
+version=148.0.1
_ver=${version%.*}
_sion=${version##*.}
_version=${_ver}-${_sion}
release=1
-source="https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/${_version}/librewolf-${_version}.source.tar.gz
+source="https://codeberg.org/api/packages/librewolf/generic/librewolf-source/${_version}/librewolf-${_version}.source.tar.gz
+ enable-jxl.patch
+ fix-webrtc-pid_t.patch
+ gtk-focus-mask.patch
+ libcxx18.patch
+ musl-heap-reporter.patch
+ musl-no-features-h.patch
musl-prctl.patch
- libcxx18.patch"
+ musl-pread64.patch
+ musl-pthread-name.patch
+ musl-sandbox-libgcc.patch
+ musl-sandbox-sched.patch
+ musl-siginfo.patch
+ musl-single-threaded.patch
+ no-build-id.patch"
build() {
+ # musl: allow select() syscall in all sandbox policies
+ awk '/CASES_FOR_poll:/{print; print "#ifdef __NR_select"; print " case __NR_select:"; print "#endif"; next}1' \
+ security/sandbox/linux/SandboxFilter.cpp > SandboxFilter.tmp
+ mv SandboxFilter.tmp security/sandbox/linux/SandboxFilter.cpp
+
cat > mozconfig << EOF
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
@@ -49,16 +66,11 @@ ac_add_options --disable-system-extension-dirs
ac_add_options --disable-default-browser-agent
ac_add_options --disable-backgroundtasks
ac_add_options --disable-webspeech
+ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
ac_add_options --target=x86_64-unknown-linux-musl
ac_add_options --host=x86_64-unknown-linux-musl
EOF
- if [ -f $SPM_PKGDB/libx11 ] && [ ! -f $SPM_PKGDB/wayland ]; then
- echo "ac_add_options --enable-default-toolkit=cairo-gtk3-x11-only" >> mozconfig
- elif [ -f $SPM_PKGDB/wayland ] && [ ! -f $SPM_PKGDB/libx11 ]; then
- echo "ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only" >> mozconfig
- fi
-
if [ -e '/usr/bin/ccache' ]; then
echo 'ac_add_options --enable-ccache' >> mozconfig
PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
diff --git a/librewolf/enable-jxl.patch b/librewolf/enable-jxl.patch
new file mode 100644
index 00000000..bc2f8654
--- /dev/null
+++ b/librewolf/enable-jxl.patch
@@ -0,0 +1,21 @@
+diff --git a/toolkit/moz.configure b/toolkit/moz.configure
+index c99b4d628c54..0b1b1614620a 100644
+--- a/toolkit/moz.configure
++++ b/toolkit/moz.configure
+@@ -703,9 +703,10 @@ set_define("MOZ_AV1", av1)
+ option("--disable-jxl", help="Disable jxl image support")
+
+
+-@depends("--disable-jxl", milestone.is_nightly)
+-def jxl(value, is_nightly):
+- if is_nightly and value:
++@depends("--disable-jxl")
++def jxl(value):
++ enabled = bool(value)
++ if enabled:
+ return True
+
+
+--
+2.38.1
+
diff --git a/librewolf/fix-webrtc-pid_t.patch b/librewolf/fix-webrtc-pid_t.patch
new file mode 100644
index 00000000..dd8307c3
--- /dev/null
+++ b/librewolf/fix-webrtc-pid_t.patch
@@ -0,0 +1,10 @@
+--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
++++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURER_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURER_H_
+
++#include <sys/types.h>
+ #include <cstddef>
+ #include <cstdint>
+ #include <memory>
diff --git a/librewolf/gtk-focus-mask.patch b/librewolf/gtk-focus-mask.patch
new file mode 100644
index 00000000..ac405c6a
--- /dev/null
+++ b/librewolf/gtk-focus-mask.patch
@@ -0,0 +1,12 @@
+diff -up firefox-133.0/widget/gtk/nsWindow.cpp.1196777 firefox-133.0/widget/gtk/nsWindow.cpp
+--- firefox-133.0/widget/gtk/nsWindow.cpp.1196777 2024-11-22 09:32:52.293470407 +0100
++++ firefox-133.0/widget/gtk/nsWindow.cpp 2024-11-22 10:21:54.996441520 +0100
+@@ -191,7 +191,7 @@ constexpr gint kEvents =
+ GDK_VISIBILITY_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_SMOOTH_SCROLL_MASK |
+ GDK_TOUCH_MASK | GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK |
+- GDK_PROPERTY_CHANGE_MASK;
++ GDK_PROPERTY_CHANGE_MASK | GDK_FOCUS_CHANGE_MASK;
+
+ /* utility functions */
+ static bool is_mouse_in_window(GdkWindow* aWindow, gdouble aMouseX,
diff --git a/librewolf/musl-heap-reporter.patch b/librewolf/musl-heap-reporter.patch
new file mode 100644
index 00000000..08f02149
--- /dev/null
+++ b/librewolf/musl-heap-reporter.patch
@@ -0,0 +1,33 @@
+From 68dd87a3dc06cf59396dccc3e031761f7237656e Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy@gentoo.org>
+Date: Mon, 6 Apr 2020 20:09:26 +0200
+Subject: [PATCH 12/30] musl: Only use system heap reporter with glibc
+
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ xpcom/base/nsMemoryReporterManager.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
+index bd4629c785..b513f81216 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -647,6 +647,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+ return NS_OK;
+ }
+
++#ifdef __GLIBC__
+ # define HAVE_SYSTEM_HEAP_REPORTER 1
+ // Windows can have multiple separate heaps, but we should not touch non-default
+ // heaps because they may be destroyed at anytime while we hold a handle. So we
+@@ -679,6 +680,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr, cpu_type_t aType) {
+ *aSizeOut = heapSize;
+ return NS_OK;
+ }
++#endif
+
+ struct SegmentKind {
+ DWORD mState;
+--
+2.34.1
+
diff --git a/librewolf/musl-no-features-h.patch b/librewolf/musl-no-features-h.patch
new file mode 100644
index 00000000..009ca805
--- /dev/null
+++ b/librewolf/musl-no-features-h.patch
@@ -0,0 +1,11 @@
+diff -Naur a/config/system-headers.mozbuild b/config/system-headers.mozbuild
+--- a/config/system-headers.mozbuild 2023-07-04 13:57:53.418421221 +0300
++++ b/config/system-headers.mozbuild 2023-07-04 13:58:41.177179152 +0300
+@@ -227,7 +227,6 @@
+ "execinfo.h",
+ "extras.h",
+ "fcntl.h",
+- "features.h",
+ "fenv.h",
+ "ffi.h",
+ "fibdef.h",
diff --git a/librewolf/musl-pread64.patch b/librewolf/musl-pread64.patch
new file mode 100644
index 00000000..d9dda499
--- /dev/null
+++ b/librewolf/musl-pread64.patch
@@ -0,0 +1,42 @@
+From 1b46c0fc085fe93c36320d7ac1004c83efccdccc Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 8 Jan 2017 19:19:23 -0600
+Subject: [PATCH 11/30] musl: Fix syscall wrappers
+
+musl defines p{read,write}64 to their non-suffixed equivalents to avoid
+duplication in its syscall wrappers. This breaks macro expansion here,
+leading to errors such as:
+
+In function size_t sys_pread64(int, void*, size_t, off_t):
+ error: '__NR_pread' was not declared in this scope
+
+The fix here is to undefine the p{read,write}64 macros, so the syscall
+expands to (e.g.) __NR_pread64 instead.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ .../src/third_party/lss/linux_syscall_support.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+index 1abe0ba5b0..d6087a1674 100644
+--- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
++++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+@@ -173,6 +173,13 @@ extern "C" {
+ # undef __NR_waitpid
+ #endif
+
++#ifdef pread64
++#undef pread64
++#endif
++#ifdef pwrite64
++#undef pwrite64
++#endif
++
+ /* As glibc often provides subtly incompatible data structures (and implicit
+ * wrapper functions that convert them), we provide our own kernel data
+ * structures for use by the system calls.
+--
+2.34.1
+
diff --git a/librewolf/musl-pthread-name.patch b/librewolf/musl-pthread-name.patch
new file mode 100644
index 00000000..fe74bb1b
--- /dev/null
+++ b/librewolf/musl-pthread-name.patch
@@ -0,0 +1,29 @@
+From 70d47d18420fe9e3de8f896c08f97ef2596c9c84 Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy@gentoo.org>
+Date: Mon, 6 Apr 2020 20:10:03 +0200
+Subject: [PATCH 13/30] musl: Set pthread name for non glibc systems
+
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ js/src/threading/posix/PosixThread.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/js/src/threading/posix/PosixThread.cpp b/js/src/threading/posix/PosixThread.cpp
+index 35532e375b..983da45326 100644
+--- a/js/src/threading/posix/PosixThread.cpp
++++ b/js/src/threading/posix/PosixThread.cpp
+@@ -115,8 +115,10 @@ void ThisThread::SetName(const char* name) {
+ rv = 0;
+ #elif defined(__NetBSD__)
+ rv = pthread_setname_np(pthread_self(), "%s", (void*)name);
+-#else
++#elif defined(__GLIBC__)
+ rv = pthread_setname_np(pthread_self(), name);
++#else
++ rv = 0;
+ #endif
+ MOZ_RELEASE_ASSERT(!rv);
+ }
+--
+2.34.1
+
diff --git a/librewolf/musl-sandbox-libgcc.patch b/librewolf/musl-sandbox-libgcc.patch
new file mode 100644
index 00000000..74220e23
--- /dev/null
+++ b/librewolf/musl-sandbox-libgcc.patch
@@ -0,0 +1,23 @@
+diff '--color=auto' -Naur a/security/sandbox/linux/Sandbox.cpp b/security/sandbox/linux/Sandbox.cpp
+--- a/security/sandbox/linux/Sandbox.cpp 2025-12-08 16:42:41.692767283 +0200
++++ b/security/sandbox/linux/Sandbox.cpp 2025-12-08 17:08:51.260959576 +0200
+@@ -18,9 +18,7 @@
+ #include "SandboxLogging.h"
+
+ #include <dirent.h>
+-#ifdef NIGHTLY_BUILD
+-# include "dlfcn.h"
+-#endif
++#include <dlfcn.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <linux/futex.h>
+@@ -776,7 +774,7 @@
+ files->Add("/proc/stat", SandboxOpenedFile::Error{});
+ files->Add("/proc/net/unix", SandboxOpenedFile::Error{});
+ files->Add("/proc/self/maps", SandboxOpenedFile::Error{});
+-
++ (void)dlopen("libgcc_s.so.1", RTLD_GLOBAL|RTLD_LAZY);
+ // Finally, start the sandbox.
+ SetCurrentProcessSandbox(GetMediaSandboxPolicy(files));
+ }
diff --git a/librewolf/musl-sandbox-sched.patch b/librewolf/musl-sandbox-sched.patch
new file mode 100644
index 00000000..87b6e660
--- /dev/null
+++ b/librewolf/musl-sandbox-sched.patch
@@ -0,0 +1,57 @@
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -1759,16 +1759,24 @@
+ return Allow();
+ case __NR_sched_get_priority_min:
+ case __NR_sched_get_priority_max:
+ return Allow();
+ case __NR_sched_getparam:
+- case __NR_sched_getscheduler:
+- case __NR_sched_setscheduler: {
++#if defined(LIBC_GLIBC)
++ case __NR_sched_setscheduler:
++#endif
++ case __NR_sched_getscheduler: {
+ Arg<pid_t> pid(0);
+ return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr));
+ }
+
++#if !defined(LIBC_GLIBC)
++ // For pthread_create(3) on musl; bug 1657849.
++ case __NR_sched_setscheduler:
++ return Allow();
++#endif
++
+ // For clock(3) on older glibcs; bug 1304220.
+ case __NR_times:
+ return Allow();
+
+ // Bug 1372428
+@@ -1950,17 +1958,25 @@
+ case __NR_sched_getaffinity:
+ case __NR_sched_setaffinity:
+ case __NR_sched_getparam:
+ case __NR_sched_setparam:
+ case __NR_sched_getscheduler:
++#if defined(LIBC_GLIBC)
+ case __NR_sched_setscheduler:
++#endif
+ case __NR_sched_getattr:
+ case __NR_sched_setattr: {
+ Arg<pid_t> pid(0);
+ return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr));
+ }
+
++#if !defined(LIBC_GLIBC)
++ // For pthread_create(3) on musl; bug 1657849.
++ case __NR_sched_setscheduler:
++ return Allow();
++#endif
++
+ // The priority bounds are also used, sometimes (bug 1838675):
+ case __NR_sched_get_priority_min:
+ case __NR_sched_get_priority_max:
+ return Allow();
+
+
diff --git a/librewolf/musl-siginfo.patch b/librewolf/musl-siginfo.patch
new file mode 100644
index 00000000..300846f4
--- /dev/null
+++ b/librewolf/musl-siginfo.patch
@@ -0,0 +1,35 @@
+From d8ec0bd6f3b0ad2dfd8a97a864f08decaafdea69 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 8 Jan 2017 19:16:38 -0600
+Subject: [PATCH 10/30] musl: Add alternate name for private siginfo struct
+ member
+
+musl does not provide a macro for detecting its presence. For now,
+assume that it is the only non-glibc-based libc on Linux systems.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+---
+ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+index 9884be8bb2..86d8f88e30 100644
+--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
++++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+@@ -174,7 +174,11 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) {
+ // If the version of glibc doesn't include this information in
+ // siginfo_t (older than 2.17), we need to explicitly copy it
+ // into an arch_sigsys structure.
+- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++#if defined(__GLIBC__)
++ memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++#else
++ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
++#endif
+ #endif
+
+ #if defined(__mips__)
+--
+2.34.1
+
diff --git a/librewolf/musl-single-threaded.patch b/librewolf/musl-single-threaded.patch
new file mode 100644
index 00000000..c1652d07
--- /dev/null
+++ b/librewolf/musl-single-threaded.patch
@@ -0,0 +1,10 @@
+--- a/config/system-headers.mozbuild
++++ b/config/system-headers.mozbuild
+@@ -864,7 +864,6 @@
+ "sys/shm.h",
+ "sys/siginfo.h",
+ "sys/signal.h",
+- "sys/single_threaded.h",
+ "sys/socket.h",
+ "sys/sockio.h",
+ "sys/sparc/frame.h",
diff --git a/librewolf/no-build-id.patch b/librewolf/no-build-id.patch
new file mode 100644
index 00000000..4ec8ac15
--- /dev/null
+++ b/librewolf/no-build-id.patch
@@ -0,0 +1,13 @@
+diff '--color=auto' -Naur a/build/moz.configure/flags.configure b/build/moz.configure/flags.configure
+--- a/build/moz.configure/flags.configure 2024-07-08 20:04:44.944708403 +0300
++++ b/build/moz.configure/flags.configure 2024-07-08 20:13:30.867064722 +0300
+@@ -197,9 +197,6 @@
+
+ check_and_add_flag("-pipe", when=building_with_gcc)
+
+-check_and_add_linker_flag("-Wl,--build-id=uuid", when=check_build_id_uuid)
+-check_and_add_linker_flag("-Wl,--build-id=sha1", when=check_build_id_sha1)
+-
+ check_and_add_asm_flag("-Wa,--noexecstack", when=building_with_gnu_compatible_cc)
+ check_and_add_linker_flag("-Wl,-z,noexecstack", when=building_with_gnu_compatible_cc)
+ check_and_add_linker_flag("-Wl,-z,text", when=building_with_gnu_compatible_cc)