git: 1f81e31ce7e1 - main - www/firefox: update to 108.0 (rc1)

From: Christoph Moench-Tegeder <cmt_at_FreeBSD.org>
Date: Mon, 05 Dec 2022 21:11:34 UTC
The branch main has been updated by cmt:

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

commit 1f81e31ce7e1078f2c6623dc629c688220b5bbcd
Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2022-12-05 21:07:47 +0000
Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2022-12-05 21:07:47 +0000

    www/firefox: update to 108.0 (rc1)
    
    Release Notes (soon):
      https://www.mozilla.org/en-US/firefox/108.0/releasenotes/
    
    Drops cubeb patch - we get profiling (of anyone wants to try that),
    the code has changed enoughj that it became a hassle. Maybe the
    legacy backends have improved, or everyone has finally moved off that.
    
    Harfbuzz dependency is declared at a lower version than it should
    be - this is for quarterly's sake, which is already quite stale.
    FIXME: next year
---
 www/firefox/Makefile                        |  8 +--
 www/firefox/distinfo                        |  6 +--
 www/firefox/files/patch-bug1664115          | 82 -----------------------------
 www/firefox/files/patch-bug1799982          | 60 ---------------------
 www/firefox/files/patch-libwebrtc-generated | 22 +++++---
 5 files changed, 23 insertions(+), 155 deletions(-)

diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 625ef6738b3b..7d17af7c1d3b 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	firefox
-DISTVERSION=	107.0.1
+DISTVERSION=	108.0
+# DISTVERSIONSUFFIX=	b9
 PORTEPOCH=	2
 CATEGORIES=	www wayland
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
@@ -10,11 +11,12 @@ MAINTAINER=	gecko@FreeBSD.org
 COMMENT=	Web browser based on the browser portion of Mozilla
 WWW=		https://www.mozilla.com/firefox
 
+# harfbuzz: originally 5.3.1, but Q4 is behind
 BUILD_DEPENDS=	nspr>=4.32:devel/nspr \
-		nss>=3.84:security/nss \
+		nss>=3.85:security/nss \
 		icu>=71.1:devel/icu \
 		libevent>=2.1.8:devel/libevent \
-		harfbuzz>=4.4.1:print/harfbuzz \
+		harfbuzz>=5.2.0:print/harfbuzz \
 		graphite2>=1.3.14:graphics/graphite2 \
 		png>=1.6.37:graphics/png \
 		dav1d>=1.0.0:multimedia/dav1d \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index f8bcf700f27e..442acdbca81b 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1669657294
