Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Dec 2024 00:54:23 GMT
From:      Vladimir Druzenko <vvd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 9d5de596a2bc - main - www/waterfox: Update 6.0.19 =?utf-8?Q?=E2=86=92?= 6.5.2
Message-ID:  <202412210054.4BL0sNvk053160@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9d5de596a2bcbe93dc2045e5bb70bd3c5e1185ea

commit 9d5de596a2bcbe93dc2045e5bb70bd3c5e1185ea
Author:     Martin Filla <freebsd@sysctl.cz>
AuthorDate: 2024-12-21 00:46:31 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-12-21 00:46:31 +0000

    www/waterfox: Update 6.0.19 → 6.5.2
    
    Changelog:
    https://github.com/BrowserWorks/Waterfox/releases/tag/6.5.2
    
    PR:     283318
    MFH:    2024Q4
---
 www/waterfox/Makefile                              |    13 +-
 www/waterfox/distinfo                              |     8 +-
 www/waterfox/files/patch-addon-search              |    20 +-
 .../files/patch-browser-app-nsBrowserApp.cpp       |    14 +-
 .../patch-browser_installer_package-manifest.in    |     4 +-
 www/waterfox/files/patch-bug1427152                |    10 -
 www/waterfox/files/patch-bug1559213                |   104 +-
 www/waterfox/files/patch-bug1626236                |    40 +-
 www/waterfox/files/patch-bug1628567                |    32 -
 www/waterfox/files/patch-bug1680982                |   388 -
 www/waterfox/files/patch-bug1841919                |    75 -
 www/waterfox/files/patch-bug1873379                |    34 -
 www/waterfox/files/patch-bug1876366                |    23 +
 www/waterfox/files/patch-bug847568                 |   100 +-
 .../files/patch-dom_media_flac_FlacDecoder.cpp     |    23 -
 ...edia_webrtc_third__party__build_webrtc.mozbuild |    27 +
 .../files/patch-gfx_skia_skia_src_base_SkEndian.h  |    24 +-
 .../files/patch-gfx_skia_skia_src_core_SkCpu.cpp   |    32 -
 ...patch-gfx_skia_skia_src_core_SkRasterPipeline.h |    14 +-
 www/waterfox/files/patch-libwebrtc-generated       | 38475 ++++++++++---------
 www/waterfox/files/patch-mozglue_misc_SSE.h        |    84 +
 www/waterfox/files/patch-pipewire_init             |    33 +-
 ...patch-python_mozbuild_mozbuild_gn__processor.py |    17 +-
 ...ersioncontrol_mozversioncontrol_____init____.py |    15 +
 www/waterfox/files/patch-rust-1.78.0               |  3582 --
 ...rd__party_libwebrtc_build_config_BUILDCONFIG.gn |   116 +-
 ..._desktop__capture_linux_wayland__egl__dmabuf.cc |    26 +
 www/waterfox/files/patch-toolkit_xre_glxtest.cpp   |    17 -
 .../files/patch-tools_profiler_core_patform.cpp    |    51 -
 29 files changed, 21169 insertions(+), 22232 deletions(-)

diff --git a/www/waterfox/Makefile b/www/waterfox/Makefile
index 81a1653719d8..c986917602da 100644
--- a/www/waterfox/Makefile
+++ b/www/waterfox/Makefile
@@ -1,7 +1,5 @@
 PORTNAME=	waterfox
-DISTVERSIONPREFIX=	G
-DISTVERSION=	6.0.19
-PORTREVISION=	5
+DISTVERSION=	6.5.2
 PORTEPOCH=	1
 CATEGORIES=	www
 
@@ -13,14 +11,14 @@ LICENSE=	MPL20
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
-		nss>=3.95:security/nss \
+		nss>=3.101:security/nss \
 		icu>=74.2:devel/icu \
 		libevent>=2.1.8:devel/libevent \
-		harfbuzz>=8.3.0:print/harfbuzz \
+		harfbuzz>=8.5.0:print/harfbuzz \
 		graphite2>=1.3.14:graphics/graphite2 \
-		png>=1.6.39:graphics/png \
+		png>=1.6.43:graphics/png \
 		dav1d>=1.0.0:multimedia/dav1d \
-		libvpx>=1.13.0:multimedia/libvpx \
+		libvpx>=1.14.0:multimedia/libvpx \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
 		v4l_compat>0:multimedia/v4l_compat \
 		autoconf2.13:devel/autoconf2.13 \
@@ -32,6 +30,7 @@ USE_GECKO=	gecko
 USE_GITHUB=	yes
 GH_ACCOUNT=	BrowserWorks
 GH_PROJECT=	Waterfox
+GH_TUPLE=	BrowserWorks:l10n:3046738:l10n/waterfox/browser/locales
 USE_MOZILLA=	-sqlite
 
 # work around bindgen not finding ICU, e.g.
diff --git a/www/waterfox/distinfo b/www/waterfox/distinfo
index 0186c2eb62bf..9686a70797f7 100644
--- a/www/waterfox/distinfo
+++ b/www/waterfox/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1725694141
-SHA256 (BrowserWorks-Waterfox-G6.0.19_GH0.tar.gz) = bf8eeab7720c7ca14ceab4f1efbd884a4369b428048955bd8d76b47151478a3c
-SIZE (BrowserWorks-Waterfox-G6.0.19_GH0.tar.gz) = 762556046
+TIMESTAMP = 1734107781
+SHA256 (BrowserWorks-Waterfox-6.5.2_GH0.tar.gz) = 33c8d47d5955f4e2f1568eb1ae2780b3d6e65ffab3ec145672dd29e0dbb1f122
+SIZE (BrowserWorks-Waterfox-6.5.2_GH0.tar.gz) = 824023785
+SHA256 (BrowserWorks-l10n-3046738_GH0.tar.gz) = f9a16202b73558188af3157d427845153a89b3f3b3269c1e5d8ebc9e60eb9bd1
+SIZE (BrowserWorks-l10n-3046738_GH0.tar.gz) = 19480746
diff --git a/www/waterfox/files/patch-addon-search b/www/waterfox/files/patch-addon-search
index b6dbf7924b43..a0adc808c9fa 100644
--- a/www/waterfox/files/patch-addon-search
+++ b/www/waterfox/files/patch-addon-search
@@ -2,10 +2,10 @@ https://github.com/mozilla/addons/issues/708
 https://github.com/mozilla/addons-frontend/issues/4610
 
 diff --git browser/app/profile/firefox.js browser/app/profile/firefox.js
