sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (aaad53517438437fcb16dea96e421547cc493af7)
- From: Pavel Vinogradov <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (aaad53517438437fcb16dea96e421547cc493af7)
- Date: Mon, 15 Jun 2026 17:43:19 +0000
GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:
http/firefox/DEPENDS
| 2
http/firefox/DETAILS
| 4
http/firefox/HISTORY
| 5
http/firefox/patches-for-musl/0010-bgo-748849-RUST_TARGET_override.patch
| 61 ++++
http/firefox/patches-for-musl/0011-bgo-748849-RUST_TARGET_override.patch
| 61 ----
http/firefox/patches-for-musl/0012-bgo-929967-fix-pgo-on-musl.patch
| 14
http/firefox/patches-for-musl/0013-bgo-929967-fix-pgo-on-musl.patch
| 14
http/firefox/patches-for-musl/0014-bmo-1657849-musl-sandbox-sched_setscheduler.patch
| 57 +++
http/firefox/patches-for-musl/0015-bmo-1657849-musl-sandbox-sched_setscheduler.patch
| 57 ---
http/firefox/patches-for-musl/0017-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
| 10
http/firefox/patches-for-musl/0019-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
| 10
http/firefox/patches-for-musl/0020-bgo-967694-musl-prctrl-exception-on-musl.patch
| 14
http/firefox/patches-for-musl/0021-bgo-970694-fix-missing-stdint.h-on-musl.patch
| 11
http/firefox/patches-for-musl/0022-bgo-967694-musl-prctrl-exception-on-musl.patch
| 14
http/firefox/patches-for-musl/0022-bgo-970537-add-missing-header-for-musl.patch
| 12
http/firefox/patches-for-musl/0024-bgo-970694-fix-missing-stdint.h-on-musl.patch
| 11
http/firefox/patches-for-musl/0025-bgo-970537-add-missing-header-for-musl.patch
| 12
http/firefox/patches/0008-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
| 12
http/firefox/patches/0009-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
| 12
http/firefox/patches/0009-gcc-lto-pgo-gentoo.patch
| 152 ++++++++++
http/firefox/patches/0010-gcc-lto-pgo-gentoo.patch
| 152 ----------
http/firefox/patches/0011-dont-use-build-id.patch
| 13
http/firefox/patches/0012-dont-use-build-id.patch
| 13
http/firefox/patches/0013-gcc-always-inline-from-fedora.patch
| 14
http/firefox/patches/0014-gcc-always-inline-from-fedora.patch
| 14
http/firefox/patches/0015-bgo-940031-wasm-support.patch
| 12
http/firefox/patches/0016-bgo-940031-wasm-support.patch
| 12
http/firefox/patches/0016-bgo-962985-libcxx-visibility-fix.patch
| 19 +
http/firefox/patches/0017-bgo-928126-enable-jxl.patch
| 21 -
http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
| 23 +
http/firefox/patches/0018-bgo-962985-libcxx-visibility-fix.patch
| 19 -
http/firefox/patches/0019-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
| 20 +
http/firefox/patches/0020-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
| 23 -
http/firefox/patches/0021-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
| 20 -
http/firefox/patches/0023-bgo-969412-glibc-2.43.patch
| 39 --
http/firefox/patches/0023-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
| 20 +
http/firefox/patches/0024-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
| 21 +
http/firefox/patches/0025-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
| 47 +++
http/firefox/patches/0026-bgo-976592-file-path-include-fstream-gcc-17-fix.patch
| 10
http/firefox/patches/0026-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
| 20 -
http/firefox/patches/0027-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
| 21 -
http/firefox/patches/0028-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
| 47 ---
42 files changed, 550 insertions(+), 595 deletions(-)
New commits:
commit aaad53517438437fcb16dea96e421547cc493af7
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>
http/firefox: version 152.0, SECURITY_PATCH++
diff --git a/http/firefox/DEPENDS b/http/firefox/DEPENDS
index 0667fbf..f330234 100755
--- a/http/firefox/DEPENDS
+++ b/http/firefox/DEPENDS
@@ -51,7 +51,7 @@ depends libwebp "--with-system-webp"
&&
depends nspr "--with-system-nspr" &&
-local NSS_BRANCH="3.123" &&
+local NSS_BRANCH="3.124" &&
if spell_ok nss &&
is_version_less "$(installed_version nss)" "${NSS_BRANCH}"; then
depends -sub "${NSS_BRANCH}" nss "--with-system-nss"
diff --git a/http/firefox/DETAILS b/http/firefox/DETAILS
index adc8549..409d08e 100755
--- a/http/firefox/DETAILS
+++ b/http/firefox/DETAILS
@@ -1,6 +1,6 @@
SPELL=firefox
- VERSION=151.0.4
- SECURITY_PATCH=226
+ VERSION=152.0
+ SECURITY_PATCH=227
SOURCE="${SPELL}-${VERSION}.source.tar.xz"
# Watch: http://releases.mozilla.org/pub/firefox/releases/
/releases/([0-9.]+)/
SOURCE_URL[0]="http://releases.mozilla.org/pub/${SPELL}/releases/${VERSION}/source/${SOURCE}"
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index de6f1a6..635301c 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,8 @@
+2026-06-15 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 152.0, SECURITY_PATCH++
+ * DEPENDS: nss >= 3.124
+ * patches/*, patches-for-musl/*: updated
+
2026-06-08 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 151.0.4
diff --git
a/http/firefox/patches-for-musl/0010-bgo-748849-RUST_TARGET_override.patch
b/http/firefox/patches-for-musl/0010-bgo-748849-RUST_TARGET_override.patch
new file mode 100644
index 0000000..f109538
--- /dev/null
+++ b/http/firefox/patches-for-musl/0010-bgo-748849-RUST_TARGET_override.patch
@@ -0,0 +1,61 @@
+From: Sam James <sam AT gentoo.org>
+Subject: Allow RUST_TARGET override for detected Rust triplet (fixes musl
build)
+
+Respect RUST_TARGET from the environment to override Mozilla's
+own triplet detection.
+
+If the variable is unset, the old logic is used.
+
+The issue is that Gentoo supports both, say:
+- x86_64-unknown-linux-musl, and
+- x86-64-gentoo-linux-musl
+
+Our Rust is built to understand
+-gentoo- as a vendor target, but
+our Rust only actually includes
+-unknown-.
+
+Mozilla's configure sees -gentoo-
+in CHOST and that Rust _understands_
+-gentoo- and tries to use it, without
+verifying that we actually have
+-gentoo- installed as a Rust target.
+
+This requires exporting RUST_TARGET
+in the ebuild, possibly like:
+````
+inherit rust-toolchain
+
+src_configure() {
+ [...]
+ export RUST_TARGET=$(rust_abi)
+ [...]
+}
+````
+
+Inspired by Alpine's patch at
+https://git.alpinelinux.org/aports/tree/community/firefox/fix-rust-target.patch?id=740922900cf8042be6751fcfcccdd3fc11bd77d3.
+
+Bug: https://bugs.gentoo.org/748849
+Bug: https://bugs.gentoo.org/779178
+Bug: https://bugs.gentoo.org/836226
+Thanks-to: Georgy Yakovlev <gyakovlev AT gentoo.org>
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -275,6 +275,7 @@ def rust_supported_targets(rustc):
+ return data
+
+
++@imports('os')
+ def detect_rustc_target(
+ host_or_target, compiler_info, arm_target, rust_supported_targets
+ ):
+@@ -396,7 +397,7 @@ def detect_rustc_target(
+
+ return None
+
+- rustc_target = find_candidate(candidates)
++ rustc_target = os.environ.get('RUST_TARGET', find_candidate(candidates))
+
+ if rustc_target is None:
+ die("Don't know how to translate {} for
rustc".format(host_or_target.alias))
diff --git
a/http/firefox/patches-for-musl/0011-bgo-748849-RUST_TARGET_override.patch
b/http/firefox/patches-for-musl/0011-bgo-748849-RUST_TARGET_override.patch
deleted file mode 100644
index f109538..0000000
--- a/http/firefox/patches-for-musl/0011-bgo-748849-RUST_TARGET_override.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Sam James <sam AT gentoo.org>
-Subject: Allow RUST_TARGET override for detected Rust triplet (fixes musl
build)
-
-Respect RUST_TARGET from the environment to override Mozilla's
-own triplet detection.
-
-If the variable is unset, the old logic is used.
-
-The issue is that Gentoo supports both, say:
-- x86_64-unknown-linux-musl, and
-- x86-64-gentoo-linux-musl
-
-Our Rust is built to understand
--gentoo- as a vendor target, but
-our Rust only actually includes
--unknown-.
-
-Mozilla's configure sees -gentoo-
-in CHOST and that Rust _understands_
--gentoo- and tries to use it, without
-verifying that we actually have
--gentoo- installed as a Rust target.
-
-This requires exporting RUST_TARGET
-in the ebuild, possibly like:
-````
-inherit rust-toolchain
-
-src_configure() {
- [...]
- export RUST_TARGET=$(rust_abi)
- [...]
-}
-````
-
-Inspired by Alpine's patch at
-https://git.alpinelinux.org/aports/tree/community/firefox/fix-rust-target.patch?id=740922900cf8042be6751fcfcccdd3fc11bd77d3.
-
-Bug: https://bugs.gentoo.org/748849
-Bug: https://bugs.gentoo.org/779178
-Bug: https://bugs.gentoo.org/836226
-Thanks-to: Georgy Yakovlev <gyakovlev AT gentoo.org>
---- a/build/moz.configure/rust.configure
-+++ b/build/moz.configure/rust.configure
-@@ -275,6 +275,7 @@ def rust_supported_targets(rustc):
- return data
-
-
-+@imports('os')
- def detect_rustc_target(
- host_or_target, compiler_info, arm_target, rust_supported_targets
- ):
-@@ -396,7 +397,7 @@ def detect_rustc_target(
-
- return None
-
-- rustc_target = find_candidate(candidates)
-+ rustc_target = os.environ.get('RUST_TARGET', find_candidate(candidates))
-
- if rustc_target is None:
- die("Don't know how to translate {} for
rustc".format(host_or_target.alias))
diff --git
a/http/firefox/patches-for-musl/0012-bgo-929967-fix-pgo-on-musl.patch
b/http/firefox/patches-for-musl/0012-bgo-929967-fix-pgo-on-musl.patch
new file mode 100644
index 0000000..3c8457e
--- /dev/null
+++ b/http/firefox/patches-for-musl/0012-bgo-929967-fix-pgo-on-musl.patch
@@ -0,0 +1,14 @@
+diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
+index 7354714..0385792 100755
+--- a/build/pgo/profileserver.py
++++ b/build/pgo/profileserver.py
+@@ -171,6 +171,9 @@ if __name__ == "__main__":
+ env["UPLOAD_PATH"], "profile-run-1.log"
+ )
+
++ # Workaround for https://bugs.gentoo.org/929967
++ env["LD_LIBRARY_PATH"] = os.path.join(os.getcwd(), "dist", "bin")
++
+ # Run Firefox a first time to initialize its profile
+ runner = FirefoxRunner(
+ profile=profile,
diff --git
a/http/firefox/patches-for-musl/0013-bgo-929967-fix-pgo-on-musl.patch
b/http/firefox/patches-for-musl/0013-bgo-929967-fix-pgo-on-musl.patch
deleted file mode 100644
index 3c8457e..0000000
--- a/http/firefox/patches-for-musl/0013-bgo-929967-fix-pgo-on-musl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
-index 7354714..0385792 100755
---- a/build/pgo/profileserver.py
-+++ b/build/pgo/profileserver.py
-@@ -171,6 +171,9 @@ if __name__ == "__main__":
- env["UPLOAD_PATH"], "profile-run-1.log"
- )
-
-+ # Workaround for https://bugs.gentoo.org/929967
-+ env["LD_LIBRARY_PATH"] = os.path.join(os.getcwd(), "dist", "bin")
-+
- # Run Firefox a first time to initialize its profile
- runner = FirefoxRunner(
- profile=profile,
diff --git
a/http/firefox/patches-for-musl/0014-bmo-1657849-musl-sandbox-sched_setscheduler.patch
b/http/firefox/patches-for-musl/0014-bmo-1657849-musl-sandbox-sched_setscheduler.patch
new file mode 100644
index 0000000..87b6e66
--- /dev/null
+++
b/http/firefox/patches-for-musl/0014-bmo-1657849-musl-sandbox-sched_setscheduler.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/http/firefox/patches-for-musl/0015-bmo-1657849-musl-sandbox-sched_setscheduler.patch
b/http/firefox/patches-for-musl/0015-bmo-1657849-musl-sandbox-sched_setscheduler.patch
deleted file mode 100644
index 87b6e66..0000000
---
a/http/firefox/patches-for-musl/0015-bmo-1657849-musl-sandbox-sched_setscheduler.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-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/http/firefox/patches-for-musl/0017-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
b/http/firefox/patches-for-musl/0017-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
new file mode 100644
index 0000000..c1652d0
--- /dev/null
+++
b/http/firefox/patches-for-musl/0017-bmo-1988166-musl-remove-nonexisting-system-header-req.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/http/firefox/patches-for-musl/0019-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
b/http/firefox/patches-for-musl/0019-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
deleted file mode 100644
index c1652d0..0000000
---
a/http/firefox/patches-for-musl/0019-bmo-1988166-musl-remove-nonexisting-system-header-req.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/http/firefox/patches-for-musl/0020-bgo-967694-musl-prctrl-exception-on-musl.patch
b/http/firefox/patches-for-musl/0020-bgo-967694-musl-prctrl-exception-on-musl.patch
new file mode 100644
index 0000000..94a4f5b
--- /dev/null
+++
b/http/firefox/patches-for-musl/0020-bgo-967694-musl-prctrl-exception-on-musl.patch
@@ -0,0 +1,14 @@
+Including linux/prrctl.h and sys/prctl.h with musl results in the
redifinition
+of `struct prctl_mm_map`.
+--- a/third_party/libwebrtc/rtc_base/platform_thread_types.cc
++++ b/third_party/libwebrtc/rtc_base/platform_thread_types.cc
+@@ -12,7 +12,9 @@
+
+ // IWYU pragma: begin_keep
+ #if defined(WEBRTC_LINUX)
++#if defined(__GLIBC__)
+ #include <linux/prctl.h>
++#endif
+ #include <sys/prctl.h>
+ #include <sys/syscall.h>
+
diff --git
a/http/firefox/patches-for-musl/0021-bgo-970694-fix-missing-stdint.h-on-musl.patch
b/http/firefox/patches-for-musl/0021-bgo-970694-fix-missing-stdint.h-on-musl.patch
new file mode 100644
index 0000000..15f1abd
--- /dev/null
+++
b/http/firefox/patches-for-musl/0021-bgo-970694-fix-missing-stdint.h-on-musl.patch
@@ -0,0 +1,11 @@
+$ cat /etc/portage/patches/www-client/firefox/missing-stdint.h
+--- a/xpcom/base/nsVersionComparator.h 2026-02-16 13:37:51.000000000 -0500
++++ b/xpcom/base/nsVersionComparator.h 2026-02-28 06:44:50.529920953 -0500
+@@ -10,6 +10,7 @@
+ #ifndef nsVersionComparator_h__
+ #define nsVersionComparator_h__
+
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <assert.h>
diff --git
a/http/firefox/patches-for-musl/0022-bgo-967694-musl-prctrl-exception-on-musl.patch
b/http/firefox/patches-for-musl/0022-bgo-967694-musl-prctrl-exception-on-musl.patch
deleted file mode 100644
index 94a4f5b..0000000
---
a/http/firefox/patches-for-musl/0022-bgo-967694-musl-prctrl-exception-on-musl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Including linux/prrctl.h and sys/prctl.h with musl results in the
redifinition
-of `struct prctl_mm_map`.
---- a/third_party/libwebrtc/rtc_base/platform_thread_types.cc
-+++ b/third_party/libwebrtc/rtc_base/platform_thread_types.cc
-@@ -12,7 +12,9 @@
-
- // IWYU pragma: begin_keep
- #if defined(WEBRTC_LINUX)
-+#if defined(__GLIBC__)
- #include <linux/prctl.h>
-+#endif
- #include <sys/prctl.h>
- #include <sys/syscall.h>
-
diff --git
a/http/firefox/patches-for-musl/0022-bgo-970537-add-missing-header-for-musl.patch
b/http/firefox/patches-for-musl/0022-bgo-970537-add-missing-header-for-musl.patch
new file mode 100644
index 0000000..59716d8
--- /dev/null
+++
b/http/firefox/patches-for-musl/0022-bgo-970537-add-missing-header-for-musl.patch
@@ -0,0 +1,12 @@
+diff --git
a/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
b/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
+index 9b1efa0..a2dbee2 100644
+--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
++++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
+@@ -17,6 +17,7 @@
+ #include <string>
+ #include <type_traits>
+ #include <vector>
++#include <sys/types.h>
+
+ // TODO(alcooper): Update include usage in downstream consumers and then
change
+ // this to a forward declaration.
diff --git
a/http/firefox/patches-for-musl/0024-bgo-970694-fix-missing-stdint.h-on-musl.patch
b/http/firefox/patches-for-musl/0024-bgo-970694-fix-missing-stdint.h-on-musl.patch
deleted file mode 100644
index 15f1abd..0000000
---
a/http/firefox/patches-for-musl/0024-bgo-970694-fix-missing-stdint.h-on-musl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-$ cat /etc/portage/patches/www-client/firefox/missing-stdint.h
---- a/xpcom/base/nsVersionComparator.h 2026-02-16 13:37:51.000000000 -0500
-+++ b/xpcom/base/nsVersionComparator.h 2026-02-28 06:44:50.529920953 -0500
-@@ -10,6 +10,7 @@
- #ifndef nsVersionComparator_h__
- #define nsVersionComparator_h__
-
-+#include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
- #include <assert.h>
diff --git
a/http/firefox/patches-for-musl/0025-bgo-970537-add-missing-header-for-musl.patch
b/http/firefox/patches-for-musl/0025-bgo-970537-add-missing-header-for-musl.patch
deleted file mode 100644
index 59716d8..0000000
---
a/http/firefox/patches-for-musl/0025-bgo-970537-add-missing-header-for-musl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git
a/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
b/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
-index 9b1efa0..a2dbee2 100644
---- a/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
-+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capturer.h
-@@ -17,6 +17,7 @@
- #include <string>
- #include <type_traits>
- #include <vector>
-+#include <sys/types.h>
-
- // TODO(alcooper): Update include usage in downstream consumers and then
change
- // this to a forward declaration.
diff --git
a/http/firefox/patches/0008-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
b/http/firefox/patches/0008-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
new file mode 100644
index 0000000..ac405c6
--- /dev/null
+++ b/http/firefox/patches/0008-bmo-1196777-Set-GDK_FOCUS_CHANGE_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/http/firefox/patches/0009-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
b/http/firefox/patches/0009-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
deleted file mode 100644
index ac405c6..0000000
--- a/http/firefox/patches/0009-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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/http/firefox/patches/0009-gcc-lto-pgo-gentoo.patch
b/http/firefox/patches/0009-gcc-lto-pgo-gentoo.patch
new file mode 100644
index 0000000..581d362
--- /dev/null
+++ b/http/firefox/patches/0009-gcc-lto-pgo-gentoo.patch
@@ -0,0 +1,152 @@
+diff --git a/build/moz.configure/lto-pgo.configure
b/build/moz.configure/lto-pgo.configure
+index 165541b79842..372e100bc6c2 100644
+--- a/build/moz.configure/lto-pgo.configure
++++ b/build/moz.configure/lto-pgo.configure
+@@ -96,12 +96,16 @@ set_config("PGO_PROFILE_PATH", pgo_profile_path)
+
+ @depends(
+ "--enable-profile-use",
++ c_compiler,
+ pgo_profile_path,
+ llvm_profdata,
+ llvm_profdata_order,
+ build_environment,
+ )
+-def orderfile_path(profile_use, path, profdata, profdata_order, build_env):
++def orderfile_path(profile_use, compiler, path, profdata, profdata_order,
build_env):
++ if compiler.type == "gcc":
++ return None
++
+ if not profile_use:
+ return None
+
+@@ -145,7 +149,7 @@ def pgo_flags(
+ return namespace(
+ gen_cflags=["-fprofile-generate"],
+ gen_ldflags=["-fprofile-generate"],
+- use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wcoverage-mismatch"],
++ use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wno-coverage-mismatch"],
+ use_ldflags=["-fprofile-use"],
+ )
+
+diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
+index faf15719a053..dde982ef09a4 100755
+--- a/build/pgo/profileserver.py
++++ b/build/pgo/profileserver.py
+@@ -96,9 +96,22 @@ if __name__ == "__main__":
+ locations = ServerLocations()
+ locations.add_host(host="127.0.0.1", port=PORT,
options="primary,privileged")
+
+- old_profraw_files = glob.glob("*.profraw")
+- for f in old_profraw_files:
+- os.remove(f)
++ using_gcc = False
++ try:
++ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
++ using_gcc = True
++ except BuildEnvironmentNotFoundException:
++ pass
++
++ if using_gcc:
++ for dirpath, _, filenames in os.walk('.'):
++ for f in filenames:
++ if f.endswith('.gcda'):
++ os.remove(os.path.join(dirpath, f))
++ else:
++ old_profraw_files = glob.glob('*.profraw')
++ for f in old_profraw_files:
++ os.remove(f)
+
+ with TemporaryDirectory() as profilePath:
+ # TODO: refactor this into mozprofile
+@@ -228,6 +241,11 @@ if __name__ == "__main__":
+ print("Firefox exited successfully, but produced a crashreport")
+ sys.exit(1)
+
++ if using_gcc:
++ print('Copying profile data....')
++ os.system('pwd');
++ os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd
..; tar xf instrumented/profdata.tar.gz;');
++
+ llvm_profdata = env.get("LLVM_PROFDATA")
+ if llvm_profdata:
+ profraw_files = glob.glob("*.profraw")
+diff --git a/gfx/2d/moz.build b/gfx/2d/moz.build
+index 47de487..c4f4322 100644
+--- a/gfx/2d/moz.build
++++ b/gfx/2d/moz.build
+@@ -132,11 +132,11 @@ if CONFIG["INTEL_ARCHITECTURE"]:
+ DEFINES["USE_SSE2"] = True
+ # The file uses SSE2 intrinsics, so it needs special compile flags on
some
+ # compilers.
+- SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2"]
++ SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
+ SOURCES["ConvolutionFilterSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
+ SOURCES["FilterProcessingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
+ SOURCES["ImageScalingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
+- SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2"]
++ SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
+ SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
+ SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
+
+diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
+index 8f2fa5ddbd49..8ed44780fdc3 100755
+--- a/gfx/skia/generate_mozbuild.py
++++ b/gfx/skia/generate_mozbuild.py
+@@ -50,8 +50,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
+ if CONFIG['INTEL_ARCHITECTURE']:
+ SOURCES['skia/modules/skcms/skcms.cc'].flags += ['-DSKCMS_DISABLE_SKX']
+ skia_ssse3_flags = ['-Dskvx=skvx_ssse3', '-mssse3']
+- skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx']
+- skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
++ skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
++ skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma',
'-fno-lto']
+ SOURCES['skia/src/core/SkBitmapProcState_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
+ SOURCES['skia/src/core/SkBlitMask_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
+ SOURCES['skia/src/core/SkSwizzler_opts_ssse3.cpp'].flags +=
['-Dskvx=skvx_ssse3']
+diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
+index b944b3fad445..329aa846385b 100644
+--- a/gfx/skia/moz.build
++++ b/gfx/skia/moz.build
+@@ -603,8 +603,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
+ if CONFIG['INTEL_ARCHITECTURE']:
+ SOURCES['skia/modules/skcms/skcms.cc'].flags += ['-DSKCMS_DISABLE_SKX']
+ skia_ssse3_flags = ['-Dskvx=skvx_ssse3', '-mssse3']
+- skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx']
+- skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
++ skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
++ skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma',
'-fno-lto']
+ SOURCES['skia/src/core/SkBitmapProcState_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
+ SOURCES['skia/src/core/SkBlitMask_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
+ SOURCES['skia/src/core/SkSwizzler_opts_ssse3.cpp'].flags +=
['-Dskvx=skvx_ssse3']
+diff --git a/security/sandbox/linux/moz.build
b/security/sandbox/linux/moz.build
+index c346b8574921..f682ef9f2923 100644
+--- a/security/sandbox/linux/moz.build
++++ b/security/sandbox/linux/moz.build
+@@ -112,9 +112,8 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc"):
+ # gcc lto likes to put the top level asm in syscall.cc in a different
partition
+ # from the function using it which breaks the build. Work around that by
+ # forcing there to be only one partition.
+-for f in CONFIG["OS_CXXFLAGS"]:
+- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
+- LDFLAGS += ["--param lto-partitions=1"]
++if CONFIG['CC_TYPE'] != 'clang':
++ LDFLAGS += ['--param', 'lto-partitions=1']
+
+ DEFINES["NS_NO_XPCOM"] = True
+ DisableStlWrapping()
+diff -up firefox-149.0/toolkit/components/terminator/nsTerminator.cpp.pgo
firefox-149.0/toolkit/components/terminator/nsTerminator.cpp
+--- firefox-149.0/toolkit/components/terminator/nsTerminator.cpp.pgo
2026-03-18 19:54:05.000000000 +0100
++++ firefox-149.0/toolkit/components/terminator/nsTerminator.cpp
2026-03-19 16:01:55.737755729 +0100
+@@ -338,6 +338,11 @@ void nsTerminator::StartWatchdog() {
+ }
+ #endif
+
++ // Disable watchdog for PGO train builds - writting profile information at
++ // exit may take time and it is better to make build hang rather than
++ // silently produce poorly performing binary.
++ crashAfterMS = INT32_MAX;
++
+ UniquePtr<Options> options(new Options());
+ // Guarantee that crashAfterTicks is non-zero
+ options->crashAfterTicks = std::max(1, crashAfterMS /
HEARTBEAT_INTERVAL_MS);
diff --git a/http/firefox/patches/0010-gcc-lto-pgo-gentoo.patch
b/http/firefox/patches/0010-gcc-lto-pgo-gentoo.patch
deleted file mode 100644
index 581d362..0000000
--- a/http/firefox/patches/0010-gcc-lto-pgo-gentoo.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-diff --git a/build/moz.configure/lto-pgo.configure
b/build/moz.configure/lto-pgo.configure
-index 165541b79842..372e100bc6c2 100644
---- a/build/moz.configure/lto-pgo.configure
-+++ b/build/moz.configure/lto-pgo.configure
-@@ -96,12 +96,16 @@ set_config("PGO_PROFILE_PATH", pgo_profile_path)
-
- @depends(
- "--enable-profile-use",
-+ c_compiler,
- pgo_profile_path,
- llvm_profdata,
- llvm_profdata_order,
- build_environment,
- )
--def orderfile_path(profile_use, path, profdata, profdata_order, build_env):
-+def orderfile_path(profile_use, compiler, path, profdata, profdata_order,
build_env):
-+ if compiler.type == "gcc":
-+ return None
-+
- if not profile_use:
- return None
-
-@@ -145,7 +149,7 @@ def pgo_flags(
- return namespace(
- gen_cflags=["-fprofile-generate"],
- gen_ldflags=["-fprofile-generate"],
-- use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wcoverage-mismatch"],
-+ use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wno-coverage-mismatch"],
- use_ldflags=["-fprofile-use"],
- )
-
-diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
-index faf15719a053..dde982ef09a4 100755
---- a/build/pgo/profileserver.py
-+++ b/build/pgo/profileserver.py
-@@ -96,9 +96,22 @@ if __name__ == "__main__":
- locations = ServerLocations()
- locations.add_host(host="127.0.0.1", port=PORT,
options="primary,privileged")
-
-- old_profraw_files = glob.glob("*.profraw")
-- for f in old_profraw_files:
-- os.remove(f)
-+ using_gcc = False
-+ try:
-+ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
-+ using_gcc = True
-+ except BuildEnvironmentNotFoundException:
-+ pass
-+
-+ if using_gcc:
-+ for dirpath, _, filenames in os.walk('.'):
-+ for f in filenames:
-+ if f.endswith('.gcda'):
-+ os.remove(os.path.join(dirpath, f))
-+ else:
-+ old_profraw_files = glob.glob('*.profraw')
-+ for f in old_profraw_files:
-+ os.remove(f)
-
- with TemporaryDirectory() as profilePath:
- # TODO: refactor this into mozprofile
-@@ -228,6 +241,11 @@ if __name__ == "__main__":
- print("Firefox exited successfully, but produced a crashreport")
- sys.exit(1)
-
-+ if using_gcc:
-+ print('Copying profile data....')
-+ os.system('pwd');
-+ os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd
..; tar xf instrumented/profdata.tar.gz;');
-+
- llvm_profdata = env.get("LLVM_PROFDATA")
- if llvm_profdata:
- profraw_files = glob.glob("*.profraw")
-diff --git a/gfx/2d/moz.build b/gfx/2d/moz.build
-index 47de487..c4f4322 100644
---- a/gfx/2d/moz.build
-+++ b/gfx/2d/moz.build
-@@ -132,11 +132,11 @@ if CONFIG["INTEL_ARCHITECTURE"]:
- DEFINES["USE_SSE2"] = True
- # The file uses SSE2 intrinsics, so it needs special compile flags on
some
- # compilers.
-- SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2"]
-+ SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
- SOURCES["ConvolutionFilterSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["FilterProcessingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["ImageScalingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
-- SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2"]
-+ SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
- SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
-
-diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
-index 8f2fa5ddbd49..8ed44780fdc3 100755
---- a/gfx/skia/generate_mozbuild.py
-+++ b/gfx/skia/generate_mozbuild.py
-@@ -50,8 +50,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
- if CONFIG['INTEL_ARCHITECTURE']:
- SOURCES['skia/modules/skcms/skcms.cc'].flags += ['-DSKCMS_DISABLE_SKX']
- skia_ssse3_flags = ['-Dskvx=skvx_ssse3', '-mssse3']
-- skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx']
-- skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
-+ skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
-+ skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma',
'-fno-lto']
- SOURCES['skia/src/core/SkBitmapProcState_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
- SOURCES['skia/src/core/SkBlitMask_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
- SOURCES['skia/src/core/SkSwizzler_opts_ssse3.cpp'].flags +=
['-Dskvx=skvx_ssse3']
-diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
-index b944b3fad445..329aa846385b 100644
---- a/gfx/skia/moz.build
-+++ b/gfx/skia/moz.build
-@@ -603,8 +603,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
- if CONFIG['INTEL_ARCHITECTURE']:
- SOURCES['skia/modules/skcms/skcms.cc'].flags += ['-DSKCMS_DISABLE_SKX']
- skia_ssse3_flags = ['-Dskvx=skvx_ssse3', '-mssse3']
-- skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx']
-- skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma']
-+ skia_avx_flags = ['-Dskvx=skvx_avx', '-mavx', '-fno-lto']
-+ skia_hsw_flags = ['-Dskvx=skvx_hsw', '-mavx2', '-mf16c', '-mfma',
'-fno-lto']
- SOURCES['skia/src/core/SkBitmapProcState_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
- SOURCES['skia/src/core/SkBlitMask_opts_ssse3.cpp'].flags +=
skia_ssse3_flags
- SOURCES['skia/src/core/SkSwizzler_opts_ssse3.cpp'].flags +=
['-Dskvx=skvx_ssse3']
-diff --git a/security/sandbox/linux/moz.build
b/security/sandbox/linux/moz.build
-index c346b8574921..f682ef9f2923 100644
---- a/security/sandbox/linux/moz.build
-+++ b/security/sandbox/linux/moz.build
-@@ -112,9 +112,8 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc"):
- # gcc lto likes to put the top level asm in syscall.cc in a different
partition
- # from the function using it which breaks the build. Work around that by
- # forcing there to be only one partition.
--for f in CONFIG["OS_CXXFLAGS"]:
-- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
-- LDFLAGS += ["--param lto-partitions=1"]
-+if CONFIG['CC_TYPE'] != 'clang':
-+ LDFLAGS += ['--param', 'lto-partitions=1']
-
- DEFINES["NS_NO_XPCOM"] = True
- DisableStlWrapping()
-diff -up firefox-149.0/toolkit/components/terminator/nsTerminator.cpp.pgo
firefox-149.0/toolkit/components/terminator/nsTerminator.cpp
---- firefox-149.0/toolkit/components/terminator/nsTerminator.cpp.pgo
2026-03-18 19:54:05.000000000 +0100
-+++ firefox-149.0/toolkit/components/terminator/nsTerminator.cpp
2026-03-19 16:01:55.737755729 +0100
-@@ -338,6 +338,11 @@ void nsTerminator::StartWatchdog() {
- }
- #endif
-
-+ // Disable watchdog for PGO train builds - writting profile information at
-+ // exit may take time and it is better to make build hang rather than
-+ // silently produce poorly performing binary.
-+ crashAfterMS = INT32_MAX;
-+
- UniquePtr<Options> options(new Options());
- // Guarantee that crashAfterTicks is non-zero
- options->crashAfterTicks = std::max(1, crashAfterMS /
HEARTBEAT_INTERVAL_MS);
diff --git a/http/firefox/patches/0011-dont-use-build-id.patch
b/http/firefox/patches/0011-dont-use-build-id.patch
new file mode 100644
index 0000000..4ec8ac1
--- /dev/null
+++ b/http/firefox/patches/0011-dont-use-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)
diff --git a/http/firefox/patches/0012-dont-use-build-id.patch
b/http/firefox/patches/0012-dont-use-build-id.patch
deleted file mode 100644
index 4ec8ac1..0000000
--- a/http/firefox/patches/0012-dont-use-build-id.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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)
diff --git a/http/firefox/patches/0013-gcc-always-inline-from-fedora.patch
b/http/firefox/patches/0013-gcc-always-inline-from-fedora.patch
new file mode 100644
index 0000000..d7af60f
--- /dev/null
+++ b/http/firefox/patches/0013-gcc-always-inline-from-fedora.patch
@@ -0,0 +1,14 @@
+diff -up firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline
firefox-114.0.2/gfx/wr/swgl/src/gl.cc
+--- firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline 2023-06-22
11:08:53.294593327 +0200
++++ firefox-114.0.2/gfx/wr/swgl/src/gl.cc 2023-06-22 11:12:43.663486734
+0200
+@@ -58,9 +58,7 @@ WINBASEAPI BOOL WINAPI QueryPerformanceF
+ }
+
+ #else
+-// GCC is slower when dealing with always_inline, especially in debug
builds.
+-// When using Clang, use always_inline more aggressively.
+-# if defined(__clang__) || defined(NDEBUG)
++# if defined(__clang__) || defined (__GNUC__) || defined(NDEBUG)
+ # define ALWAYS_INLINE __attribute__((always_inline)) inline
+ # else
+ # define ALWAYS_INLINE inline
diff --git a/http/firefox/patches/0014-gcc-always-inline-from-fedora.patch
b/http/firefox/patches/0014-gcc-always-inline-from-fedora.patch
deleted file mode 100644
index d7af60f..0000000
--- a/http/firefox/patches/0014-gcc-always-inline-from-fedora.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline
firefox-114.0.2/gfx/wr/swgl/src/gl.cc
---- firefox-114.0.2/gfx/wr/swgl/src/gl.cc.inline 2023-06-22
11:08:53.294593327 +0200
-+++ firefox-114.0.2/gfx/wr/swgl/src/gl.cc 2023-06-22 11:12:43.663486734
+0200
-@@ -58,9 +58,7 @@ WINBASEAPI BOOL WINAPI QueryPerformanceF
- }
-
- #else
--// GCC is slower when dealing with always_inline, especially in debug
builds.
--// When using Clang, use always_inline more aggressively.
--# if defined(__clang__) || defined(NDEBUG)
-+# if defined(__clang__) || defined (__GNUC__) || defined(NDEBUG)
- # define ALWAYS_INLINE __attribute__((always_inline)) inline
- # else
- # define ALWAYS_INLINE inline
diff --git a/http/firefox/patches/0015-bgo-940031-wasm-support.patch
b/http/firefox/patches/0015-bgo-940031-wasm-support.patch
new file mode 100644
index 0000000..f4d0ed5
--- /dev/null
+++ b/http/firefox/patches/0015-bgo-940031-wasm-support.patch
@@ -0,0 +1,12 @@
+diff -up a/toolkit/moz.configure.wasi b/toolkit/moz.configure
+--- a/toolkit/moz.configure.wasi
++++ b/toolkit/moz.configure
+@@ -2663,7 +2663,7 @@ with only_when(requires_wasm_sandboxing
+ def wasi_sysroot_flags(wasi_sysroot):
+ if wasi_sysroot:
+ log.info("Using wasi sysroot in %s", wasi_sysroot)
+- return ["--sysroot=%s" % wasi_sysroot]
++ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs",
"-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi",
"%%PORTAGE_WORKDIR%%/wasi-sdk-%%WASI_SDK_VER%%-%%WASI_ARCH%%-linux/lib/clang/%%WASI_SDK_LLVM_VER%%/lib/wasm32-unknown-wasi/libclang_rt.builtins.a"]
+ return []
+
+ set_config("WASI_SYSROOT", wasi_sysroot)
diff --git a/http/firefox/patches/0016-bgo-940031-wasm-support.patch
b/http/firefox/patches/0016-bgo-940031-wasm-support.patch
deleted file mode 100644
index f4d0ed5..0000000
--- a/http/firefox/patches/0016-bgo-940031-wasm-support.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up a/toolkit/moz.configure.wasi b/toolkit/moz.configure
---- a/toolkit/moz.configure.wasi
-+++ b/toolkit/moz.configure
-@@ -2663,7 +2663,7 @@ with only_when(requires_wasm_sandboxing
- def wasi_sysroot_flags(wasi_sysroot):
- if wasi_sysroot:
- log.info("Using wasi sysroot in %s", wasi_sysroot)
-- return ["--sysroot=%s" % wasi_sysroot]
-+ return ["--sysroot=%s" % wasi_sysroot, "-nodefaultlibs",
"-lc", "-lwasi-emulated-process-clocks", "-lc++", "-lc++abi",
"%%PORTAGE_WORKDIR%%/wasi-sdk-%%WASI_SDK_VER%%-%%WASI_ARCH%%-linux/lib/clang/%%WASI_SDK_LLVM_VER%%/lib/wasm32-unknown-wasi/libclang_rt.builtins.a"]
- return []
-
- set_config("WASI_SYSROOT", wasi_sysroot)
diff --git a/http/firefox/patches/0016-bgo-962985-libcxx-visibility-fix.patch
b/http/firefox/patches/0016-bgo-962985-libcxx-visibility-fix.patch
new file mode 100644
index 0000000..6ec33cf
--- /dev/null
+++ b/http/firefox/patches/0016-bgo-962985-libcxx-visibility-fix.patch
@@ -0,0 +1,19 @@
+diff --git a/build/moz.configure/toolchain.configure
b/build/moz.configure/toolchain.configure
+index b2192e4066..9c8de4636b 100644
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -2423,10 +2423,11 @@ set_define("_LIBCPP_ALWAYS_INLINE",
libcxx_override_visibility.empty)
+ set_define("_LIBCPP_HIDE_FROM_ABI",
libcxx_override_visibility.hide_from_abi)
+
+
+-@depends(target, build_environment)
+-def visibility_flags(target, env):
++@depends(target, build_environment,
++ try_compile(language="C++", includes=["new"], body="#ifndef
_LIBCPP_VERSION\n#error 1\n#endif"))
++def visibility_flags(target, env, using_libcxx):
+ if target.os != "WINNT":
+- if target.kernel in ("Darwin", "FreeBSD", "OpenBSD"):
++ if using_libcxx:
+ return ("-fvisibility=hidden", "-fvisibility-inlines-hidden")
+ return (
+ "-I%s/system_wrappers" % os.path.join(env.dist),
diff --git a/http/firefox/patches/0017-bgo-928126-enable-jxl.patch
b/http/firefox/patches/0017-bgo-928126-enable-jxl.patch
deleted file mode 100644
index bc2f865..0000000
--- a/http/firefox/patches/0017-bgo-928126-enable-jxl.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-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/http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
b/http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
new file mode 100644
index 0000000..74220e2
--- /dev/null
+++
b/http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.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/http/firefox/patches/0018-bgo-962985-libcxx-visibility-fix.patch
b/http/firefox/patches/0018-bgo-962985-libcxx-visibility-fix.patch
deleted file mode 100644
index 6ec33cf..0000000
--- a/http/firefox/patches/0018-bgo-962985-libcxx-visibility-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/build/moz.configure/toolchain.configure
b/build/moz.configure/toolchain.configure
-index b2192e4066..9c8de4636b 100644
---- a/build/moz.configure/toolchain.configure
-+++ b/build/moz.configure/toolchain.configure
-@@ -2423,10 +2423,11 @@ set_define("_LIBCPP_ALWAYS_INLINE",
libcxx_override_visibility.empty)
- set_define("_LIBCPP_HIDE_FROM_ABI",
libcxx_override_visibility.hide_from_abi)
-
-
--@depends(target, build_environment)
--def visibility_flags(target, env):
-+@depends(target, build_environment,
-+ try_compile(language="C++", includes=["new"], body="#ifndef
_LIBCPP_VERSION\n#error 1\n#endif"))
-+def visibility_flags(target, env, using_libcxx):
- if target.os != "WINNT":
-- if target.kernel in ("Darwin", "FreeBSD", "OpenBSD"):
-+ if using_libcxx:
- return ("-fvisibility=hidden", "-fvisibility-inlines-hidden")
- return (
- "-I%s/system_wrappers" % os.path.join(env.dist),
diff --git
a/http/firefox/patches/0019-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
b/http/firefox/patches/0019-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
new file mode 100644
index 0000000..c78e4c5
--- /dev/null
+++
b/http/firefox/patches/0019-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
@@ -0,0 +1,20 @@
+--- a/intl/components/src/TimeZone.cpp
++++ b/intl/components/src/TimeZone.cpp
+@@ -4,6 +4,7 @@
+
+ #include "mozilla/intl/TimeZone.h"
+
++#include "mozilla/Try.h"
+ #include "mozilla/Vector.h"
+
+ #include <algorithm>
+--- a/widget/gtk/WakeLockListener.cpp
++++ b/widget/gtk/WakeLockListener.cpp
+@@ -14,6 +14,7 @@
+ #include "nsIStringBundle.h"
+ #include "nsReadableUtils.h"
+ #include "nsContentUtils.h"
++#include "prenv.h"
+
+ #ifdef MOZ_ENABLE_DBUS
+ # include <gio/gio.h>
diff --git
a/http/firefox/patches/0020-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
b/http/firefox/patches/0020-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
deleted file mode 100644
index 74220e2..0000000
---
a/http/firefox/patches/0020-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-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/http/firefox/patches/0021-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
b/http/firefox/patches/0021-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
deleted file mode 100644
index c78e4c5..0000000
---
a/http/firefox/patches/0021-bgo-966424-PR_GetEnv-non-unified-build-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/intl/components/src/TimeZone.cpp
-+++ b/intl/components/src/TimeZone.cpp
-@@ -4,6 +4,7 @@
-
- #include "mozilla/intl/TimeZone.h"
-
-+#include "mozilla/Try.h"
- #include "mozilla/Vector.h"
-
- #include <algorithm>
---- a/widget/gtk/WakeLockListener.cpp
-+++ b/widget/gtk/WakeLockListener.cpp
-@@ -14,6 +14,7 @@
- #include "nsIStringBundle.h"
- #include "nsReadableUtils.h"
- #include "nsContentUtils.h"
-+#include "prenv.h"
-
- #ifdef MOZ_ENABLE_DBUS
- # include <gio/gio.h>
diff --git a/http/firefox/patches/0023-bgo-969412-glibc-2.43.patch
b/http/firefox/patches/0023-bgo-969412-glibc-2.43.patch
deleted file mode 100644
index 529355d..0000000
--- a/http/firefox/patches/0023-bgo-969412-glibc-2.43.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -up
firefox-146.0/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h.build-c11-threads-avail
firefox-146.0/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h
----
firefox-146.0/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h.build-c11-threads-avail
2025-12-05 18:43:20.000000000 +0100
-+++
firefox-146.0/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h
2025-12-11 13:30:50.463371937 +0100
-@@ -66,7 +66,7 @@ typedef pthread_cond_t cnd_t;
- typedef pthread_t thrd_t;
- typedef pthread_key_t tss_t;
- typedef pthread_mutex_t mtx_t;
--typedef pthread_once_t once_flag;
-+//typedef pthread_once_t once_flag;
-
-
- /*
-@@ -90,12 +90,13 @@ impl_thrd_routine(void *p)
-
- /*--------------- 7.25.2 Initialization functions ---------------*/
- // 7.25.2.1
--static inline void
-+//
-+/*static inline void
- call_once(once_flag *flag, void (*func)(void))
- {
- pthread_once(flag, func);
- }
--
-+*/
-
- /*------------- 7.25.3 Condition variable functions -------------*/
- // 7.25.3.1
-diff -up
a/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
b/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
---- a/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
2025-12-09 13:42:31.378958842 +0100
-+++ b/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
2025-12-09 13:42:37.886937626 +0100
-@@ -6,6 +6,7 @@
- #define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_
-
- #include <stdint.h>
-+#include <signal.h>
- #include <sys/ioctl.h>
-
- #include "build/build_config.h"
diff --git
a/http/firefox/patches/0023-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
b/http/firefox/patches/0023-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
new file mode 100644
index 0000000..5454760
--- /dev/null
+++
b/http/firefox/patches/0023-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
@@ -0,0 +1,20 @@
+# Shuffle -Wno-incompatible-pointer-types from clang-only to match with gcc
as well.
+#
+# <+sam_> I'd expect that to fail with clang too, but I think only with >=22
(https://github.com/llvm/llvm-project/issues/74605)
+
+diff '--color=auto' -Naur a/media/ffvpx/ffvpxcommon.mozbuild
b/media/ffvpx/ffvpxcommon.mozbuild
+--- a/media/ffvpx/ffvpxcommon.mozbuild 2026-04-20 19:12:06.303537185 +0300
++++ b/media/ffvpx/ffvpxcommon.mozbuild 2026-04-20 19:13:00.046200239 +0300
+@@ -35,11 +35,11 @@
+ '-Wno-unused-function',
+ # XXX This does not seem to have any effect on some versions of GCC.
+ '-Wno-deprecated-declarations',
++ '-Wno-incompatible-pointer-types',
+ ]
+ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+ CFLAGS += [
+ '-Wno-absolute-value',
+- '-Wno-incompatible-pointer-types',
+ '-Wno-string-conversion',
+ '-Wno-visibility',
+ ]
diff --git
a/http/firefox/patches/0024-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
b/http/firefox/patches/0024-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
new file mode 100644
index 0000000..5adc2a3
--- /dev/null
+++
b/http/firefox/patches/0024-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
@@ -0,0 +1,21 @@
+--- a/ipc/glue/SharedMemoryHandle.h 2026-05-08 09:41:05.625846466 -0400
++++ b/ipc/glue/SharedMemoryHandle.h 2026-05-08 09:40:58.170035583 -0400
+@@ -5,6 +5,7 @@
+ #ifndef mozilla_ipc_SharedMemoryHandle_h
+ #define mozilla_ipc_SharedMemoryHandle_h
+
++#include <cstdint>
+ #include <utility>
+
+ #include "mozilla/UniquePtrExtensions.h"
+--- a/modules/woff2/include/woff2/output.h 2026-04-27 09:33:07.000000000
-0400
++++ b/modules/woff2/include/woff2/output.h 2026-05-08 20:55:09.770322838
-0400
+@@ -10,6 +10,7 @@
+ #define WOFF2_WOFF2_OUT_H_
+
+ #include <algorithm>
++#include <cstdint>
+ #include <cstring>
+ #include <memory>
+ #include <string>
+
\ No newline at end of file
diff --git
a/http/firefox/patches/0025-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
b/http/firefox/patches/0025-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
new file mode 100644
index 0000000..51a9685
--- /dev/null
+++
b/http/firefox/patches/0025-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
@@ -0,0 +1,47 @@
+
+# HG changeset patch
+# User Christoph Moench-Tegeder <cmt AT burggraben.net>
+# Date 1779091292 0
+# Node ID 6ad0c97b2327484e240b6d2e2cdefada0dc3a9fb
+# Parent 0fca3f59f8b7268de25c4e04a3283171442d0320
+Bug 2040125 - add GetSystemProxyDirect() to libproxy path
r=valentin,necko-reviewers
+
+In bmo #2028356 a "fast-path to skip proxy resolution[...]" was added,
+but the required method GetSystemProxyDirect() was not added for
+libproxy-enabled builds (all other cases - general Unix without
+libproxy, OSX, Windows - got that function).
+
+This makes a "--enable-libproxy" build (MOZ_ENABLE_LIBPROXY) fail at
+startup, as the symbol for nsUnixSystemProxySettings::GetSystemProxyDirect()
+does not resolve.
+
+This adds GetSystemProxyDirect() to the MOZ_ENABLE_LIBPROXY case - it's
+trivial, as we cannot know what libproxy will return for a specific URL,
+thus the fast-path does not apply and we can just return "false".
+
+Differential Revision: https://phabricator.services.mozilla.com/D300937
+
+
+diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp
b/toolkit/system/unixproxy/nsLibProxySettings.cpp
+--- a/toolkit/system/unixproxy/nsLibProxySettings.cpp
++++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp
+@@ -106,11 +106,18 @@ nsresult nsUnixSystemProxySettings::GetP
+ }
+
+ NS_IMETHODIMP
+ nsUnixSystemProxySettings::GetSystemWPADSetting(bool* aSystemWPADSetting) {
+ *aSystemWPADSetting = false;
+ return NS_OK;
+ }
+
++// we do not know if libproxy would return DIRECT or PROXY
++NS_IMETHODIMP
++nsUnixSystemProxySettings::GetSystemProxyDirect(bool* aResult) {
++ *aResult = false;
++ return NS_OK;
++}
++
+ NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
+ return do_AddRef(new nsUnixSystemProxySettings()).downcast<nsISupports>();
+ }
+
diff --git
a/http/firefox/patches/0026-bgo-976592-file-path-include-fstream-gcc-17-fix.patch
b/http/firefox/patches/0026-bgo-976592-file-path-include-fstream-gcc-17-fix.patch
new file mode 100644
index 0000000..8cc49e7
--- /dev/null
+++
b/http/firefox/patches/0026-bgo-976592-file-path-include-fstream-gcc-17-fix.patch
@@ -0,0 +1,10 @@
+--- a/ipc/chromium/src/base/file_path.h 2026-06-01 23:46:34.196804054
+0100
++++ b/ipc/chromium/src/base/file_path.h 2026-06-01 23:46:50.452943680
+0100
+@@ -65,6 +65,7 @@
+ #ifndef BASE_FILE_PATH_H_
+ #define BASE_FILE_PATH_H_
+
++#include <fstream>
+ #include <string>
+
+ #include "base/basictypes.h"
diff --git
a/http/firefox/patches/0026-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
b/http/firefox/patches/0026-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
deleted file mode 100644
index 5454760..0000000
---
a/http/firefox/patches/0026-ignore-Wincompatible-pointer-types-with-gcc-when-building-ffmpeg.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# Shuffle -Wno-incompatible-pointer-types from clang-only to match with gcc
as well.
-#
-# <+sam_> I'd expect that to fail with clang too, but I think only with >=22
(https://github.com/llvm/llvm-project/issues/74605)
-
-diff '--color=auto' -Naur a/media/ffvpx/ffvpxcommon.mozbuild
b/media/ffvpx/ffvpxcommon.mozbuild
---- a/media/ffvpx/ffvpxcommon.mozbuild 2026-04-20 19:12:06.303537185 +0300
-+++ b/media/ffvpx/ffvpxcommon.mozbuild 2026-04-20 19:13:00.046200239 +0300
-@@ -35,11 +35,11 @@
- '-Wno-unused-function',
- # XXX This does not seem to have any effect on some versions of GCC.
- '-Wno-deprecated-declarations',
-+ '-Wno-incompatible-pointer-types',
- ]
- if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
- CFLAGS += [
- '-Wno-absolute-value',
-- '-Wno-incompatible-pointer-types',
- '-Wno-string-conversion',
- '-Wno-visibility',
- ]
diff --git
a/http/firefox/patches/0027-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
b/http/firefox/patches/0027-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
deleted file mode 100644
index 5adc2a3..0000000
---
a/http/firefox/patches/0027-bgo-973544-add-cstdints-to-ipc-glue-and-woff2.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/ipc/glue/SharedMemoryHandle.h 2026-05-08 09:41:05.625846466 -0400
-+++ b/ipc/glue/SharedMemoryHandle.h 2026-05-08 09:40:58.170035583 -0400
-@@ -5,6 +5,7 @@
- #ifndef mozilla_ipc_SharedMemoryHandle_h
- #define mozilla_ipc_SharedMemoryHandle_h
-
-+#include <cstdint>
- #include <utility>
-
- #include "mozilla/UniquePtrExtensions.h"
---- a/modules/woff2/include/woff2/output.h 2026-04-27 09:33:07.000000000
-0400
-+++ b/modules/woff2/include/woff2/output.h 2026-05-08 20:55:09.770322838
-0400
-@@ -10,6 +10,7 @@
- #define WOFF2_WOFF2_OUT_H_
-
- #include <algorithm>
-+#include <cstdint>
- #include <cstring>
- #include <memory>
- #include <string>
-
\ No newline at end of file
diff --git
a/http/firefox/patches/0028-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
b/http/firefox/patches/0028-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
deleted file mode 100644
index 51a9685..0000000
---
a/http/firefox/patches/0028-bmo-2040125-addGetSystemProxyDirect-to-libproxy-path.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-
-# HG changeset patch
-# User Christoph Moench-Tegeder <cmt AT burggraben.net>
-# Date 1779091292 0
-# Node ID 6ad0c97b2327484e240b6d2e2cdefada0dc3a9fb
-# Parent 0fca3f59f8b7268de25c4e04a3283171442d0320
-Bug 2040125 - add GetSystemProxyDirect() to libproxy path
r=valentin,necko-reviewers
-
-In bmo #2028356 a "fast-path to skip proxy resolution[...]" was added,
-but the required method GetSystemProxyDirect() was not added for
-libproxy-enabled builds (all other cases - general Unix without
-libproxy, OSX, Windows - got that function).
-
-This makes a "--enable-libproxy" build (MOZ_ENABLE_LIBPROXY) fail at
-startup, as the symbol for nsUnixSystemProxySettings::GetSystemProxyDirect()
-does not resolve.
-
-This adds GetSystemProxyDirect() to the MOZ_ENABLE_LIBPROXY case - it's
-trivial, as we cannot know what libproxy will return for a specific URL,
-thus the fast-path does not apply and we can just return "false".
-
-Differential Revision: https://phabricator.services.mozilla.com/D300937
-
-
-diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp
b/toolkit/system/unixproxy/nsLibProxySettings.cpp
---- a/toolkit/system/unixproxy/nsLibProxySettings.cpp
-+++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp
-@@ -106,11 +106,18 @@ nsresult nsUnixSystemProxySettings::GetP
- }
-
- NS_IMETHODIMP
- nsUnixSystemProxySettings::GetSystemWPADSetting(bool* aSystemWPADSetting) {
- *aSystemWPADSetting = false;
- return NS_OK;
- }
-
-+// we do not know if libproxy would return DIRECT or PROXY
-+NS_IMETHODIMP
-+nsUnixSystemProxySettings::GetSystemProxyDirect(bool* aResult) {
-+ *aResult = false;
-+ return NS_OK;
-+}
-+
- NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
- return do_AddRef(new nsUnixSystemProxySettings()).downcast<nsISupports>();
- }
-
- [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (aaad53517438437fcb16dea96e421547cc493af7), Pavel Vinogradov, 06/15/2026
Archive powered by MHonArc 2.6.24.