git: 66176a33aca4 - main - www/waterfox: Update 6.6.16.1 => 6.7.0-beta.3
Vladimir Druzenko <[email protected]> Sun, 02 Aug 2026 16:52:08 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.ports |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=66176a33aca4cf06c82d140b93720aa5cadd4c0e commit 66176a33aca4cf06c82d140b93720aa5cadd4c0e Author: Martin Filla <[email protected]> AuthorDate: 2026-08-02 16:48:06 +0000 Commit: Vladimir Druzenko <[email protected]> CommitDate: 2026-08-02 16:48:06 +0000 www/waterfox: Update 6.6.16.1 => 6.7.0-beta.3 First 6.7.0 beta moving Waterfox to the ESR 153 platform. Release Notes: https://www.waterfox.com/releases/6.7.0-beta.1/ https://www.waterfox.com/releases/6.7.0-beta.2/ https://www.waterfox.com/releases/6.7.0-beta.3/ PR: 297209 Sponsored by: UNIS Labs MFH: 2026Q3 --- www/waterfox/Makefile | 7 +- www/waterfox/distinfo | 10 +- www/waterfox/files/patch-bug1504834_comment10 | 36 - www/waterfox/files/patch-bug1504834_comment5 | 34 +- www/waterfox/files/patch-bug1626236 | 92 - www/waterfox/files/patch-bug1716707 | 56 - www/waterfox/files/patch-bug1876632 | 35 - www/waterfox/files/patch-bug2023597 | 25 - www/waterfox/files/patch-build_gn__processor.py | 26 +- www/waterfox/files/patch-dns-resolve-https-rr | 10 +- ...dom_media_webrtc_libwebrtc__overrides_moz.build | 25 + www/waterfox/files/patch-hal_moz.build | 18 + www/waterfox/files/patch-i386-protobuf-alignment | 15 - www/waterfox/files/patch-ipc_glue_ForkServer.cpp | 35 + .../files/patch-ipc_glue_GeckoChildProcessHost.cpp | 13 - .../files/patch-languageid-de-constexpr-ify | 138 + www/waterfox/files/patch-libwebrtc-generated | 41463 +++++++++---------- www/waterfox/files/patch-media_libopus_moz.build | 21 + .../files/patch-modules_fdlibm_src_math__private.h | 27 - www/waterfox/files/patch-pipewire_init | 106 +- www/waterfox/files/patch-python_sites_build.txt | 17 + www/waterfox/files/patch-python_sites_mach.txt | 32 +- ...d__party_chromium_build_toolchain_toolchain.gni | 18 + ...rd__party_libwebrtc_build_config_BUILDCONFIG.gn | 63 +- ...tc_modules_desktop__capture_desktop__capturer.h | 20 + ..._desktop__capture_linux_wayland__egl__dmabuf.cc | 23 +- ...arty_libwebrtc_modules_portal_pipewire__utils.h | 19 + ...hird__party_sqlite3_ext_sqlite-vec_sqlite-vec.c | 9 +- ..._google_protobuf_io_zero__copy__stream__impl.cc | 23 + ...eakpad_src_common_linux_memory__mapped__file.cc | 40 + www/waterfox/files/patch-toolkit_library_moz.build | 22 + .../files/patch-xpcom_base_nsMemoryInfoDumper.cpp | 19 + 32 files changed, 20466 insertions(+), 22031 deletions(-) diff --git a/www/waterfox/Makefile b/www/waterfox/Makefile index 6aa176f6d2bc..7e32c289cd53 100644 --- a/www/waterfox/Makefile +++ b/www/waterfox/Makefile @@ -1,6 +1,5 @@ PORTNAME= waterfox -DISTVERSION= 6.6.16.1 -PORTREVISION= 1 +DISTVERSION= 6.7.0-beta.3 PORTEPOCH= 1 CATEGORIES= www @@ -12,7 +11,7 @@ LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= nspr>=4.32:devel/nspr \ - nss>=3.124.0:security/nss \ + nss>=3.125.0:security/nss \ icu>=76.1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=10.1.0:print/harfbuzz \ @@ -32,7 +31,7 @@ BUILD_DEPENDS= nspr>=4.32:devel/nspr \ USE_GECKO= gecko USE_GITHUB= yes GH_ACCOUNT= BrowserWorks -GH_TUPLE= BrowserWorks:l10n:a2e5c9b:l10n/waterfox/browser/locales +GH_TUPLE= BrowserWorks:l10n:cc8b91c:l10n/waterfox/browser/locales USE_MOZILLA= -sqlite # work around bindgen not finding ICU, e.g. # dist/include/mozilla/intl/ICU4CGlue.h:8:10: fatal error: 'unicode/uenum.h' file not found, err: true diff --git a/www/waterfox/distinfo b/www/waterfox/distinfo index e0a6eba815c4..6977253f1b95 100644 --- a/www/waterfox/distinfo +++ b/www/waterfox/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1783838383 -SHA256 (BrowserWorks-waterfox-6.6.16.1_GH0.tar.gz) = b0b4086cbff68cc1dc0e28321a99055482f19a243f14fa674adc8800b5b83d84 -SIZE (BrowserWorks-waterfox-6.6.16.1_GH0.tar.gz) = 926640559 -SHA256 (BrowserWorks-l10n-a2e5c9b_GH0.tar.gz) = b59e1ad5a16b3fcfb4266edb7a641098c511ce593b8f2ff291cc7dc3ca054b03 -SIZE (BrowserWorks-l10n-a2e5c9b_GH0.tar.gz) = 25811834 +TIMESTAMP = 1785511261 +SHA256 (BrowserWorks-waterfox-6.7.0-beta.3_GH0.tar.gz) = f79f539de265e2ed17115adb4d9b4b29b1d4814d5aa9e366bbab4da226191ada +SIZE (BrowserWorks-waterfox-6.7.0-beta.3_GH0.tar.gz) = 1053034744 +SHA256 (BrowserWorks-l10n-cc8b91c_GH0.tar.gz) = 4e1edf9d95cb273003778cb798c0adfe039a5716a0242078da552aae3b5573d0 +SIZE (BrowserWorks-l10n-cc8b91c_GH0.tar.gz) = 94276518 diff --git a/www/waterfox/files/patch-bug1504834_comment10 b/www/waterfox/files/patch-bug1504834_comment10 deleted file mode 100644 index 2d584adb17ef..000000000000 --- a/www/waterfox/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/waterfox/files/patch-bug1504834_comment5 b/www/waterfox/files/patch-bug1504834_comment5 index b9897e0b7f66..ee4d57b507a1 100644 --- a/www/waterfox/files/patch-bug1504834_comment5 +++ b/www/waterfox/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/waterfox/files/patch-bug1626236 b/www/waterfox/files/patch-bug1626236 deleted file mode 100644 index ae3b522f6b90..000000000000 --- a/www/waterfox/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 [email protected] -# 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 ebb0b7d..d52ef47 100644 ---- image/decoders/nsGIFDecoder2.cpp -+++ image/decoders/nsGIFDecoder2.cpp -@@ -422,6 +422,9 @@ void nsGIFDecoder2::ConvertColormap(uint32_t* aColormap, uint32_t aColors) { - MOZ_ASSERT(mSwizzleFn); - uint8_t* data = reinterpret_cast<uint8_t*>(aColormap); - mSwizzleFn(data, data, aColors); -+#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 9ea4403..d82772c 100644 ---- image/decoders/nsJPEGDecoder.cpp -+++ image/decoders/nsJPEGDecoder.cpp -@@ -257,6 +257,9 @@ LexerTransition<nsJPEGDecoder::State> nsJPEGDecoder::ReadJPEGData( - case JCS_YCbCr: - // By default, we will output directly to BGRA. If we need to apply - // special color transforms, this may change. -+#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; -@@ -271,6 +274,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 e3e4ef4..3cc7315 100644 ---- image/decoders/nsPNGDecoder.cpp -+++ image/decoders/nsPNGDecoder.cpp -@@ -356,7 +356,7 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator, - IResumable* aOnResume) { - MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!"); - -- return mLexer.Lex(aIterator, aOnResume, -+ LexerResult res = mLexer.Lex(aIterator, aOnResume, - [=](State aState, const char* aData, size_t aLength) { - switch (aState) { - case State::PNG_DATA: -@@ -366,6 +366,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 e58ca92..2056ebb 100644 ---- image/decoders/nsWebPDecoder.cpp -+++ image/decoders/nsWebPDecoder.cpp -@@ -247,7 +247,12 @@ nsresult nsWebPDecoder::CreateFrame(const OrientedIntRect& aFrameRect) { - // WebP doesn't guarantee that the alpha generated matches the hint in the - // header, so we always need to claim the input is BGRA. If the output is - // BGRX, swizzling will mask off the alpha channel. -+#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/waterfox/files/patch-bug1716707 b/www/waterfox/files/patch-bug1716707 deleted file mode 100644 index 33ff73450b73..000000000000 --- a/www/waterfox/files/patch-bug1716707 +++ /dev/null @@ -1,56 +0,0 @@ -commit ce7a2f400d4f599c72e32e2635fee7ea94c0848c -Author: Christoph Moench-Tegeder <[email protected]> -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/waterfox/files/patch-bug1876632 b/www/waterfox/files/patch-bug1876632 deleted file mode 100644 index 3932b1deccc9..000000000000 --- a/www/waterfox/files/patch-bug1876632 +++ /dev/null @@ -1,35 +0,0 @@ -commit 4f531ca86d24be5d4de673f6e652ed899151d20c -Author: Jesper Schmitz Mouridsen <[email protected]> -Date: Wed Jul 23 22:01:31 2025 +0000 - - Bug 1876632 Fix aslr allocations on FreeBSD r=spidermonkey-reviewers,sfink - - Without the alignment flag the desired address - gets randomized by aslr in a way which causes it to not - be aligned. Furthermore the TryToAlignChunk almost always - fails. With this fix it never gets to TryToAlignChunk - because the flag guarantees upfront alignment. - - Differential Revision: https://phabricator.services.mozilla.com/D257824 - -diff --git js/src/gc/Memory.cpp js/src/gc/Memory.cpp -index e790f1784ede..13639c9a6eb4 100644 ---- js/src/gc/Memory.cpp -+++ js/src/gc/Memory.cpp -@@ -608,7 +608,16 @@ static void* MapAlignedPagesRandom(size_t length, size_t alignment) { - for (size_t i = 1; i <= 1024; ++i) { - if (i & 0xf) { - uint64_t desired = alignment * GetNumberInRange(minNum, maxNum); -+# if defined(__FreeBSD__) && defined(__aarch64__) -+ int flags = MAP_PRIVATE | MAP_ANON | -+ MAP_ALIGNED(mozilla::CeilingLog2Size(alignment)); -+ region = MozTaggedAnonymousMmap((void*)(uintptr_t)desired, length, -+ int(PageAccess::ReadWrite), flags, -1, 0, -+ "js-gc-heap"); -+# else - region = MapMemoryAtFuzzy(reinterpret_cast<void*>(desired), length); -+ -+# endif - if (!region) { - continue; - } diff --git a/www/waterfox/files/patch-bug2023597 b/www/waterfox/files/patch-bug2023597 deleted file mode 100644 index e4dd6184fe39..000000000000 --- a/www/waterfox/files/patch-bug2023597 +++ /dev/null @@ -1,25 +0,0 @@ -commit c41de3cb5bd2b6fb243e10b150b705435d2db63c -Author: Alex Hochheiden <[email protected]> -Date: Wed Apr 1 18:11:37 2026 +0000 - - Bug 2023597 - Use `wasm32-wasip1` target for clang >= 22.1 r=firefox-build-system-reviewers,sergesanspaille - - https://github.com/llvm/llvm-project/pull/165345 - https://releases.llvm.org/22.1.0/tools/clang/docs/ReleaseNotes.html - - Differential Revision: https://phabricator.services.mozilla.com/D291023 - -diff --git build/moz.configure/toolchain.configure build/moz.configure/toolchain.configure -index 10d715866b1f..4b07f9d7a8de 100644 ---- build/moz.configure/toolchain.configure -+++ build/moz.configure/toolchain.configure -@@ -695,6 +695,9 @@ def check_compiler(configure_cache, compiler, language, target, android_version) - # This makes clang define __ANDROID_API__ and use versioned library - # directories from the NDK. - toolchain = "%s%d" % (target.toolchain, android_version) -+ elif target.kernel == "WASI" and info.type == "clang" and info.version >= Version("22.1"): -+ # The wasm32-wasi target was renamed to wasm32-wasip1 in LLVM 22.1. -+ toolchain = "wasm32-wasip1" - else: - toolchain = target.toolchain - diff --git a/www/waterfox/files/patch-build_gn__processor.py b/www/waterfox/files/patch-build_gn__processor.py index be5e10347483..602bab3dafc5 100644 --- a/www/waterfox/files/patch-build_gn__processor.py +++ b/www/waterfox/files/patch-build_gn__processor.py @@ -1,13 +1,13 @@ -commit 0e5bcbefae64b35a5c8df360e3980258a565fa72 -Author: Christoph Moench-Tegeder <[email protected]> +commit fd751cfbeaf9e78c2b525c3f5226eb73aa90f0cd +Author: Christoph Moench-Tegeder <[email protected]> - chase gn_processor.py move + FreeBSD workings for webrtc configure (gn_processor.py) diff --git build/gn_processor.py build/gn_processor.py -index 2ba8b92c2751..91170efb9a5d 100644 +index 9f7f51c9f93f..ab7b60ee725f 100644 --- build/gn_processor.py +++ build/gn_processor.py -@@ -186,6 +186,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target): +@@ -215,6 +215,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target): } oses = { "android": "Android", @@ -15,12 +15,12 @@ index 2ba8b92c2751..91170efb9a5d 100644 "linux": "Linux", "mac": "Darwin", "openbsd": "OpenBSD", -@@ -780,17 +781,17 @@ def main(): +@@ -1035,17 +1036,17 @@ def generate_gn_configs(topsrcdir, config): vars_set = [] for is_debug in (True, False): - for target_os in ("android", "linux", "mac", "openbsd", "win"): -+ for target_os in ("freebsd",): ++ for target_os in ("freebsd", ): target_cpus = ["x64"] - if target_os in ("android", "linux", "mac", "win", "openbsd"): + if target_os in ("android", "freebsd", "linux", "mac", "win", "openbsd"): @@ -38,12 +38,12 @@ index 2ba8b92c2751..91170efb9a5d 100644 target_cpus.extend(["loong64", "ppc64", "mipsel", "mips64el"]) for target_cpu in target_cpus: vars = { -@@ -799,7 +800,7 @@ def main(): - "target_cpu": target_cpu, - "target_os": target_os, - } +@@ -1059,7 +1060,7 @@ def generate_gn_configs(topsrcdir, config): + vars.update(config_args.get("*", {})) + vars.update(config_args.get(target_os, {})) + - if target_os == "linux": + if target_os in ("freebsd", "linux"): - for use_x11 in (True, False): - vars["use_x11"] = use_x11 + for enable_x11 in (True, False): + vars["ozone_platform_x11"] = enable_x11 vars_set.append(vars.copy()) diff --git a/www/waterfox/files/patch-dns-resolve-https-rr b/www/waterfox/files/patch-dns-resolve-https-rr index e00af766c62a..b0517900dd0a 100644 --- a/www/waterfox/files/patch-dns-resolve-https-rr +++ b/www/waterfox/files/patch-dns-resolve-https-rr @@ -1,4 +1,4 @@ -commit be323da0618d99573ef61a096fa4ae1b147378d9 +commit c6452bc491ef6b531ae4e948926bd8d863ad1fc3 Author: Christoph Moench-Tegeder <[email protected]> enable resolving HTTPS RRs via the OS's resolver on FreeBSD @@ -7,10 +7,10 @@ Author: Christoph Moench-Tegeder <[email protected]> on HTTPS RRs. diff --git netwerk/dns/moz.build netwerk/dns/moz.build -index b2456d23a6df..3785da5d6e87 100644 +index 2369794f2407..7e3bff4b5092 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build -@@ -58,6 +58,8 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": +@@ -56,6 +56,8 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": elif CONFIG["OS_TARGET"] == "Linux": SOURCES += ["PlatformDNSUnix.cpp"] OS_LIBS += ["resolv"] @@ -20,10 +20,10 @@ index b2456d23a6df..3785da5d6e87 100644 SOURCES += ["PlatformDNSMac.cpp"] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": diff --git netwerk/dns/nsHostResolver.cpp netwerk/dns/nsHostResolver.cpp -index b7e3763ffeb5..a36edf32dc76 100644 +index 2ef4006a3b17..29c4c7cf5730 100644 --- netwerk/dns/nsHostResolver.cpp +++ netwerk/dns/nsHostResolver.cpp -@@ -213,7 +213,7 @@ nsresult nsHostResolver::Init() MOZ_NO_THREAD_SAFETY_ANALYSIS { +@@ -175,7 +175,7 @@ nsresult nsHostResolver::Init() MOZ_NO_THREAD_SAFETY_ANALYSIS { #elif defined(MOZ_WIDGET_ANDROID) // android_res_nquery only got added in API level 29 sNativeHTTPSSupported = jni::GetAPIVersion() >= 29; diff --git a/www/waterfox/files/patch-dom_media_webrtc_libwebrtc__overrides_moz.build b/www/waterfox/files/patch-dom_media_webrtc_libwebrtc__overrides_moz.build new file mode 100644 index 000000000000..ac01cff0e211 --- /dev/null +++ b/www/waterfox/files/patch-dom_media_webrtc_libwebrtc__overrides_moz.build @@ -0,0 +1,25 @@ +commit 18ea032974539d7f4db64d21a87fd174333b9e2c +Author: Christoph Moench-Tegeder <[email protected]> + + build XErrorTrap for FreeBSD, too + +diff --git dom/media/webrtc/libwebrtc_overrides/moz.build dom/media/webrtc/libwebrtc_overrides/moz.build +index ed9c450e5649..1ac213e48b28 100644 +--- dom/media/webrtc/libwebrtc_overrides/moz.build ++++ dom/media/webrtc/libwebrtc_overrides/moz.build +@@ -49,13 +49,13 @@ + "call/call_basic_stats.cc", + ] + +-if CONFIG["OS_TARGET"] == "OpenBSD": ++if CONFIG["OS_TARGET"] in ("FreeBSD", "OpenBSD"): + CXXFLAGS += CONFIG["MOZ_X11_CFLAGS"] + UNIFIED_SOURCES += [ + "modules/desktop_capture/linux/x11/x_error_trap.cc", + ] + +-if CONFIG["TARGET_CPU"] in ("loongarch64", "ppc64"): ++if CONFIG["TARGET_CPU"] in ("loongarch64"): + UNIFIED_SOURCES += [ + "modules/desktop_capture/linux/x11/x_error_trap.cc", + ] diff --git a/www/waterfox/files/patch-hal_moz.build b/www/waterfox/files/patch-hal_moz.build new file mode 100644 index 000000000000..1c3eb3fa2853 --- /dev/null +++ b/www/waterfox/files/patch-hal_moz.build @@ -0,0 +1,18 @@ +commit b4a1f15edc3ebc2b68d2aae22bb59e2ce779cce7 +Author: Christoph Moench-Tegeder <[email protected]> + + 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/waterfox/files/patch-i386-protobuf-alignment b/www/waterfox/files/patch-i386-protobuf-alignment deleted file mode 100644 index 0d58c8644e79..000000000000 --- a/www/waterfox/files/patch-i386-protobuf-alignment +++ /dev/null @@ -1,15 +0,0 @@ -# On FreeBSD/i386's LLVM, actual alignment for atomic types requires -# stricter alignment rules, mostly on 8 byte boundaries instead of 4 byte -# as indicated by max_align_t. - ---- ./toolkit/components/protobuf/src/google/protobuf/arena_impl.h.orig 2022-08-20 20:07:57.096818000 +0200 -+++ ./toolkit/components/protobuf/src/google/protobuf/arena_impl.h 2022-08-20 21:40:47.821690000 +0200 -@@ -640,7 +640,7 @@ - #ifdef _MSC_VER - #pragma warning(disable : 4324) - #endif -- struct alignas(kCacheAlignment) CacheAlignedLifecycleIdGenerator { -+ struct alignas(alignof(std::atomic<LifecycleIdAtomic>)) CacheAlignedLifecycleIdGenerator { - std::atomic<LifecycleIdAtomic> id; - }; - static CacheAlignedLifecycleIdGenerator lifecycle_id_generator_; diff --git a/www/waterfox/files/patch-ipc_glue_ForkServer.cpp b/www/waterfox/files/patch-ipc_glue_ForkServer.cpp new file mode 100644 index 000000000000..6632ff89fa51 --- /dev/null +++ b/www/waterfox/files/patch-ipc_glue_ForkServer.cpp @@ -0,0 +1,35 @@ +commit cf2fba7d3f8414cfc993b6a2d9ab01b43f6669d5 +Author: Christoph Moench-Tegeder <[email protected]> + + we need signal.h and BinaryPath.h + +diff --git ipc/glue/ForkServer.cpp ipc/glue/ForkServer.cpp +index d18fab02d686..837d0ac62f40 100644 +--- ipc/glue/ForkServer.cpp ++++ ipc/glue/ForkServer.cpp +@@ -22,12 +22,15 @@ + #include <string.h> + #include <sys/wait.h> + #include <unistd.h> ++#if defined(XP_FREEBSD) ++#include <signal.h> ++#endif + + #if defined(XP_LINUX) && defined(MOZ_SANDBOX) + # include "mozilla/SandboxLaunch.h" + #endif + +-#if defined(XP_OPENBSD) ++#if defined(XP_OPENBSD) || defined(XP_FREEBSD) + # include "BinaryPath.h" + # include <err.h> + #endif +@@ -76,7 +79,7 @@ ForkServer::ForkServer(int* aArgc, char*** aArgv) : mArgc(aArgc), mArgv(aArgv) { + */ + static void ForkServerPreload(int& aArgc, char** aArgv) { + Omnijar::ChildProcessInit(aArgc, aArgv); +-#if defined(XP_OPENBSD) ++#if defined(XP_OPENBSD) || defined(XP_FREEBSD) + char binaryPath[MAXPATHLEN]; + nsresult rv = mozilla::BinaryPath::Get(binaryPath); + if (NS_FAILED(rv)) { diff --git a/www/waterfox/files/patch-ipc_glue_GeckoChildProcessHost.cpp b/www/waterfox/files/patch-ipc_glue_GeckoChildProcessHost.cpp deleted file mode 100644 index 42f5f25add33..000000000000 --- a/www/waterfox/files/patch-ipc_glue_GeckoChildProcessHost.cpp +++ /dev/null @@ -1,13 +0,0 @@ -diff --git ipc/glue/GeckoChildProcessHost.cpp ipc/glue/GeckoChildProcessHost.cpp -index 9bb8314bd98c..2bc0382a9385 100644 ---- ipc/glue/GeckoChildProcessHost.cpp -+++ ipc/glue/GeckoChildProcessHost.cpp -@@ -1121,7 +1121,7 @@ Result<Ok, LaunchError> BaseProcessLauncher::DoSetup() { - #if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN) - geckoargs::sCrashReporter.Put(CrashReporter::GetChildNotificationPipe(), - mChildArgs); --#elif defined(XP_UNIX) && !defined(XP_IOS) -+#elif defined(XP_UNIX) && !defined(XP_IOS) && !defined(XP_FREEBSD) - UniqueFileHandle childCrashFd = CrashReporter::GetChildNotificationPipe(); - if (!childCrashFd) { - return Err(LaunchError("DuplicateFileHandle failed")); diff --git a/www/waterfox/files/patch-languageid-de-constexpr-ify b/www/waterfox/files/patch-languageid-de-constexpr-ify new file mode 100644 index 000000000000..1c2a522f5bf5 --- /dev/null +++ b/www/waterfox/files/patch-languageid-de-constexpr-ify @@ -0,0 +1,138 @@ +commit 87f49da7a84ed9bbce4b8ef263d85b9bd5c42eac +Author: Christoph Moench-Tegeder <[email protected]> + + 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/waterfox/files/patch-libwebrtc-generated b/www/waterfox/files/patch-libwebrtc-generated index eb715bc55fbe..e4db36d2ca60 100644 --- a/www/waterfox/files/patch-libwebrtc-generated +++ b/www/waterfox/files/patch-libwebrtc-generated @@ -1,20 +1,22 @@ -commit f65492631f8fa8714d72d09ba3fa5edf3b08bac3 +commit aff9c9149a23dfc8998b7259d90d58ce61387b53 Author: Christoph Moench-Tegeder <[email protected]> - regenerate FreeBSD libwebrtc patch for gecko 140 + regenerate FreeBSD libwebrtc patch for gecko 153 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 a29aef4b45e5..c193c4232adf 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,11 +13,20 @@ 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 DEFINES["WEBRTC_MOZILLA_BUILD"] = True DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0" @@ -28,7 +30,7 @@ index a29aef4b45e5..c193c4232adf 100644 FINAL_LIBRARY = "xul" -@@ -44,179 +53,32 @@ if not CONFIG["MOZ_DEBUG"]: +@@ -47,86 +56,7 @@ if not CONFIG["MOZ_DEBUG"]: if CONFIG["MOZ_DEBUG"] == "1": DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1" @@ -36,13 +38,14 @@ index a29aef4b45e5..c193c4232adf 100644 -if CONFIG["OS_TARGET"] == "Android": - - DEFINES["ANDROID"] = True -- DEFINES["ANDROID_NDK_VERSION_ROLL"] = "r22_1" +- DEFINES["ANDROID_NDK_VERSION_ROLL"] = "r27_1" - DEFINES["HAVE_SYS_UIO_H"] = True - DEFINES["WEBRTC_ANDROID"] = True - DEFINES["WEBRTC_ANDROID_OPENSLES"] = True - DEFINES["WEBRTC_LINUX"] = True - DEFINES["WEBRTC_POSIX"] = True - DEFINES["_GNU_SOURCE"] = True +- DEFINES["__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__"] = True - DEFINES["__STDC_CONSTANT_MACROS"] = True - DEFINES["__STDC_FORMAT_MACROS"] = True - @@ -54,8 +57,6 @@ index a29aef4b45e5..c193c4232adf 100644 - - DEFINES["WEBRTC_MAC"] = True - DEFINES["WEBRTC_POSIX"] = True -- DEFINES["_LIBCPP_HAS_NO_ALIGNED_ALLOCATION"] = True -- DEFINES["__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES"] = "0" - DEFINES["__STDC_CONSTANT_MACROS"] = True - DEFINES["__STDC_FORMAT_MACROS"] = True - @@ -63,7 +64,6 @@ index a29aef4b45e5..c193c4232adf 100644 - - DEFINES["USE_AURA"] = "1" - DEFINES["USE_GLIB"] = "1" -- DEFINES["USE_NSS_CERTS"] = "1" - DEFINES["USE_OZONE"] = "1" - DEFINES["USE_UDEV"] = True - DEFINES["WEBRTC_LINUX"] = True @@ -78,7 +78,6 @@ index a29aef4b45e5..c193c4232adf 100644 - - DEFINES["USE_GLIB"] = "1" - DEFINES["USE_OZONE"] = "1" -- DEFINES["USE_X11"] = "1" - DEFINES["WEBRTC_BSD"] = True - DEFINES["WEBRTC_POSIX"] = True - DEFINES["_FILE_OFFSET_BITS"] = "64" @@ -102,6 +101,7 @@ index a29aef4b45e5..c193c4232adf 100644 - DEFINES["WINAPI_FAMILY"] = "WINAPI_FAMILY_DESKTOP_APP" - DEFINES["WINVER"] = "0x0A00" - DEFINES["_ATL_NO_OPENGL"] = True +- DEFINES["_CRT_NONSTDC_NO_WARNINGS"] = True - DEFINES["_CRT_RAND_S"] = True - DEFINES["_CRT_SECURE_NO_DEPRECATE"] = True - DEFINES["_ENABLE_EXTENDED_ALIGNED_STORAGE"] = True @@ -112,13 +112,15 @@ index a29aef4b45e5..c193c4232adf 100644 - DEFINES["_UNICODE"] = True - DEFINES["_WIN32_WINNT"] = "0x0A00" - DEFINES["_WINDOWS"] = True +- DEFINES["_WINSOCK_DEPRECATED_NO_WARNINGS"] = True - DEFINES["__STD_C"] = True + DEFINES["_DEBUG"] = True if CONFIG["TARGET_CPU"] == "aarch64": - DEFINES["WEBRTC_ARCH_ARM64"] = True +@@ -134,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64": DEFINES["WEBRTC_HAS_NEON"] = True + DEFINES["__ARM_NEON__"] = "1" -if CONFIG["TARGET_CPU"] == "arm": - @@ -172,16 +174,6 @@ index a29aef4b45e5..c193c4232adf 100644 - - DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0" - --if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "Linux": -- -- DEFINES["USE_X11"] = "1" -- --if CONFIG["OS_TARGET"] == "Android" and CONFIG["TARGET_CPU"] == "arm": -- -- OS_LIBS += [ -- "unwind" -- ] -- -if CONFIG["OS_TARGET"] == "Android" and CONFIG["TARGET_CPU"] == "x86": - CXXFLAGS += [ @@ -197,35 +189,35 @@ index a29aef4b45e5..c193c4232adf 100644 - DEFINES["_GNU_SOURCE"] = True - -if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86": -+ DEFINES["WEBRTC_ENABLE_AVX2"] = True - +- - CXXFLAGS += [ - "-msse2" - ] -+if CONFIG["TARGET_CPU"] == "x86_64": - +- - DEFINES["_GNU_SOURCE"] = True + DEFINES["WEBRTC_ENABLE_AVX2"] = True -if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64": -+if CONFIG["MOZ_X11"] == "1" and CONFIG["OS_TARGET"] == "FreeBSD": ++if CONFIG["TARGET_CPU"] == "x86_64": - DEFINES["_GNU_SOURCE"] = True -+ DEFINES["USE_X11"] = "1" ++ DEFINES["WEBRTC_ENABLE_AVX2"] = True 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 642158f0b8be..994364e58ce4 100644 ---- third_party/libwebrtc/api/array_view_gn/moz.build -+++ third_party/libwebrtc/api/array_view_gn/moz.build -@@ -13,11 +13,20 @@ DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1" +diff --git third_party/libwebrtc/api/async_dns_resolver_gn/moz.build third_party/libwebrtc/api/async_dns_resolver_gn/moz.build +index c293b9edb72e..d51f92b1c6c2 100644 +--- third_party/libwebrtc/api/async_dns_resolver_gn/moz.build ++++ third_party/libwebrtc/api/async_dns_resolver_gn/moz.build +@@ -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 DEFINES["WEBRTC_MOZILLA_BUILD"] = True DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0" @@ -239,7 +231,7 @@ index 642158f0b8be..994364e58ce4 100644 FINAL_LIBRARY = "xul" -@@ -40,112 +49,17 @@ if not CONFIG["MOZ_DEBUG"]: *** 90746 LINES SKIPPED ***