git: 648e891ea0b4 - main - www/firefox: update to 158.0 (rc1)

From: Christoph Moench-Tegeder <cmt_at_FreeBSD.org>
Date: Thu, 08 Oct 2026 20:09:17 UTC
The branch main has been updated by cmt:

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

commit 648e891ea0b42090f1a6ed112b7e7805ae624d1c
Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2026-10-08 20:07:07 +0000
Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2026-10-08 20:07:07 +0000

    www/firefox: update to 158.0 (rc1)
    
    Release Notes (soon):
      https://www.firefox.com/en-US/firefox/158.0/releasenotes/
    
    Includes fix for DEBUG-enabled builds
    
    PR:                     298373
    Submitted By:    Bartosz
---
 www/firefox/Makefile                               |   6 +-
 www/firefox/distinfo                               |   6 +-
 www/firefox/files/patch-bug847568                  | 241 -------------------
 .../files/patch-languageid-de-constexpr-ify        |  34 +--
 www/firefox/files/patch-libwebrtc-generated        | 258 ++-------------------
 www/firefox/files/patch-python_sites_mach.txt      |  10 +-
 ..._moz.build => patch-third__party_angle-freebsd} |  88 ++++++-
 ...-third__party_angle_angle__common__gn_moz.build |  36 ---
 8 files changed, 140 insertions(+), 539 deletions(-)

diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index e78aa9b1bc9c..2f572fd5753d 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	firefox
-DISTVERSION=	157.0.1
+DISTVERSION=	158.0
 PORTEPOCH=	2
 CATEGORIES=	www wayland
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
@@ -14,10 +14,8 @@ NOT_FOR_ARCHS=		i386
 NOT_FOR_ARCHS_REASON=	fails to build: rust needs more address space than platform can provide
 
 BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
-		nss>=3.129:security/nss \
+		nss>=3.130:security/nss \
 		libevent>=2.1.8:devel/libevent \
-		harfbuzz>=10.1.0:print/harfbuzz \
-		graphite2>=1.3.14:graphics/graphite2 \
 		png>=1.6.45:graphics/png \
 		dav1d>=1.0.0:multimedia/dav1d \
 		libvpx>=1.15.0:multimedia/libvpx \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 90ab5a339db5..24de6e0718a4 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1791223226
