git: a1069e80ec4d - main - www/librewolf: update to 117.0.1-1

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Mon, 09 Oct 2023 07:41:39 UTC
The branch main has been updated by fuz:

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

commit a1069e80ec4d0f4bcc69f27b9341815f03cd167f
Author:     Martin Filla <freebsd@sysctl.cz>
AuthorDate: 2023-10-07 03:00:00 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-10-09 07:40:28 +0000

    www/librewolf: update to 117.0.1-1
    
    With two additional patches to the unity_menu patch due to jsm@.
    
    Changelog: https://gitlab.com/librewolf-community/browser/bsys6/-/releases
    
    PR:             273948
    See also:       https://codeberg.org/librewolf/issues/issues/1279
    Obtained from:  https://people.freebsd.org/~jsm/patch2.diff
---
 www/librewolf/Makefile                             |    15 +-
 www/librewolf/distinfo                             |     8 +-
 www/librewolf/files/patch-addon-search             |    20 +-
 www/librewolf/files/patch-bug1504834_comment5      |    10 +-
 www/librewolf/files/patch-bug1504834_comment9      |    49 -
 www/librewolf/files/patch-bug1559213               |    42 +-
 www/librewolf/files/patch-bug1640982               |    17 -
 www/librewolf/files/patch-bug1659612               |    22 +-
 .../files/patch-gfx_skia_skia_src_base_SkEndian.h  |    11 +
 ...patch-gfx_skia_skia_src_core_SkRasterPipeline.h |    11 +
 www/librewolf/files/patch-js_public_Utility.h      |    35 +
 www/librewolf/files/patch-libwebrtc-generated      | 38943 +++++++++++--------
 .../files/patch-modules_fdlibm_src_math__private.h |    27 +
 www/librewolf/files/patch-mozglue_misc_SSE.h       |    84 +
 www/librewolf/files/patch-pipewire_init            |    82 +-
 ...patch-python_mozbuild_mozbuild_gn__processor.py |    21 +-
 www/librewolf/files/patch-rust-1.70.0              |    33 -
 ...rd__party_libwebrtc_build_config_BUILDCONFIG.gn |   116 +-
 ..._desktop__capture_linux_wayland__egl__dmabuf.cc |    26 +
 ...oolkit_compontents_processtools_procinfo__bsd.c |   104 +
 www/librewolf/files/patch-toolkit_xre_glxtest.cpp  |    10 +-
 .../files/patch-toolkit_xre_nsXREDirProvider.cpp   |    11 -
 www/librewolf/files/patch-widget_gtk_nsMenuBar.cpp |    11 +
 .../files/patch-widget_gtk_nsMenuObject.cpp        |    66 +
 24 files changed, 22915 insertions(+), 16859 deletions(-)

diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile
index 2c65b8dac897..9ea0545e0327 100644
--- a/www/librewolf/Makefile
+++ b/www/librewolf/Makefile
@@ -1,18 +1,19 @@
 PORTNAME=	librewolf
-DISTVERSION=	109.0.1.2
-PORTREVISION=	10
+DISTVERSION=	117.0.1-1
 CATEGORIES=	www wayland
-MASTER_SITES=	https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/${DISTVERSION:R}-2/
-DISTNAME=	${PORTNAME}-${DISTVERSION:R}-2.source.
+MASTER_SITES=	https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/${DISTVERSION:R}-1/
+DISTNAME=	${PORTNAME}-${DISTVERSION:R}-1.source.
 EXTRACT_SUFX=	tar.gz
 
-PATCH_SITES=	https://gitlab.com/librewolf-community/browser/source/-/raw/d114d4f8e8271adcb854082060c387b16ac56352/
+PATCH_SITES=	https://gitlab.com/librewolf-community/browser/source/-/raw/5a211f7bad8dcf188a96b408cc143082df8d30a8/
 PATCHFILES=	patches/unity_kde/unity-menubar.patch?inline=false:-p1
-
 MAINTAINER=	freebsd@sysctl.cz
 COMMENT=	Custom version of Firefox, focused on privacy, security and freedom
 WWW=		https://librewolf.net/
 
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
 BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
 		nss>=3.84:security/nss \
 		icu>=71.1:devel/icu \
@@ -74,7 +75,7 @@ MOZ_OPTIONs=	--enable-application=browser \
 		MOZ_SERVICES_HEALTHREPORT=0
 
 # helpful when testing beta
