summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2022-10-08 21:18:55 +0000
committerryoon <ryoon@pkgsrc.org>2022-10-08 21:18:55 +0000
commit08f722ebebb590b672fd2e38c474cdd3c18c3b19 (patch)
tree5a6930ff44a3baa846c92f591ca7db35961f537d
parentc4008d5c48b72a678b5ef3c44c8e18a345fa84ef (diff)
downloadpkgsrc-08f722ebebb590b672fd2e38c474cdd3c18c3b19.tar.gz
firefox: Update to 105.0.3
* Add --enable-new-pass-manager. * Disable sysutils/dbus dependency for non-Linux platforms by default. Changelog: 105.0.3: Fixed * Mitigated frequent crashes for Windows users with Avast or AVG Antivirus software installed (bug 1794064) 105.0.2: Fixed * Fixed poor contrast on various menu items with certain themes on Linux systems (bug 1792063) * Fixed the scrollbar appearing on the wrong side of select elements in right-to-left locales (bug 1791219) * Fixed a possible deadlock when loading some sites in Troubleshoot Mode (bug 1786259) * Fixed a bug causing some dynamic appearance changes to not appear when expected (bug 1786521) * Fixed a bug causing theme styling to not be properly applied to sidebars for some add-ons in Private Browsing Mode (bug 1787543) 105.0.1: Fixed * Reverted focus behavior for new windows back to the content area instead of the address bar (bug 1784692) 105.0: New * Added an option to print only the current page from the print preview dialog. * Firefox now supports partitioned service workers in third-party contexts. You can register service workers in a third-party iframe and it will be partitioned under the top-level domain. * Swipe to navigate (two fingers on a touchpad swiped left or right to perform history back or forward) on Windows is now enabled. * Firefox is now compliant with the User Timing L3 specification, which adds additional optional arguments to the performance.mark and performance.measure methods to provide custom start times, end times, duration, and attached details. * Searching in large lists for individual items is now 2x faster. This performance enhancement replaces array.includes and array.indexOf with an optimized SIMD version. Fixed * Stability on Windows is significantly improved as Firefox handles low-memory situations much better. * Touchpad scrolling on macOS was made more accessible by reducing unintended diagonal scrolling opposite of the intended scroll axis. * Firefox is less likely to run out of memory on Linux and performs more efficiently for the rest of the system when memory runs low. * Various security fixes. Web Platform * Support for the Offscreen Canvas DOM API with full context and font support. The OffscreenCanvas API provides a canvas that can be rendered off-screen in both Window and Web Worker contexts. Security fixes: #CVE-2022-40959: Bypassing FeaturePolicy restrictions on transient pages #CVE-2022-40960: Data-race when parsing non-UTF-8 URLs in threads #CVE-2022-40958: Bypassing Secure Context restriction for cookies with __Host and __Secure prefix #CVE-2022-40961: Stack-buffer overflow when initializing Graphics #CVE-2022-40956: Content-Security-Policy base-uri bypass #CVE-2022-40957: Incoherent instruction cache when building WASM on ARM64 #CVE-2022-40962: Memory safety bugs fixed in Firefox 105 and Firefox ESR 102.3
-rw-r--r--www/firefox/Makefile7
-rw-r--r--www/firefox/PLIST3
-rw-r--r--www/firefox/distinfo16
-rw-r--r--www/firefox/mozilla-common.mk4
-rw-r--r--www/firefox/options.mk5
-rw-r--r--www/firefox/patches/patch-js_src_jit_FlushICache.cpp25
-rw-r--r--www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py16
-rw-r--r--www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp38
-rw-r--r--www/firefox/patches/patch-modules_fdlibm_src_math__private.h9
-rw-r--r--www/firefox/patches/patch-mozglue_misc_SIMD.cpp54
-rw-r--r--www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp19
-rw-r--r--www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc17
12 files changed, 138 insertions, 75 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index c6bbb337bd6..d3fc6b025e5 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.539 2022/09/27 20:58:28 wiz Exp $
+# $NetBSD: Makefile,v 1.540 2022/10/08 21:18:55 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH= 104.0
-MOZ_BRANCH_MINOR= .2
+MOZ_BRANCH= 105.0
+MOZ_BRANCH_MINOR= .3
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//}
-PKGREVISION= 2
CATEGORIES= www
MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
EXTRACT_SUFX= .tar.xz
diff --git a/www/firefox/PLIST b/www/firefox/PLIST
index 2b07d3b74ff..ba53e5f3f8b 100644
--- a/www/firefox/PLIST
+++ b/www/firefox/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.180 2022/03/01 13:35:33 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.181 2022/10/08 21:18:55 ryoon Exp $
bin/firefox
lib/firefox/application.ini
lib/firefox/browser/chrome/icons/default/default128.png
@@ -6,7 +6,6 @@ lib/firefox/browser/chrome/icons/default/default16.png
lib/firefox/browser/chrome/icons/default/default32.png
lib/firefox/browser/chrome/icons/default/default48.png
lib/firefox/browser/chrome/icons/default/default64.png
-lib/firefox/browser/features/doh-rollout@mozilla.org.xpi
lib/firefox/browser/features/formautofill@mozilla.org.xpi
lib/firefox/browser/features/pictureinpicture@mozilla.org.xpi
lib/firefox/browser/features/screenshots@mozilla.org.xpi
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index b5d202f4056..f8603957567 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.483 2022/09/08 19:54:16 ryoon Exp $
+$NetBSD: distinfo,v 1.484 2022/10/08 21:18:55 ryoon Exp $
-BLAKE2s (firefox-104.0.2.source.tar.xz) = 4a1f957c30c316020043a868c7ae7d7292ed4ff85c0c7039b1850fc2bea92ca7
-SHA512 (firefox-104.0.2.source.tar.xz) = bf0d972add11566f5ef6402a22abd82122945de9fa9aab6ed7bb7e41d0843d41948a6d95c0769b0b704c066c8ff6e3f3bf26fcf288c64cd3b3f09a13d4dd467d
-Size (firefox-104.0.2.source.tar.xz) = 478270500 bytes
+BLAKE2s (firefox-105.0.3.source.tar.xz) = 64757132ada61d6a258bfa43c121884181be4702d064b10e5ca40f6666d096e8
+SHA512 (firefox-105.0.3.source.tar.xz) = 8a60ed26f3a6e3fafb1eb13a8daf067056d011a17835310f8ce814b86121014796e790f611058aea75334428529028a2e29ba81d9d2653e09517dc7c3cf48e76
+Size (firefox-105.0.3.source.tar.xz) = 484942048 bytes
BLAKE2s (nodejs-output-95.0.tgz) = c44b37d3605524a49157002f01c29f568f04194b0e635bc312de7ffdeb9a74c9
SHA512 (nodejs-output-95.0.tgz) = 2faf326f4e100b66f8597c365cc2eb5d0eee26aae92a7e2446891f2178041aa71ba16eae37000acacd43a657025ec11c18db73b112f5c49cc21cdb882da6d798
Size (nodejs-output-95.0.tgz) = 200627 bytes
@@ -19,8 +19,9 @@ SHA1 (patch-gfx_wr_swgl_build.rs) = df6ebfaabb4d27994e59a9d0eaf12c7cf08415fb
SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 298642a3527804115b398fb7904a3596962932e3
SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 35d20981d33ccdb1d8ffb8039e48798777f11658
SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 6cdd0fe60455eab8f9846257c2bfea207f19478b
+SHA1 (patch-js_src_jit_FlushICache.cpp) = b7536050d06e87612fbedc7ce269b5f120eb0ce9
+SHA1 (patch-js_src_jit_GenerateAtomicOperations.py) = ef01ad195ca50b41936f90492ee440ada9e5cafa
SHA1 (patch-js_src_jit_ProcessExecutableMemory.cpp) = fad103cc698f9828ad58f742231984ec2bc27605
-SHA1 (patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp) = fdc522e3fb626b1b8a2ebf19ad60bfc25dfa4183
SHA1 (patch-js_src_util_NativeStack.cpp) = a0a16d8d8d78d3cc3f4d2a508586f1a7821f7dba
SHA1 (patch-js_src_vm_ArrayBufferObject.cpp) = 0501fdcae11568ae4ea78e0d2f6b3750b7a67d47
SHA1 (patch-media_ffvpx_libavutil_arm_bswap.h) = de58daa0fd23d4fec50426602b65c9ea5862558a
@@ -29,7 +30,9 @@ SHA1 (patch-media_libcubeb_src_cubeb__jack.cpp) = fc546c5e6582fd5eda64ba83287dfb
SHA1 (patch-media_libcubeb_src_moz.build) = e027285ea24f2626b1328d4c6e9a31ed55445f99
SHA1 (patch-media_libpng_pngpriv.h) = c8084332560017cd7c9b519b61d125fa28af0dbc
SHA1 (patch-media_libtheora_lib_info.c) = f6dbf536d73859a1ff78304c2e9f6a6f74dac01f
-SHA1 (patch-modules_fdlibm_src_math__private.h) = 6ae3b0077b4a8c6088c35769fa1972cfc44ea9c1
+SHA1 (patch-modules_fdlibm_src_math__private.h) = 61a54ae2deda36d66b6d9515471ecc7980d3b574
+SHA1 (patch-mozglue_misc_SIMD.cpp) = 2ab2e32c46c22deae29c346ad6eac2fb1bfa8065
+SHA1 (patch-mozglue_misc_SIMD__avx2.cpp) = d5bd662b620d981a6288f89026339f24c809e56d
SHA1 (patch-mozglue_misc_Uptime.cpp) = daefe25ef1ebc8e4d3735017b9e8ac68c4710a00
SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = 13e512c7ee9fa1e14ba415d62fa853e5fbfc91c0
SHA1 (patch-security_nss_lib_freebl_mpi_mpi.c) = a7cd867916524770609d1c307a65b315b88456f4
@@ -37,7 +40,6 @@ SHA1 (patch-third__party_js_cfworker_build.sh) = 46cdf97b99cf01080f290ae8d9a33b5
SHA1 (patch-third__party_libwebrtc_modules_video__capture_linux_device__info__linux.cc) = 2e951d7d91934751608e99628fc144632d8a3b5c
SHA1 (patch-third__party_libwebrtc_system__wrappers_source_cpu__features__linux.cc) = b90e22b50879f7adcc1da3a993f52c0701b720f8
SHA1 (patch-third__party_wasm2c_wasm2c_wasm-rt-os-unix.c) = 9b8ce4b823fd06951aac59bdb4a5642f256b8e3f
-SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc) = 5bfd94022f7defc0e4aafb2ee82c3c77eae1fb5f
SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = bd7b2a0f2407c3ab95515b2f143c41c3ca6fb0c4
SHA1 (patch-toolkit_modules_subprocess_subprocess__shared__unix.js) = 2303b753066298305ccae80d72765dbc4da5e0dc
SHA1 (patch-toolkit_moz.configure) = 8de54693dc47b0993f220cc5a04af98925de1fb5
diff --git a/www/firefox/mozilla-common.mk b/www/firefox/mozilla-common.mk
index a52e4e630b9..9eda89c422c 100644
--- a/www/firefox/mozilla-common.mk
+++ b/www/firefox/mozilla-common.mk
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.239 2022/09/02 16:34:09 gutteridge Exp $
+# $NetBSD: mozilla-common.mk,v 1.240 2022/10/08 21:18:55 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@@ -102,6 +102,8 @@ CONFIGURE_ARGS+= --with-system-webp
CONFIGURE_ARGS+= --disable-icf
CONFIGURE_ARGS+= --disable-updater
+CONFIGURE_ARGS+= --enable-new-pass-manager
+
.include "../../mk/compiler.mk"
.if empty(PKGSRC_COMPILER:Mclang)
diff --git a/www/firefox/options.mk b/www/firefox/options.mk
index bd02a885bf8..f8c72894cd4 100644
--- a/www/firefox/options.mk
+++ b/www/firefox/options.mk
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.71 2022/07/27 17:09:46 tnn Exp $
+# $NetBSD: options.mk,v 1.72 2022/10/08 21:18:55 ryoon Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.firefox
@@ -7,9 +7,8 @@ PKG_SUPPORTED_OPTIONS+= debug debug-info mozilla-jemalloc webrtc
PKG_SUPPORTED_OPTIONS+= dbus
PKG_SUPPORTED_OPTIONS+= alsa pulseaudio sunaudio jack
-PKG_SUGGESTED_OPTIONS+= dbus
-
.if ${OPSYS} == "Linux"
+PKG_SUGGESTED_OPTIONS+= dbus
PKG_SUGGESTED_OPTIONS+= pulseaudio mozilla-jemalloc webrtc
.endif
diff --git a/www/firefox/patches/patch-js_src_jit_FlushICache.cpp b/www/firefox/patches/patch-js_src_jit_FlushICache.cpp
new file mode 100644
index 00000000000..c0fd79fb8a7
--- /dev/null
+++ b/www/firefox/patches/patch-js_src_jit_FlushICache.cpp
@@ -0,0 +1,25 @@
+$NetBSD: patch-js_src_jit_FlushICache.cpp,v 1.1 2022/10/08 21:18:55 ryoon Exp $
+
+NetBSD does not have the Linux-specific membarrier(2) syscall.
+
+--- js/src/jit/FlushICache.cpp.orig 2022-09-08 19:35:33.000000000 +0000
++++ js/src/jit/FlushICache.cpp
+@@ -31,12 +31,18 @@
+ # elif defined(__android__)
+ # include <sys/syscall.h>
+ # include <unistd.h>
++# elif defined(__NetBSD__)
++ // nothing
+ # else
+ # error "Missing platform-specific declarations for membarrier syscall!"
+ # endif // __linux__ / ANDROID
+
+ static int membarrier(int cmd, int flags) {
++#if defined(__NetBSD__)
++ return ENOSYS;
++#else
+ return syscall(__NR_membarrier, cmd, flags);
++#endif
+ }
+
+ // These definitions come from the Linux kernel source, for kernels before 4.16
diff --git a/www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py b/www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py
new file mode 100644
index 00000000000..7ab3565cd83
--- /dev/null
+++ b/www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py
@@ -0,0 +1,16 @@
+$NetBSD: patch-js_src_jit_GenerateAtomicOperations.py,v 1.3 2022/10/08 21:18:55 ryoon Exp $
+
+Fix build under NetBSD/i386 9 with GCC.
+From: https://bugzilla.mozilla.org/show_bug.cgi?id=1792159
+
+--- js/src/jit/GenerateAtomicOperations.py.orig 2022-10-07 15:25:40.000000000 +0000
++++ js/src/jit/GenerateAtomicOperations.py
+@@ -707,6 +707,8 @@ HEADER_TEMPLATE = """\
+
+ /* This file is generated by jit/GenerateAtomicOperations.py. Do not edit! */
+
++#include "mozilla/Attributes.h"
++
+ namespace js {
+ namespace jit {
+
diff --git a/www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp b/www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp
deleted file mode 100644
index c61ab2df72c..00000000000
--- a/www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-$NetBSD: patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp,v 1.2 2020/11/17 16:11:06 ryoon Exp $
-
-NetBSD/aarch64 does not have the Linux-specific membarrier(2) syscall.
-
---- js/src/jit/arm64/vixl/MozCpu-vixl.cpp.orig 2020-11-12 18:04:48.000000000 +0000
-+++ js/src/jit/arm64/vixl/MozCpu-vixl.cpp
-@@ -42,6 +42,8 @@
- # elif defined(__ANDROID__)
- # include <sys/syscall.h>
- # include <unistd.h>
-+# elif defined(__NetBSD__)
-+ // nothing
- # else
- # error "Missing platform-specific declarations for membarrier syscall!"
- # endif // __linux__ / ANDROID
-@@ -49,7 +51,11 @@
- # include "vm/JSContext.h" // TlsContext
-
- static int membarrier(int cmd, int flags) {
-+#if defined(__NetBSD__)
-+ return ENOSYS;
-+#else
- return syscall(__NR_membarrier, cmd, flags);
-+#endif
- }
-
- // These definitions come from the Linux kernel source, for kernels before 4.16
-@@ -116,7 +122,9 @@ uint32_t CPU::GetCacheType() {
- }
-
- bool CPU::CanFlushICacheFromBackgroundThreads() {
--#if defined(__aarch64__) && (defined(__linux__) || defined(__android__))
-+#if defined(__NetBSD__) && defined(__aarch64__)
-+ return false;
-+#elif defined(__aarch64__) && (defined(__linux__) || defined(__android__))
- // On linux, check the kernel supports membarrier(2), that is, it's a kernel
- // above Linux 4.16 included.
- //
diff --git a/www/firefox/patches/patch-modules_fdlibm_src_math__private.h b/www/firefox/patches/patch-modules_fdlibm_src_math__private.h
index fb5ea5ba36b..8ab0e780374 100644
--- a/www/firefox/patches/patch-modules_fdlibm_src_math__private.h
+++ b/www/firefox/patches/patch-modules_fdlibm_src_math__private.h
@@ -1,18 +1,21 @@
-$NetBSD: patch-modules_fdlibm_src_math__private.h,v 1.1 2021/10/29 16:46:04 ryoon Exp $
+$NetBSD: patch-modules_fdlibm_src_math__private.h,v 1.2 2022/10/08 21:18:55 ryoon Exp $
* Fix PR pkg/56457, build failure on NetBSD/i386.
Do not use FreeBSD-specific definition.
---- modules/fdlibm/src/math_private.h.orig 2021-09-27 22:47:42.000000000 +0000
+--- modules/fdlibm/src/math_private.h.orig 2022-10-07 15:25:41.000000000 +0000
+++ modules/fdlibm/src/math_private.h
-@@ -30,8 +30,8 @@
+@@ -30,10 +30,9 @@
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
*/
-typedef double __double_t;
-typedef __double_t double_t;
+-typedef float __float_t;
+-typedef __float_t float_t;
+#include <math.h>
+typedef double_t __double_t;
++typedef float_t __float_t;
/*
* The original fdlibm code used statements like:
diff --git a/www/firefox/patches/patch-mozglue_misc_SIMD.cpp b/www/firefox/patches/patch-mozglue_misc_SIMD.cpp
new file mode 100644
index 00000000000..042fc351576
--- /dev/null
+++ b/www/firefox/patches/patch-mozglue_misc_SIMD.cpp
@@ -0,0 +1,54 @@
+$NetBSD: patch-mozglue_misc_SIMD.cpp,v 1.1 2022/10/08 21:18:55 ryoon Exp $
+
+Fix build under NetBSD/i386 9 with GCC.
+From: https://bugzilla.mozilla.org/show_bug.cgi?id=1792158
+
+--- mozglue/misc/SIMD.cpp.orig 2022-10-07 15:25:41.000000000 +0000
++++ mozglue/misc/SIMD.cpp
+@@ -439,8 +439,27 @@ const char* SIMD::memchr8SSE2(const char
+ return reinterpret_cast<const char*>(uresult);
+ }
+
++// So, this is a bit awkward. It generally simplifies things if we can just
++// assume all the AVX2 code is 64-bit, so we have this preprocessor guard
++// in SIMD_avx2 over all of its actual code, and it also defines versions
++// of its endpoints that just assert false if the guard is not satisfied.
++// A 32 bit processor could implement the AVX2 instruction set though, which
++// would result in it passing the supports_avx2() check and landing in an
++// assertion failure. Accordingly, we just don't allow that to happen. We
++// are not particularly concerned about ensuring that newer 32 bit processors
++// get access to the AVX2 functions exposed here.
++# if defined(MOZILLA_MAY_SUPPORT_AVX2) && defined(__x86_64__)
++
++bool SupportsAVX2() { return supports_avx2(); }
++
++# else
++
++bool SupportsAVX2() { return false; }
++
++# endif
++
+ const char* SIMD::memchr8(const char* ptr, char value, size_t length) {
+- if (supports_avx2()) {
++ if (SupportsAVX2()) {
+ return memchr8AVX2(ptr, value, length);
+ }
+ return memchr8SSE2(ptr, value, length);
+@@ -453,7 +472,7 @@ const char16_t* SIMD::memchr16SSE2(const
+
+ const char16_t* SIMD::memchr16(const char16_t* ptr, char16_t value,
+ size_t length) {
+- if (supports_avx2()) {
++ if (SupportsAVX2()) {
+ return memchr16AVX2(ptr, value, length);
+ }
+ return memchr16SSE2(ptr, value, length);
+@@ -461,7 +480,7 @@ const char16_t* SIMD::memchr16(const cha
+
+ const uint64_t* SIMD::memchr64(const uint64_t* ptr, uint64_t value,
+ size_t length) {
+- if (supports_avx2()) {
++ if (SupportsAVX2()) {
+ return memchr64AVX2(ptr, value, length);
+ }
+ return FindInBufferNaive<uint64_t>(ptr, value, length);
diff --git a/www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp b/www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp
new file mode 100644
index 00000000000..86a94f5f44e
--- /dev/null
+++ b/www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozglue_misc_SIMD__avx2.cpp,v 1.1 2022/10/08 21:18:55 ryoon Exp $
+
+Fix build under NetBSD/i386 9 with GCC.
+From: https://bugzilla.mozilla.org/show_bug.cgi?id=1792158
+
+--- mozglue/misc/SIMD_avx2.cpp.orig 2022-10-07 15:25:41.000000000 +0000
++++ mozglue/misc/SIMD_avx2.cpp
+@@ -8,7 +8,10 @@
+ #include "mozilla/SSE.h"
+ #include "mozilla/Assertions.h"
+
+-#ifdef MOZILLA_MAY_SUPPORT_AVX2
++// Restricting to x86_64 simplifies things, and we're not particularly
++// worried about slightly degraded performance on 32 bit processors which
++// support AVX2, as this should be quite a minority.
++#if defined(MOZILLA_MAY_SUPPORT_AVX2) && defined(__x86_64__)
+
+ # include <cstring>
+ # include <immintrin.h>
diff --git a/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc b/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc
deleted file mode 100644
index b6500d7f593..00000000000
--- a/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc,v 1.1 2022/09/02 15:33:19 ryoon Exp $
-
-* Fix build under NetBSD/i386 9. From protobuf-3.21.5.
-
---- toolkit/components/protobuf/src/google/protobuf/arenastring.cc.orig 2022-08-19 01:24:42.000000000 +0000
-+++ toolkit/components/protobuf/src/google/protobuf/arenastring.cc
-@@ -64,8 +64,8 @@ constexpr size_t kNewAlign = alignof(std
- #endif
- constexpr size_t kStringAlign = alignof(std::string);
-
--static_assert((kStringAlign > kNewAlign ? kStringAlign : kNewAlign) >= 8, "");
--static_assert(alignof(ExplicitlyConstructedArenaString) >= 8, "");
-+static_assert((kStringAlign > kNewAlign ? kStringAlign : kNewAlign) >= 4, "");
-+static_assert(alignof(ExplicitlyConstructedArenaString) >= 4, "");
-
- } // namespace
-