-SHA256 (firefox-107.0.1.source.tar.xz) = e29950b9ba9143b0d683dc18779bbe70bbd082533aff8f6a7af69b19533e0647
-SIZE (firefox-107.0.1.source.tar.xz) = 508678860
+TIMESTAMP = 1670272415
+SHA256 (firefox-108.0.source.tar.xz) = 500aa5e6d67d4b348dd0184b6936704a879b3dcb396084f55b14cb9a32be0e27
+SIZE (firefox-108.0.source.tar.xz) = 509176428
diff --git a/www/firefox/files/patch-bug1664115 b/www/firefox/files/patch-bug1664115
deleted file mode 100644
index 72b25acd1a6c..000000000000
--- a/www/firefox/files/patch-bug1664115
+++ /dev/null
@@ -1,82 +0,0 @@
-Revert bug 1647717 to workaround the issue of occational tab crashing when
-using any cubeb backends other than pulse-rust to play media. The loss of
-such change will be that users will not be able to do profiling on threads
-created by libcubeb.
-
---- dom/media/AudioStream.cpp.orig	2022-09-08 21:05:37.835865000 +0200
-+++ dom/media/AudioStream.cpp	2022-09-08 21:12:51.417935000 +0200
-@@ -27,7 +27,6 @@
- #endif
- #include "Tracing.h"
- #include "webaudio/blink/DenormalDisabler.h"
--#include "AudioThreadRegistry.h"
- #include "mozilla/StaticPrefs_media.h"
- 
- // Use abort() instead of exception in SoundTouch.
-@@ -144,8 +143,6 @@
-       mOutChannels(aOutputChannels),
-       mState(INITIALIZED),
-       mDataSource(aSource),
--      mAudioThreadId(ProfilerThreadId{}),
--      mSandboxed(CubebUtils::SandboxEnabled()),
-       mPlaybackComplete(false),
-       mPlaybackRate(1.0f),
-       mPreservesPitch(true),
-@@ -554,17 +551,6 @@
-       aWriter.Available());
- }
- 
--bool AudioStream::CheckThreadIdChanged() {
--  ProfilerThreadId id = profiler_current_thread_id();
--  if (id != mAudioThreadId) {
--    mAudioThreadId = id;
--    mAudioThreadChanged = true;
--    return true;
--  }
--  mAudioThreadChanged = false;
--  return false;
--}
--
- void AudioStream::AssertIsOnAudioThread() const {
-   // This can be called right after CheckThreadIdChanged, because the audio
-   // thread can change when not sandboxed.
-@@ -593,9 +579,6 @@
- }
- 
- long AudioStream::DataCallback(void* aBuffer, long aFrames) {
--  if (CheckThreadIdChanged() && !mSandboxed) {
--    CubebUtils::GetAudioThreadRegistry()->Register(mAudioThreadId);
--  }
-   WebCore::DenormalDisabler disabler;
-   if (!mCallbacksStarted) {
-     mCallbacksStarted = true;
-@@ -653,9 +636,6 @@
-   mDumpFile.Write(static_cast<const AudioDataValue*>(aBuffer),
-                   aFrames * mOutChannels);
- 
--  if (!mSandboxed && writer.Available() != 0) {
--    CubebUtils::GetAudioThreadRegistry()->Unregister(mAudioThreadId);
--  }
-   return aFrames - writer.Available();
- }
- 
---- dom/media/AudioStream.h.orig	2022-09-08 21:13:08.562133000 +0200
-+++ dom/media/AudioStream.h	2022-09-08 21:15:22.121196000 +0200
-@@ -339,7 +339,6 @@
- 
-   template <typename Function, typename... Args>
-   int InvokeCubeb(Function aFunction, Args&&... aArgs) MOZ_REQUIRES(mMonitor);
--  bool CheckThreadIdChanged();
-   void AssertIsOnAudioThread() const;
- 
-   soundtouch::SoundTouch* mTimeStretcher;
-@@ -378,9 +377,6 @@
-   // the default device is used. It is set
-   // during the Init() in decoder thread.
-   RefPtr<AudioDeviceInfo> mSinkInfo;
--  // Contains the id of the audio thread, from profiler_get_thread_id.
--  std::atomic<ProfilerThreadId> mAudioThreadId;
--  const bool mSandboxed = false;
- 
-   MozPromiseHolder<MediaSink::EndedPromise> mEndedPromise
-       MOZ_GUARDED_BY(mMonitor);
diff --git a/www/firefox/files/patch-bug1799982 b/www/firefox/files/patch-bug1799982
deleted file mode 100644
index dac77d73390b..000000000000
--- a/www/firefox/files/patch-bug1799982
+++ /dev/null
@@ -1,60 +0,0 @@
-Bug 1799982 - Remove uses of inline flags from XPIDL regexps. r=xpcom-reviewers,kmag
-
-Apparently the use of these is being turned into an error in Python 3.11.
-Fortunately, our uses appears to be rather trivial.
-
-For t_multilinecomment and t_LCDATA, I dropped the (?s) flag and just
-replaced the one use of . with (\n|.). (?s) means DOTALL, which means
-that dot includes any character, including a newline. Otherwise it means
-dot includes any character except a newline.
-
-I took the new t_singlelinecomment from IPDL's parser.py, so I assume
-it is reasonable enough. t_multilinecomment is also now the same as
-in IPDL.
-
-Differential Revision: https://phabricator.services.mozilla.com/D161738
-
-diff --git xpcom/idl-parser/xpidl/xpidl.py xpcom/idl-parser/xpidl/xpidl.py
---- xpcom/idl-parser/xpidl/xpidl.py
-+++ xpcom/idl-parser/xpidl/xpidl.py
-@@ -1634,36 +1634,36 @@ class IDLParser(object):
-     t_LSHIFT = r"<<"
-     t_RSHIFT = r">>"
- 
-     literals = '"(){}[]<>,;:=|+-*'
- 
-     t_ignore = " \t"
- 
-     def t_multilinecomment(self, t):
--        r"/\*(?s).*?\*/"
-+        r"/\*(\n|.)*?\*/"
-         t.lexer.lineno += t.value.count("\n")
-         if t.value.startswith("/**"):
-             self._doccomments.append(t.value)
- 
-     def t_singlelinecomment(self, t):
--        r"(?m)//.*?$"
-+        r"//[^\n]*"
- 
-     def t_IID(self, t):
-         return t
- 
-     t_IID.__doc__ = r"%(c)s{8}-%(c)s{4}-%(c)s{4}-%(c)s{4}-%(c)s{12}" % {"c": hexchar}
- 
-     def t_IDENTIFIER(self, t):
-         r"(unsigned\ long\ long|unsigned\ short|unsigned\ long|long\ long)(?!_?[A-Za-z][A-Za-z_0-9])|_?[A-Za-z][A-Za-z_0-9]*"  # NOQA: E501
-         t.type = self.keywords.get(t.value, "IDENTIFIER")
-         return t
- 
-     def t_LCDATA(self, t):
--        r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?"
-+        r"%\{[ ]*C\+\+[ ]*\n(?P<cdata>(\n|.)*?\n?)%\}[ ]*(C\+\+)?"
-         t.type = "CDATA"
-         t.value = t.lexer.lexmatch.group("cdata")
-         t.lexer.lineno += t.value.count("\n")
-         return t
- 
-     def t_INCLUDE(self, t):
-         r'\#include[ \t]+"[^"\n]+"'
-         inc, value, end = t.value.split('"')
-
diff --git a/www/firefox/files/patch-libwebrtc-generated b/www/firefox/files/patch-libwebrtc-generated
index 6025ef6fafc5..5458f3d2df6e 100644
--- a/www/firefox/files/patch-libwebrtc-generated
+++ b/www/firefox/files/patch-libwebrtc-generated
@@ -1,8 +1,8 @@
-commit 798fee7dc5e46be98cf353e90548f560642199ef
+commit 3dd423be3774ef9e3e9e9a8f0252a378520918fd
 Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
-Date:   Mon Nov 7 20:21:22 2022 +0000
+Date:   Sun Dec 4 21:38:16 2022 +0000
 
-    Regenerate libwebrtc build config for Firefox 107.0
+    regenerate libwebrtc patch for Firefox 108
 
 diff --git third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build third_party/libwebrtc/api/adaptation/resource_adaptation_api_gn/moz.build
 index 8fbfa680375d..ae63fb378f55 100644
@@ -52132,10 +52132,10 @@ index 0c90f71d76bc..3c1d109d7338 100644
      DEFINES["WEBRTC_USE_X11"] = True
 diff --git third_party/libwebrtc/modules/desktop_capture/desktop_capture_objc_gn/moz.build third_party/libwebrtc/modules/desktop_capture/desktop_capture_objc_gn/moz.build
 deleted file mode 100644
-index e6788f779eb4..000000000000
+index e884abb54d56..000000000000
 --- third_party/libwebrtc/modules/desktop_capture/desktop_capture_objc_gn/moz.build
 +++ /dev/null
-@@ -1,68 +0,0 @@
+@@ -1,72 +0,0 @@
 -# 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/.
@@ -52144,6 +52144,10 @@ index e6788f779eb4..000000000000
 -  ### This moz.build was AUTOMATICALLY GENERATED from a GN config,  ###
 -  ### DO NOT edit it by hand.                                       ###
 -
+-CMMFLAGS += [
+-    "-fobjc-arc"
+-]
+-
 -COMPILE_FLAGS["OS_INCLUDES"] = []
 -AllowCompilerWarnings()
 -
@@ -77551,10 +77555,10 @@ index 890c29b07adb..ad43616a002b 100644
  Library("assume_gn")
 diff --git third_party/libwebrtc/rtc_base/system/cocoa_threading_gn/moz.build third_party/libwebrtc/rtc_base/system/cocoa_threading_gn/moz.build
 deleted file mode 100644
-index e2451bcdfedd..000000000000
+index 9885a84ac85a..000000000000
 --- third_party/libwebrtc/rtc_base/system/cocoa_threading_gn/moz.build
 +++ /dev/null
-@@ -1,58 +0,0 @@
+@@ -1,62 +0,0 @@
 -# 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/.
@@ -77563,6 +77567,10 @@ index e2451bcdfedd..000000000000
 -  ### This moz.build was AUTOMATICALLY GENERATED from a GN config,  ###
 -  ### DO NOT edit it by hand.                                       ###
 -
+-CMMFLAGS += [
+-    "-fobjc-arc"
+-]
+-
 -COMPILE_FLAGS["OS_INCLUDES"] = []
 -AllowCompilerWarnings()
 -