-WRKSRC=		${WRKDIR}/${PORTNAME}-${DISTVERSION:R}-2
+WRKSRC=		${WRKDIR}/${PORTNAME}-${DISTVERSION:R}-1
 
 FIREFOX_ICON_SRC=	${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
 FIREFOX_DESKTOP=	${MOZSRC}/taskcluster/docker/firefox-snap/firefox.desktop
diff --git a/www/librewolf/distinfo b/www/librewolf/distinfo
index 4f9c20f62bf4..ff9232ec3d47 100644
--- a/www/librewolf/distinfo
+++ b/www/librewolf/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1676816988
-SHA256 (librewolf-109.0.1-2.source.tar.gz) = 33573e6286334a2322bf39f573b5e9fbc526127fa04806b388a796e706dbdd87
-SIZE (librewolf-109.0.1-2.source.tar.gz) = 821281100
-SHA256 (patches/unity_kde/unity-menubar.patch?inline=false) = 2c3d1a778fa07a15a21232b84c6c598330d5a38cfe8f0ec602aee66ac204b8e0
+TIMESTAMP = 1696616618
+SHA256 (librewolf-117.0-1.source.tar.gz) = 446e9479547dceda58cbcdc2f9f503539086ddb193c8b1206b7c736cd56e44c3
+SIZE (librewolf-117.0-1.source.tar.gz) = 903353725
+SHA256 (patches/unity_kde/unity-menubar.patch?inline=false) = ff6e224ed0eb3c9d4c3ae92acd9cd04d750e0bcc6be1fa64ccc1317abcc13711
 SIZE (patches/unity_kde/unity-menubar.patch?inline=false) = 163548
diff --git a/www/librewolf/files/patch-addon-search b/www/librewolf/files/patch-addon-search
index f9d788fbad73..b6dbf7924b43 100644
--- a/www/librewolf/files/patch-addon-search
+++ b/www/librewolf/files/patch-addon-search
@@ -2,7 +2,7 @@ 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 af08811..77a3b18 100644
+index 621900f90fc1..401ef9074bd0 100644
 --- browser/app/profile/firefox.js
 +++ browser/app/profile/firefox.js
 @@ -38,7 +38,7 @@ pref("extensions.postDownloadThirdPartyPrompt", true);
@@ -14,7 +14,7 @@ index af08811..77a3b18 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%");
-@@ -193,8 +193,8 @@ pref("app.update.langpack.enabled", true);
+@@ -204,8 +204,8 @@ pref("app.update.langpack.enabled", true);
  //  .. etc ..
  //
  pref("extensions.update.enabled", true);
@@ -25,24 +25,24 @@ index af08811..77a3b18 100644
  pref("extensions.update.interval", 86400);  // Check for updates to Extensions and
                                              // Themes every day
  
-diff --git toolkit/mozapps/extensions/internal/AddonRepository.jsm toolkit/mozapps/extensions/internal/AddonRepository.jsm
-index 661c902..a41b32f 100644
---- toolkit/mozapps/extensions/internal/AddonRepository.jsm
-+++ toolkit/mozapps/extensions/internal/AddonRepository.jsm
-@@ -592,7 +592,7 @@ var AddonRepository = {
+diff --git toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
+index f906f244b658..7bb2eb6697c6 100644
+--- toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
++++ toolkit/mozapps/extensions/internal/AddonRepository.sys.mjs
+@@ -596,7 +596,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) {
 -          if (file.platform == "all" || file.platform == lazy.PLATFORM) {
 +          if (file.platform == "all" || file.platform == "linux" || file.platform == lazy.PLATFORM) {
              if (file.url) {
-               addon.sourceURI = NetUtil.newURI(file.url);
+               addon.sourceURI = lazy.NetUtil.newURI(file.url);
              }
 diff --git toolkit/mozapps/extensions/internal/XPIDatabase.jsm toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-index f8c99c7..c6ba8a1 100644
+index 03186dad43a4..4053fc6f2702 100644
 --- toolkit/mozapps/extensions/internal/XPIDatabase.jsm
 +++ toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-@@ -520,7 +520,7 @@ class AddonInternal {
+@@ -634,7 +634,7 @@ class AddonInternal {
      // Something is causing errors in here
      try {
        for (let platform of this.targetPlatforms) {
diff --git a/www/librewolf/files/patch-bug1504834_comment5 b/www/librewolf/files/patch-bug1504834_comment5
index 4d4886823f0f..b9897e0b7f66 100644
--- a/www/librewolf/files/patch-bug1504834_comment5
+++ b/www/librewolf/files/patch-bug1504834_comment5
@@ -37,10 +37,8 @@ index 6b3bdc7..7c6c342 100644
  
    // The following values are OS and endian-independent synonyms.
    //
-diff --git gfx/skia/skia/third_party/skcms/skcms.cc gfx/skia/skia/third_party/skcms/skcms.cc
-index 6b4d87b..7c0559d 100644
---- gfx/skia/skia/third_party/skcms/skcms.cc
-+++ gfx/skia/skia/third_party/skcms/skcms.cc
+--- gfx/skia/skia/modules/skcms/skcms.cc.orig
++++ gfx/skia/skia/modules/skcms/skcms.cc
 @@ -30,6 +30,8 @@
          #include <avx512fintrin.h>
          #include <avx512dqintrin.h>
@@ -49,8 +47,8 @@ index 6b4d87b..7c0559d 100644
 +    #define SKCMS_PORTABLE
  #endif
  
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
-@@ -280,20 +282,28 @@ enum {
+ static bool runtime_cpu_detection = true;
+@@ -324,20 +326,28 @@
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
      memcpy(&be, ptr, sizeof(be));
diff --git a/www/librewolf/files/patch-bug1504834_comment9 b/www/librewolf/files/patch-bug1504834_comment9
deleted file mode 100644
index c3d149ffa37b..000000000000
--- a/www/librewolf/files/patch-bug1504834_comment9
+++ /dev/null
@@ -1,49 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c9
-https://bugzilla.mozilla.org/attachment.cgi?id=9111146
-mozilla-bmo1504834-part3.patch
-
-
-# HG changeset patch
-# Parent  aecb4600e5da17443b224c79eee178c1d8e155e3
-For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
-right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
-
-diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
---- gfx/skia/skia/include/private/SkNx.h	Tue Aug 20 09:46:55 2019 +0200
-+++ gfx/skia/skia/include/private/SkNx.h	Mon Sep 09 10:04:06 2019 +0200
-@@ -238,7 +238,18 @@
-     AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
-     AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
- 
-+    // On Big endian the commented out variant doesn't work,
-+    // and honestly, I have no idea why it exists in the first place.
-+    // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
-+    // which gets a 64-bit integer, and FromBits returns 32-bit,
-+    // cutting off the wrong half again.
-+    // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
-+    // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
-+#ifdef SK_CPU_BENDIAN
-+    AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
-+#else
-     AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
-+#endif
-     AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
-     AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
- 
-diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
---- gfx/skia/skia/src/opts/SkBlitMask_opts.h	Tue Aug 20 09:46:55 2019 +0200
-+++ gfx/skia/skia/src/opts/SkBlitMask_opts.h	Mon Sep 09 10:04:06 2019 +0200
-@@ -203,7 +203,13 @@
-             //   ~~~>
-             // a = 1*aa + d(1-1*aa) = aa + d(1-aa)
-             // c = 0*aa + d(1-1*aa) =      d(1-aa)
-+
-+            // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
-+#ifdef SK_CPU_BENDIAN
-+            return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
-+#else
-             return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
-+#endif
-                  + d.approxMulDiv255(aa.inv());
-         };
-         while (h --> 0) {
diff --git a/www/librewolf/files/patch-bug1559213 b/www/librewolf/files/patch-bug1559213
index 49bbb0fb05ff..516328d61aca 100644
--- a/www/librewolf/files/patch-bug1559213
+++ b/www/librewolf/files/patch-bug1559213
@@ -11,10 +11,10 @@ Date:   Thu Jun 13 11:53:00 2019 -0700
  4 files changed, 34 insertions(+), 3 deletions(-)
 
 diff --git config/external/moz.build config/external/moz.build
-index ab77121..75595d9 100644
+index a0877c9d717e..5caa2036e0ec 100644
 --- config/external/moz.build
 +++ config/external/moz.build
-@@ -49,8 +49,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+@@ -45,8 +45,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
      external_dirs += ["media/libvpx"]
  
  if CONFIG["MOZ_AV1"]:
@@ -27,10 +27,10 @@ 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
+index d9489c8f15e4..4d2f15e18c1c 100644
 --- config/system-headers.mozbuild
 +++ config/system-headers.mozbuild
-@@ -1289,6 +1289,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
+@@ -1291,6 +1291,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
          'proxy.h',
      ]
  
@@ -46,10 +46,10 @@ index a1b58eb..65729f9 100644
      system_headers += [
          'vpx_mem/vpx_mem.h',
 diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build
-index 8509aec..eb6f129 100644
+index c71f22a22eee..efbd523b1225 100644
 --- dom/media/platforms/moz.build
 +++ dom/media/platforms/moz.build
-@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
+@@ -80,6 +80,11 @@ if CONFIG["MOZ_AV1"]:
          "agnostic/AOMDecoder.cpp",
          "agnostic/DAV1DDecoder.cpp",
      ]
@@ -62,33 +62,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 5675c28234a1..56344e5e4c98 100644
+--- media/ffvpx/libavcodec/moz.build
 +++ media/ffvpx/libavcodec/moz.build
-@@ -108,10 +108,14 @@
-         'vp9prob.c',
-         'vp9recon.c'
+@@ -109,10 +109,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 2e56fa46ce59..23e30935c4bc 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -523,7 +523,23 @@ def av1(value):
+@@ -745,7 +745,23 @@ def av1(value):
          return True
  
  
@@ -113,7 +113,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)
+@@ -761,6 +777,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/librewolf/files/patch-bug1640982 b/www/librewolf/files/patch-bug1640982
deleted file mode 100644
index 5ad0fbad6c72..000000000000
--- a/www/librewolf/files/patch-bug1640982
+++ /dev/null
@@ -1,17 +0,0 @@
-Unbreak build with Rust 1.45.0
-
-error: options `-C embed-bitcode=no` and `-C lto` are incompatible
-
-diff --git config/makefiles/rust.mk config/makefiles/rust.mk
-index 75570d3..94ec33f 100644
---- config/makefiles/rust.mk
-+++ config/makefiles/rust.mk
-@@ -97,7 +97,7 @@ ifndef rustflags_sancov
- # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
- ifndef MOZ_CODE_COVERAGE
- ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto
-+cargo_rustc_flags += 
- endif
- # We need -Cembed-bitcode=yes for all crates when using -Clto.
- RUSTFLAGS += -Cembed-bitcode=yes
diff --git a/www/librewolf/files/patch-bug1659612 b/www/librewolf/files/patch-bug1659612
index dce125b883d2..a7aea97734a0 100644
--- a/www/librewolf/files/patch-bug1659612
+++ b/www/librewolf/files/patch-bug1659612
@@ -20,16 +20,22 @@ media/libcubeb/src/cubeb_alsa.c:1168:3: note: include the header <stdlib.h> or e
                                                         ^
 2 errors generated.
 
---- media/libcubeb/src/cubeb_alsa.c.orig	2021-08-31 14:26:24.530548000 +0200
-+++ media/libcubeb/src/cubeb_alsa.c	2021-08-31 14:26:43.081470000 +0200
-@@ -5,9 +5,7 @@
+--- media/libcubeb/src/cubeb_alsa.c.orig	2023-03-29 20:51:00.139281000 +0200
++++ media/libcubeb/src/cubeb_alsa.c	2023-03-29 20:51:46.219013000 +0200
+@@ -5,12 +5,16 @@
   * accompanying file LICENSE for details.
   */
  #undef NDEBUG
--#define _DEFAULT_SOURCE
--#define _BSD_SOURCE
--#define _XOPEN_SOURCE 500
-+#define _GNU_SOURCE 1
++#if defined(__FreeBSD__)
++#define _GNU_SOURCE
++#else
+ #define _DEFAULT_SOURCE
+ #define _BSD_SOURCE
+ #if defined(__NetBSD__)
+ #define _NETBSD_SOURCE /* timersub() */
+ #endif
+ #define _XOPEN_SOURCE 500
++#endif
  #include "cubeb-internal.h"
  #include "cubeb/cubeb.h"
- #include <alsa/asoundlib.h>
+ #include "cubeb_tracing.h"
diff --git a/www/librewolf/files/patch-gfx_skia_skia_src_base_SkEndian.h b/www/librewolf/files/patch-gfx_skia_skia_src_base_SkEndian.h
new file mode 100644
index 000000000000..656127071a78
--- /dev/null
+++ b/www/librewolf/files/patch-gfx_skia_skia_src_base_SkEndian.h
@@ -0,0 +1,11 @@
+--- gfx/skia/skia/src/base/SkEndian.h.orig	2023-06-16 01:32:16.999830000 +0200
++++ gfx/skia/skia/src/base/SkEndian.h	2023-06-16 01:32:41.701673000 +0200
+@@ -131,7 +131,7 @@
+     #define SkTEndian_SwapLE64(n)    (n)
+ #else   // SK_CPU_BENDIAN
+     #define SkEndian_SwapBE16(n)    (n)
+-    #define SkEndian_SwapBE32(n)    (n)
++    #define SkEndian_SwapBE32(n)    uint32_t(n)
+     #define SkEndian_SwapBE64(n)    (n)
+     #define SkEndian_SwapLE16(n)    SkEndianSwap16(n)
+     #define SkEndian_SwapLE32(n)    SkEndianSwap32(n)
diff --git a/www/librewolf/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h b/www/librewolf/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h
new file mode 100644
index 000000000000..64e279cf29f0
--- /dev/null
+++ b/www/librewolf/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h
@@ -0,0 +1,11 @@
+--- gfx/skia/skia/src/core/SkRasterPipeline.h.orig	2023-06-10 14:20:18.155477000 +0200
++++ gfx/skia/skia/src/core/SkRasterPipeline.h	2023-06-10 14:20:30.760915000 +0200
+@@ -24,7 +24,7 @@
+ struct SkImageInfo;
+ struct skcms_TransferFunction;
+ 
+-#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32)
++#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && !defined(__powerpc__)
+     #define SK_HAS_MUSTTAIL 1
+ #else
+     #define SK_HAS_MUSTTAIL 0
diff --git a/www/librewolf/files/patch-js_public_Utility.h b/www/librewolf/files/patch-js_public_Utility.h
new file mode 100644
index 000000000000..4c2e16bc932c
--- /dev/null
+++ b/www/librewolf/files/patch-js_public_Utility.h
@@ -0,0 +1,35 @@
+commit 57b30241311091b5a6a5a0bb1c19a8e073860fc3
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+
+    do not assert on alignment when not having the bits
+    
+    the underlying issue seemed to be win-only anyways?
+
+diff --git js/public/Utility.h js/public/Utility.h
+index 0d745e9df785..f0ca7ea37162 100644
+--- js/public/Utility.h
++++ js/public/Utility.h
+@@ -480,6 +480,7 @@ static inline void js_free(void* p) {
+  * Note: Do not add a ; at the end of a use of JS_DECLARE_NEW_METHODS,
+  * or the build will break.
+  */
++#if !defined(__i386__)
+ #define JS_DECLARE_NEW_METHODS(NEWNAME, ALLOCATOR, QUALIFIERS)              \
+   template <class T, typename... Args>                                      \
+   QUALIFIERS T* MOZ_HEAP_ALLOCATOR NEWNAME(Args&&... args) {                \
+@@ -490,6 +491,15 @@ static inline void js_free(void* p) {
+     return MOZ_LIKELY(memory) ? new (memory) T(std::forward<Args>(args)...) \
+                               : nullptr;                                    \
+   }
++#else
++#define JS_DECLARE_NEW_METHODS(NEWNAME, ALLOCATOR, QUALIFIERS)              \
++  template <class T, typename... Args>                                      \
++  QUALIFIERS T* MOZ_HEAP_ALLOCATOR NEWNAME(Args&&... args) {                \
++    void* memory = ALLOCATOR(sizeof(T));                                    \
++    return MOZ_LIKELY(memory) ? new (memory) T(std::forward<Args>(args)...) \
++                              : nullptr;                                    \
++  }
++#endif
+ 
+ /*
+  * Given a class which should provide a 'new' method that takes an arena as
diff --git a/www/librewolf/files/patch-libwebrtc-generated b/www/librewolf/files/patch-libwebrtc-generated
index a37c7b46294d..8bb12672c84d 100644
--- a/www/librewolf/files/patch-libwebrtc-generated
+++ b/www/librewolf/files/patch-libwebrtc-generated
@@ -1,25 +1,26 @@
-commit b3770d8e7f0d6fc220353356066c4c1021f37bde
+commit 0aac9b2c295097dbef4d85302845196eaf9c9d60
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
+Date:   Sat Aug 19 19:46:49 2023 +0000
 
-    regenerate FreeBSD libwebrtc patch for Firefox 109
+    regenerate FreeBSD libwebrtc patch for Firefox 117
 
 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 8fbfa680375d..ae63fb378f55 100644
+index aa958f70420c..e6a2d969a1fd 100644
 --- third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
 +++ third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
-@@ -12,10 +12,20 @@ AllowCompilerWarnings()
+@@ -12,11 +12,20 @@ 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_AVX2"] = True
  DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
  DEFINES["WEBRTC_LIBRARY_IMPL"] = True
  DEFINES["WEBRTC_MOZILLA_BUILD"] = True
  DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0"
 +DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0"
 +DEFINES["_FILE_OFFSET_BITS"] = "64"
 +DEFINES["_LARGEFILE64_SOURCE"] = True
 +DEFINES["_LARGEFILE_SOURCE"] = True
@@ -28,7 +29,7 @@ index 8fbfa680375d..ae63fb378f55 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -41,161 +51,15 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,179 +52,32 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -40,7 +41,6 @@ index 8fbfa680375d..ae63fb378f55 100644
 -    DEFINES["HAVE_SYS_UIO_H"] = True
 -    DEFINES["WEBRTC_ANDROID"] = True
 -    DEFINES["WEBRTC_ANDROID_OPENSLES"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_LINUX"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_GNU_SOURCE"] = True
@@ -53,7 +53,6 @@ index 8fbfa680375d..ae63fb378f55 100644
 -
 -if CONFIG["OS_TARGET"] == "Darwin":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_MAC"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_LIBCPP_HAS_NO_ALIGNED_ALLOCATION"] = True
@@ -82,7 +81,6 @@ index 8fbfa680375d..ae63fb378f55 100644
 -    DEFINES["USE_OZONE"] = "1"
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_BSD"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_FILE_OFFSET_BITS"] = "64"
 -    DEFINES["_LARGEFILE64_SOURCE"] = True
@@ -98,7 +96,6 @@ index 8fbfa680375d..ae63fb378f55 100644
 -    DEFINES["PSAPI_VERSION"] = "2"
 -    DEFINES["UNICODE"] = True
 -    DEFINES["USE_AURA"] = "1"
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_WIN"] = True
 -    DEFINES["WIN32"] = True
 -    DEFINES["WIN32_LEAN_AND_MEAN"] = True
@@ -132,6 +129,24 @@ index 8fbfa680375d..ae63fb378f55 100644
 -    DEFINES["WEBRTC_ARCH_ARM"] = True
 -    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
 -    DEFINES["WEBRTC_HAS_NEON"] = True
+-
+ if CONFIG["CPU_ARCH"] == "mips32":
+ 
+     DEFINES["MIPS32_LE"] = True
+     DEFINES["MIPS_FPU_LE"] = True
+-    DEFINES["_GNU_SOURCE"] = True
+-
+-if CONFIG["CPU_ARCH"] == "mips64":
+-
+-    DEFINES["_GNU_SOURCE"] = True
+ 
+ if CONFIG["CPU_ARCH"] == "x86":
+ 
+-    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-
+-if CONFIG["CPU_ARCH"] == "x86_64":
+-
+-    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
 -
@@ -154,10 +169,9 @@ index 8fbfa680375d..ae63fb378f55 100644
 -    DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0"
 -
 -if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
-+if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
- 
-     DEFINES["USE_X11"] = "1"
- 
+-
+-    DEFINES["USE_X11"] = "1"
+-
 -if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Android":
 -
 -    OS_LIBS += [
@@ -167,48 +181,57 @@ index 8fbfa680375d..ae63fb378f55 100644
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Android":
 -
+     CXXFLAGS += [
+         "-msse2"
+     ]
+ 
 -    OS_LIBS += [
 -        "android_support"
 -    ]
 -
 -if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
--
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
++    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+ 
+-    CXXFLAGS += [
+-        "-msse2"
+-    ]
++if CONFIG["CPU_ARCH"] == "x86_64":
+ 
 -    DEFINES["_GNU_SOURCE"] = True
--
++    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+ 
 -if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
--
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
++if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
+ 
 -    DEFINES["_GNU_SOURCE"] = True
--
++    DEFINES["USE_X11"] = "1"
+ 
  Library("resource_adaptation_api_gn")
 diff --git third_party/libwebrtc/api/array_view_gn/moz.build third_party/libwebrtc/api/array_view_gn/moz.build
-index 06d73f689afb..c5891c7c798d 100644
+index e453cb8585d0..552c7e77985a 100644
 --- third_party/libwebrtc/api/array_view_gn/moz.build
 +++ third_party/libwebrtc/api/array_view_gn/moz.build
-@@ -12,10 +12,20 @@ AllowCompilerWarnings()
+@@ -12,11 +12,20 @@ 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_AVX2"] = True
  DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
  DEFINES["WEBRTC_LIBRARY_IMPL"] = True
  DEFINES["WEBRTC_MOZILLA_BUILD"] = True
  DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0"
 +DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0"
 +DEFINES["_FILE_OFFSET_BITS"] = "64"
 +DEFINES["_LARGEFILE64_SOURCE"] = True
 +DEFINES["_LARGEFILE_SOURCE"] = True
@@ -217,7 +240,7 @@ index 06d73f689afb..c5891c7c798d 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -37,157 +47,15 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -39,107 +48,17 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -229,7 +252,6 @@ index 06d73f689afb..c5891c7c798d 100644
 -    DEFINES["HAVE_SYS_UIO_H"] = True
 -    DEFINES["WEBRTC_ANDROID"] = True
 -    DEFINES["WEBRTC_ANDROID_OPENSLES"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_LINUX"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_GNU_SOURCE"] = True
@@ -242,7 +264,6 @@ index 06d73f689afb..c5891c7c798d 100644
 -
 -if CONFIG["OS_TARGET"] == "Darwin":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_MAC"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_LIBCPP_HAS_NO_ALIGNED_ALLOCATION"] = True
@@ -271,7 +292,6 @@ index 06d73f689afb..c5891c7c798d 100644
 -    DEFINES["USE_OZONE"] = "1"
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_BSD"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_FILE_OFFSET_BITS"] = "64"
 -    DEFINES["_LARGEFILE64_SOURCE"] = True
@@ -287,7 +307,6 @@ index 06d73f689afb..c5891c7c798d 100644
 -    DEFINES["PSAPI_VERSION"] = "2"
 -    DEFINES["UNICODE"] = True
 -    DEFINES["USE_AURA"] = "1"
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_WIN"] = True
 -    DEFINES["WIN32"] = True
 -    DEFINES["WIN32_LEAN_AND_MEAN"] = True
@@ -318,6 +337,22 @@ index 06d73f689afb..c5891c7c798d 100644
 -    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
 -    DEFINES["WEBRTC_HAS_NEON"] = True
 -
+ if CONFIG["CPU_ARCH"] == "mips32":
+ 
+     DEFINES["MIPS32_LE"] = True
+     DEFINES["MIPS_FPU_LE"] = True
+-    DEFINES["_GNU_SOURCE"] = True
+-
+-if CONFIG["CPU_ARCH"] == "mips64":
+-
+-    DEFINES["_GNU_SOURCE"] = True
+ 
+ if CONFIG["CPU_ARCH"] == "x86":
+ 
+@@ -149,57 +68,8 @@ if CONFIG["CPU_ARCH"] == "x86_64":
+ 
+     DEFINES["WEBRTC_ENABLE_AVX2"] = True
+ 
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
 -
 -    DEFINES["_DEBUG"] = True
@@ -358,42 +393,38 @@ index 06d73f689afb..c5891c7c798d 100644
 -
 -if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
  Library("array_view_gn")
 diff --git third_party/libwebrtc/api/audio/aec3_config_gn/moz.build third_party/libwebrtc/api/audio/aec3_config_gn/moz.build
-index 64f93961ccb7..b9e2837ed52e 100644
+index c2d256488d9b..1b3eb3a6acb6 100644
 --- third_party/libwebrtc/api/audio/aec3_config_gn/moz.build
 +++ third_party/libwebrtc/api/audio/aec3_config_gn/moz.build
-@@ -12,10 +12,20 @@ AllowCompilerWarnings()
+@@ -12,11 +12,20 @@ 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_AVX2"] = True
  DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
  DEFINES["WEBRTC_LIBRARY_IMPL"] = True
  DEFINES["WEBRTC_MOZILLA_BUILD"] = True
  DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0"
 +DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0"
 +DEFINES["_FILE_OFFSET_BITS"] = "64"
 +DEFINES["_LARGEFILE64_SOURCE"] = True
 +DEFINES["_LARGEFILE_SOURCE"] = True
@@ -402,7 +433,7 @@ index 64f93961ccb7..b9e2837ed52e 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -41,161 +51,15 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,179 +52,32 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -414,7 +445,6 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -    DEFINES["HAVE_SYS_UIO_H"] = True
 -    DEFINES["WEBRTC_ANDROID"] = True
 -    DEFINES["WEBRTC_ANDROID_OPENSLES"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_LINUX"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_GNU_SOURCE"] = True
@@ -427,7 +457,6 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -
 -if CONFIG["OS_TARGET"] == "Darwin":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_MAC"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_LIBCPP_HAS_NO_ALIGNED_ALLOCATION"] = True
@@ -456,7 +485,6 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -    DEFINES["USE_OZONE"] = "1"
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_BSD"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_FILE_OFFSET_BITS"] = "64"
 -    DEFINES["_LARGEFILE64_SOURCE"] = True
@@ -472,7 +500,6 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -    DEFINES["PSAPI_VERSION"] = "2"
 -    DEFINES["UNICODE"] = True
 -    DEFINES["USE_AURA"] = "1"
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_WIN"] = True
 -    DEFINES["WIN32"] = True
 -    DEFINES["WIN32_LEAN_AND_MEAN"] = True
@@ -506,6 +533,24 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -    DEFINES["WEBRTC_ARCH_ARM"] = True
 -    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
 -    DEFINES["WEBRTC_HAS_NEON"] = True
+-
+ if CONFIG["CPU_ARCH"] == "mips32":
+ 
+     DEFINES["MIPS32_LE"] = True
+     DEFINES["MIPS_FPU_LE"] = True
+-    DEFINES["_GNU_SOURCE"] = True
+-
+-if CONFIG["CPU_ARCH"] == "mips64":
+-
+-    DEFINES["_GNU_SOURCE"] = True
+ 
+ if CONFIG["CPU_ARCH"] == "x86":
+ 
+-    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-
+-if CONFIG["CPU_ARCH"] == "x86_64":
+-
+-    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
 -
@@ -528,10 +573,9 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -    DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0"
 -
 -if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
-+if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
- 
-     DEFINES["USE_X11"] = "1"
- 
+-
+-    DEFINES["USE_X11"] = "1"
+-
 -if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Android":
 -
 -    OS_LIBS += [
@@ -541,36 +585,45 @@ index 64f93961ccb7..b9e2837ed52e 100644
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Android":
 -
+     CXXFLAGS += [
+         "-msse2"
+     ]
+ 
 -    OS_LIBS += [
 -        "android_support"
 -    ]
 -
 -if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == "Linux":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["_GNU_SOURCE"] = True
 -
 -if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
--
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
++    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+ 
+-    CXXFLAGS += [
+-        "-msse2"
+-    ]
++if CONFIG["CPU_ARCH"] == "x86_64":
+ 
 -    DEFINES["_GNU_SOURCE"] = True
--
++    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+ 
 -if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
--
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
++if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
+ 
 -    DEFINES["_GNU_SOURCE"] = True
--
++    DEFINES["USE_X11"] = "1"
+ 
  Library("aec3_config_gn")
 diff --git third_party/libwebrtc/api/audio/aec3_factory_gn/moz.build third_party/libwebrtc/api/audio/aec3_factory_gn/moz.build
-index d71f5541616d..a7fe2cda7f26 100644
+index ecd28a700696..4e5509d7162d 100644
 --- third_party/libwebrtc/api/audio/aec3_factory_gn/moz.build
 +++ third_party/libwebrtc/api/audio/aec3_factory_gn/moz.build
-@@ -12,11 +12,21 @@ AllowCompilerWarnings()
+@@ -12,12 +12,21 @@ AllowCompilerWarnings()
  DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
  DEFINES["RTC_DAV1D_IN_INTERNAL_DECODER_FACTORY"] = True
  DEFINES["RTC_ENABLE_VP9"] = True
@@ -578,12 +631,12 @@ index d71f5541616d..a7fe2cda7f26 100644
 +DEFINES["USE_OZONE"] = "1"
  DEFINES["WEBRTC_APM_DEBUG_DUMP"] = "0"
 +DEFINES["WEBRTC_BSD"] = True
-+DEFINES["WEBRTC_ENABLE_AVX2"] = True
  DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
  DEFINES["WEBRTC_LIBRARY_IMPL"] = True
  DEFINES["WEBRTC_MOZILLA_BUILD"] = True
  DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0"
 +DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0"
 +DEFINES["_FILE_OFFSET_BITS"] = "64"
 +DEFINES["_LARGEFILE64_SOURCE"] = True
 +DEFINES["_LARGEFILE_SOURCE"] = True
@@ -592,7 +645,7 @@ index d71f5541616d..a7fe2cda7f26 100644
  
  FINAL_LIBRARY = "webrtc"
  
-@@ -42,172 +52,15 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -44,190 +53,32 @@ if not CONFIG["MOZ_DEBUG"]:
  if CONFIG["MOZ_DEBUG"] == "1":
  
      DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -604,7 +657,6 @@ index d71f5541616d..a7fe2cda7f26 100644
 -    DEFINES["HAVE_SYS_UIO_H"] = True
 -    DEFINES["WEBRTC_ANDROID"] = True
 -    DEFINES["WEBRTC_ANDROID_OPENSLES"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_LINUX"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_GNU_SOURCE"] = True
@@ -617,7 +669,6 @@ index d71f5541616d..a7fe2cda7f26 100644
 -
 -if CONFIG["OS_TARGET"] == "Darwin":
 -
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_MAC"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_LIBCPP_HAS_NO_ALIGNED_ALLOCATION"] = True
@@ -650,7 +701,6 @@ index d71f5541616d..a7fe2cda7f26 100644
 -    DEFINES["USE_OZONE"] = "1"
 -    DEFINES["USE_X11"] = "1"
 -    DEFINES["WEBRTC_BSD"] = True
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_POSIX"] = True
 -    DEFINES["_FILE_OFFSET_BITS"] = "64"
 -    DEFINES["_LARGEFILE64_SOURCE"] = True
@@ -666,7 +716,6 @@ index d71f5541616d..a7fe2cda7f26 100644
 -    DEFINES["PSAPI_VERSION"] = "2"
 -    DEFINES["UNICODE"] = True
 -    DEFINES["USE_AURA"] = "1"
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -    DEFINES["WEBRTC_WIN"] = True
 -    DEFINES["WIN32"] = True
 -    DEFINES["WIN32_LEAN_AND_MEAN"] = True
@@ -707,6 +756,24 @@ index d71f5541616d..a7fe2cda7f26 100644
 -    DEFINES["WEBRTC_ARCH_ARM"] = True
 -    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
 -    DEFINES["WEBRTC_HAS_NEON"] = True
+-
+ if CONFIG["CPU_ARCH"] == "mips32":
+ 
+     DEFINES["MIPS32_LE"] = True
+     DEFINES["MIPS_FPU_LE"] = True
+-    DEFINES["_GNU_SOURCE"] = True
+-
+-if CONFIG["CPU_ARCH"] == "mips64":
+-
+-    DEFINES["_GNU_SOURCE"] = True
+ 
+ if CONFIG["CPU_ARCH"] == "x86":
+ 
+-    DEFINES["WEBRTC_ENABLE_AVX2"] = True
+-
+-if CONFIG["CPU_ARCH"] == "x86_64":
+-
+-    DEFINES["WEBRTC_ENABLE_AVX2"] = True
 -
 -if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
 -
@@ -729,10 +796,9 @@ index d71f5541616d..a7fe2cda7f26 100644
 -    DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0"
 -
 -if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux":
-+if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD":
- 
*** 78804 LINES SKIPPED ***