Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Sep 2024 21:29:51 GMT
From:      Christoph Moench-Tegeder <cmt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 989ed863e49c - main - mail/thunderbird: update to 128.2.0
Message-ID:  <202409092129.489LTp1D089308@gitrepo.freebsd.org>

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

URL: https://cgit.FreeBSD.org/ports/commit/?id=989ed863e49cb37b60f91fbd346b9cc4aa49401f

commit 989ed863e49cb37b60f91fbd346b9cc4aa49401f
Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2024-09-09 21:27:43 +0000
Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2024-09-09 21:29:43 +0000

    mail/thunderbird: update to 128.2.0
    
    Release Notes:
      https://www.thunderbird.net/en-US/thunderbird/128.2.0esr/releasenotes/
---
 mail/thunderbird/Makefile                          |    17 +-
 mail/thunderbird/distinfo                          |     6 +-
 mail/thunderbird/files/patch-addon-search          |    45 +-
 .../files/patch-browser-app-nsBrowserApp.cpp       |    20 +-
 mail/thunderbird/files/patch-bug1559213            |    63 +-
 mail/thunderbird/files/patch-bug1628567            |    32 -
 mail/thunderbird/files/patch-bug1716707            |    56 +
 mail/thunderbird/files/patch-bug1841919            |    75 -
 mail/thunderbird/files/patch-bug1873379            |    34 -
 mail/thunderbird/files/patch-bug847568             |   100 +-
 .../files/patch-dom_media_flac_FlacDecoder.cpp     |    23 -
 .../files/patch-gfx_skia_skia_src_base_SkEndian.h  |    13 +
 .../files/patch-gfx_skia_skia_src_core_SkCpu.cpp   |    32 -
 ...patch-gfx_skia_skia_src_core_SkRasterPipeline.h |    13 +
 mail/thunderbird/files/patch-libwebrtc-generated   | 38475 ++++++++++---------
 mail/thunderbird/files/patch-llvm18                |   199 -
 .../thunderbird/files/patch-mail-app-nsMailApp.cpp |    14 +-
 mail/thunderbird/files/patch-mozglue_misc_SSE.h    |    84 +
 mail/thunderbird/files/patch-pipewire_init         |    35 +-
 ...patch-python_mozbuild_mozbuild_gn__processor.py |    19 +-
 mail/thunderbird/files/patch-rust-1.78.0           |  3582 --
 ...rd__party_libwebrtc_build_config_BUILDCONFIG.gn |   116 +-
 ..._desktop__capture_linux_wayland__egl__dmabuf.cc |    26 +
 ...toolkit_components_processtools_procinfo__bsd.c |   104 +
 .../files/patch-toolkit_xre_glxtest.cpp            |    17 -
 .../files/patch-tools_profiler_core_patform.cpp    |    51 -
 26 files changed, 21221 insertions(+), 22030 deletions(-)

diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile
index 01c62fec5eb5..7a533bdd148e 100644
--- a/mail/thunderbird/Makefile
+++ b/mail/thunderbird/Makefile
@@ -1,22 +1,22 @@
 PORTNAME=	thunderbird
-DISTVERSION=	115.15.0
+DISTVERSION=	128.2.0
 CATEGORIES=	mail news net-im wayland
-MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
-		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
-DISTFILES=	${DISTNAME}.source${EXTRACT_SUFX}
+MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
+		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build1/source
+DISTFILES=	${DISTNAME}esr.source${EXTRACT_SUFX}
 
 MAINTAINER=	gecko@FreeBSD.org
 COMMENT=	Mozilla Thunderbird is standalone mail and news that stands above
 WWW=		https://www.mozilla.com/thunderbird/
 
 BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
-		nss>=3.90:security/nss \
+		nss>=3.101:security/nss \
 		libevent>=2.1.8:devel/libevent \
-		harfbuzz>=7.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 \
@@ -26,7 +26,6 @@ BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
 LIB_DEPENDS=	libjson-c.so:devel/json-c \
 		libbotan-2.so:security/botan2
 
-SSP_UNSAFE=	yes
 USE_GECKO=	gecko
 # cannot use system icu: calendar is completely broken by
 # https://unicode-org.atlassian.net/browse/ICU-22132 (fix not in 74.1)
