pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/firefox firefox: Update to 105.0.3



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9b04236b2f06
branches:  trunk
changeset: 386439:9b04236b2f06
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Sat Oct 08 21:18:55 2022 +0000

description:
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

diffstat:

 www/firefox/Makefile                                                                     |   7 +-
 www/firefox/PLIST                                                                        |   3 +-
 www/firefox/distinfo                                                                     |  16 +-
 www/firefox/mozilla-common.mk                                                            |   4 +-
 www/firefox/options.mk                                                                   |   5 +-
 www/firefox/patches/patch-js_src_jit_FlushICache.cpp                                     |  25 ++++
 www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py                         |  16 ++
 www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp                          |  38 -------
 www/firefox/patches/patch-modules_fdlibm_src_math__private.h                             |   9 +-
 www/firefox/patches/patch-mozglue_misc_SIMD.cpp                                          |  54 ++++++++++
 www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp                                    |  19 +++
 www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_arenastring.cc |  17 ---
 12 files changed, 138 insertions(+), 75 deletions(-)

diffs (truncated from 341 to 300 lines):

diff -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/Makefile
--- a/www/firefox/Makefile      Sat Oct 08 20:30:46 2022 +0000
+++ b/www/firefox/Makefile      Sat Oct 08 21:18:55 2022 +0000
@@ -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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/PLIST
--- a/www/firefox/PLIST Sat Oct 08 20:30:46 2022 +0000
+++ b/www/firefox/PLIST Sat Oct 08 21:18:55 2022 +0000
@@ -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/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@localhost
 lib/firefox/browser/features/formautofill%mozilla.org.xpi@localhost
 lib/firefox/browser/features/pictureinpicture%mozilla.org.xpi@localhost
 lib/firefox/browser/features/screenshots%mozilla.org.xpi@localhost
diff -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/distinfo
--- a/www/firefox/distinfo      Sat Oct 08 20:30:46 2022 +0000
+++ b/www/firefox/distinfo      Sat Oct 08 21:18:55 2022 +0000
@@ -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-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_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_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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/mozilla-common.mk
--- a/www/firefox/mozilla-common.mk     Sat Oct 08 20:30:46 2022 +0000
+++ b/www/firefox/mozilla-common.mk     Sat Oct 08 21:18:55 2022 +0000
@@ -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+=       --disable-icf
 CONFIGURE_ARGS+=       --disable-updater
 
+CONFIGURE_ARGS+=       --enable-new-pass-manager
+
 .include "../../mk/compiler.mk"
 
 .if empty(PKGSRC_COMPILER:Mclang)
diff -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/options.mk
--- a/www/firefox/options.mk    Sat Oct 08 20:30:46 2022 +0000
+++ b/www/firefox/options.mk    Sat Oct 08 21:18:55 2022 +0000
@@ -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+=        dbus
 PKG_SUPPORTED_OPTIONS+=        alsa pulseaudio sunaudio jack
 
+.if ${OPSYS} == "Linux"
 PKG_SUGGESTED_OPTIONS+=        dbus
-
-.if ${OPSYS} == "Linux"
 PKG_SUGGESTED_OPTIONS+=        pulseaudio mozilla-jemalloc webrtc
 .endif
 
diff -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/patches/patch-js_src_jit_FlushICache.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-js_src_jit_FlushICache.cpp      Sat Oct 08 21:18:55 2022 +0000
@@ -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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-js_src_jit_GenerateAtomicOperations.py  Sat Oct 08 21:18:55 2022 +0000
@@ -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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp
--- a/www/firefox/patches/patch-js_src_jit_arm64_vixl_MozCpu-vixl.cpp   Sat Oct 08 20:30:46 2022 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/patches/patch-modules_fdlibm_src_math__private.h
--- a/www/firefox/patches/patch-modules_fdlibm_src_math__private.h      Sat Oct 08 20:30:46 2022 +0000
+++ b/www/firefox/patches/patch-modules_fdlibm_src_math__private.h      Sat Oct 08 21:18:55 2022 +0000
@@ -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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/patches/patch-mozglue_misc_SIMD.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-mozglue_misc_SIMD.cpp   Sat Oct 08 21:18:55 2022 +0000
@@ -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 -r 6c4c537dad0d -r 9b04236b2f06 www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-mozglue_misc_SIMD__avx2.cpp     Sat Oct 08 21:18:55 2022 +0000



Home | Main Index | Thread Index | Old Index