diff options
| author | Woodpecker CI <emmett1.2miligrams@protonmail.com> | 2026-03-02 00:19:43 +0000 |
|---|---|---|
| committer | Woodpecker CI <emmett1.2miligrams@protonmail.com> | 2026-03-02 00:19:43 +0000 |
| commit | ba183bce192264f4578989337ef61e756b7e130d (patch) | |
| tree | 755618486e31be1f5822cde6149ad806768dc241 | |
| parent | ddeed1d8c208089ab95d7c971487650dc3b1ddff (diff) | |
| download | alicelinux-ba183bce192264f4578989337ef61e756b7e130d.tar.gz alicelinux-ba183bce192264f4578989337ef61e756b7e130d.zip | |
Woodpecker CI 8ca72161f4af1c51192f5878cfc0e39a0ee84a03 [SKIP CI]
| -rw-r--r-- | librewolf/.checksum | 14 | ||||
| -rw-r--r-- | librewolf/abuild | 30 | ||||
| -rw-r--r-- | librewolf/enable-jxl.patch | 21 | ||||
| -rw-r--r-- | librewolf/fix-webrtc-pid_t.patch | 10 | ||||
| -rw-r--r-- | librewolf/gtk-focus-mask.patch | 12 | ||||
| -rw-r--r-- | librewolf/musl-heap-reporter.patch | 33 | ||||
| -rw-r--r-- | librewolf/musl-no-features-h.patch | 11 | ||||
| -rw-r--r-- | librewolf/musl-pread64.patch | 42 | ||||
| -rw-r--r-- | librewolf/musl-pthread-name.patch | 29 | ||||
| -rw-r--r-- | librewolf/musl-sandbox-libgcc.patch | 23 | ||||
| -rw-r--r-- | librewolf/musl-sandbox-sched.patch | 57 | ||||
| -rw-r--r-- | librewolf/musl-siginfo.patch | 35 | ||||
| -rw-r--r-- | librewolf/musl-single-threaded.patch | 10 | ||||
| -rw-r--r-- | librewolf/no-build-id.patch | 13 |
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) |