-SHA256 (firefox-157.0.1.source.tar.xz) = 483bedee9059df2479e4531c443b1073c6ebaed3570bda0c164eb562ee241c4c
-SIZE (firefox-157.0.1.source.tar.xz) = 811383348
+TIMESTAMP = 1791478748
+SHA256 (firefox-158.0.source.tar.xz) = ec28901709028d8125df4248668df3f86362fc5c02986c038443f4ce6a383912
+SIZE (firefox-158.0.source.tar.xz) = 813786428
diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568
deleted file mode 100644
index 5b557e0e5a86..000000000000
--- a/www/firefox/files/patch-bug847568
+++ /dev/null
@@ -1,241 +0,0 @@
-Allow building against system-wide graphite2/harfbuzz
-
-diff --git config/system-headers.mozbuild config/system-headers.mozbuild
-index af44c89057fc..c0ac271917fb 100644
---- config/system-headers.mozbuild
-+++ config/system-headers.mozbuild
-@@ -1304,6 +1304,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]:
-         "proxy.h",
-     ]
- 
-+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
-+    system_headers += [
-+        'graphite2/Font.h',
-+        'graphite2/Segment.h',
-+    ]
-+
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    system_headers += [
-+        'harfbuzz/hb-glib.h',
-+        'harfbuzz/hb-ot.h',
-+        'harfbuzz/hb.h',
-+    ]
-+
- if CONFIG["MOZ_SYSTEM_ICU"]:
-     system_headers += [
-         "unicode/calendar.h",
-diff --git dom/base/moz.build dom/base/moz.build
-index 170d19f09aa9..a47fc8b1193c 100644
---- dom/base/moz.build
-+++ dom/base/moz.build
-@@ -620,6 +620,9 @@ FINAL_LIBRARY = "xul"
- if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
-     CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
- 
-+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
-+    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
-+
- GeneratedFile(
-     "UseCounterList.h",
-     script="gen-usecounters.py",
-diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build
-new file mode 100644
-index 000000000000..ed0323eba9d5
---- /dev/null
-+++ gfx/graphite2/geckoextra/moz.build
-@@ -0,0 +1,21 @@
-+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-+# vim: set filetype=python:
-+# This Source Code Form is subject to the terms of the Mozilla Public
-+# License, v. 2.0. If a copy of the MPL was not distributed with this
-+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+EXPORTS.graphite2 += [
-+    'include/GraphiteExtra.h',
-+    'include/GraphiteStructsForRLBox.h',
-+]
-+
-+UNIFIED_SOURCES += [
-+    '../geckoextra/src/GraphiteExtra.cpp',
-+]
-+
-+CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
-+
-+# Match bundled graphite2 configuration
-+AllowCompilerWarnings()
-+
-+FINAL_LIBRARY = 'xul'
-diff --git gfx/harfbuzz/README-mozilla.fbsd gfx/harfbuzz/README-mozilla.fbsd
-new file mode 100644
-index 000000000000..2a10eb1e2b42
---- /dev/null
-+++ gfx/harfbuzz/README-mozilla.fbsd
-@@ -0,0 +1,4 @@
-+The in-tree copy may be omitted during build by --with-system-harfbuzz.
-+Make sure to keep pkg-config version check within toolkit/moz.configure in sync
-+with checkout version or increment latest tag by one if it's not based
-+on upstream release.
-diff --git gfx/moz.build gfx/moz.build
-index 56ea317bedfc..07dd7f66f1bc 100644
---- gfx/moz.build
-+++ gfx/moz.build
-@@ -10,6 +10,14 @@ with Files("**"):
- with Files("wr/**"):
-     BUG_COMPONENT = ("Core", "Graphics: WebRender")
- 
-+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
-+    DIRS += ["graphite2/geckoextra"]
-+else:
-+    DIRS += ["graphite2/src" ]
-+
-+if not CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
-+    DIRS += ["harfbuzz/src"]
-+
- DIRS += [
-     "cairo",
-     "2d",
-@@ -19,8 +27,6 @@ DIRS += [
-     "qcms",
-     "gl",
-     "layers",
--    "graphite2/src",
--    "harfbuzz/src",
-     "ots/src",
-     "thebes",
-     "ipc",
-diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
-index b589efde1c5c..47f49e10df70 100755
---- gfx/skia/generate_mozbuild.py
-+++ gfx/skia/generate_mozbuild.py
-@@ -95,6 +95,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
-         '-Wno-unused-private-field',
-     ]
- 
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'):
-     LOCAL_INCLUDES += [
-         "/gfx/cairo/cairo/src",
-diff --git gfx/skia/moz.build gfx/skia/moz.build
-index 7fee54534878..ba1a4038e4a0 100644
---- gfx/skia/moz.build
-+++ gfx/skia/moz.build
-@@ -623,6 +623,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
-         '-Wno-unused-private-field',
-     ]
- 
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'):
-     LOCAL_INCLUDES += [
-         "/gfx/cairo/cairo/src",
-diff --git gfx/thebes/moz.build gfx/thebes/moz.build
-index 48f2849e2025..7d0a161a91b4 100644
---- gfx/thebes/moz.build
-+++ gfx/thebes/moz.build
-@@ -295,7 +295,13 @@ if CONFIG["MOZ_WAYLAND"]:
- 
- LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
- 
--DEFINES["GRAPHITE2_STATIC"] = True
-+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
-+    CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"]
-+else:
-+    DEFINES["GRAPHITE2_STATIC"] = True
-+
-+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
-+    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
- 
- CXXFLAGS += ["-Werror=switch"]
- 
-diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
-index 2396210428ee..092baac6f79c 100644
---- intl/unicharutil/util/moz.build
-+++ intl/unicharutil/util/moz.build
-@@ -24,6 +24,9 @@ UNIFIED_SOURCES += [
-     "nsUnicodeProperties.cpp",
- ]
- 
-+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
-+    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
-+
- include("/ipc/chromium/chromium-config.mozbuild")
- 
- GeneratedFile(
-diff --git netwerk/dns/moz.build netwerk/dns/moz.build
-index 1bb0430f01aa..0360e0f468c0 100644
---- netwerk/dns/moz.build
-+++ netwerk/dns/moz.build
-@@ -111,6 +111,9 @@ GeneratedFile(
-     "etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"]
- )
- 
-+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
-+    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
-+
- # need to include etld_data.inc
- LOCAL_INCLUDES += [
-     "/netwerk/base",
-diff --git security/rlbox/moz.build security/rlbox/moz.build
-index 7ad8d076f0f1..835b9d905e03 100644
---- security/rlbox/moz.build
-+++ security/rlbox/moz.build
-@@ -47,6 +47,8 @@ if CONFIG["MOZ_WASM_SANDBOXING_GRAPHITE"]:
-     for k, v in graphite_defines:
-         WASM_DEFINES[k] = v
-     LOCAL_INCLUDES += ["/gfx/graphite2/src"]
-+    if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
-+      WASM_CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"]
- 
- if CONFIG["MOZ_WASM_SANDBOXING_OGG"]:
-     include("/media/libogg/sources.mozbuild")
-diff --git toolkit/library/moz.build toolkit/library/moz.build
-index ee6051567c8e..c24a5a513bbc 100644
---- toolkit/library/moz.build
-+++ toolkit/library/moz.build
-@@ -298,6 +298,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
- if CONFIG["MOZ_SYSTEM_WEBP"]:
-     OS_LIBS += CONFIG["MOZ_WEBP_LIBS"]
- 
-+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
-+    OS_LIBS += CONFIG["MOZ_GRAPHITE2_LIBS"]
-+
-+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
-+    OS_LIBS += CONFIG["MOZ_HARFBUZZ_LIBS"]
-+
- if CONFIG["MOZ_SYSTEM_LIBEVENT"]:
-     OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"]
- 
-diff --git toolkit/moz.configure toolkit/moz.configure
-index 1f85d2831f2f..04ce56e2cc0b 100644
---- toolkit/moz.configure
-+++ toolkit/moz.configure
-@@ -1397,6 +1397,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info):
- set_config("MOZ_ENABLE_CAIRO_FT", True, when=enable_cairo_ft)
- set_config("CAIRO_FT_CFLAGS", ft2_info.cflags, when=enable_cairo_ft)
- 
-+# Graphite2
-+# ==============================================================
-+option("--with-system-graphite2",
-+       help="Use system graphite2 (located with pkgconfig)")
-+
-+system_graphite2 = pkg_check_modules("MOZ_GRAPHITE2", "graphite2",
-+                                     when="--with-system-graphite2")
-+
-+set_config("MOZ_SYSTEM_GRAPHITE2", depends_if(system_graphite2)(lambda _: True))
-+
-+# HarfBuzz
-+# ==============================================================
-+option("--with-system-harfbuzz",
-+       help="Use system harfbuzz (located with pkgconfig)")
-+
-+system_harfbuzz = pkg_check_modules("MOZ_HARFBUZZ", "harfbuzz >= 2.7.4",
-+                                    when="--with-system-harfbuzz")
-+
-+set_config("MOZ_SYSTEM_HARFBUZZ", depends_if(system_harfbuzz)(lambda _: True))
-+
- 
- # WebDriver (HTTP / BiDi)
- # ==============================================================
diff --git a/www/firefox/files/patch-languageid-de-constexpr-ify b/www/firefox/files/patch-languageid-de-constexpr-ify
index 1c2a522f5bf5..a7a17cb9c1c9 100644
--- a/www/firefox/files/patch-languageid-de-constexpr-ify
+++ b/www/firefox/files/patch-languageid-de-constexpr-ify
@@ -1,4 +1,4 @@
-commit 87f49da7a84ed9bbce4b8ef263d85b9bd5c42eac
+commit 386dedafa65ac0f9cf726c63fd83d47b971b459d
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
 
     Partially de-constexpr'ify LanguageId code
@@ -14,16 +14,16 @@ Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
     
     /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
+index d6c6a9c7760b..c23315ede19c 100644
 --- js/src/builtin/intl/LocaleNegotiation.cpp
 +++ js/src/builtin/intl/LocaleNegotiation.cpp
-@@ -1124,13 +1124,13 @@ struct OldStyleLanguageTagMapping {
+@@ -1163,13 +1163,13 @@ struct OldStyleLanguageTagMapping {
    LanguageId oldStyle;
    LanguageId modernStyle;
  
@@ -40,10 +40,10 @@ index 0aff7274eda1..5c25e53b8ea1 100644
      {"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
+index 5ab01896f32f..c5834175f80d 100644
 --- js/src/builtin/intl/SharedIntlData.cpp
 +++ js/src/builtin/intl/SharedIntlData.cpp
-@@ -431,11 +431,11 @@ bool js::intl::SharedIntlData::getAvailableLocales(
+@@ -431,12 +431,12 @@ bool js::intl::SharedIntlData::getAvailableLocales(
    // directly support it (but does support it through fallback, e.g. supporting
    // "en-GB" indirectly using "en" support).
    {
@@ -54,15 +54,17 @@ index 581c9d1e6ebd..9dd3a50acb1c 100644
  
  #ifdef DEBUG
 -    static constexpr auto lastDitchParent = lastDitch.parentLocale();
+-    static_assert(std::string_view{lastDitchParent.toString()} == "en");
 +    static auto lastDitchParent = lastDitch.parentLocale();
-     static_assert(std::string_view{lastDitchParent.toString()} == "en");
++    // static_assert(std::string_view{lastDitchParent.toString()} == "en");
  
      MOZ_ASSERT(locales.has(lastDitchParent),
+                "shouldn't be a need to add every locale implied by the "
 diff --git js/src/util/LanguageId.h js/src/util/LanguageId.h
-index 7c193c3e2e07..bf391ef39717 100644
+index cb8561f952d0..f8fd1766987d 100644
 --- js/src/util/LanguageId.h
 +++ js/src/util/LanguageId.h
-@@ -231,7 +231,7 @@ class LanguageId final {
+@@ -230,7 +230,7 @@ class LanguageId final {
  
   private:
    template <char... separators, typename CharT>
@@ -71,7 +73,7 @@ index 7c193c3e2e07..bf391ef39717 100644
        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 {
+@@ -312,7 +312,7 @@ class LanguageId final {
     *
     * Subtags in ICU and Unicode locale identifiers are separated by "-" or "_".
     */
@@ -80,7 +82,7 @@ index 7c193c3e2e07..bf391ef39717 100644
      return from<'-', '_'>(localeId);
    }
  
-@@ -327,7 +327,7 @@ class LanguageId final {
+@@ -326,7 +326,7 @@ class LanguageId final {
     *
     * Subtags in ICU and Unicode locale identifiers are separated by "-" or "_".
     */
@@ -89,7 +91,7 @@ index 7c193c3e2e07..bf391ef39717 100644
      return fromId(std::string_view{localeId.data(), localeId.size()});
    }
  
-@@ -341,7 +341,7 @@ class LanguageId final {
+@@ -340,7 +340,7 @@ class LanguageId final {
     *
     * Subtags in BCP 47 locale identifiers are separated by "-".
     */
@@ -98,7 +100,7 @@ index 7c193c3e2e07..bf391ef39717 100644
      return from<'-'>(localeId);
    }
  
-@@ -355,7 +355,7 @@ class LanguageId final {
+@@ -354,7 +354,7 @@ class LanguageId final {
     *
     * Subtags in BCP 47 locale identifiers are separated by "-".
     */
@@ -107,7 +109,7 @@ index 7c193c3e2e07..bf391ef39717 100644
      return from<u'-'>(localeId);
    }
  
-@@ -370,7 +370,7 @@ class LanguageId final {
+@@ -369,7 +369,7 @@ class LanguageId final {
     * Subtags in BCP 47 locale identifiers are separated by "-".
     */
    template <typename CharT>
@@ -116,7 +118,7 @@ index 7c193c3e2e07..bf391ef39717 100644
      return fromBcp49(std::basic_string_view{localeId.data(), localeId.size()});
    }
  
-@@ -381,7 +381,7 @@ class LanguageId final {
+@@ -380,7 +380,7 @@ class LanguageId final {
     *
     * Subtags in BCP 47 locale identifiers are separated by "-".
     */
@@ -125,7 +127,7 @@ index 7c193c3e2e07..bf391ef39717 100644
      return fromBcp49(localeId)->first;
    }
  
-@@ -408,8 +408,8 @@ class LanguageId final {
+@@ -407,8 +407,8 @@ class LanguageId final {
    /**
     * Return the language identifier for the undetermined locale "und".
     */
diff --git a/www/firefox/files/patch-libwebrtc-generated b/www/firefox/files/patch-libwebrtc-generated
index 3c92a8583a31..1ac5b0383419 100644
--- a/www/firefox/files/patch-libwebrtc-generated
+++ b/www/firefox/files/patch-libwebrtc-generated
@@ -1,7 +1,7 @@
-commit a104382524fcd2d357b6c2f7d6df3a91f55ccbdf
+commit df59974d59c002a16edc9ee3708b17ca47641965
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
 
-    regenerate FreeBSD libwebrtc patch for gecko 157
+    regenerate FreeBSD libwebrtc patch for gecko 158
 
 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 2060d5597a7c..643ec6ab666e 100644
@@ -73364,7 +73364,7 @@ index eaa549f616ff..de7abe9355ce 100644
  
  Library("webrtc_vp9_helpers_gn")
 diff --git third_party/libwebrtc/moz.build third_party/libwebrtc/moz.build
-index ccba3ea3d575..ae8d467930ef 100644
+index b15446cea44e..01020f3fffbb 100644
 --- third_party/libwebrtc/moz.build
 +++ third_party/libwebrtc/moz.build
 @@ -305,6 +305,8 @@ DIRS += [
@@ -73376,7 +73376,7 @@ index ccba3ea3d575..ae8d467930ef 100644
      "/third_party/libwebrtc/modules/module_api_gn",
      "/third_party/libwebrtc/modules/module_api_public_gn",
      "/third_party/libwebrtc/modules/module_fec_api_gn",
-@@ -540,143 +542,31 @@ DIRS += [
+@@ -539,143 +541,31 @@ DIRS += [
      "/third_party/libwebrtc/webrtc_gn"
  ]
  
@@ -73474,6 +73474,18 @@ index ccba3ea3d575..ae8d467930ef 100644
 -    ]
 -
 -if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "aarch64":
+-
+-    DIRS += [
+-        "/third_party/libwebrtc/common_audio/common_audio_neon_c_gn",
+-        "/third_party/libwebrtc/common_audio/common_audio_neon_gn",
+-        "/third_party/libwebrtc/common_audio/fir_filter_gn",
+-        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
+-        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
+-        "/third_party/libwebrtc/modules/portal/portal_gn",
+-        "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn"
+-    ]
+-
+-if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "arm":
 +if CONFIG["OS_TARGET"] == "FreeBSD" and CONFIG["TARGET_CPU"] == "aarch64":
  
      DIRS += [
@@ -73483,24 +73495,21 @@ index ccba3ea3d575..ae8d467930ef 100644
 -        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
 -        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
          "/third_party/libwebrtc/modules/portal/portal_gn",
+-        "/third_party/libwebrtc/rtc_base/system/asm_defines_gn",
          "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn"
      ]
  
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "arm":
+-if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "mips32":
 +if CONFIG["OS_TARGET"] == "FreeBSD" and CONFIG["TARGET_CPU"] == "mips32":
  
      DIRS += [
--        "/third_party/libwebrtc/common_audio/common_audio_neon_c_gn",
--        "/third_party/libwebrtc/common_audio/common_audio_neon_gn",
--        "/third_party/libwebrtc/common_audio/fir_filter_gn",
 -        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
 -        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
          "/third_party/libwebrtc/modules/portal/portal_gn",
--        "/third_party/libwebrtc/rtc_base/system/asm_defines_gn",
          "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn"
      ]
  
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "mips32":
+-if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "mips64":
 +if CONFIG["OS_TARGET"] == "FreeBSD" and CONFIG["TARGET_CPU"] == "mips64":
  
      DIRS += [
@@ -73510,21 +73519,12 @@ index ccba3ea3d575..ae8d467930ef 100644
          "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn"
      ]
  
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "mips64":
--
--    DIRS += [
--        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
--        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
--        "/third_party/libwebrtc/modules/portal/portal_gn",
--        "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn"
--    ]
--
 -if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86":
 +if CONFIG["OS_TARGET"] == "FreeBSD" and CONFIG["TARGET_CPU"] == "x86":
  
      DIRS += [
          "/third_party/libwebrtc/common_audio/common_audio_avx2_gn",
-@@ -685,13 +575,11 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86":
+@@ -684,13 +574,11 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86":
          "/third_party/libwebrtc/modules/audio_processing/aec3/aec3_avx2_gn",
          "/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/vector_math_avx2_gn",
          "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_differ_sse2_gn",
@@ -73539,7 +73539,7 @@ index ccba3ea3d575..ae8d467930ef 100644
  
      DIRS += [
          "/third_party/libwebrtc/common_audio/common_audio_avx2_gn",
-@@ -700,75 +588,6 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
+@@ -699,79 +587,6 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
          "/third_party/libwebrtc/modules/audio_processing/aec3/aec3_avx2_gn",
          "/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/vector_math_avx2_gn",
          "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_differ_sse2_gn",
@@ -73615,6 +73615,10 @@ index ccba3ea3d575..ae8d467930ef 100644
 -        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
 -        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn"
 -    ]
+-
+-LICENSED_UNDER += [
+-    "webrtc",
+-]
 diff --git third_party/libwebrtc/net/dcsctp/common/internal_types_gn/moz.build third_party/libwebrtc/net/dcsctp/common/internal_types_gn/moz.build
 index fc3ef8e7a6ec..8b46a83bb560 100644
 --- third_party/libwebrtc/net/dcsctp/common/internal_types_gn/moz.build
@@ -87115,218 +87119,6 @@ index 70ba4989bce0..4ec63b0acc00 100644
 +    DEFINES["WEBRTC_ENABLE_AVX2"] = True
  
  Library("normalize_simulcast_size_experiment_gn")
-diff --git third_party/libwebrtc/rtc_base/experiments/psnr_experiment_gn/moz.build third_party/libwebrtc/rtc_base/experiments/psnr_experiment_gn/moz.build
-index e91a00d9a577..c5035bee9816 100644
---- third_party/libwebrtc/rtc_base/experiments/psnr_experiment_gn/moz.build
-+++ third_party/libwebrtc/rtc_base/experiments/psnr_experiment_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"
-+DEFINES["WEBRTC_POSIX"] = True
- DEFINES["WEBRTC_STRICT_FIELD_TRIALS"] = "0"
-+DEFINES["_FILE_OFFSET_BITS"] = "64"
-+DEFINES["_LARGEFILE64_SOURCE"] = True
-+DEFINES["_LARGEFILE_SOURCE"] = True
-+DEFINES["__STDC_CONSTANT_MACROS"] = True
-+DEFINES["__STDC_FORMAT_MACROS"] = True
- 
- FINAL_LIBRARY = "xul"
- 
-@@ -47,97 +56,7 @@ if not CONFIG["MOZ_DEBUG"]:
- if CONFIG["MOZ_DEBUG"] == "1":
- 
-     DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "1"
--
--if CONFIG["OS_TARGET"] == "Android":
--
--    DEFINES["ANDROID"] = True
--    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
--
--    OS_LIBS += [
--        "log"
--    ]
--
--if CONFIG["OS_TARGET"] == "Darwin":
--
--    DEFINES["WEBRTC_MAC"] = True
--    DEFINES["WEBRTC_POSIX"] = True
--    DEFINES["__STDC_CONSTANT_MACROS"] = True
--    DEFINES["__STDC_FORMAT_MACROS"] = True
--
--    OS_LIBS += [
--        "-framework Foundation"
--    ]
--
--if CONFIG["OS_TARGET"] == "Linux":
--
--    DEFINES["USE_AURA"] = "1"
--    DEFINES["USE_GLIB"] = "1"
--    DEFINES["USE_OZONE"] = "1"
--    DEFINES["USE_UDEV"] = True
--    DEFINES["WEBRTC_LINUX"] = True
--    DEFINES["WEBRTC_POSIX"] = True
--    DEFINES["_FILE_OFFSET_BITS"] = "64"
--    DEFINES["_LARGEFILE64_SOURCE"] = True
--    DEFINES["_LARGEFILE_SOURCE"] = True
--    DEFINES["__STDC_CONSTANT_MACROS"] = True
--    DEFINES["__STDC_FORMAT_MACROS"] = True
--
--if CONFIG["OS_TARGET"] == "OpenBSD":
--
--    DEFINES["USE_GLIB"] = "1"
--    DEFINES["USE_OZONE"] = "1"
--    DEFINES["WEBRTC_BSD"] = True
--    DEFINES["WEBRTC_POSIX"] = True
--    DEFINES["_FILE_OFFSET_BITS"] = "64"
--    DEFINES["_LARGEFILE64_SOURCE"] = True
--    DEFINES["_LARGEFILE_SOURCE"] = True
--    DEFINES["__STDC_CONSTANT_MACROS"] = True
--    DEFINES["__STDC_FORMAT_MACROS"] = True
--
--if CONFIG["OS_TARGET"] == "WINNT":
--
--    DEFINES["CERT_CHAIN_PARA_HAS_EXTRA_FIELDS"] = True
--    DEFINES["NOMINMAX"] = True
--    DEFINES["NTDDI_VERSION"] = "0x0A000000"
--    DEFINES["PSAPI_VERSION"] = "2"
--    DEFINES["RTC_ENABLE_WIN_WGC"] = True
--    DEFINES["UNICODE"] = True
--    DEFINES["USE_AURA"] = "1"
--    DEFINES["WEBRTC_WIN"] = True
--    DEFINES["WIN32"] = True
--    DEFINES["WIN32_LEAN_AND_MEAN"] = True
--    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
--    DEFINES["_HAS_EXCEPTIONS"] = "0"
--    DEFINES["_HAS_NODISCARD"] = True
--    DEFINES["_SCL_SECURE_NO_DEPRECATE"] = True
--    DEFINES["_SECURE_ATL"] = True
--    DEFINES["_UNICODE"] = True
--    DEFINES["_WIN32_WINNT"] = "0x0A00"
--    DEFINES["_WINDOWS"] = True
--    DEFINES["_WINSOCK_DEPRECATED_NO_WARNINGS"] = True
--    DEFINES["__STD_C"] = True
--
--    OS_LIBS += [
--        "crypt32",
--        "iphlpapi",
--        "secur32",
--        "winmm"
--    ]
-+    DEFINES["_DEBUG"] = True
- 
- if CONFIG["TARGET_CPU"] == "aarch64":
- 
-@@ -145,82 +64,21 @@ if CONFIG["TARGET_CPU"] == "aarch64":
-     DEFINES["WEBRTC_HAS_NEON"] = True
-     DEFINES["__ARM_NEON__"] = "1"
- 
--if CONFIG["TARGET_CPU"] == "arm":
--
--    CXXFLAGS += [
--        "-mfpu=neon"
--    ]
--
--    DEFINES["WEBRTC_ARCH_ARM"] = True
--    DEFINES["WEBRTC_ARCH_ARM_V7"] = True
--    DEFINES["WEBRTC_HAS_NEON"] = True
--
--if CONFIG["TARGET_CPU"] == "loongarch64":
--
--    DEFINES["_GNU_SOURCE"] = True
--
- if CONFIG["TARGET_CPU"] == "mips32":
- 
-     DEFINES["MIPS32_LE"] = True
-     DEFINES["MIPS_FPU_LE"] = True
--    DEFINES["_GNU_SOURCE"] = True
--
--if CONFIG["TARGET_CPU"] == "mips64":
--
--    DEFINES["_GNU_SOURCE"] = True
- 
- if CONFIG["TARGET_CPU"] == "x86":
- 
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
--
--if CONFIG["TARGET_CPU"] == "x86_64":
--
--    DEFINES["WEBRTC_ENABLE_AVX2"] = True
--
--if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Android":
--
--    DEFINES["_DEBUG"] = True
--
--if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Darwin":
--
--    DEFINES["_DEBUG"] = True
--
--if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "Linux":
--
--    DEFINES["_DEBUG"] = True
--
--if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "OpenBSD":
--
--    DEFINES["_DEBUG"] = True
--
--if CONFIG["MOZ_DEBUG"] == "1" and CONFIG["OS_TARGET"] == "WINNT":
--
--    DEFINES["_HAS_ITERATOR_DEBUGGING"] = "0"
--
--if CONFIG["OS_TARGET"] == "Android" and CONFIG["TARGET_CPU"] == "x86":
--
-     CXXFLAGS += [
-         "-msse2"
-     ]
- 
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "aarch64":
--
--    DEFINES["_GNU_SOURCE"] = True
--
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "arm":
--
--    DEFINES["_GNU_SOURCE"] = True
--
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86":
--
--    CXXFLAGS += [
--        "-msse2"
--    ]
--
--    DEFINES["_GNU_SOURCE"] = True
-+    DEFINES["WEBRTC_ENABLE_AVX2"] = True
- 
--if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
-+if CONFIG["TARGET_CPU"] == "x86_64":
- 
--    DEFINES["_GNU_SOURCE"] = True
-+    DEFINES["WEBRTC_ENABLE_AVX2"] = True
- 
- Library("psnr_experiment_gn")
 diff --git third_party/libwebrtc/rtc_base/experiments/quality_scaler_settings_gn/moz.build third_party/libwebrtc/rtc_base/experiments/quality_scaler_settings_gn/moz.build
 index cd1690dc8997..4191b5e491e5 100644
 --- third_party/libwebrtc/rtc_base/experiments/quality_scaler_settings_gn/moz.build
diff --git a/www/firefox/files/patch-python_sites_mach.txt b/www/firefox/files/patch-python_sites_mach.txt
index c551bb7abc1b..df7d5c593641 100644
--- a/www/firefox/files/patch-python_sites_mach.txt
+++ b/www/firefox/files/patch-python_sites_mach.txt
@@ -1,19 +1,19 @@
-commit 89784e00bea215965b7fa41635b3ddc5b6a0af38
+commit e761112160e961d952c2f943a8dca58d266e112a
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
 
     avoid problems with python modules in mach
 
 diff --git python/sites/mach.txt python/sites/mach.txt
-index d5cdce88869a..6192acecf116 100644
+index d1f054b20871..7d48a3d1dad4 100644
 --- python/sites/mach.txt
 +++ python/sites/mach.txt
 @@ -58,15 +58,15 @@ pth:xpcom/geckoprocesstypes_generator
  pth:xpcom/idl-parser
  # glean-sdk may not be installable if a wheel isn't available
  # and it has to be built from source.
--pypi-optional:glean-sdk==68.0.1:telemetry will not be collected
+-pypi-optional:glean-sdk==70.2.0:telemetry will not be collected
 -pypi-optional:orjson>=3.10:json operations will be slower in various tools
-+# pypi-optional:glean-sdk==68.0.1:telemetry will not be collected
++# pypi-optional:glean-sdk==70.2.0:telemetry will not be collected
 +# pypi-optional:orjson>=3.10:json operations will be slower in various tools
  # Mach gracefully handles the case where `psutil` is unavailable.
  # We aren't (yet) able to pin packages in automation, so we have to
@@ -25,7 +25,7 @@ index d5cdce88869a..6192acecf116 100644
 +# pypi-optional:psutil>=5.4.2:telemetry will be missing some data
 +# pypi-optional:rtoml>=0.11.0:toml operations will be slower in various tools
 +# pypi-optional:zstandard>=0.11.1,<=0.25.0:zstd archives will not be possible to extract
-+vendored:pyyaml:third_party/python/pyyaml/lib/
++vendored:pyyaml:third_party/python/pyyaml/lib/:faster native loading is disabled
  vendored:third_party/python/ansicon
  vendored:third_party/python/appdirs
  vendored:third_party/python/async_timeout
diff --git a/www/firefox/files/patch-third__party_angle_angle__program__version__id__gn_moz.build b/www/firefox/files/patch-third__party_angle-freebsd
similarity index 95%
rename from www/firefox/files/patch-third__party_angle_angle__program__version__id__gn_moz.build
rename to www/firefox/files/patch-third__party_angle-freebsd
index 7ad7a9536a53..ccb1fabaeb35 100644
--- a/www/firefox/files/patch-third__party_angle_angle__program__version__id__gn_moz.build
+++ b/www/firefox/files/patch-third__party_angle-freebsd
@@ -1,8 +1,42 @@
-commit def8534bc849e5ede3f8afe6871a21335075696e
+commit dd6a6461150a5bf61f7071da1de220b7c5415de0
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
 
     ANGLEShader components for FreeBSD
+    
+    including backfill to make debug build run
 
+diff --git third_party/angle/angle_common_gn/moz.build third_party/angle/angle_common_gn/moz.build
+index 7bd7d32284ae..ef4216a1e60c 100644
+--- third_party/angle/angle_common_gn/moz.build
++++ third_party/angle/angle_common_gn/moz.build
+@@ -136,6 +136,27 @@ if CONFIG["OS_TARGET"] == "Linux":
+         "/third_party/angle/src/common/system_utils_posix.cpp"
+     ]
+ 
++if CONFIG["OS_TARGET"] == "FreeBSD":
++
++    DEFINES["ANGLE_USE_VULKAN_DISPLAY"] = True
++    DEFINES["ANGLE_VULKAN_DISPLAY_MODE_HEADLESS"] = True
++    DEFINES["USE_GLIB"] = "1"
++    DEFINES["USE_OZONE"] = "1"
++    DEFINES["_FILE_OFFSET_BITS"] = "64"
++    DEFINES["_LARGEFILE64_SOURCE"] = True
++    DEFINES["_LARGEFILE_SOURCE"] = True
++    DEFINES["__STDC_CONSTANT_MACROS"] = True
++    DEFINES["__STDC_FORMAT_MACROS"] = True
++
++    OS_LIBS += [
++        "dl"
++    ]
++
++    UNIFIED_SOURCES += [
++        "/third_party/angle/src/common/system_utils_freebsd.cpp",
++        "/third_party/angle/src/common/system_utils_posix.cpp"
++    ]
++
+ if CONFIG["OS_TARGET"] == "OpenBSD":
+ 
+     DEFINES["EGL_NO_X11"] = True
 diff --git third_party/angle/angle_program_version_id_gn/ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in third_party/angle/angle_program_version_id_gn/ANGLEShaderProgramVersion.h-22c710649c380411.rsp.in
 new file mode 100644
 index 000000000000..65e792afa2f5
@@ -884,3 +918,55 @@ index bbd602444b05..33fd648848ec 100644
  if CONFIG["OS_TARGET"] == "OpenBSD":
  
      GeneratedFile(
+diff --git third_party/angle/src/common/system_utils_freebsd.cpp third_party/angle/src/common/system_utils_freebsd.cpp
+new file mode 100644
+index 000000000000..1b90b203cc7a
+--- /dev/null
++++ third_party/angle/src/common/system_utils_freebsd.cpp
+@@ -0,0 +1,46 @@
++//
++// Copyright 2015 The ANGLE Project Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++//
++
++// system_utils_freebsd.cpp: Implementation of OS-specific functions for Linux
++
++#include "common/debug.h"
++#include "common/unsafe_buffers.h"
++#include "system_utils.h"
++
++#include <string.h>
++#include <sys/stat.h>
++#include <sys/time.h>
++#include <sys/types.h>
++#include <sys/sysctl.h>
++#include <unistd.h>
++
++#include <array>
++
++namespace angle
++{
++
++std::string GetExecutablePath()
++{
++    int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
++    char path[PATH_MAX + 1];
++    size_t path_len = sizeof(path);
++    if (sysctl(mib, 4, path, &path_len, nullptr, 0) < 0)
++    {
++        return "";
++    }
++    return path;
++}
++
++const char *GetSharedLibraryExtension()
++{
++    return "so";
++}
++
++void SetCurrentThreadName(const char *name)
++{
++    pthread_setname_np(pthread_self(), name);
++}
++}  // namespace angle
diff --git a/www/firefox/files/patch-third__party_angle_angle__common__gn_moz.build b/www/firefox/files/patch-third__party_angle_angle__common__gn_moz.build
deleted file mode 100644
index 10a3af34763b..000000000000
--- a/www/firefox/files/patch-third__party_angle_angle__common__gn_moz.build
+++ /dev/null
@@ -1,36 +0,0 @@
-commit 06b2489a8a44a6f3f7bf4c523689a78e78b52c83
-Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
-
-    angle build target for FreeBSD
-
-diff --git third_party/angle/angle_common_gn/moz.build third_party/angle/angle_common_gn/moz.build
-index e3220891a415..b39166f60958 100644
---- third_party/angle/angle_common_gn/moz.build
-+++ third_party/angle/angle_common_gn/moz.build
-@@ -134,6 +134,26 @@ if CONFIG["OS_TARGET"] == "Linux":
-         "/third_party/angle/src/common/system_utils_posix.cpp"
-     ]
- 
-+if CONFIG["OS_TARGET"] == "FreeBSD":
-+
-+    DEFINES["ANGLE_USE_VULKAN_DISPLAY"] = True
-+    DEFINES["ANGLE_VULKAN_DISPLAY_MODE_HEADLESS"] = True
-+    DEFINES["USE_GLIB"] = "1"
-+    DEFINES["USE_OZONE"] = "1"
-+    DEFINES["_FILE_OFFSET_BITS"] = "64"
-+    DEFINES["_LARGEFILE64_SOURCE"] = True
-+    DEFINES["_LARGEFILE_SOURCE"] = True
-+    DEFINES["__STDC_CONSTANT_MACROS"] = True
-+    DEFINES["__STDC_FORMAT_MACROS"] = True
-+
-+    OS_LIBS += [
-+        "dl"
-+    ]
-+
-+    UNIFIED_SOURCES += [
-+        "/third_party/angle/src/common/system_utils_posix.cpp"
-+    ]
-+
- if CONFIG["OS_TARGET"] == "OpenBSD":
- 
-     DEFINES["USE_GLIB"] = "1"