-index 621900f90fc1..401ef9074bd0 100644
+index 5964d40ca3a3..ed81b06af8d5 100644
 --- browser/app/profile/firefox.js
 +++ browser/app/profile/firefox.js
-@@ -38,7 +38,7 @@ pref("extensions.postDownloadThirdPartyPrompt", true);
+@@ -39,7 +39,7 @@ pref("extensions.postDownloadThirdPartyPrompt", true);
  // Preferences for AMO integration
  pref("extensions.getAddons.cache.enabled", true);
  pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%");
@@ -14,7 +14,7 @@ index 621900f90fc1..401ef9074bd0 100644
  pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
  pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
  pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
-@@ -204,8 +204,8 @@ pref("app.update.langpack.enabled", true);
+@@ -214,8 +214,8 @@ pref("app.update.langpack.enabled", true);
  //  .. etc ..
  //
  pref("extensions.update.enabled", true);
@@ -26,10 +26,10 @@ index 621900f90fc1..401ef9074bd0 100644
                                              // Themes every day
  
 diff --git toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
-index f906f244b658..7bb2eb6697c6 100644
+index e854e04b3ce2..27e8247eb886 100644
 --- toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
 +++ toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
-@@ -596,7 +596,7 @@ export var AddonRepository = {
+@@ -715,7 +715,7 @@ export var AddonRepository = {
        addon.version = String(aEntry.current_version.version);
        if (Array.isArray(aEntry.current_version.files)) {
          for (let file of aEntry.current_version.files) {
@@ -38,11 +38,11 @@ index f906f244b658..7bb2eb6697c6 100644
              if (file.url) {
                addon.sourceURI = lazy.NetUtil.newURI(file.url);
              }
-diff --git toolkit/mozapps/extensions/internal/XPIDatabase.jsm toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-index 03186dad43a4..4053fc6f2702 100644
---- toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-+++ toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-@@ -634,7 +634,7 @@ class AddonInternal {
+diff --git toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
+index 5d1d2c19706b..4dcba06a95f4 100644
+--- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
++++ toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
+@@ -632,7 +632,7 @@ export class AddonInternal {
      // Something is causing errors in here
      try {
        for (let platform of this.targetPlatforms) {
diff --git a/www/waterfox/files/patch-browser-app-nsBrowserApp.cpp b/www/waterfox/files/patch-browser-app-nsBrowserApp.cpp
index 68cb778b95a7..3b9097714e21 100644
--- a/www/waterfox/files/patch-browser-app-nsBrowserApp.cpp
+++ b/www/waterfox/files/patch-browser-app-nsBrowserApp.cpp
@@ -1,12 +1,14 @@
---- browser/app/nsBrowserApp.cpp.orig	2016-09-19 16:19:28 UTC
+diff --git browser/app/nsBrowserApp.cpp browser/app/nsBrowserApp.cpp
+index 87c2e16..a41f1d9 100644
+--- browser/app/nsBrowserApp.cpp
 +++ browser/app/nsBrowserApp.cpp
-@@ -324,6 +324,9 @@ int main(int argc, char* argv[], char* e
- {
-   mozilla::TimeStamp start = mozilla::TimeStamp::Now();
+@@ -337,6 +337,9 @@ int main(int argc, char* argv[], char* envp[]) {
+   }
+ #endif
  
 +  setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
 +  setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
 +
  #ifdef HAS_DLL_BLOCKLIST
-   DllBlocklist_Initialize();
- 
+   DllBlocklist_Initialize(gBlocklistInitFlags);
+ #endif
diff --git a/www/waterfox/files/patch-browser_installer_package-manifest.in b/www/waterfox/files/patch-browser_installer_package-manifest.in
index adb03232bb0b..05d678eb4bbe 100644
--- a/www/waterfox/files/patch-browser_installer_package-manifest.in
+++ b/www/waterfox/files/patch-browser_installer_package-manifest.in
@@ -1,6 +1,6 @@
---- browser/installer/package-manifest.in.orig	2024-04-30 12:34:17 UTC
+--- browser/installer/package-manifest.in.orig	2024-11-25 17:39:16 UTC
 +++ browser/installer/package-manifest.in
-@@ -227,13 +227,13 @@
+@@ -215,13 +215,13 @@
  @RESPATH@/chrome/toolkit.manifest
  #ifdef MOZ_GTK
  @RESPATH@/browser/chrome/icons/default/default16.png
diff --git a/www/waterfox/files/patch-bug1427152 b/www/waterfox/files/patch-bug1427152
deleted file mode 100644
index 49bd5a581ac8..000000000000
--- a/www/waterfox/files/patch-bug1427152
+++ /dev/null
@@ -1,10 +0,0 @@
---- modules/libpref/Preferences.cpp.orig	2023-05-11 21:42:41 UTC
-+++ modules/libpref/Preferences.cpp
-@@ -6126,6 +6126,7 @@ static const PrefListEntry sDynamicPrefOverrideList[]{
-     PREF_LIST_ENTRY("logging.config.LOG_FILE"),
-     PREF_LIST_ENTRY("media.audio_loopback_dev"),
-     PREF_LIST_ENTRY("media.decoder-doctor."),
-+    PREF_LIST_ENTRY("media.cubeb.backend"),
-     PREF_LIST_ENTRY("media.cubeb.output_device"),
-     PREF_LIST_ENTRY("media.getusermedia.fake-camera-name"),
-     PREF_LIST_ENTRY("media.hls.server.url"),
diff --git a/www/waterfox/files/patch-bug1559213 b/www/waterfox/files/patch-bug1559213
index 49bbb0fb05ff..ead3425fa70b 100644
--- a/www/waterfox/files/patch-bug1559213
+++ b/www/waterfox/files/patch-bug1559213
@@ -1,20 +1,19 @@
-commit 717bba28411c
-Author: Jory A. Pratt <anarchy@gentoo.org>
-Date:   Thu Jun 13 11:53:00 2019 -0700
+commit 25a5572d5cd137aa6d893e09a00bd39908a59a18
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+Date:   Tue Sep 10 22:23:32 2024 +0200
 
-    Bug 1559213 - Allow to use system av1 libs instead of bundled.
----
- config/external/moz.build      |  5 +++--
- config/system-headers.mozbuild |  8 ++++++++
- dom/media/platforms/moz.build  |  5 +++++
- toolkit/moz.configure          | 19 ++++++++++++++++++-
- 4 files changed, 34 insertions(+), 3 deletions(-)
+    based on:
+     commit 717bba28411c
+     Author: Jory A. Pratt <anarchy@gentoo.org>
+     Date:   Thu Jun 13 11:53:00 2019 -0700
+    
+         Bug 1559213 - Allow to use system av1 libs instead of bundled.
 
 diff --git config/external/moz.build config/external/moz.build
-index ab77121..75595d9 100644
+index a24b470396cf..547f5f5c9e04 100644
 --- config/external/moz.build
 +++ config/external/moz.build
-@@ -49,8 +49,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
      external_dirs += ["media/libvpx"]
  
  if CONFIG["MOZ_AV1"]:
@@ -26,30 +25,11 @@ index ab77121..75595d9 100644
  
  if not CONFIG["MOZ_SYSTEM_PNG"]:
      external_dirs += ["media/libpng"]
-diff --git config/system-headers.mozbuild config/system-headers.mozbuild
-index a1b58eb..65729f9 100644
---- config/system-headers.mozbuild
-+++ config/system-headers.mozbuild
-@@ -1289,6 +1289,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
-         'proxy.h',
-     ]
- 
-+if CONFIG['MOZ_SYSTEM_AV1']:
-+    system_headers += [
-+        'aom/aom_decoder.h',
-+        'aom/aomdx.h',
-+        'aom/aom_image.h',
-+        'dav1d/dav1d.h',
-+    ]
-+
- if CONFIG['MOZ_SYSTEM_LIBVPX']:
-     system_headers += [
-         'vpx_mem/vpx_mem.h',
 diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build
-index 8509aec..eb6f129 100644
+index 61536cc6e225..29cf635bbb44 100644
 --- dom/media/platforms/moz.build
 +++ dom/media/platforms/moz.build
-@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
+@@ -71,6 +71,11 @@ if CONFIG["MOZ_AV1"]:
          "agnostic/AOMDecoder.cpp",
          "agnostic/DAV1DDecoder.cpp",
      ]
@@ -62,33 +42,61 @@ index 8509aec..eb6f129 100644
  if CONFIG["MOZ_OMX"]:
      EXPORTS += [
 diff --git media/ffvpx/libavcodec/moz.build media/ffvpx/libavcodec/moz.build
-index 0069865..e806fc8 100644
---- media/ffvpx/libavcodec/moz.build.orig
+index 6f09049a6068..90a82a19a9d1 100644
+--- media/ffvpx/libavcodec/moz.build
 +++ media/ffvpx/libavcodec/moz.build
-@@ -108,10 +108,14 @@
-         'vp9prob.c',
-         'vp9recon.c'
+@@ -119,10 +119,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
+         'vp9recon.c',
+         'vpx_rac.c',
      ]
 -    USE_LIBS += [
 -        'dav1d',
 -        'media_libdav1d_asm',
 -    ]
 +    if CONFIG["MOZ_SYSTEM_AV1"]:
-+      CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
-+      OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
++        CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
++        OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
++        CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
++        OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
 +    else:
-+      USE_LIBS += [
-+          'dav1d',
-+          'media_libdav1d_asm',
-+      ]
-     if CONFIG['MOZ_WAYLAND']:
++        USE_LIBS += [
++            'dav1d',
++            'media_libdav1d_asm',
++        ]
+     if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
          LOCAL_INCLUDES += ['/media/mozva']
          SOURCES += [
+diff --git media/libopus/moz.build media/libopus/moz.build
+index 943aee79ee99..4ad07e3e98af 100644
+--- media/libopus/moz.build
++++ media/libopus/moz.build
+@@ -58,7 +58,7 @@ if not CONFIG["MOZ_SAMPLE_TYPE_FLOAT32"]:
+     DEFINES["FIXED_POINT"] = 1
+     DEFINES["DISABLE_FLOAT_API"] = True
+ 
+-if CONFIG["OS_ARCH"] == "Linux":
++if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"):
+     OS_LIBS += [
+         "m",
+     ]
+diff --git media/libvorbis/moz.build media/libvorbis/moz.build
+index cd17d4f89759..816edd72a000 100644
+--- media/libvorbis/moz.build
++++ media/libvorbis/moz.build
+@@ -45,7 +45,7 @@ LOCAL_INCLUDES += ['lib']
+ if CONFIG['OS_ARCH'] == 'SunOS':
+     DEFINES['HAVE_ALLOCA_H'] = True
+ 
+-if CONFIG["OS_ARCH"] == "Linux":
++if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"):
+     OS_LIBS += [
+         "m",
+     ]
 diff --git toolkit/moz.configure toolkit/moz.configure
-index 0069865..e806fc8 100644
+index 1f85d2831f2f..07294b93f850 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -523,7 +523,23 @@ def av1(value):
+@@ -883,7 +883,23 @@ def av1(value):
          return True
  
  
@@ -113,7 +121,7 @@ index 0069865..e806fc8 100644
  def dav1d_asm(target):
      if target.cpu in ("aarch64", "x86", "x86_64"):
          return True
-@@ -539,6 +555,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
+@@ -899,6 +915,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
  set_define("MOZ_DAV1D_ASM", dav1d_asm)
  set_config("MOZ_AV1", av1)
  set_define("MOZ_AV1", av1)
diff --git a/www/waterfox/files/patch-bug1626236 b/www/waterfox/files/patch-bug1626236
index ccb417b61f15..ae3b522f6b90 100644
--- a/www/waterfox/files/patch-bug1626236
+++ b/www/waterfox/files/patch-bug1626236
@@ -9,10 +9,11 @@ https://bug1626236.bmoattachments.org/attachment.cgi?id=9137096
 # Parent  9cd90914846f667f18babc491a74c164ae5d6e9f
 imported patch decoder_workaround.patch
 
-diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
---- image/decoders/nsGIFDecoder2.cpp	Thu Feb 27 12:57:14 2020 +0100
-+++ image/decoders/nsGIFDecoder2.cpp	Fri Mar 27 13:06:18 2020 +0100
-@@ -422,6 +422,9 @@
+diff --git image/decoders/nsGIFDecoder2.cpp image/decoders/nsGIFDecoder2.cpp
+index ebb0b7d..d52ef47 100644
+--- image/decoders/nsGIFDecoder2.cpp
++++ image/decoders/nsGIFDecoder2.cpp
+@@ -422,6 +422,9 @@ void nsGIFDecoder2::ConvertColormap(uint32_t* aColormap, uint32_t aColors) {
    MOZ_ASSERT(mSwizzleFn);
    uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
    mSwizzleFn(data, data, aColors);
@@ -22,10 +23,11 @@ diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
  }
  
  LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
-diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
---- image/decoders/nsJPEGDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
-+++ image/decoders/nsJPEGDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
-@@ -263,6 +263,9 @@
+diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
+index 9ea4403..d82772c 100644
+--- image/decoders/nsJPEGDecoder.cpp
++++ image/decoders/nsJPEGDecoder.cpp
+@@ -257,6 +257,9 @@ LexerTransition<nsJPEGDecoder::State> nsJPEGDecoder::ReadJPEGData(
          case JCS_YCbCr:
            // By default, we will output directly to BGRA. If we need to apply
            // special color transforms, this may change.
@@ -35,7 +37,7 @@ diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
            switch (SurfaceFormat::OS_RGBX) {
              case SurfaceFormat::B8G8R8X8:
                mInfo.out_color_space = JCS_EXT_BGRX;
-@@ -277,6 +280,7 @@
+@@ -271,6 +274,7 @@ LexerTransition<nsJPEGDecoder::State> nsJPEGDecoder::ReadJPEGData(
                mState = JPEG_ERROR;
                return Transition::TerminateFailure();
            }
@@ -43,10 +45,11 @@ diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
            break;
          case JCS_CMYK:
          case JCS_YCCK:
-diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
---- image/decoders/nsPNGDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
-+++ image/decoders/nsPNGDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
-@@ -361,7 +361,7 @@
+diff --git image/decoders/nsPNGDecoder.cpp image/decoders/nsPNGDecoder.cpp
+index e3e4ef4..3cc7315 100644
+--- image/decoders/nsPNGDecoder.cpp
++++ image/decoders/nsPNGDecoder.cpp
+@@ -356,7 +356,7 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator,
                                     IResumable* aOnResume) {
    MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
  
@@ -55,7 +58,7 @@ diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
                      [=](State aState, const char* aData, size_t aLength) {
                        switch (aState) {
                          case State::PNG_DATA:
-@@ -371,6 +371,14 @@
+@@ -366,6 +366,14 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator,
                        }
                        MOZ_CRASH("Unknown State");
                      });
@@ -70,10 +73,11 @@ diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
  }
  
  LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
-diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
---- image/decoders/nsWebPDecoder.cpp	Thu Feb 27 12:57:14 2020 +0100
-+++ image/decoders/nsWebPDecoder.cpp	Fri Mar 27 13:06:18 2020 +0100
-@@ -237,7 +237,12 @@
+diff --git image/decoders/nsWebPDecoder.cpp image/decoders/nsWebPDecoder.cpp
+index e58ca92..2056ebb 100644
+--- image/decoders/nsWebPDecoder.cpp
++++ image/decoders/nsWebPDecoder.cpp
+@@ -247,7 +247,12 @@ nsresult nsWebPDecoder::CreateFrame(const OrientedIntRect& aFrameRect) {
    // WebP doesn't guarantee that the alpha generated matches the hint in the
    // header, so we always need to claim the input is BGRA. If the output is
    // BGRX, swizzling will mask off the alpha channel.
diff --git a/www/waterfox/files/patch-bug1628567 b/www/waterfox/files/patch-bug1628567
deleted file mode 100644
index 32b0dc260d22..000000000000
--- a/www/waterfox/files/patch-bug1628567
+++ /dev/null
@@ -1,32 +0,0 @@
-Don't pass --target when CC/CXX contains clang
-
-diff --git third_party/rust/cc/src/lib.rs third_party/rust/cc/src/lib.rs
-index 9d133a0..273e520 100644
---- third_party/rust/cc/src/lib.rs
-+++ third_party/rust/cc/src/lib.rs
-@@ -2667,24 +2667,7 @@ impl Tool {
-     }
- 
-     fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self {
--        // Try to detect family of the tool from its name, falling back to Gnu.
--        let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
--            if fname.contains("clang-cl") {
--                ToolFamily::Msvc { clang_cl: true }
--            } else if fname.ends_with("cl") || fname == "cl.exe" {
--                ToolFamily::Msvc { clang_cl: false }
--            } else if fname.contains("clang") {
--                match clang_driver {
--                    Some("cl") => ToolFamily::Msvc { clang_cl: true },
--                    _ => ToolFamily::Clang,
--                }
--            } else {
--                ToolFamily::Gnu
--            }
--        } else {
--            ToolFamily::Gnu
--        };
--
-+        let family = ToolFamily::Gnu;
-         Tool {
-             path: path,
-             cc_wrapper_path: None,
diff --git a/www/waterfox/files/patch-bug1680982 b/www/waterfox/files/patch-bug1680982
deleted file mode 100644
index c9fc2344bb44..000000000000
--- a/www/waterfox/files/patch-bug1680982
+++ /dev/null
@@ -1,388 +0,0 @@
-commit 3204512f58a1
-Author: Greg V <greg@unrelenting.technology>
-Date:   Sun Dec 6 22:07:00 2020 +0000
-
-    Bug 1680982 - Use evdev instead of the Linux legacy joystick API for gamepads
-    
-    Using evdev is a prerequisite for adding rumble (haptic feedback) and LED support.
-    
-    - BTN_GAMEPAD semantic buttons are interpreted directly,
-    since all kernel drivers are supposed to use them correctly:
-    https://www.kernel.org/doc/html/latest/input/gamepad.html
-    - BTN_JOYSTICK legacy style numbered buttons use the model specific remappers
-    - we support even strange devices that combine both styles in one device
-    - the Linux gamepad module is enabled on FreeBSD and DragonFly, because
-    these kernels provide evdev, and libudev-devd provides enough of libudev
-    (evdev headers are provided by the devel/evdev-proto package)
-    
-    Differential Revision: https://phabricator.services.mozilla.com/D98868
----
- dom/gamepad/linux/LinuxGamepad.cpp | 262 ++++++++++++++++++++++++++++++++-----
- dom/gamepad/moz.build              |   2 +-
- 2 files changed, 229 insertions(+), 35 deletions(-)
-
-diff --git dom/gamepad/linux/LinuxGamepad.cpp dom/gamepad/linux/LinuxGamepad.cpp
-index deee47b9d267..31f0aad7ae4a 100644
---- dom/gamepad/linux/LinuxGamepad.cpp
-+++ dom/gamepad/linux/LinuxGamepad.cpp
-@@ -5,15 +5,16 @@
-  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- 
- /*
-- * LinuxGamepadService: A Linux backend for the GamepadService.
-- * Derived from the kernel documentation at
-- * http://www.kernel.org/doc/Documentation/input/joystick-api.txt
-+ * LinuxGamepadService: An evdev backend for the GamepadService.
-+ *
-+ * Ref: https://www.kernel.org/doc/html/latest/input/gamepad.html
-  */
- #include <algorithm>
-+#include <unordered_map>
- #include <cstddef>
- 
- #include <glib.h>
--#include <linux/joystick.h>
-+#include <linux/input.h>
- #include <stdio.h>
- #include <stdint.h>
- #include <sys/ioctl.h>
-@@ -21,10 +22,14 @@
- #include "nscore.h"
- #include "mozilla/dom/GamepadHandle.h"
- #include "mozilla/dom/GamepadPlatformService.h"
-+#include "mozilla/dom/GamepadRemapping.h"
- #include "mozilla/Tainting.h"
- #include "mozilla/UniquePtr.h"
- #include "udev.h"
- 
-+#define LONG_BITS (sizeof(long) * 8)
-+#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
-+
- namespace {
- 
- using namespace mozilla::dom;
-@@ -36,19 +41,29 @@ using mozilla::udev_list_entry;
- using mozilla::udev_monitor;
- using mozilla::UniquePtr;
- 
--static const float kMaxAxisValue = 32767.0;
--static const char kJoystickPath[] = "/dev/input/js";
-+static const char kEvdevPath[] = "/dev/input/event";
-+
-+static inline bool TestBit(const unsigned long* arr, int bit) {
-+  return !!(arr[bit / LONG_BITS] & (1LL << (bit % LONG_BITS)));
-+}
-+
-+static inline double ScaleAxis(const input_absinfo& info, int value) {
-+  return 2.0 * (value - info.minimum) / (double)(info.maximum - info.minimum) -
-+         1.0;
-+}
- 
- // TODO: should find a USB identifier for each device so we can
- // provide something that persists across connect/disconnect cycles.
--typedef struct {
-+struct Gamepad {
-   GamepadHandle handle;
--  guint source_id;
--  int numAxes;
--  int numButtons;
--  char idstring[256];
--  char devpath[PATH_MAX];
--} Gamepad;
-+  RefPtr<GamepadRemapper> remapper = nullptr;
-+  guint source_id = UINT_MAX;
-+  char idstring[256] = {0};
-+  char devpath[PATH_MAX] = {0};
-+  uint8_t key_map[KEY_MAX] = {0};
-+  uint8_t abs_map[ABS_MAX] = {0};
-+  std::unordered_map<uint16_t, input_absinfo> abs_info;
-+};
- 
- class LinuxGamepadService {
-  public:
-@@ -66,7 +81,7 @@ class LinuxGamepadService {
-   bool is_gamepad(struct udev_device* dev);
-   void ReadUdevChange();
- 
--  // handler for data from /dev/input/jsN
-+  // handler for data from /dev/input/eventN
-   static gboolean OnGamepadData(GIOChannel* source, GIOCondition condition,
-                                 gpointer data);
- 
-@@ -114,8 +129,14 @@ void LinuxGamepadService::AddDevice(struct udev_device* dev) {
-   g_io_channel_set_encoding(channel, nullptr, nullptr);
-   g_io_channel_set_buffered(channel, FALSE);
-   int fd = g_io_channel_unix_get_fd(channel);
-+
-+  struct input_id id {};
-+  if (ioctl(fd, EVIOCGID, &id) == -1) {
-+    return;
-+  }
-+
-   char name[128];
--  if (ioctl(fd, JSIOCGNAME(sizeof(name)), &name) == -1) {
-+  if (ioctl(fd, EVIOCGNAME(sizeof(name)), &name) == -1) {
-     strcpy(name, "unknown");
-   }
-   const char* vendor_id =
-@@ -131,20 +152,86 @@ void LinuxGamepadService::AddDevice(struct udev_device* dev) {
-       model_id = mUdev.udev_device_get_sysattr_value(parent, "id/product");
-     }
-   }
-+  if (!vendor_id && id.vendor != 0) {
-+    vendor_id = (const char*)alloca(5);
-+    snprintf((char*)vendor_id, 5, "%04x", id.vendor);
-+  }
-+  if (!model_id && id.product != 0) {
-+    model_id = (const char*)alloca(5);
-+    snprintf((char*)model_id, 5, "%04x", id.product);
-+  }
-   snprintf(gamepad->idstring, sizeof(gamepad->idstring), "%s-%s-%s",
-            vendor_id ? vendor_id : "unknown", model_id ? model_id : "unknown",
-            name);
- 
-   char numAxes = 0, numButtons = 0;
--  ioctl(fd, JSIOCGAXES, &numAxes);
--  gamepad->numAxes = numAxes;
--  ioctl(fd, JSIOCGBUTTONS, &numButtons);
--  gamepad->numButtons = numButtons;
-+  unsigned long key_bits[NLONGS(KEY_CNT)] = {0};
-+  unsigned long abs_bits[NLONGS(ABS_CNT)] = {0};
-+  ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(key_bits)), key_bits);
-+  ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(abs_bits)), abs_bits);
-+
-+  /* Here, we try to support even strange cases where proper semantic
-+   * BTN_GAMEPAD button are combined with arbitrary extra buttons. */
-+  for (uint16_t i = BTN_JOYSTICK; i < KEY_MAX; i++) {
-+    /* Do not map semantic buttons, they are handled directly */
-+    if (i == BTN_GAMEPAD) {
-+      i = BTN_THUMBR + 1;
-+      continue;
-+    }
-+    if (i == BTN_DPAD_UP) {
-+      i = BTN_DPAD_RIGHT + 1;
-+      continue;
-+    }
-+    if (TestBit(key_bits, i)) {
-+      gamepad->key_map[i] = numButtons++;
-+    }
-+  }
-+  for (uint16_t i = 0; i < BTN_JOYSTICK; i++) {
-+    if (TestBit(key_bits, i)) {
-+      gamepad->key_map[i] = numButtons++;
-+    }
-+  }
-+  for (uint16_t i = BTN_GAMEPAD; i <= BTN_THUMBR; i++) {
-+    /* But if any semantic event exists, count them all */
-+    if (TestBit(key_bits, i)) {
-+      numButtons += BUTTON_INDEX_COUNT;
-+      break;
-+    }
-+  }
-+  for (uint16_t i = 0; i < ABS_MAX; ++i) {
-+    if (TestBit(abs_bits, i)) {
-+      gamepad->abs_info.emplace(i, input_absinfo{});
-+      if (ioctl(fd, EVIOCGABS(i), &gamepad->abs_info[i]) < 0) {
-+        continue;
-+      }
-+      if (gamepad->abs_info[i].minimum == gamepad->abs_info[i].maximum) {
-+        gamepad->abs_info.erase(i);
-+        continue;
-+      }
-+      gamepad->abs_map[i] = numAxes++;
-+    }
-+  }
-+
-+  if (numAxes == 0) {
-+    NS_WARNING("Gamepad with zero axes detected?");
-+  }
-+  if (numButtons == 0) {
-+    NS_WARNING("Gamepad with zero buttons detected?");
-+  }
-+
-+  bool defaultRemapper = false;
-+  RefPtr<GamepadRemapper> remapper =
-+      GetGamepadRemapper(id.vendor, id.product, defaultRemapper);
-+  MOZ_ASSERT(remapper);
-+  remapper->SetAxisCount(numAxes);
-+  remapper->SetButtonCount(numButtons);
- 
-   gamepad->handle = service->AddGamepad(
--      gamepad->idstring, mozilla::dom::GamepadMappingType::_empty,
--      mozilla::dom::GamepadHand::_empty, gamepad->numButtons, gamepad->numAxes,
--      0, 0, 0);  // TODO: Bug 680289, implement gamepad haptics for Linux.
-+      gamepad->idstring, remapper->GetMappingType(), GamepadHand::_empty,
-+      remapper->GetButtonCount(), remapper->GetAxisCount(), 0,
-+      remapper->GetLightIndicatorCount(), remapper->GetTouchEventCount());
-+  gamepad->remapper = remapper.forget();
-+  // TODO: Bug 680289, implement gamepad haptics for Linux.
-   // TODO: Bug 1523355, implement gamepad lighindicator and touch for Linux.
- 
-   gamepad->source_id =
-@@ -257,7 +344,7 @@ bool LinuxGamepadService::is_gamepad(struct udev_device* dev) {
-   if (!devpath) {
-     return false;
-   }
--  if (strncmp(kJoystickPath, devpath, sizeof(kJoystickPath) - 1) != 0) {
-+  if (strncmp(kEvdevPath, devpath, sizeof(kEvdevPath) - 1) != 0) {
-     return false;
-   }
- 
-@@ -292,7 +379,7 @@ gboolean LinuxGamepadService::OnGamepadData(GIOChannel* source,
-   if (condition & G_IO_ERR || condition & G_IO_HUP) return FALSE;
- 
-   while (true) {
--    struct js_event event;
-+    struct input_event event {};
-     gsize count;
-     GError* err = nullptr;
-     if (g_io_channel_read_chars(source, (gchar*)&event, sizeof(event), &count,
-@@ -301,18 +388,125 @@ gboolean LinuxGamepadService::OnGamepadData(GIOChannel* source,
-       break;
-     }
- 
--    // TODO: store device state?
--    if (event.type & JS_EVENT_INIT) {
--      continue;
--    }
--
-     switch (event.type) {
--      case JS_EVENT_BUTTON:
--        service->NewButtonEvent(gamepad->handle, event.number, !!event.value);
-+      case EV_KEY:
-+        switch (event.code) {
-+          /* The gamepad events are meaningful, and according to
-+           * https://www.kernel.org/doc/html/latest/input/gamepad.html
-+           * "No other devices, that do not look/feel like a gamepad, shall
-+           * report these events" */
-+          case BTN_SOUTH:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_PRIMARY,
-+                                    !!event.value);
-+            break;
-+          case BTN_EAST:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_SECONDARY,
-+                                    !!event.value);
-+            break;
-+          case BTN_NORTH:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_QUATERNARY,
-+                                    !!event.value);
-+            break;
-+          case BTN_WEST:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_TERTIARY,
-+                                    !!event.value);
-+            break;
-+          case BTN_TL:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_LEFT_SHOULDER,
-+                                    !!event.value);
-+            break;
-+          case BTN_TR:
-+            service->NewButtonEvent(gamepad->handle,
-+                                    BUTTON_INDEX_RIGHT_SHOULDER, !!event.value);
-+            break;
-+          case BTN_TL2:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_LEFT_TRIGGER,
-+                                    !!event.value);
-+            break;
-+          case BTN_TR2:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_RIGHT_TRIGGER,
-+                                    !!event.value);
-+            break;
-+          case BTN_SELECT:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_BACK_SELECT,
-+                                    !!event.value);
-+            break;
-+          case BTN_START:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_START,
-+                                    !!event.value);
-+            break;
-+          case BTN_MODE:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_META,
-+                                    !!event.value);
-+            break;
-+          case BTN_THUMBL:
-+            service->NewButtonEvent(
-+                gamepad->handle, BUTTON_INDEX_LEFT_THUMBSTICK, !!event.value);
-+            break;
-+          case BTN_THUMBR:
-+            service->NewButtonEvent(
-+                gamepad->handle, BUTTON_INDEX_RIGHT_THUMBSTICK, !!event.value);
-+            break;
-+          case BTN_DPAD_UP:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_DPAD_UP,
-+                                    !!event.value);
-+            break;
-+          case BTN_DPAD_DOWN:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_DPAD_DOWN,
-+                                    !!event.value);
-+            break;
-+          case BTN_DPAD_LEFT:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_DPAD_LEFT,
-+                                    !!event.value);
-+            break;
-+          case BTN_DPAD_RIGHT:
-+            service->NewButtonEvent(gamepad->handle, BUTTON_INDEX_DPAD_RIGHT,
-+                                    !!event.value);
-+            break;
-+          default:
-+            /* For non-gamepad events, this is the "anything goes" numbered
-+             * handling that should be handled with remappers. */
-+            gamepad->remapper->RemapButtonEvent(
-+                gamepad->handle, gamepad->key_map[event.code], !!event.value);
-+            break;
-+        }
-         break;
--      case JS_EVENT_AXIS:
--        service->NewAxisMoveEvent(gamepad->handle, event.number,
--                                  ((float)event.value) / kMaxAxisValue);
-+      case EV_ABS:
-+        if (!gamepad->abs_info.count(event.code)) continue;
-+        switch (event.code) {
-+          case ABS_HAT0X:
-+            service->NewButtonEvent(
-+                gamepad->handle, BUTTON_INDEX_DPAD_LEFT,
-+                AxisNegativeAsButton(
-+                    ScaleAxis(gamepad->abs_info[event.code], event.value)));
-+            service->NewButtonEvent(
-+                gamepad->handle, BUTTON_INDEX_DPAD_RIGHT,
-+                AxisPositiveAsButton(
-+                    ScaleAxis(gamepad->abs_info[event.code], event.value)));
-+            break;
-+          case ABS_HAT0Y:
-+            service->NewButtonEvent(
-+                gamepad->handle, BUTTON_INDEX_DPAD_UP,
-+                AxisNegativeAsButton(
-+                    ScaleAxis(gamepad->abs_info[event.code], event.value)));
-+            service->NewButtonEvent(
-+                gamepad->handle, BUTTON_INDEX_DPAD_DOWN,
-+                AxisPositiveAsButton(
-+                    ScaleAxis(gamepad->abs_info[event.code], event.value)));
-+            break;
-+          case ABS_HAT1X:
-+          case ABS_HAT1Y:
-+          case ABS_HAT2X:
-+          case ABS_HAT2Y:
-+          case ABS_HAT3X:
-+          case ABS_HAT3Y:
-+            break;
-+          default:
-+            gamepad->remapper->RemapAxisMoveEvent(
-+                gamepad->handle, gamepad->abs_map[event.code],
-+                ScaleAxis(gamepad->abs_info[event.code], event.value));
-+            break;
-+        }
-         break;
-     }
-   }
-diff --git dom/gamepad/moz.build dom/gamepad/moz.build
-index 5f55d5a95e96..544b7f927736 100644
---- dom/gamepad/moz.build
-+++ dom/gamepad/moz.build
-@@ -59,7 +59,7 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
-     UNIFIED_SOURCES += ["windows/WindowsGamepad.cpp"]
- elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
-     UNIFIED_SOURCES += ["android/AndroidGamepad.cpp"]
--elif CONFIG["OS_ARCH"] == "Linux":
-+elif CONFIG["OS_ARCH"] in ("Linux", "FreeBSD", "DragonFly"):
-     UNIFIED_SOURCES += ["linux/LinuxGamepad.cpp"]
- else:
-     UNIFIED_SOURCES += ["fallback/FallbackGamepad.cpp"]
diff --git a/www/waterfox/files/patch-bug1841919 b/www/waterfox/files/patch-bug1841919
deleted file mode 100644
index 93bd00f462ae..000000000000
--- a/www/waterfox/files/patch-bug1841919
+++ /dev/null
@@ -1,75 +0,0 @@
-commit 54ebf78999815570c3cd4d94bf00daa7dec6061d
-Author: Mike Hommey <mh+mozilla@glandium.org>
-Date:   Thu Jul 6 02:34:07 2023 +0000
-
-    Bug 1841919 - Fix "variable does not need to be mutable" warnings in webrender. r=gfx-reviewers,lsalzman
-    
-    Differential Revision: https://phabricator.services.mozilla.com/D182851
-
-diff --git gfx/wr/webrender/src/compositor/sw_compositor.rs gfx/wr/webrender/src/compositor/sw_compositor.rs
-index e623870c86f3..854fef6fe2b9 100644
---- gfx/wr/webrender/src/compositor/sw_compositor.rs
-+++ gfx/wr/webrender/src/compositor/sw_compositor.rs
-@@ -1026,7 +1026,7 @@ impl SwCompositor {
-         if let Some(surface) = self.surfaces.get_mut(id) {
-             if let Some(external_image) = surface.external_image {
-                 assert!(!surface.tiles.is_empty());
--                let mut tile = &mut surface.tiles[0];
-+                let tile = &mut surface.tiles[0];
-                 if let Some(info) = self.composite_surfaces.get(&external_image) {
-                     tile.valid_rect = DeviceIntRect::from_size(info.size);
-                     return;
-diff --git gfx/wr/webrender/src/picture.rs gfx/wr/webrender/src/picture.rs
-index bd685d48a113..72c0e1efa038 100644
---- gfx/wr/webrender/src/picture.rs
-+++ gfx/wr/webrender/src/picture.rs
-@@ -2888,7 +2888,7 @@ impl TileCacheInstance {
-         let prim_clip_chain = &prim_instance.vis.clip_chain;
- 
-         // Accumulate the exact (clipped) local rect in to the parent surface
--        let mut surface = &mut surfaces[prim_surface_index.0];
-+        let surface = &mut surfaces[prim_surface_index.0];
-         surface.clipped_local_rect = surface.clipped_local_rect.union(&prim_clip_chain.pic_coverage_rect);
- 
-         // If the primitive is directly drawn onto this picture cache surface, then
-diff --git gfx/wr/webrender_api/src/display_item_cache.rs gfx/wr/webrender_api/src/display_item_cache.rs
-index 6cd1eb3e3a44..60d41c591d36 100644
---- gfx/wr/webrender_api/src/display_item_cache.rs
-+++ gfx/wr/webrender_api/src/display_item_cache.rs
-@@ -58,13 +58,13 @@ pub struct DisplayItemCache {
- 
- impl DisplayItemCache {
-     fn add_item(&mut self, key: ItemKey, item: CachedDisplayItem) {
--        let mut entry = &mut self.entries[key as usize];
-+        let entry = &mut self.entries[key as usize];
-         entry.items.push(item);
-         entry.occupied = true;
-     }
- 
-     fn clear_entry(&mut self, key: ItemKey) {
--        let mut entry = &mut self.entries[key as usize];
-+        let entry = &mut self.entries[key as usize];
-         entry.items.clear();
-         entry.occupied = false;
-     }
-commit 8300555a01bdcc478ae103dcf2b469bf24e4dd41
-Author: Mike Hommey <mh+mozilla@glandium.org>
-Date:   Thu Jul 6 04:26:41 2023 +0000
-
-    Bug 1841919 - Fix "variable does not need to be mutable" warning in wrench. r=gfx-reviewers,jrmuizel
-    
-    Differential Revision: https://phabricator.services.mozilla.com/D182858
-
-diff --git gfx/wr/wrench/src/reftest.rs gfx/wr/wrench/src/reftest.rs
-index 136a4477205d..0e900224b883 100644
---- gfx/wr/wrench/src/reftest.rs
-+++ gfx/wr/wrench/src/reftest.rs
-@@ -514,7 +514,7 @@ impl ReftestManifest {
-                         max_difference: options.allow_max_difference,
-                         num_differences: options.allow_num_differences }),
-                 1 => {
--                    let mut fuzzy = &mut fuzziness[0];
-+                    let fuzzy = &mut fuzziness[0];
-                     fuzzy.max_difference = cmp::max(fuzzy.max_difference, options.allow_max_difference);
-                     fuzzy.num_differences = cmp::max(fuzzy.num_differences, options.allow_num_differences);
-                 },
diff --git a/www/waterfox/files/patch-bug1873379 b/www/waterfox/files/patch-bug1873379
deleted file mode 100644
index 658bc576eef1..000000000000
--- a/www/waterfox/files/patch-bug1873379
+++ /dev/null
@@ -1,34 +0,0 @@
-commit 627cc80defb3fa48e82ce656536d666176b9f8d1
-Author: Emilio Cobos Álvarez <emilio@crisal.io>
-Date:   Sat Jan 13 14:35:33 2024 +0000
-
-    Bug 1873379 - Ignore std::tuple harder. r=firefox-style-system-reviewers,zrhoffman
-    
-    In libc++ 18 it seems to be in a nested namespace. Make sure to account
-    for that.
-    
-    Differential Revision: https://phabricator.services.mozilla.com/D198398
-
-diff --git layout/style/ServoBindings.toml layout/style/ServoBindings.toml
-index 2aea31f8f911..2deafbfb14b6 100644
---- layout/style/ServoBindings.toml
-+++ layout/style/ServoBindings.toml
*** 89053 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412210054.4BL0sNvk053160>