diff --git a/mail/thunderbird/distinfo b/mail/thunderbird/distinfo
index 49c6e49ae72e..ef19c7db59a5 100644
--- a/mail/thunderbird/distinfo
+++ b/mail/thunderbird/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1725438552
-SHA256 (thunderbird-115.15.0.source.tar.xz) = eb04e62171586570e83ce538d4e2feca51c24b2def84fb5c1d0baa9269d41cc7
-SIZE (thunderbird-115.15.0.source.tar.xz) = 534455612
+TIMESTAMP = 1725902180
+SHA256 (thunderbird-128.2.0esr.source.tar.xz) = ca67c2b8648527548788848b94c80227be681f6262ca518114f787fb2180f6e1
+SIZE (thunderbird-128.2.0esr.source.tar.xz) = 674856032
diff --git a/mail/thunderbird/files/patch-addon-search b/mail/thunderbird/files/patch-addon-search
index 3ad8200e72c1..f7d58e3d385a 100644
--- a/mail/thunderbird/files/patch-addon-search
+++ b/mail/thunderbird/files/patch-addon-search
@@ -1,38 +1,11 @@
 https://github.com/mozilla/addons/issues/708
 https://github.com/mozilla/addons-frontend/issues/4610
 
---- comm/mail/app/profile/all-thunderbird.js.orig	2023-09-18 22:38:56.049701000 +0200
-+++ comm/mail/app/profile/all-thunderbird.js	2023-09-18 22:41:26.840390000 +0200
-@@ -207,10 +207,10 @@
- pref("extensions.getAddons.compatOverides.url", "https://services.addons.thunderbird.net/api/v3/addons/compat-override/?guid=%IDS%&lang=%LOCALE%");
- pref("extensions.getAddons.link.url", "https://addons.thunderbird.net/%LOCALE%/%APP%/");
- pref("browser.dictionaries.download.url", "https://addons.thunderbird.net/%LOCALE%/%APP%/language-tools/");
--pref("extensions.getAddons.recommended.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=thunderbird");
--pref("extensions.getAddons.search.browseURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/search/?q=%TERMS%&appver=%VERSION%&platform=%OS%");
--pref("extensions.getAddons.search.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird");
--pref("extensions.webservice.discoverURL", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/discovery/pane/%VERSION%/%OS%");
-+pref("extensions.getAddons.recommended.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/Linux/%VERSION%?src=thunderbird");
-+pref("extensions.getAddons.search.browseURL", "https://addons.thunderbird.net/%LOCALE%/%APP%/search/?q=%TERMS%&appver=%VERSION%&platform=Linux");
-+pref("extensions.getAddons.search.url", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/Linux/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird");
-+pref("extensions.webservice.discoverURL", "https://services.addons.thunderbird.net/%LOCALE%/%APP%/discovery/pane/%VERSION%/Linux");
- pref("extensions.getAddons.langpacks.url", "https://services.addons.thunderbird.net/api/v3/addons/language-tools/?app=thunderbird&type=language&appversion=%VERSION%");
- pref("extensions.getAddons.discovery.api_url", "https://services.addons.thunderbird.net/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
- 
-@@ -242,9 +242,9 @@
- //  .. etc ..
- //
- pref("extensions.update.enabled", true);
--pref("extensions.update.url", "https://versioncheck.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
-+pref("extensions.update.url", "https://versioncheck.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
- 
--pref("extensions.update.background.url", "https://versioncheck-bg.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
-+pref("extensions.update.background.url", "https://versioncheck-bg.addons.thunderbird.net/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
- 
- pref("extensions.update.interval", 86400);  // Check for updates to Extensions and
-                                             // Themes every day
---- toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs.orig	2023-09-18 22:35:42.082170000 +0200
-+++ toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs	2023-09-18 22:36:14.313490000 +0200
-@@ -596,7 +596,7 @@
+diff --git toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
+index 8d4d178924..500eaef103 100644
+--- toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
++++ toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
+@@ -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) {
@@ -41,9 +14,11 @@ https://github.com/mozilla/addons-frontend/issues/4610
              if (file.url) {
                addon.sourceURI = lazy.NetUtil.newURI(file.url);
              }
---- toolkit/mozapps/extensions/internal/XPIDatabase.jsm.orig	2023-09-18 22:36:52.473447000 +0200
-+++ toolkit/mozapps/extensions/internal/XPIDatabase.jsm	2023-09-18 22:37:26.177990000 +0200
-@@ -634,7 +634,7 @@
+diff --git toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
+index 0b81770b94..19669951dc 100644
+--- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
++++ toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
+@@ -635,7 +635,7 @@ export class AddonInternal {
      // Something is causing errors in here
      try {
        for (let platform of this.targetPlatforms) {
diff --git a/mail/thunderbird/files/patch-browser-app-nsBrowserApp.cpp b/mail/thunderbird/files/patch-browser-app-nsBrowserApp.cpp
index 68cb778b95a7..e2d004413358 100644
--- a/mail/thunderbird/files/patch-browser-app-nsBrowserApp.cpp
+++ b/mail/thunderbird/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 e1f11b9cfd..a15b129402 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();
+@@ -341,6 +341,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);
++    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();
- 
+ #  ifdef HAS_DLL_BLOCKLIST
+     uint32_t initFlags =
+         gBlocklistInitFlags | eDllBlocklistInitFlagIsChildProcess;
diff --git a/mail/thunderbird/files/patch-bug1559213 b/mail/thunderbird/files/patch-bug1559213
index 49bbb0fb05ff..cfdb9bbefb2b 100644
--- a/mail/thunderbird/files/patch-bug1559213
+++ b/mail/thunderbird/files/patch-bug1559213
@@ -3,18 +3,12 @@ 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.
----
- 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(-)
 
 diff --git config/external/moz.build config/external/moz.build
-index ab77121..75595d9 100644
+index b6e174c5d6..49fe67a7ad 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 +20,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 1933f8d73a..049ca0f710 100644
 --- dom/media/platforms/moz.build
 +++ dom/media/platforms/moz.build
-@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
+@@ -73,6 +73,11 @@ if CONFIG["MOZ_AV1"]:
          "agnostic/AOMDecoder.cpp",
          "agnostic/DAV1DDecoder.cpp",
      ]
@@ -62,33 +37,33 @@ 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 6f09049a60..2e63568bd1 100644
+--- media/ffvpx/libavcodec/moz.build
 +++ media/ffvpx/libavcodec/moz.build
-@@ -108,10 +108,14 @@
-         'vp9prob.c',
-         'vp9recon.c'
+@@ -119,10 +119,14 @@ 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']
 +    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 toolkit/moz.configure toolkit/moz.configure
-index 0069865..e806fc8 100644
+index a424446c7d..1d5babe8a9 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -523,7 +523,23 @@ def av1(value):
+@@ -789,7 +789,23 @@ def av1(value):
          return True
  
  
@@ -113,7 +88,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)
+@@ -805,6 +821,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/mail/thunderbird/files/patch-bug1628567 b/mail/thunderbird/files/patch-bug1628567
deleted file mode 100644
index 32b0dc260d22..000000000000
--- a/mail/thunderbird/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/mail/thunderbird/files/patch-bug1716707 b/mail/thunderbird/files/patch-bug1716707
new file mode 100644
index 000000000000..33ff73450b73
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug1716707
@@ -0,0 +1,56 @@
+commit ce7a2f400d4f599c72e32e2635fee7ea94c0848c
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+Date:   Wed Apr 13 14:44:46 2022 +0200
+
+    big-endian color fixes, but without breaking little-endian
+    
+    as le is what most people actually use
+
+diff --git gfx/webrender_bindings/RenderCompositorSWGL.cpp gfx/webrender_bindings/RenderCompositorSWGL.cpp
+index dbf137c849ee..243a01ff9cf3 100644
+--- gfx/webrender_bindings/RenderCompositorSWGL.cpp
++++ gfx/webrender_bindings/RenderCompositorSWGL.cpp
+@@ -7,6 +7,7 @@
+ #include "RenderCompositorSWGL.h"
+ 
+ #include "mozilla/gfx/Logging.h"
++#include "mozilla/gfx/Swizzle.h"
+ #include "mozilla/widget/CompositorWidget.h"
+ 
+ #ifdef MOZ_WIDGET_GTK
+@@ -235,6 +236,13 @@ void RenderCompositorSWGL::CommitMappedBuffer(bool aDirty) {
+   }
+   mDT->Flush();
+ 
++#if MOZ_BIG_ENDIAN()
++  // One swizzle to rule them all.
++  gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
++                   mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
++                   mDT->GetSize());
++#endif
++
+   // Done with the DT. Hand it back to the widget and clear out any trace of it.
+   mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);
+   mDirtyRegion.SetEmpty();
+diff --git image/imgFrame.cpp image/imgFrame.cpp
+index e58c3dd5b2d4..c1e7e77c362b 100644
+--- image/imgFrame.cpp
++++ image/imgFrame.cpp
+@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxDrawable* aDrawable,
+     return NS_ERROR_OUT_OF_MEMORY;
+   }
+ 
++#if MOZ_BIG_ENDIAN()
++  if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
++    // SKIA is lying about what format it returns on big endian
++    for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
++      uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
++      uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF );
++      vals[ii] = (val << 16) | (val >> 16);
++    }
++  }
++#endif
++
+   if (!canUseDataSurface) {
+     // We used an offscreen surface, which is an "optimized" surface from
+     // imgFrame's perspective.
diff --git a/mail/thunderbird/files/patch-bug1841919 b/mail/thunderbird/files/patch-bug1841919
deleted file mode 100644
index 93bd00f462ae..000000000000
--- a/mail/thunderbird/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/mail/thunderbird/files/patch-bug1873379 b/mail/thunderbird/files/patch-bug1873379
deleted file mode 100644
index 658bc576eef1..000000000000
--- a/mail/thunderbird/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
-@@ -366,6 +366,9 @@ opaque-types = [
-     "std::namespace::atomic___base", "std::atomic__My_base",
-     "std::atomic",
-     "std::atomic___base",
-+    "std::tuple.*", # Causes "Cannot find type _Pred in this scope" error on mac, like rust-skia#571
-+    "std::.*::tuple.*",
-+
-     # We want everything but FontVariation and Float to be opaque but we don't
-     # have negative regexes.
-     "mozilla::gfx::(.{0,4}|.{6,12}|.{14,}|([^F][^o][^n][^t][^V][^a][^r][^i][^a][^t][^i][^o][^n])|([^F][^l][^o][^a][^t]))",
-@@ -391,8 +394,6 @@ opaque-types = [
-                             # for clang.
-     "mozilla::SeenPtrs",
-     "mozilla::SupportsWeakPtr",
--    "std::tuple",
--    "std::tuple_.*", # Causes "Cannot find type _Pred in this scope" error on mac, like rust-skia#571
-     "SupportsWeakPtr",
-     "mozilla::detail::WeakReference",
-     "mozilla::WeakPtr",
diff --git a/mail/thunderbird/files/patch-bug847568 b/mail/thunderbird/files/patch-bug847568
index 2b3c5e14e99e..2ee46579d43d 100644
--- a/mail/thunderbird/files/patch-bug847568
+++ b/mail/thunderbird/files/patch-bug847568
@@ -1,11 +1,11 @@
 # Allow building against system-wide graphite2/harfbuzz.
 
 diff --git config/system-headers.mozbuild config/system-headers.mozbuild
-index a1b58eb..a0a0943 100644
+index 0c06f581b33b..10f125be25ab 100644
 --- config/system-headers.mozbuild
 +++ config/system-headers.mozbuild
-@@ -1289,6 +1289,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
-         'proxy.h',
+@@ -1307,6 +1307,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]:
+         "proxy.h",
      ]
  
 +if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
@@ -21,14 +21,14 @@ index a1b58eb..a0a0943 100644
 +        'harfbuzz/hb.h',
 +    ]
 +
- if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ if CONFIG["MOZ_SYSTEM_ICU"]:
      system_headers += [
-         'vpx_mem/vpx_mem.h',
+         "unicode/calendar.h",
 diff --git dom/base/moz.build dom/base/moz.build
-index d390adf..4508f19 100644
+index 14c9f9dd96fb..bd1c8f241e9b 100644
 --- dom/base/moz.build
 +++ dom/base/moz.build
-@@ -576,6 +576,9 @@ FINAL_LIBRARY = "xul"
+@@ -606,6 +606,9 @@ FINAL_LIBRARY = "xul"
  if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
      CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
  
@@ -40,7 +40,7 @@ index d390adf..4508f19 100644
      script="gen-usecounters.py",
 diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build
 new file mode 100644
-index 0000000..24e8d7a
+index 000000000000..24e8d7a03274
 --- /dev/null
 +++ gfx/graphite2/geckoextra/moz.build
 @@ -0,0 +1,21 @@
@@ -64,39 +64,10 @@ index 0000000..24e8d7a
 +# Match bundled graphite2 configuration
 +AllowCompilerWarnings()
 +
-+FINAL_LIBRARY = 'gkmedias'
-diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
-index b91d9c1..a97e6eb 100755
---- gfx/graphite2/moz-gr-update.sh
-+++ gfx/graphite2/moz-gr-update.sh
-@@ -1,6 +1,7 @@
- #!/bin/bash
- 
- # Script used to update the Graphite2 library in the mozilla source tree
-+# and bump version for --with-system-graphite2
- 
- # This script lives in gfx/graphite2, along with the library source,
- # but must be run from the top level of the mozilla-central tree.
-@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
- #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
- #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
- 
-+# chase version for --with-system-graphite2
-+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
-+  if /GR2_VERSION_REQUIRE/" old-configure.in
-+
- # summarize what's been touched
- echo Updated to $RELEASE.
- echo Here is what changed in the gfx/graphite2 directory:
- echo
- 
--hg stat gfx/graphite2
-+hg stat old-configure.in gfx/graphite2
- 
- echo
- echo If gfx/graphite2/src/files.mk has changed, please make corresponding
-diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
-index 3180257..4587a3b 100644
++FINAL_LIBRARY = 'xul'
+diff --git gfx/harfbuzz/README-mozilla.fbsd gfx/harfbuzz/README-mozilla.fbsd
+new file mode 100644
+index 000000000000..2a10eb1e2b42
 --- /dev/null
 +++ gfx/harfbuzz/README-mozilla.fbsd
 @@ -0,0 +1,4 @@
@@ -105,7 +76,7 @@ index 3180257..4587a3b 100644
 +with checkout version or increment latest tag by one if it's not based
 +on upstream release.
 diff --git gfx/moz.build gfx/moz.build
-index 4d6d63d..cd57b0c 100644
+index 56ea317bedfc..07dd7f66f1bc 100644
 --- gfx/moz.build
 +++ gfx/moz.build
 @@ -10,6 +10,14 @@ with Files("**"):
@@ -133,10 +104,10 @@ index 4d6d63d..cd57b0c 100644
      "thebes",
      "ipc",
 diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
-index 5e0fd17..860b80a 100755
+index c161d24df853..8c7dd395b371 100755
 --- gfx/skia/generate_mozbuild.py
 +++ gfx/skia/generate_mozbuild.py
-@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+@@ -91,6 +91,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
          '-Wno-unused-private-field',
      ]
  
@@ -147,10 +118,10 @@ index 5e0fd17..860b80a 100755
      LOCAL_INCLUDES += [
          "/gfx/cairo/cairo/src",
 diff --git gfx/skia/moz.build gfx/skia/moz.build
-index 524bd28..615c93b 100755
+index 83aa2957a938..0859316a1f09 100644
 --- gfx/skia/moz.build
 +++ gfx/skia/moz.build
-@@ -488,6 +488,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+@@ -601,6 +601,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
          '-Wno-unused-private-field',
      ]
  
@@ -161,10 +132,10 @@ index 524bd28..615c93b 100755
      LOCAL_INCLUDES += [
          "/gfx/cairo/cairo/src",
 diff --git gfx/thebes/moz.build gfx/thebes/moz.build
-index baa6f09..4f02a9e 100644
+index fd1fcf236d81..958d3f699ffd 100644
 --- gfx/thebes/moz.build
 +++ gfx/thebes/moz.build
-@@ -286,7 +286,13 @@ if CONFIG["MOZ_WAYLAND"]:
+@@ -293,7 +293,13 @@ if CONFIG["MOZ_WAYLAND"]:
  
  LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
  
@@ -177,13 +148,13 @@ index baa6f09..4f02a9e 100644
 +if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
 +    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
  
- if CONFIG["CC_TYPE"] == "clang":
-     # Suppress warnings from Skia header files.
+ CXXFLAGS += ["-Werror=switch"]
+ 
 diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
-index 301eb9a..7cece5e 100644
+index 2bbd00415cae..f66bd37695d4 100644
 --- intl/unicharutil/util/moz.build
 +++ intl/unicharutil/util/moz.build
-@@ -25,6 +25,9 @@ UNIFIED_SOURCES += [
+@@ -24,6 +24,9 @@ UNIFIED_SOURCES += [
      "nsUnicodeProperties.cpp",
  ]
  
@@ -194,10 +165,10 @@ index 301eb9a..7cece5e 100644
  
  GeneratedFile(
 diff --git netwerk/dns/moz.build netwerk/dns/moz.build
-index f769e27..315bdd4 100644
+index c926d14707d1..35a3f33e2885 100644
 --- netwerk/dns/moz.build
 +++ netwerk/dns/moz.build
-@@ -102,6 +102,9 @@ GeneratedFile(
+@@ -112,6 +112,9 @@ GeneratedFile(
      "etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"]
  )
  
@@ -208,10 +179,10 @@ index f769e27..315bdd4 100644
  LOCAL_INCLUDES += [
      "/netwerk/base",
 diff --git old-configure.in old-configure.in
-index d147957..d332b34 100644
+index 2ca88a20a4b3..88bc9b873eff 100644
 --- old-configure.in
 +++ old-configure.in
-@@ -1335,6 +1335,27 @@ fi
+@@ -1067,6 +1067,27 @@ fi
  AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID)
  AC_SUBST(MOZ_MACBUNDLE_ID)
  
@@ -240,10 +211,10 @@ index d147957..d332b34 100644
  dnl = Child Process Name for IPC
  dnl ========================================================
 diff --git toolkit/library/moz.build toolkit/library/moz.build
-index 2c3f869..e8a9d23 100644
+index 76746f308011..f6844f4c400b 100644
 --- toolkit/library/moz.build
 +++ toolkit/library/moz.build
-@@ -269,6 +269,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
+@@ -292,6 +292,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
  if CONFIG["MOZ_SYSTEM_WEBP"]:
      OS_LIBS += CONFIG["MOZ_WEBP_LIBS"]
  
@@ -257,12 +228,12 @@ index 2c3f869..e8a9d23 100644
      OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"]
  
 diff --git toolkit/moz.configure toolkit/moz.configure
-index 0069865..9bb1864 100644
+index a060a59f728f..f0778d1ae2d6 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -1058,6 +1058,25 @@ def geckodriver_default(enable_tests, target, cross_compile, hazard, asan, autom
-         return False
-     return True
+@@ -1218,6 +1218,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info):
+ set_config("MOZ_ENABLE_CAIRO_FT", True, when=enable_cairo_ft)
+ set_config("CAIRO_FT_CFLAGS", ft2_info.cflags, when=enable_cairo_ft)
  
 +# Graphite2
 +# ==============================================================
@@ -283,6 +254,7 @@ index 0069865..9bb1864 100644
 +                                    when="--with-system-harfbuzz")
 +
 +set_config("MOZ_SYSTEM_HARFBUZZ", depends_if(system_harfbuzz)(lambda _: True))
++
  
- option(
-     "--enable-geckodriver",
+ # WebDriver (HTTP / BiDi)
+ # ==============================================================
diff --git a/mail/thunderbird/files/patch-dom_media_flac_FlacDecoder.cpp b/mail/thunderbird/files/patch-dom_media_flac_FlacDecoder.cpp
deleted file mode 100644
index 6dc197d9455e..000000000000
--- a/mail/thunderbird/files/patch-dom_media_flac_FlacDecoder.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-Enable FLAC on platforms without ffvpx like powerpc*
-
---- dom/media/flac/FlacDecoder.cpp.orig	2021-04-15 19:44:28 UTC
-+++ dom/media/flac/FlacDecoder.cpp
-@@ -7,6 +7,7 @@
- #include "FlacDecoder.h"
- #include "MediaContainerType.h"
- #include "mozilla/StaticPrefs_media.h"
-+#include "PDMFactory.h"
- 
- namespace mozilla {
- 
-@@ -14,6 +15,10 @@ namespace mozilla {
- bool FlacDecoder::IsEnabled() {
- #ifdef MOZ_FFVPX
-   return StaticPrefs::media_flac_enabled();
-+#elif defined(MOZ_FFMPEG)
-+  RefPtr<PDMFactory> platform = new PDMFactory();
-+  return StaticPrefs::media_flac_enabled() &&
-+         !platform->SupportsMimeType("audio/flac"_ns).isEmpty();
- #else
-   return false;
- #endif
diff --git a/mail/thunderbird/files/patch-gfx_skia_skia_src_base_SkEndian.h b/mail/thunderbird/files/patch-gfx_skia_skia_src_base_SkEndian.h
new file mode 100644
index 000000000000..4bfe48f0592c
--- /dev/null
+++ b/mail/thunderbird/files/patch-gfx_skia_skia_src_base_SkEndian.h
@@ -0,0 +1,13 @@
+diff --git gfx/skia/skia/src/base/SkEndian.h gfx/skia/skia/src/base/SkEndian.h
+index d015f8bff2bf..cc390a53f30c 100644
+--- gfx/skia/skia/src/base/SkEndian.h
++++ gfx/skia/skia/src/base/SkEndian.h
+@@ -140,7 +140,7 @@ static inline void SkEndianSwap64s(uint64_t array[], int count) {
+     #define SkEndian_SwapLE64(n)    SkEndianSwap64(n)
+ 
+     #define SkTEndian_SwapBE16(n)    (n)
+-    #define SkTEndian_SwapBE32(n)    (n)
++    #define SkTEndian_SwapBE32(n)    uint32_t(n)
+     #define SkTEndian_SwapBE64(n)    (n)
+     #define SkTEndian_SwapLE16(n)    SkTEndianSwap16<n>::value
+     #define SkTEndian_SwapLE32(n)    SkTEndianSwap32<n>::value
diff --git a/mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkCpu.cpp b/mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkCpu.cpp
deleted file mode 100644
index 0cee5dac92a1..000000000000
--- a/mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-Regressed by https://svnweb.freebsd.org/changeset/base/324815
-
-gfx/skia/skia/src/core/SkCpu.cpp:81:27: error: use of undeclared identifier 'getauxval'
-        uint32_t hwcaps = getauxval(AT_HWCAP);
-                          ^
-
---- gfx/skia/skia/src/core/SkCpu.cpp.orig	2020-02-07 22:13:22 UTC
-+++ gfx/skia/skia/src/core/SkCpu.cpp
-@@ -72,6 +72,23 @@
-         return features;
-     }
- 
-+#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__)
-+    #include <machine/armreg.h>
-+    #ifndef ID_AA64ISAR0_CRC32_VAL
-+    #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
-+    #endif
-+
-+    static uint32_t read_cpu_features() {
-+        uint32_t features = 0;
-+        uint64_t id_aa64isar0;
-+
-+        id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+        if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) {
-+            features |= SkCpu::CRC32;
-+        }
-+        return features;
-+    }
-+
- #elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
-     #include <sys/auxv.h>
- 
diff --git a/mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h b/mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h
new file mode 100644
index 000000000000..05cf110b1192
--- /dev/null
+++ b/mail/thunderbird/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h
@@ -0,0 +1,13 @@
+diff --git gfx/skia/skia/src/core/SkRasterPipeline.h gfx/skia/skia/src/core/SkRasterPipeline.h
+index 2475ea0d398d..67967483656d 100644
+--- gfx/skia/skia/src/core/SkRasterPipeline.h
++++ gfx/skia/skia/src/core/SkRasterPipeline.h
+@@ -27,7 +27,7 @@ struct SkImageInfo;
+ struct skcms_TransferFunction;
+ 
+ #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
+-        !defined(SK_CPU_LOONGARCH)
++        !defined(SK_CPU_LOONGARCH) && !defined(__powerpc__)
+     #define SK_HAS_MUSTTAIL 1
+ #else
+     #define SK_HAS_MUSTTAIL 0
diff --git a/mail/thunderbird/files/patch-libwebrtc-generated b/mail/thunderbird/files/patch-libwebrtc-generated
index 9790b777a007..c240cb66b34c 100644
--- a/mail/thunderbird/files/patch-libwebrtc-generated
+++ b/mail/thunderbird/files/patch-libwebrtc-generated
@@ -1,19 +1,20 @@
-commit c15a16ffc6046403213dc435ecb26962706a0da4
+commit b361bce19d6aef88d27c7090d84cb76a67357bbf
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
 
-    regenerate FreeBSD libwebrtc patch for Firefox 115esr
+    regenerate FreeBSD libwebrtc patch for Thunderbird 128esr
 
 diff --git third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
-index aa958f70420c..e6a2d969a1fd 100644
+index 2dbd588158..332ca04819 100644
 --- third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
 +++ third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
-@@ -12,11 +12,20 @@ AllowCompilerWarnings()
+@@ -12,11 +12,21 @@ AllowCompilerWarnings()
  DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
  DEFINES["RTC_DAV1D_IN_INTERNAL_DECODER_FACTORY"] = True
  DEFINES["RTC_ENABLE_VP9"] = True
 +DEFINES["USE_GLIB"] = "1"
 +DEFINES["USE_OZONE"] = "1"
 +DEFINES["WEBRTC_BSD"] = True
++DEFINES["WEBRTC_ENABLE_LIBEVENT"] = True
  DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
  DEFINES["WEBRTC_LIBRARY_IMPL"] = True
  DEFINES["WEBRTC_MOZILLA_BUILD"] = True
@@ -26,9 +27,9 @@ index aa958f70420c..e6a2d969a1fd 100644
 +DEFINES["__STDC_CONSTANT_MACROS"] = True
 +DEFINES["__STDC_FORMAT_MACROS"] = True
  
- FINAL_LIBRARY = "webrtc"
+ FINAL_LIBRARY = "xul"
  
-@@ -43,179 +52,32 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,178 +53,32 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -40,6 +41,7 @@ index aa958f70420c..e6a2d969a1fd 100644
 -    DEFINES["HAVE_SYS_UIO_H"] = True
 -    DEFINES["WEBRTC_ANDROID"] = True
 -    DEFINES["WEBRTC_ANDROID_OPENSLES"] = True
+-    DEFINES["WEBRTC_ENABLE_LIBEVENT"] = True
 -    DEFINES["WEBRTC_LINUX"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_GNU_SOURCE"] = True
@@ -66,6 +68,7 @@ index aa958f70420c..e6a2d969a1fd 100644
 -    DEFINES["USE_NSS_CERTS"] = "1"
 -    DEFINES["USE_OZONE"] = "1"
 -    DEFINES["USE_UDEV"] = True
+-    DEFINES["WEBRTC_ENABLE_LIBEVENT"] = True
 -    DEFINES["WEBRTC_LINUX"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_FILE_OFFSET_BITS"] = "64"
@@ -80,6 +83,7 @@ index aa958f70420c..e6a2d969a1fd 100644
 -    DEFINES["USE_OZONE"] = "1"
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_BSD"] = True
+-    DEFINES["WEBRTC_ENABLE_LIBEVENT"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_FILE_OFFSET_BITS"] = "64"
 -    DEFINES["_LARGEFILE64_SOURCE"] = True
@@ -93,6 +97,7 @@ index aa958f70420c..e6a2d969a1fd 100644
 -    DEFINES["NOMINMAX"] = True
 -    DEFINES["NTDDI_VERSION"] = "0x0A000000"
 -    DEFINES["PSAPI_VERSION"] = "2"
+-    DEFINES["RTC_ENABLE_WIN_WGC"] = True
 -    DEFINES["UNICODE"] = True
 -    DEFINES["USE_AURA"] = "1"
 -    DEFINES["WEBRTC_WIN"] = True
@@ -114,12 +119,12 @@ index aa958f70420c..e6a2d969a1fd 100644
 -    DEFINES["__STD_C"] = True
 +    DEFINES["_DEBUG"] = True
  
- if CONFIG["CPU_ARCH"] == "aarch64":
+ if CONFIG["TARGET_CPU"] == "aarch64":
  
      DEFINES["WEBRTC_ARCH_ARM64"] = True
      DEFINES["WEBRTC_HAS_NEON"] = True
  
--if CONFIG["CPU_ARCH"] == "arm":
+-if CONFIG["TARGET_CPU"] == "arm":
 -
 -    CXXFLAGS += [
 -        "-mfpu=neon"
@@ -129,21 +134,21 @@ index aa958f70420c..e6a2d969a1fd 100644
 -    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
 -    DEFINES["WEBRTC_HAS_NEON"] = True
 -
- if CONFIG["CPU_ARCH"] == "mips32":
+ if CONFIG["TARGET_CPU"] == "mips32":
  
      DEFINES["MIPS32_LE"] = True
      DEFINES["MIPS_FPU_LE"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
--if CONFIG["CPU_ARCH"] == "mips64":
+-if CONFIG["TARGET_CPU"] == "mips64":
 -
 -    DEFINES["_GNU_SOURCE"] = True
  
- if CONFIG["CPU_ARCH"] == "x86":
+ if CONFIG["TARGET_CPU"] == "x86":
  
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -
--if CONFIG["CPU_ARCH"] == "x86_64":
+-if CONFIG["TARGET_CPU"] == "x86_64":
 -
 -    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -
@@ -171,43 +176,38 @@ index aa958f70420c..e6a2d969a1fd 100644
 -
 -    DEFINES["USE_X11"] = "1"
 -
--if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Android":
+-if CONFIG["OS_TARGET"] == "Android" and CONFIG["TARGET_CPU"] == "arm":
 -
 -    OS_LIBS += [
--        "android_support",
 -        "unwind"
 -    ]
 -
--if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Android":
+-if CONFIG["OS_TARGET"] == "Android" and CONFIG["TARGET_CPU"] == "x86":
 -
      CXXFLAGS += [
          "-msse2"
      ]
  
--    OS_LIBS += [
*** 88824 LINES SKIPPED ***



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