git: 39a96cc33eeb - main - www/librewolf: Update 150.0.3-1 => 151.0-1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 20 May 2026 19:56:05 UTC
The branch main has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=39a96cc33eeb61fcaeb53819d1b70e1e0693c613
commit 39a96cc33eeb61fcaeb53819d1b70e1e0693c613
Author: Martin Filla <freebsd@sysctl.cz>
AuthorDate: 2026-05-20 19:27:10 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-05-20 19:27:10 +0000
www/librewolf: Update 150.0.3-1 => 151.0-1
Release Notes:
https://www.firefox.com/en-US/firefox/151.0/releasenotes/
PR: 295437
Sponsored by: UNIS Labs
MFH: 2026Q2
---
www/librewolf/Makefile | 2 +-
www/librewolf/distinfo | 6 +-
www/librewolf/files/patch-bug1504834_comment10 | 36 -
www/librewolf/files/patch-bug1504834_comment5 | 34 +-
www/librewolf/files/patch-bug1626236 | 92 -
www/librewolf/files/patch-bug1716707 | 56 -
www/librewolf/files/patch-bug2040125 | 38 +
www/librewolf/files/patch-hal_moz.build | 18 +
.../files/patch-languageid-de-constexpr-ify | 138 +
www/librewolf/files/patch-libwebrtc-generated | 8484 ++++++++++----------
.../files/patch-modules_fdlibm_src_math__private.h | 27 -
www/librewolf/files/patch-python_sites_mach.txt | 15 +-
..._desktop__capture_linux_wayland__egl__dmabuf.cc | 14 +-
...eakpad_src_common_linux_memory__mapped__file.cc | 40 +
14 files changed, 4684 insertions(+), 4316 deletions(-)
diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile
index 2d026331dc03..985da3426df1 100644
--- a/www/librewolf/Makefile
+++ b/www/librewolf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= librewolf
-DISTVERSION= 150.0.3
+DISTVERSION= 151.0
LWPATCH= -1
DISTVERSIONSUFFIX= ${LWPATCH}.source
CATEGORIES= www wayland
diff --git a/www/librewolf/distinfo b/www/librewolf/distinfo
index 4ab4c81f4464..1a7b6f98dee8 100644
--- a/www/librewolf/distinfo
+++ b/www/librewolf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1778597804
-SHA256 (librewolf-150.0.3-1.source.tar.gz) = 1344a3245d6384ec3e486fcc37309372ce0495e7c56f84b74a8487f7936e799b
-SIZE (librewolf-150.0.3-1.source.tar.gz) = 1097259332
+TIMESTAMP = 1779257587
+SHA256 (librewolf-151.0-1.source.tar.gz) = fd10443da6589a812d47e8d4014a3c120a315e8d2e6f2df71adcc912334323db
+SIZE (librewolf-151.0-1.source.tar.gz) = 1131024989
diff --git a/www/librewolf/files/patch-bug1504834_comment10 b/www/librewolf/files/patch-bug1504834_comment10
deleted file mode 100644
index 2d584adb17ef..000000000000
--- a/www/librewolf/files/patch-bug1504834_comment10
+++ /dev/null
@@ -1,36 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=1504834#c10
-https://bug1504834.bmoattachments.org/attachment.cgi?id=9111147
-mozilla-bmo1504834-part4.patch
-
-# HG changeset patch
-# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
-Problem description: Tab-titles that are too long to fit into a tab get faded out.
- On big endian this is broken and instead of fading out, the
- tab gets white and the font transparent, leading to an unreadable
- tab-title
-Solution: This is not a real solution, but a hack. The real solution would have been
- to byte-swap the correct buffer, but I could not find it.
- So the next best thing is to deactivate the fading-effect. Now all tab-titles
- are readable, albeit not as pretty to look at as they could be.
-Side-effects: I have not yet found an unwanted side-effect.
-
-diff --git gfx/2d/DrawTargetSkia.cpp gfx/2d/DrawTargetSkia.cpp
-index 6bbef8d..161b96f 100644
---- gfx/2d/DrawTargetSkia.cpp
-+++ gfx/2d/DrawTargetSkia.cpp
-@@ -1903,6 +1903,14 @@ void DrawTargetSkia::PushLayerWithBlend(bool aOpaque, Float aOpacity,
- SkCanvas::kPreserveLCDText_SaveLayerFlag |
- (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
-
-+#if MOZ_BIG_ENDIAN()
-+ // Pushing a layer where an aMask is defined produces wrong output.
-+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
-+ // Therefore I deactivate those layers in the meantime.
-+ // The result is: Tab-titles that are longer than the available space should be faded out.
-+ // The fading doesn't work, so we deactivate the fading-effect here.
-+ if (!aMask)
-+#endif
- mCanvas->saveLayer(saveRec);
-
- SetPermitSubpixelAA(aOpaque);
-
diff --git a/www/librewolf/files/patch-bug1504834_comment5 b/www/librewolf/files/patch-bug1504834_comment5
index b9897e0b7f66..ee4d57b507a1 100644
--- a/www/librewolf/files/patch-bug1504834_comment5
+++ b/www/librewolf/files/patch-bug1504834_comment5
@@ -4,10 +4,10 @@ Rough progress patch
diff --git gfx/2d/DrawTargetSkia.cpp gfx/2d/DrawTargetSkia.cpp
-index 6bbef8d..82b04ba 100644
+index 050d9ae44e13..6f9bc7a88317 100644
--- gfx/2d/DrawTargetSkia.cpp
+++ gfx/2d/DrawTargetSkia.cpp
-@@ -154,8 +154,7 @@ static IntRect CalculateSurfaceBounds(const IntSize& aSize, const Rect* aBounds,
+@@ -166,8 +166,7 @@ static IntRect CalculateSurfaceBounds(const IntSize& aSize, const Rect* aBounds,
return surfaceBounds.Intersect(bounds);
}
@@ -17,29 +17,11 @@ index 6bbef8d..82b04ba 100644
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
-diff --git gfx/2d/Types.h gfx/2d/Types.h
-index 6b3bdc7..7c6c342 100644
---- gfx/2d/Types.h
-+++ gfx/2d/Types.h
-@@ -90,15 +90,8 @@ enum class SurfaceFormat : int8_t {
- // The following values are endian-independent synonyms. The _UINT32 suffix
- // indicates that the name reflects the layout when viewed as a uint32_t
- // value.
--#if MOZ_LITTLE_ENDIAN()
- A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
--#elif MOZ_BIG_ENDIAN()
-- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
-- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
--#else
--# error "bad endianness"
--#endif
-
- // The following values are OS and endian-independent synonyms.
- //
---- gfx/skia/skia/modules/skcms/skcms.cc.orig
+diff --git gfx/skia/skia/modules/skcms/skcms.cc gfx/skia/skia/modules/skcms/skcms.cc
+index 00b19eca7ed3..e6426c296df9 100644
+--- gfx/skia/skia/modules/skcms/skcms.cc
+++ gfx/skia/skia/modules/skcms/skcms.cc
-@@ -30,6 +30,8 @@
+@@ -31,6 +31,8 @@
#include <avx512fintrin.h>
#include <avx512dqintrin.h>
#endif
@@ -47,8 +29,8 @@ index 6b3bdc7..7c6c342 100644
+ #define SKCMS_PORTABLE
#endif
- static bool runtime_cpu_detection = true;
-@@ -324,20 +326,28 @@
+ using namespace skcms_private;
+@@ -379,20 +381,28 @@ enum {
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-bug1626236 b/www/librewolf/files/patch-bug1626236
deleted file mode 100644
index f6064dc9e47f..000000000000
--- a/www/librewolf/files/patch-bug1626236
+++ /dev/null
@@ -1,92 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=1626236
-https://bug1626236.bmoattachments.org/attachment.cgi?id=9137096
-
-# HG changeset patch
-# User msirringhaus@suse.de
-# Date 1582805876 -3600
-# Thu Feb 27 13:17:56 2020 +0100
-# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
-# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
-imported patch decoder_workaround.patch
-
-diff --git image/decoders/nsGIFDecoder2.cpp image/decoders/nsGIFDecoder2.cpp
-index 2776cff50c9d..1e2511459b18 100644
---- image/decoders/nsGIFDecoder2.cpp
-+++ image/decoders/nsGIFDecoder2.cpp
-@@ -488,6 +488,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);
-+#if MOZ_BIG_ENDIAN()
-+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
-+#endif
- }
-
- LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
-diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
-index c34757d08463..69c21aac6b25 100644
---- image/decoders/nsJPEGDecoder.cpp
-+++ image/decoders/nsJPEGDecoder.cpp
-@@ -297,6 +297,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.
-+#if MOZ_BIG_ENDIAN()
-+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
-+#else
- switch (SurfaceFormat::OS_RGBX) {
- case SurfaceFormat::B8G8R8X8:
- mInfo.out_color_space = JCS_EXT_BGRX;
-@@ -311,6 +314,7 @@ LexerTransition<nsJPEGDecoder::State> nsJPEGDecoder::ReadJPEGData(
- mState = JPEG_ERROR;
- return Transition::TerminateFailure();
- }
-+#endif
- break;
- case JCS_CMYK:
- case JCS_YCCK:
-diff --git image/decoders/nsPNGDecoder.cpp image/decoders/nsPNGDecoder.cpp
-index 647ff094aaad..2c4bab58b15b 100644
---- image/decoders/nsPNGDecoder.cpp
-+++ image/decoders/nsPNGDecoder.cpp
-@@ -400,7 +400,7 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator,
- IResumable* aOnResume) {
- MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
-
-- return mLexer.Lex(aIterator, aOnResume,
-+ LexerResult res = mLexer.Lex(aIterator, aOnResume,
- [this](State aState, const char* aData, size_t aLength) {
- switch (aState) {
- case State::PNG_DATA:
-@@ -410,6 +410,14 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator,
- }
- MOZ_CRASH("Unknown State");
- });
-+
-+#if MOZ_BIG_ENDIAN()
-+ if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
-+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
-+ }
-+#endif
-+
-+ return res;
- }
-
- LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
-diff --git image/decoders/nsWebPDecoder.cpp image/decoders/nsWebPDecoder.cpp
-index 2496ea2fe2f4..86852dcd3e14 100644
---- image/decoders/nsWebPDecoder.cpp
-+++ image/decoders/nsWebPDecoder.cpp
-@@ -253,7 +253,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.
-+#if MOZ_BIG_ENDIAN()
-+ mBuffer.colorspace = MODE_ARGB;
-+ SurfaceFormat inFormat = mFormat;
-+#else
- SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
-+#endif
-
- SurfacePipeFlags pipeFlags = SurfacePipeFlags();
- if (mFormat == SurfaceFormat::OS_RGBA &&
diff --git a/www/librewolf/files/patch-bug1716707 b/www/librewolf/files/patch-bug1716707
deleted file mode 100644
index 33ff73450b73..000000000000
--- a/www/librewolf/files/patch-bug1716707
+++ /dev/null
@@ -1,56 +0,0 @@
-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/www/librewolf/files/patch-bug2040125 b/www/librewolf/files/patch-bug2040125
new file mode 100644
index 000000000000..8fe84102d7de
--- /dev/null
+++ b/www/librewolf/files/patch-bug2040125
@@ -0,0 +1,38 @@
+commit 40a17bafb1d1c647b2548c53cf948f900a43fae0
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+
+ Bug 2040125 - add GetSystemProxyDirect() to libproxy path r=kershaw,valentin,#necko-reviewers
+
+ In bmo #2028356 a "fast-path to skip proxy resolution[...]" was added,
+ but the required method GetSystemProxyDirect() was not added for
+ libproxy-enabled builds (all other cases - general Unix without
+ libproxy, OSX, Windows - got that function).
+
+ This makes a "--enable-libproxy" build (MOZ_ENABLE_LIBPROXY) fail at
+ startup, as the symbol for nsUnixSystemProxySettings::GetSystemProxyDirect()
+ does not resolve.
+
+ This adds GetSystemProxyDirect() to the MOZ_ENABLE_LIBPROXY case - it's
+ trivial, as we cannot know what libproxy will return for a specific URL,
+ thus the fast-path does not apply and we can just return "false".
+
+ Differential Revision: https://phabricator.services.mozilla.com/D300937
+
+diff --git toolkit/system/unixproxy/nsLibProxySettings.cpp toolkit/system/unixproxy/nsLibProxySettings.cpp
+index 3de1b7ce9b8f..8b063d446c1e 100644
+--- toolkit/system/unixproxy/nsLibProxySettings.cpp
++++ toolkit/system/unixproxy/nsLibProxySettings.cpp
+@@ -111,6 +111,13 @@ nsUnixSystemProxySettings::GetSystemWPADSetting(bool* aSystemWPADSetting) {
+ return NS_OK;
+ }
+
++// we do not know if libproxy would return DIRECT or PROXY
++NS_IMETHODIMP
++nsUnixSystemProxySettings::GetSystemProxyDirect(bool* aResult) {
++ *aResult = false;
++ return NS_OK;
++}
++
+ NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
+ return do_AddRef(new nsUnixSystemProxySettings()).downcast<nsISupports>();
+ }
diff --git a/www/librewolf/files/patch-hal_moz.build b/www/librewolf/files/patch-hal_moz.build
new file mode 100644
index 000000000000..1c3eb3fa2853
--- /dev/null
+++ b/www/librewolf/files/patch-hal_moz.build
@@ -0,0 +1,18 @@
+commit b4a1f15edc3ebc2b68d2aae22bb59e2ce779cce7
+Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
+
+ try to enable gamepad interface on FreeBSD
+
+diff --git hal/moz.build hal/moz.build
+index bb486ec1e411..60e44128840f 100644
+--- hal/moz.build
++++ hal/moz.build
+@@ -19,7 +19,7 @@ EXPORTS.mozilla += [
+ "HalWakeLockInformation.h",
+ ]
+
+-if CONFIG["OS_TARGET"] == "Linux":
++if CONFIG["OS_TARGET"] == "Linux" or CONFIG["OS_TARGET"] == "FreeBSD":
+ EXPORTS.mozilla += [
+ "linux/UdevLib.h",
+ ]
diff --git a/www/librewolf/files/patch-languageid-de-constexpr-ify b/www/librewolf/files/patch-languageid-de-constexpr-ify
new file mode 100644
index 000000000000..1c2a522f5bf5
--- /dev/null
+++ b/www/librewolf/files/patch-languageid-de-constexpr-ify
@@ -0,0 +1,138 @@
+commit 87f49da7a84ed9bbce4b8ef263d85b9bd5c42eac
+Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
+
+ Partially de-constexpr'ify LanguageId code
+
+ This is to deal with our (FreeBSD) libc++, where in some cases
+ std:pair<> is not a "literal type" (suitable for constexpr), even
+ if the same std:pair<> is just fine on all other relevant systems.
+
+ This removes just enough constexpr annotations to make the code
+ compile.
+
+ Sample compiler error message:
+
+ /wrkdirs/usr/ports/www/firefox/work/firefox-151.0/js/src/util/LanguageId.h:234:66: error: constexpr function's return type 'mozilla::Maybe<std::pair<LanguageId>
+ 234 | static constexpr mozilla::Maybe<std::pair<LanguageId, size_t>> from(
+ | ^
+ /wrkdirs/usr/ports/www/firefox/work/.build/dist/include/mozilla/Maybe.h:367:7: note: 'Maybe<std::pair<js::LanguageId, unsigned long>>' is not literal because i>
+ 367 | : private detail::MaybeStorage<T>,
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+diff --git js/src/builtin/intl/LocaleNegotiation.cpp js/src/builtin/intl/LocaleNegotiation.cpp
+index 0aff7274eda1..5c25e53b8ea1 100644
+--- js/src/builtin/intl/LocaleNegotiation.cpp
++++ js/src/builtin/intl/LocaleNegotiation.cpp
+@@ -1124,13 +1124,13 @@ struct OldStyleLanguageTagMapping {
+ LanguageId oldStyle;
+ LanguageId modernStyle;
+
+- consteval OldStyleLanguageTagMapping(std::string_view oldStyle,
++ OldStyleLanguageTagMapping(std::string_view oldStyle,
+ std::string_view modernStyle)
+ : oldStyle(LanguageId::fromValidBcp49(oldStyle)),
+ modernStyle(LanguageId::fromValidBcp49(modernStyle)) {}
+ };
+
+-static constexpr OldStyleLanguageTagMapping oldStyleLanguageTagMappings[] = {
++static OldStyleLanguageTagMapping oldStyleLanguageTagMappings[] = {
+ {"pa-PK", "pa-Arab-PK"}, {"zh-CN", "zh-Hans-CN"}, {"zh-HK", "zh-Hant-HK"},
+ {"zh-SG", "zh-Hans-SG"}, {"zh-TW", "zh-Hant-TW"},
+ };
+diff --git js/src/builtin/intl/SharedIntlData.cpp js/src/builtin/intl/SharedIntlData.cpp
+index 581c9d1e6ebd..9dd3a50acb1c 100644
+--- js/src/builtin/intl/SharedIntlData.cpp
++++ js/src/builtin/intl/SharedIntlData.cpp
+@@ -431,11 +431,11 @@ bool js::intl::SharedIntlData::getAvailableLocales(
+ // directly support it (but does support it through fallback, e.g. supporting
+ // "en-GB" indirectly using "en" support).
+ {
+- static constexpr auto lastDitch = LastDitchLocale();
+- static_assert(std::string_view{lastDitch.toString()} == "en-GB");
++ static auto lastDitch = LastDitchLocale();
++ // static_assert(std::string_view{lastDitch.toString()} == "en-GB");
+
+ #ifdef DEBUG
+- static constexpr auto lastDitchParent = lastDitch.parentLocale();
++ static auto lastDitchParent = lastDitch.parentLocale();
+ static_assert(std::string_view{lastDitchParent.toString()} == "en");
+
+ MOZ_ASSERT(locales.has(lastDitchParent),
+diff --git js/src/util/LanguageId.h js/src/util/LanguageId.h
+index 7c193c3e2e07..bf391ef39717 100644
+--- js/src/util/LanguageId.h
++++ js/src/util/LanguageId.h
+@@ -231,7 +231,7 @@ class LanguageId final {
+
+ private:
+ template <char... separators, typename CharT>
+- static constexpr mozilla::Maybe<std::pair<LanguageId, size_t>> from(
++ static /* constexpr */ mozilla::Maybe<std::pair<LanguageId, size_t>> from(
+ std::basic_string_view<CharT> localeId) {
+ // Return true iff |sv| starts with a subtag of length |len|.
+ auto hasSubtag = [](std::basic_string_view<CharT> sv, size_t len) {
+@@ -313,7 +313,7 @@ class LanguageId final {
+ *
+ * Subtags in ICU and Unicode locale identifiers are separated by "-" or "_".
+ */
+- static constexpr auto fromId(std::string_view localeId) {
++ static auto fromId(std::string_view localeId) {
+ return from<'-', '_'>(localeId);
+ }
+
+@@ -327,7 +327,7 @@ class LanguageId final {
+ *
+ * Subtags in ICU and Unicode locale identifiers are separated by "-" or "_".
+ */
+- static constexpr auto fromId(mozilla::Span<const char> localeId) {
++ static auto fromId(mozilla::Span<const char> localeId) {
+ return fromId(std::string_view{localeId.data(), localeId.size()});
+ }
+
+@@ -341,7 +341,7 @@ class LanguageId final {
+ *
+ * Subtags in BCP 47 locale identifiers are separated by "-".
+ */
+- static constexpr auto fromBcp49(std::string_view localeId) {
++ static auto fromBcp49(std::string_view localeId) {
+ return from<'-'>(localeId);
+ }
+
+@@ -355,7 +355,7 @@ class LanguageId final {
+ *
+ * Subtags in BCP 47 locale identifiers are separated by "-".
+ */
+- static constexpr auto fromBcp49(std::u16string_view localeId) {
++ static auto fromBcp49(std::u16string_view localeId) {
+ return from<u'-'>(localeId);
+ }
+
+@@ -370,7 +370,7 @@ class LanguageId final {
+ * Subtags in BCP 47 locale identifiers are separated by "-".
+ */
+ template <typename CharT>
+- static constexpr auto fromBcp49(mozilla::Span<const CharT> localeId) {
++ static auto fromBcp49(mozilla::Span<const CharT> localeId) {
+ return fromBcp49(std::basic_string_view{localeId.data(), localeId.size()});
+ }
+
+@@ -381,7 +381,7 @@ class LanguageId final {
+ *
+ * Subtags in BCP 47 locale identifiers are separated by "-".
+ */
+- static consteval auto fromValidBcp49(std::string_view localeId) {
++ static auto fromValidBcp49(std::string_view localeId) {
+ return fromBcp49(localeId)->first;
+ }
+
+@@ -408,8 +408,8 @@ class LanguageId final {
+ /**
+ * Return the language identifier for the undetermined locale "und".
+ */
+- static constexpr auto und() {
+- constexpr LanguageId locale = fromValidBcp49("und");
++ static auto und() {
++ LanguageId locale = fromValidBcp49("und");
+ return locale;
+ }
+
diff --git a/www/librewolf/files/patch-libwebrtc-generated b/www/librewolf/files/patch-libwebrtc-generated
index 143105cfb3b5..26f943cfe3dc 100644
--- a/www/librewolf/files/patch-libwebrtc-generated
+++ b/www/librewolf/files/patch-libwebrtc-generated
@@ -1,19 +1,20 @@
-commit a4fe5e199d4349894a54417391eb398ab3a5ac13
+commit 17095363b03be8360b9f990cc38a0e0d3cb7f9d6
Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
- regenerate FreeBSD libwebrtc patch for gecko 150
+ regenerate FreeBSD libwebrtc patch for gecko 151
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 a4922c66929f..210a9a828897 100644
+index 2060d5597a7c..643ec6ab666e 100644
--- third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
+++ third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -29,7 +30,7 @@ index a4922c66929f..210a9a828897 100644
FINAL_LIBRARY = "xul"
-@@ -46,86 +55,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -47,86 +56,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -117,7 +118,7 @@ index a4922c66929f..210a9a828897 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -133,82 +63,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -134,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -204,16 +205,17 @@ index a4922c66929f..210a9a828897 100644
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 f1102c30059a..d2ebee0ec710 100644
+index 0bbf80a6695a..ddce5f754491 100644
--- third_party/libwebrtc/api/array_view_gn/moz.build
+++ third_party/libwebrtc/api/array_view_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -229,7 +231,7 @@ index f1102c30059a..d2ebee0ec710 100644
FINAL_LIBRARY = "xul"
-@@ -42,86 +51,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,82 +52,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -248,10 +250,6 @@ index f1102c30059a..d2ebee0ec710 100644
- DEFINES["__STDC_CONSTANT_MACROS"] = True
- DEFINES["__STDC_FORMAT_MACROS"] = True
-
-- OS_LIBS += [
-- "log"
-- ]
--
-if CONFIG["OS_TARGET"] == "Darwin":
-
- DEFINES["WEBRTC_MAC"] = True
@@ -317,7 +315,7 @@ index f1102c30059a..d2ebee0ec710 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -129,25 +59,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -126,25 +60,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -343,7 +341,7 @@ index f1102c30059a..d2ebee0ec710 100644
if CONFIG["TARGET_CPU"] == "x86":
-@@ -157,40 +72,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
+@@ -154,40 +73,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["WEBRTC_ENABLE_AVX2"] = True
@@ -385,16 +383,17 @@ index f1102c30059a..d2ebee0ec710 100644
-
Library("array_view_gn")
diff --git third_party/libwebrtc/api/async_dns_resolver_gn/moz.build third_party/libwebrtc/api/async_dns_resolver_gn/moz.build
-index b4939a5514c1..1c688af7efa3 100644
+index 49c53fe1c5b5..d51f92b1c6c2 100644
--- third_party/libwebrtc/api/async_dns_resolver_gn/moz.build
+++ third_party/libwebrtc/api/async_dns_resolver_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -410,7 +409,7 @@ index b4939a5514c1..1c688af7efa3 100644
FINAL_LIBRARY = "xul"
-@@ -42,94 +51,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,94 +52,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -506,7 +505,7 @@ index b4939a5514c1..1c688af7efa3 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -137,25 +59,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -138,25 +60,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -532,7 +531,7 @@ index b4939a5514c1..1c688af7efa3 100644
if CONFIG["TARGET_CPU"] == "x86":
-@@ -165,40 +72,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
+@@ -166,40 +73,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["WEBRTC_ENABLE_AVX2"] = True
@@ -574,16 +573,17 @@ index b4939a5514c1..1c688af7efa3 100644
-
Library("async_dns_resolver_gn")
diff --git third_party/libwebrtc/api/audio/aec3_config_gn/moz.build third_party/libwebrtc/api/audio/aec3_config_gn/moz.build
-index 4ae595bcba6d..3e9fbb0332ff 100644
+index 7d4403b9f470..3fae035ac130 100644
--- third_party/libwebrtc/api/audio/aec3_config_gn/moz.build
+++ third_party/libwebrtc/api/audio/aec3_config_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -599,7 +599,7 @@ index 4ae595bcba6d..3e9fbb0332ff 100644
FINAL_LIBRARY = "xul"
-@@ -46,86 +55,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -47,86 +56,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -687,7 +687,7 @@ index 4ae595bcba6d..3e9fbb0332ff 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -133,82 +63,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -134,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -774,10 +774,10 @@ index 4ae595bcba6d..3e9fbb0332ff 100644
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 6f88ea8491e1..9fe5afa4dd03 100644
+index f2410c579108..9f40b3130715 100644
--- third_party/libwebrtc/api/audio/aec3_factory_gn/moz.build
+++ third_party/libwebrtc/api/audio/aec3_factory_gn/moz.build
-@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,14 +13,23 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
DEFINES["RTC_DAV1D_IN_INTERNAL_DECODER_FACTORY"] = True
DEFINES["RTC_ENABLE_VP9"] = True
@@ -785,6 +785,7 @@ index 6f88ea8491e1..9fe5afa4dd03 100644
+DEFINES["USE_OZONE"] = "1"
DEFINES["WEBRTC_APM_DEBUG_DUMP"] = "1"
+DEFINES["WEBRTC_BSD"] = True
+ DEFINES["WEBRTC_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -800,7 +801,7 @@ index 6f88ea8491e1..9fe5afa4dd03 100644
FINAL_LIBRARY = "xul"
-@@ -47,93 +56,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -48,93 +57,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -895,7 +896,7 @@ index 6f88ea8491e1..9fe5afa4dd03 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -141,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -142,82 +65,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -982,16 +983,17 @@ index 6f88ea8491e1..9fe5afa4dd03 100644
Library("aec3_factory_gn")
diff --git third_party/libwebrtc/api/audio/audio_device_gn/moz.build third_party/libwebrtc/api/audio/audio_device_gn/moz.build
-index 8e0dddd4c23e..1812ab6bedf8 100644
+index 689735dfd716..c2caf57806a2 100644
--- third_party/libwebrtc/api/audio/audio_device_gn/moz.build
+++ third_party/libwebrtc/api/audio/audio_device_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -1007,7 +1009,7 @@ index 8e0dddd4c23e..1812ab6bedf8 100644
FINAL_LIBRARY = "xul"
-@@ -42,86 +51,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,86 +52,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -1095,7 +1097,7 @@ index 8e0dddd4c23e..1812ab6bedf8 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -129,25 +59,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -130,25 +60,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -1121,7 +1123,7 @@ index 8e0dddd4c23e..1812ab6bedf8 100644
if CONFIG["TARGET_CPU"] == "x86":
-@@ -157,40 +72,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
+@@ -158,40 +73,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["WEBRTC_ENABLE_AVX2"] = True
@@ -1163,16 +1165,17 @@ index 8e0dddd4c23e..1812ab6bedf8 100644
-
Library("audio_device_gn")
diff --git third_party/libwebrtc/api/audio/audio_frame_api_gn/moz.build third_party/libwebrtc/api/audio/audio_frame_api_gn/moz.build
-index fb633e3930e2..9ba8edf80c44 100644
+index 47bef217f34a..a667f5680b09 100644
--- third_party/libwebrtc/api/audio/audio_frame_api_gn/moz.build
+++ third_party/libwebrtc/api/audio/audio_frame_api_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -1188,7 +1191,7 @@ index fb633e3930e2..9ba8edf80c44 100644
FINAL_LIBRARY = "xul"
-@@ -47,93 +56,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -48,93 +57,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -1283,7 +1286,7 @@ index fb633e3930e2..9ba8edf80c44 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -141,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -142,82 +65,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -1370,16 +1373,17 @@ index fb633e3930e2..9ba8edf80c44 100644
Library("audio_frame_api_gn")
diff --git third_party/libwebrtc/api/audio/audio_frame_processor_gn/moz.build third_party/libwebrtc/api/audio/audio_frame_processor_gn/moz.build
-index 0088f18ad2dc..8228190616ec 100644
+index 75e25f0f79b9..a6a6475a8dde 100644
--- third_party/libwebrtc/api/audio/audio_frame_processor_gn/moz.build
+++ third_party/libwebrtc/api/audio/audio_frame_processor_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -1395,7 +1399,7 @@ index 0088f18ad2dc..8228190616ec 100644
FINAL_LIBRARY = "xul"
-@@ -42,82 +51,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,82 +52,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -1479,7 +1483,7 @@ index 0088f18ad2dc..8228190616ec 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -125,25 +59,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -126,25 +60,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -1505,7 +1509,7 @@ index 0088f18ad2dc..8228190616ec 100644
if CONFIG["TARGET_CPU"] == "x86":
-@@ -153,40 +72,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
+@@ -154,40 +73,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["WEBRTC_ENABLE_AVX2"] = True
@@ -1547,16 +1551,17 @@ index 0088f18ad2dc..8228190616ec 100644
-
Library("audio_frame_processor_gn")
diff --git third_party/libwebrtc/api/audio/audio_mixer_api_gn/moz.build third_party/libwebrtc/api/audio/audio_mixer_api_gn/moz.build
-index 28b98ffce7a9..ac544c619786 100644
+index d364656f24b7..db4addb9a16b 100644
--- third_party/libwebrtc/api/audio/audio_mixer_api_gn/moz.build
+++ third_party/libwebrtc/api/audio/audio_mixer_api_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -1572,7 +1577,7 @@ index 28b98ffce7a9..ac544c619786 100644
FINAL_LIBRARY = "xul"
-@@ -42,93 +51,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -43,93 +52,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -1667,7 +1672,7 @@ index 28b98ffce7a9..ac544c619786 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -136,25 +59,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -137,25 +60,10 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -1693,7 +1698,7 @@ index 28b98ffce7a9..ac544c619786 100644
if CONFIG["TARGET_CPU"] == "x86":
-@@ -164,40 +72,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
+@@ -165,40 +73,4 @@ if CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["WEBRTC_ENABLE_AVX2"] = True
@@ -1735,16 +1740,17 @@ index 28b98ffce7a9..ac544c619786 100644
-
Library("audio_mixer_api_gn")
diff --git third_party/libwebrtc/api/audio/audio_processing_gn/moz.build third_party/libwebrtc/api/audio/audio_processing_gn/moz.build
-index cdd225e6797e..bc5318d09ca8 100644
+index ecf7bc9ff780..27e1beddf05b 100644
--- third_party/libwebrtc/api/audio/audio_processing_gn/moz.build
+++ third_party/libwebrtc/api/audio/audio_processing_gn/moz.build
-@@ -13,12 +13,21 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
+@@ -13,13 +13,22 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
DEFINES["PROTOBUF_ENABLE_DEBUG_LOGGING_MAY_LEAK_PII"] = "0"
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_DEPRECATE_PLAN_B"] = True
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
DEFINES["WEBRTC_ENCODER_PSNR_STATS"] = True
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
@@ -1760,7 +1766,7 @@ index cdd225e6797e..bc5318d09ca8 100644
FINAL_LIBRARY = "xul"
-@@ -46,93 +55,7 @@ if not CONFIG["MOZ_DEBUG"]:
+@@ -47,93 +56,7 @@ if not CONFIG["MOZ_DEBUG"]:
if CONFIG["MOZ_DEBUG"] == "1":
DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
@@ -1855,7 +1861,7 @@ index cdd225e6797e..bc5318d09ca8 100644
if CONFIG["TARGET_CPU"] == "aarch64":
-@@ -140,82 +63,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
+@@ -141,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
DEFINES["WEBRTC_HAS_NEON"] = True
DEFINES["__ARM_NEON__"] = "1"
@@ -1942,16 +1948,17 @@ index cdd225e6797e..bc5318d09ca8 100644
Library("audio_processing_gn")
diff --git third_party/libwebrtc/api/audio/audio_processing_statistics_gn/moz.build third_party/libwebrtc/api/audio/audio_processing_statistics_gn/moz.build
-index 5e452f4c3ed0..fcb573b9c8c6 100644
+index 4a58ec994f57..0be09edb1e1d 100644
--- third_party/libwebrtc/api/audio/audio_processing_statistics_gn/moz.build
*** 25951 LINES SKIPPED ***