Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 2020 18:08:02 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r558102 - in branches/2020Q4/www/firefox: . files
Message-ID:  <202012141808.0BEI82U9002342@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon Dec 14 18:08:02 2020
New Revision: 558102
URL: https://svnweb.freebsd.org/changeset/ports/558102

Log:
  MFH: r557394 r557754 r557767 r558100
  
  www/firefox: update to 84.0
  
  - Correct patch for powerpc64 [1]
  
  Changes:	https://www.mozilla.org/firefox/84.0/releasenotes/
  Submitted by:	pkubaj

Added:
  branches/2020Q4/www/firefox/files/patch-bug1676134
     - copied unchanged from r557394, head/www/firefox/files/patch-bug1676134
  branches/2020Q4/www/firefox/files/patch-bug1677715
     - copied unchanged from r557394, head/www/firefox/files/patch-bug1677715
  branches/2020Q4/www/firefox/files/patch-freebsd11
     - copied unchanged from r557394, head/www/firefox/files/patch-freebsd11
Deleted:
  branches/2020Q4/www/firefox/files/patch-bug1440203
  branches/2020Q4/www/firefox/files/patch-bug1670807
  branches/2020Q4/www/firefox/files/patch-cubeb-oss
Modified:
  branches/2020Q4/www/firefox/Makefile
  branches/2020Q4/www/firefox/distinfo
  branches/2020Q4/www/firefox/files/patch-bug1288587
  branches/2020Q4/www/firefox/files/patch-bug1504834_comment10
  branches/2020Q4/www/firefox/files/patch-bug1559213
  branches/2020Q4/www/firefox/files/patch-bug1618914
  branches/2020Q4/www/firefox/files/patch-bug1664115
  branches/2020Q4/www/firefox/files/patch-bug847568
  branches/2020Q4/www/firefox/files/patch-env-api-keys
Directory Properties:
  branches/2020Q4/   (props changed)

Modified: branches/2020Q4/www/firefox/Makefile
==============================================================================
--- branches/2020Q4/www/firefox/Makefile	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/Makefile	Mon Dec 14 18:08:02 2020	(r558102)
@@ -2,12 +2,12 @@
 # $FreeBSD$
 
 PORTNAME=	firefox
-DISTVERSION=	83.0
-PORTREVISION=	3
+DISTVERSION=	84.0
+PORTREVISION=	2
 PORTEPOCH=	2
 CATEGORIES=	www
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
-		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
+		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source
 DISTFILES=	${DISTNAME}.source${EXTRACT_SUFX}
 
 MAINTAINER=	gecko@FreeBSD.org

Modified: branches/2020Q4/www/firefox/distinfo
==============================================================================
--- branches/2020Q4/www/firefox/distinfo	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/distinfo	Mon Dec 14 18:08:02 2020	(r558102)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1605204503
-SHA256 (firefox-83.0.source.tar.xz) = d69e84e8b8449f828683d274c24e03095858362bfed21b08bdd7fe715eea5398
-SIZE (firefox-83.0.source.tar.xz) = 351331940
+TIMESTAMP = 1607733349
+SHA256 (firefox-84.0.source.tar.xz) = 23273ef0165b243f5d0908c38e7854d38070282c9b526e8d93b7503cd5f69138
+SIZE (firefox-84.0.source.tar.xz) = 366395172

Modified: branches/2020Q4/www/firefox/files/patch-bug1288587
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-bug1288587	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-bug1288587	Mon Dec 14 18:08:02 2020	(r558102)
@@ -2,34 +2,34 @@ diff --git a/build/moz.configure/init.configure b/buil
 index 855214a..1e91d51 100644
 --- build/moz.configure/init.configure
 +++ build/moz.configure/init.configure
-@@ -240,6 +240,7 @@ option(env='VIRTUALENV_NAME', nargs=1, default='init_p
- @imports(_from='mozbuild.pythonutil', _import='find_python3_executable')
- @imports(_from='mozbuild.pythonutil', _import='python_executable_version')
- @imports(_from='six', _import='ensure_text')
-+@imports(_from='__builtin__', _import='KeyError')
+@@ -238,6 +238,7 @@ option(
+ @imports(_from="mozbuild.pythonutil", _import="find_python3_executable")
+ @imports(_from="mozbuild.pythonutil", _import="python_executable_version")
+ @imports(_from="six", _import="ensure_text")
++@imports(_from="__builtin__", _import="KeyError")
  def virtualenv_python3(env_python, virtualenv_name, build_env, mozconfig, help):
      # Avoid re-executing python when running configure --help.
      if help:
-@@ -273,6 +274,12 @@ def virtualenv_python3(env_python, virtualenv_name, bu
-             python = mozconfig['vars']['added']['PYTHON3']
-         elif 'PYTHON3' in mozconfig['vars']['modified']:
-             python = mozconfig['vars']['modified']['PYTHON3'][1]
-+        for i in ('env', 'vars'):
-+            for j in ('added', 'modified'):
+@@ -271,6 +272,12 @@ def virtualenv_python3(env_python, virtualenv_name, bu
+             python = mozconfig["vars"]["added"]["PYTHON3"]
+         elif "PYTHON3" in mozconfig["vars"]["modified"]:
+             python = mozconfig["vars"]["modified"]["PYTHON3"][1]
++        for i in ("env", "vars"):
++            for j in ("added", "modified"):
 +                try:
-+                    del mozconfig[i][j]['PYTHON3']
++                    del mozconfig[i][j]["PYTHON3"]
 +                except KeyError:
 +                    pass
  
      log.debug("python3: executable from configuration: %r" % python)
  
-@@ -358,7 +365,10 @@ def virtualenv_python3(env_python, virtualenv_name, bu
-             sys.executable, manager.python_path))
-         log.info('Re-executing in the virtualenv')
+@@ -364,7 +371,10 @@ def virtualenv_python3(env_python, virtualenv_name, bu
+         )
+         log.info("Re-executing in the virtualenv")
          if env_python:
--            del os.environ['PYTHON3']
+-            del os.environ["PYTHON3"]
 +                try:
-+                    del os.environ['PYTHON3']
++                    del os.environ["PYTHON3"]
 +                except KeyError:
 +                    pass
          # Homebrew on macOS will change Python's sys.executable to a custom

Modified: branches/2020Q4/www/firefox/files/patch-bug1504834_comment10
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-bug1504834_comment10	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-bug1504834_comment10	Mon Dec 14 18:08:02 2020	(r558102)
@@ -21,7 +21,7 @@ diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTarget
        SkCanvas::kPreserveLCDText_SaveLayerFlag |
            (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
  
-+#if MOZ_BIG_ENDIAN
++#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.

Modified: branches/2020Q4/www/firefox/files/patch-bug1559213
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-bug1559213	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-bug1559213	Mon Dec 14 18:08:02 2020	(r558102)
@@ -14,24 +14,24 @@ diff --git config/external/moz.build config/external/m
 index 03e4fa143bd1..a67d10b11fe6 100644
 --- config/external/moz.build
 +++ config/external/moz.build
-@@ -37,8 +37,9 @@ if not CONFIG['MOZ_SYSTEM_LIBVPX']:
-     external_dirs += ['media/libvpx']
+@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+     external_dirs += ["media/libvpx"]
  
- if CONFIG['MOZ_AV1']:
--    external_dirs += ['media/libaom']
--    external_dirs += ['media/libdav1d']
-+    if not CONFIG['MOZ_SYSTEM_AV1']:
-+        external_dirs += ['media/libaom']
-+        external_dirs += ['media/libdav1d']
+ if CONFIG["MOZ_AV1"]:
+-    external_dirs += ["media/libaom"]
+-    external_dirs += ["media/libdav1d"]
++    if not CONFIG["MOZ_SYSTEM_AV1"]:
++        external_dirs += ["media/libaom"]
++        external_dirs += ["media/libdav1d"]
  
- if not CONFIG['MOZ_SYSTEM_PNG']:
-     external_dirs += ['media/libpng']
+ if not CONFIG["MOZ_SYSTEM_PNG"]:
+     external_dirs += ["media/libpng"]
 diff --git config/system-headers.mozbuild config/system-headers.mozbuild
 index bcf5c4925564..48964a999a9b 100644
 --- config/system-headers.mozbuild
 +++ config/system-headers.mozbuild
-@@ -1304,6 +1304,14 @@ if CONFIG['MOZ_ENABLE_CONTENTMANAGER']:
-         'SelectSingleContentItemPage.h',
+@@ -1305,6 +1305,14 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+         'harfbuzz/hb.h',
      ]
  
 +if CONFIG['MOZ_SYSTEM_AV1']:
@@ -49,9 +49,9 @@ diff --git dom/media/platforms/moz.build dom/media/pla
 index 092cee0c9b66..38e45de5b5f0 100644
 --- dom/media/platforms/moz.build
 +++ dom/media/platforms/moz.build
-@@ -80,6 +80,11 @@ if CONFIG['MOZ_AV1']:
-         'agnostic/AOMDecoder.cpp',
-         'agnostic/DAV1DDecoder.cpp',
+@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
+         "agnostic/AOMDecoder.cpp",
+         "agnostic/DAV1DDecoder.cpp",
      ]
 +    if CONFIG['MOZ_SYSTEM_AV1']:
 +        CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
@@ -59,25 +59,25 @@ index 092cee0c9b66..38e45de5b5f0 100644
 +        CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
 +        OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
  
- if CONFIG['MOZ_OMX']:
+ if CONFIG["MOZ_OMX"]:
      EXPORTS += [
 diff --git toolkit/moz.configure toolkit/moz.configure
 index 82b5a59acf42..e2329560b42b 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -441,7 +441,23 @@ def av1(value):
-     if value:
+@@ -553,7 +553,23 @@ def av1(value):
          return True
  
+ 
 -@depends(target, nasm_version, when=av1 & compile_environment)
-+option('--with-system-av1',
++option("--with-system-av1",
 +       help="Use system av1 (located with pkgconfig)")
 +
-+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
-+                                       when='--with-system-av1')
++system_libaom_info = pkg_check_modules("MOZ_SYSTEM_LIBAOM", "aom >= 1.0.0",
++                                       when="--with-system-av1")
 +
-+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 0.1.1',
-+                                         when='--with-system-av1')
++system_libdav1d_info = pkg_check_modules("MOZ_SYSTEM_LIBDAV1D", "dav1d >= 0.1.1",
++                                         when="--with-system-av1")
 +
 +@depends(system_libaom_info, system_libdav1d_info)
 +def system_av1(system_libaom_info, system_libdav1d_info):
@@ -88,13 +88,13 @@ index 82b5a59acf42..e2329560b42b 100644
 +
 +@depends(target, nasm_version, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
  def dav1d_asm(target, nasm_version):
-     if target.os != 'Android':
-         if target.cpu == 'aarch64':
-@@ -457,6 +473,7 @@ set_config('MOZ_DAV1D_ASM', dav1d_asm)
- set_define('MOZ_DAV1D_ASM', dav1d_asm)
- set_config('MOZ_AV1', av1)
- set_define('MOZ_AV1', av1)
-+set_config('MOZ_SYSTEM_AV1', depends_if(system_av1)(lambda _: True))
+     if target.cpu == "aarch64":
+         return True
+@@ -570,6 +586,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
+ set_define("MOZ_DAV1D_ASM", dav1d_asm)
+ set_config("MOZ_AV1", av1)
+ set_define("MOZ_AV1", av1)
++set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
  
  # Built-in fragmented MP4 support.
  # ==============================================================

Modified: branches/2020Q4/www/firefox/files/patch-bug1618914
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-bug1618914	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-bug1618914	Mon Dec 14 18:08:02 2020	(r558102)
@@ -4,8 +4,7 @@ diff --git widget/gtk/WindowSurfaceWayland.cpp widget/
 index 9a73326399bd5..9e42a7f1c5d18 100644
 --- widget/gtk/WindowSurfaceWayland.cpp
 +++ widget/gtk/WindowSurfaceWayland.cpp
-@@ -222,20 +222,21 @@ static int WaylandAllocateShmMemory(int aSize) {
- #ifdef HAVE_POSIX_FALLOCATE
+@@ -221,7 +221,9 @@ static int WaylandAllocateShmMemory(int aSize) {
    do {
      ret = posix_fallocate(fd, 0, aSize);
    } while (ret == EINTR);
@@ -13,29 +12,32 @@ index 9a73326399bd5..9e42a7f1c5d18 100644
 +  if (ret == 0) {
 +    return fd;
 +  } else if (ret != ENODEV && ret != EINVAL && ret != EOPNOTSUPP) {
+     NS_WARNING(
+         nsPrintfCString("posix_fallocate() fails to allocate shm memory: %s",
+                         strerror(ret))
+@@ -229,7 +231,7 @@ static int WaylandAllocateShmMemory(int aSize) {
      close(fd);
-     MOZ_CRASH("posix_fallocate() fails to allocate shm memory");
+     return -1;
    }
 -#else
 +#endif
    do {
      ret = ftruncate(fd, aSize);
    } while (ret < 0 && errno == EINTR);
-   if (ret < 0) {
+@@ -240,7 +242,6 @@ static int WaylandAllocateShmMemory(int aSize) {
      close(fd);
-     MOZ_CRASH("ftruncate() fails to allocate shm memory");
+     fd = -1;
    }
 -#endif
  
    return fd;
  }
-@@ -265,8 +266,8 @@ bool WaylandShmPool::Resize(int aSize) {
- #ifdef HAVE_POSIX_FALLOCATE
+@@ -253,7 +254,7 @@ static bool WaylandReAllocateShmMemory(int aFd, int aSize) {
    do {
-     errno = posix_fallocate(mShmPoolFd, 0, aSize);
+     errno = posix_fallocate(aFd, 0, aSize);
    } while (errno == EINTR);
--  if (errno != 0) return false;
-+  if (errno != 0 && errno != ENODEV && errno != EINVAL && errno != EOPNOTSUPP) return false;
+-  if (errno != 0) {
++  if (errno != 0 && errno != ENODEV && errno != EINVAL && errno != EOPNOTSUPP) {
+     return false;
+   }
  #endif
- 
-   wl_shm_pool_resize(mShmPool, aSize);

Modified: branches/2020Q4/www/firefox/files/patch-bug1664115
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-bug1664115	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-bug1664115	Mon Dec 14 18:08:02 2020	(r558102)
@@ -62,7 +62,7 @@ diff --git dom/media/AudioStream.h dom/media/AudioStre
 index 933e4cb3bfdb5..5d2181e632af9 100644
 --- dom/media/AudioStream.h
 +++ dom/media/AudioStream.h
-@@ -304,7 +304,6 @@
+@@ -307,7 +307,6 @@ class AudioStream final
  
    template <typename Function, typename... Args>
    int InvokeCubeb(Function aFunction, Args&&... aArgs);
@@ -70,13 +70,13 @@ index 933e4cb3bfdb5..5d2181e632af9 100644
  
    // The monitor is held to protect all access to member variables.
    Monitor mMonitor;
-@@ -338,9 +337,6 @@
+@@ -341,9 +340,6 @@ class AudioStream final
    // 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<int> mAudioThreadId;
 -  const bool mSandboxed = false;
- };
  
- }  // namespace mozilla
+   MozPromiseHolder<MediaSink::EndedPromise> mEndedPromise;
+   Atomic<bool> mPlaybackComplete;

Copied: branches/2020Q4/www/firefox/files/patch-bug1676134 (from r557394, head/www/firefox/files/patch-bug1676134)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2020Q4/www/firefox/files/patch-bug1676134	Mon Dec 14 18:08:02 2020	(r558102, copy of r557394, head/www/firefox/files/patch-bug1676134)
@@ -0,0 +1,122 @@
+Enable Pipewire on BSDs
+
+diff --git third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+index a0e116195e0e..cbe27e94108b 100644
+--- third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
++++ third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+@@ -87,8 +87,13 @@ if CONFIG["OS_TARGET"] == "DragonFly":
+     DEFINES["USE_X11"] = "1"
+     DEFINES["WEBRTC_BSD"] = True
+     DEFINES["WEBRTC_POSIX"] = True
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+     DEFINES["_FILE_OFFSET_BITS"] = "64"
+ 
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
+     OS_LIBS += [
+         "X11",
+         "X11-xcb",
+@@ -103,11 +108,14 @@ if CONFIG["OS_TARGET"] == "DragonFly":
+     ]
+ 
+     UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",
+@@ -124,8 +132,13 @@ if CONFIG["OS_TARGET"] == "FreeBSD":
+     DEFINES["USE_X11"] = "1"
+     DEFINES["WEBRTC_BSD"] = True
+     DEFINES["WEBRTC_POSIX"] = True
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+     DEFINES["_FILE_OFFSET_BITS"] = "64"
+ 
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
+     OS_LIBS += [
+         "X11",
+         "X11-xcb",
+@@ -140,11 +153,14 @@ if CONFIG["OS_TARGET"] == "FreeBSD":
+     ]
+ 
+     UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",
+@@ -200,8 +216,13 @@ if CONFIG["OS_TARGET"] == "NetBSD":
+     DEFINES["USE_X11"] = "1"
+     DEFINES["WEBRTC_BSD"] = True
+     DEFINES["WEBRTC_POSIX"] = True
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+     DEFINES["_FILE_OFFSET_BITS"] = "64"
+ 
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
+     OS_LIBS += [
+         "X11",
+         "X11-xcb",
+@@ -216,11 +237,14 @@ if CONFIG["OS_TARGET"] == "NetBSD":
+     ]
+ 
+     UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",
+@@ -237,8 +261,13 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
+     DEFINES["USE_X11"] = "1"
+     DEFINES["WEBRTC_BSD"] = True
+     DEFINES["WEBRTC_POSIX"] = True
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
+     DEFINES["_FILE_OFFSET_BITS"] = "64"
+ 
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
+     OS_LIBS += [
+         "X11",
+         "X11-xcb",
+@@ -253,11 +282,14 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
+     ]
+ 
+     UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",

Copied: branches/2020Q4/www/firefox/files/patch-bug1677715 (from r557394, head/www/firefox/files/patch-bug1677715)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2020Q4/www/firefox/files/patch-bug1677715	Mon Dec 14 18:08:02 2020	(r558102, copy of r557394, head/www/firefox/files/patch-bug1677715)
@@ -0,0 +1,148 @@
+commit 16e7bdc29390
+Author: Dan Minor <dminor@mozilla.com>
+Date:   Thu Nov 19 14:14:40 2020 +0000
+
+    Bug 1677715 - Build libpipewire as a dependency of libwebrtc; r=ng
+    
+    Differential Revision: https://phabricator.services.mozilla.com/D97431
+---
+ dom/media/webrtc/third_party_build/moz.build | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git dom/media/webrtc/third_party_build/moz.build dom/media/webrtc/third_party_build/moz.build
+index db10dab7ff21..dc0df3ba1b6c 100644
+--- dom/media/webrtc/third_party_build/moz.build
++++ dom/media/webrtc/third_party_build/moz.build
+@@ -56,6 +56,9 @@ webrtc_non_unified_sources = [
+     "../../../../third_party/libwebrtc/webrtc/video/overuse_frame_detector.cc",  # Because of name clash with call_stats.cc on kWeightFactor
+ ]
+ 
++if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
++    DIRS += ["../../../../third_party/pipewire/libpipewire"]
++
+ GN_DIRS += ["../../../../third_party/libwebrtc/webrtc"]
+ 
+ gn_vars_copy = gn_vars.copy()
+commit 553093ff0fa7
+Author: Dan Minor <dminor@mozilla.com>
+Date:   Thu Nov 19 14:14:50 2020 +0000
+
+    Bug 1677715 - Regenerate moz.build files; r=ng
+    
+    Differential Revision: https://phabricator.services.mozilla.com/D97433
+---
+ .../desktop_capture_generic_gn/moz.build           | 51 +++++++++++++++++-----
+ third_party/libwebrtc/webrtc/moz.build             |  3 --
+ 2 files changed, 40 insertions(+), 14 deletions(-)
+
+diff --git third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+index 8df8b8b993f9..a0e116195e0e 100644
+--- third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
++++ third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+@@ -5,6 +5,8 @@
+ 
+   ### This moz.build was AUTOMATICALLY GENERATED from a GN config,  ###
+   ### DO NOT edit it by hand.                                       ###
++if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
++    CXXFLAGS += CONFIG["TK_CFLAGS"]
+ 
+ COMPILE_FLAGS["OS_INCLUDES"] = []
+ AllowCompilerWarnings()
+@@ -25,8 +27,7 @@ LOCAL_INCLUDES += [
+     "/ipc/chromium/src",
+     "/ipc/glue",
+     "/media/libyuv/libyuv/include/",
+-    "/third_party/libwebrtc/webrtc/",
+-    "/third_party/pipewire"
++    "/third_party/libwebrtc/webrtc/"
+ ]
+ 
+ UNIFIED_SOURCES += [
+@@ -162,7 +163,6 @@ if CONFIG["OS_TARGET"] == "Linux":
+     DEFINES["WEBRTC_LINUX"] = True
+     DEFINES["WEBRTC_POSIX"] = True
+     DEFINES["_FILE_OFFSET_BITS"] = "64"
+-    DEFINES["WEBRTC_USE_PIPEWIRE"] = "1"
+ 
+     OS_LIBS += [
+         "rt",
+@@ -195,14 +195,6 @@ if CONFIG["OS_TARGET"] == "Linux":
+         "/third_party/libwebrtc/webrtc/modules/desktop_capture/window_capturer_linux.cc"
+     ]
+ 
+-    CXXFLAGS += CONFIG['TK_CFLAGS']
+-
+-    UNIFIED_SOURCES += [
+-        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
+-        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
+-        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
+-    ]
+-
+ if CONFIG["OS_TARGET"] == "NetBSD":
+ 
+     DEFINES["USE_X11"] = "1"
+@@ -393,6 +385,17 @@ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
+ 
+     DEFINES["DISABLE_NACL"] = True
+     DEFINES["NO_TCMALLOC"] = True
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
++
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
++    UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
++    ]
+ 
+ if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
+ 
+@@ -400,6 +403,32 @@ if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
+         "-msse2"
+     ]
+ 
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
++
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
++    UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
++    ]
++
++if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
++
++    DEFINES["WEBRTC_USE_PIPEWIRE"] = True
++
++    LOCAL_INCLUDES += [
++        "/third_party/pipewire/"
++    ]
++
++    UNIFIED_SOURCES += [
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
++        "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc"
++    ]
++
+ if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "NetBSD":
+ 
+     CXXFLAGS += [
+diff --git third_party/libwebrtc/webrtc/moz.build third_party/libwebrtc/webrtc/moz.build
+index 53af3e5786bf..295247899372 100644
+--- third_party/libwebrtc/webrtc/moz.build
++++ third_party/libwebrtc/webrtc/moz.build
+@@ -186,9 +186,6 @@ if CONFIG["OS_TARGET"] == "Linux":
+         "/third_party/libwebrtc/webrtc/modules/video_capture/video_capture_internal_impl_gn",
+         "/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn"
+     ]
+-    DIRS += [
+-        "/third_party/pipewire/libpipewire"
+-    ]
+ 
+ if CONFIG["OS_TARGET"] == "NetBSD":
+ 

Modified: branches/2020Q4/www/firefox/files/patch-bug847568
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-bug847568	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-bug847568	Mon Dec 14 18:08:02 2020	(r558102)
@@ -4,7 +4,7 @@ diff --git config/system-headers.mozbuild config/syste
 index 7620b4d00623..09d3db5ca8c0 100644
 --- config/system-headers.mozbuild
 +++ config/system-headers.mozbuild
-@@ -1299,6 +1299,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
+@@ -1292,6 +1292,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
          'proxy.h',
      ]
  
@@ -28,16 +28,16 @@ diff --git dom/base/moz.build dom/base/moz.build
 index 8e19020315ae..2fcdbb6f7b42 100644
 --- dom/base/moz.build
 +++ dom/base/moz.build
-@@ -543,6 +543,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
- if CONFIG['MOZ_X11']:
-     CXXFLAGS += CONFIG['TK_CFLAGS']
+@@ -546,6 +546,9 @@ if CONFIG["MOZ_BUILD_APP"] in ["browser", "mobile/android", "xulrunner"]:
+ if CONFIG["MOZ_X11"]:
+     CXXFLAGS += CONFIG["TK_CFLAGS"]
  
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
++    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
 +
- GeneratedFile('UseCounterList.h', script='gen-usecounters.py',
-               entry_point='use_counter_list', inputs=['UseCounters.conf'])
- 
+ GeneratedFile(
+     "UseCounterList.h",
+     script="gen-usecounters.py",
 diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build
 new file mode 100644
 index 0000000000000..24e8d7a03274a
@@ -112,35 +112,35 @@ diff --git gfx/moz.build gfx/moz.build
 index 771f652e837a..3b358d84e384 100644
 --- gfx/moz.build
 +++ gfx/moz.build
-@@ -13,6 +13,14 @@ with Files('wr/**'):
- if CONFIG['MOZ_TREE_CAIRO']:
-     DIRS += ['cairo']
+@@ -13,6 +13,14 @@ with Files("wr/**"):
+ if CONFIG["MOZ_TREE_CAIRO"]:
+     DIRS += ["cairo"]
  
-+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
-+    DIRS += ['graphite2/geckoextra']
++if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
++    DIRS += ["graphite2/geckoextra"]
 +else:
-+    DIRS += ['graphite2/src' ]
++    DIRS += ["graphite2/src" ]
 +
-+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    DIRS += ['harfbuzz/src']
++if not CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
++    DIRS += ["harfbuzz/src"]
 +
  DIRS += [
-     '2d',
-     'ycbcr',
+     "2d",
+     "ycbcr",
 @@ -21,8 +29,6 @@ DIRS += [
-     'qcms',
-     'gl',
-     'layers',
--    'graphite2/src',
--    'harfbuzz/src',
-     'ots/src',
-     'thebes',
-     'ipc',
+     "qcms",
+     "gl",
+     "layers",
+-    "graphite2/src",
+-    "harfbuzz/src",
+     "ots/src",
+     "thebes",
+     "ipc",
 diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
 index e06ae3457a47..93faa61594a3 100755
 --- gfx/skia/generate_mozbuild.py
 +++ gfx/skia/generate_mozbuild.py
-@@ -117,6 +117,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+@@ -98,6 +98,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
          '-Wno-unused-private-field',
      ]
  
@@ -154,7 +154,7 @@ diff --git gfx/skia/moz.build gfx/skia/moz.build
 index 2118677ca3a8..e4978b413784 100644
 --- gfx/skia/moz.build
 +++ gfx/skia/moz.build
-@@ -493,6 +493,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+@@ -490,6 +490,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
          '-Wno-unused-private-field',
      ]
  
@@ -168,49 +168,49 @@ diff --git gfx/thebes/moz.build gfx/thebes/moz.build
 index 56f1b9fe3f4b..0ac1100b0df3 100644
 --- gfx/thebes/moz.build
 +++ gfx/thebes/moz.build
-@@ -284,7 +284,13 @@ if CONFIG['MOZ_WAYLAND']:
+@@ -287,7 +287,13 @@ if CONFIG["MOZ_WAYLAND"]:
  
- LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+ LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
  
--DEFINES['GRAPHITE2_STATIC'] = True
-+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
-+    CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+-DEFINES["GRAPHITE2_STATIC"] = True
++if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
++    CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"]
 +else:
-+    DEFINES['GRAPHITE2_STATIC'] = True
++    DEFINES["GRAPHITE2_STATIC"] = True
 +
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
++    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
  
- if CONFIG['CC_TYPE'] == 'clang':
+ if CONFIG["CC_TYPE"] == "clang":
      # Suppress warnings from Skia header files.
 diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
 index cb1233c56d7e..06fb1f9f174b 100644
 --- intl/unicharutil/util/moz.build
 +++ intl/unicharutil/util/moz.build
 @@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
-     'nsUnicodeProperties.cpp',
+     "nsUnicodeProperties.cpp",
  ]
  
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
++    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
 +
- FINAL_LIBRARY = 'xul'
+ FINAL_LIBRARY = "xul"
 diff --git netwerk/dns/moz.build netwerk/dns/moz.build
 index 79c26e3e7001..c4d93bc5f7dc 100644
 --- netwerk/dns/moz.build
 +++ netwerk/dns/moz.build
-@@ -86,3 +86,6 @@ USE_LIBS += ['icu']
+@@ -105,3 +105,6 @@ USE_LIBS += ["icu"]
  
- if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
-     CXXFLAGS += ['-Wno-error=shadow']
+ if CONFIG["CC_TYPE"] in ("clang", "gcc"):
+     CXXFLAGS += ["-Wno-error=shadow"]
 +
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
++    CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
 diff --git old-configure.in old-configure.in
 index 95a58b634593..b614eef85c89 100644
 --- old-configure.in
 +++ old-configure.in
-@@ -2639,6 +2639,27 @@ dnl ========================================================
+@@ -2303,6 +2303,27 @@ dnl ========================================================
  
  AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
  
@@ -242,46 +242,46 @@ diff --git toolkit/library/moz.build toolkit/library/m
 index 24f940e1ed7e..079a575adec3 100644
 --- toolkit/library/moz.build
 +++ toolkit/library/moz.build
-@@ -248,6 +248,12 @@ if CONFIG['MOZ_SYSTEM_PNG']:
- if CONFIG['MOZ_SYSTEM_WEBP']:
-     OS_LIBS += CONFIG['MOZ_WEBP_LIBS']
+@@ -247,6 +247,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_GRAPHITE2"]:
++    OS_LIBS += CONFIG["MOZ_GRAPHITE2_LIBS"]
 +
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+    OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
++    OS_LIBS += CONFIG["MOZ_HARFBUZZ_LIBS"]
 +
- if CONFIG['MOZ_SYSTEM_LIBEVENT']:
-     OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+ if CONFIG["MOZ_SYSTEM_LIBEVENT"]:
+     OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"]
  
 diff --git toolkit/moz.configure toolkit/moz.configure
 index 9297e4d6f501..d8e273887e4b 100644
 --- toolkit/moz.configure
 +++ toolkit/moz.configure
-@@ -937,6 +937,25 @@ add_old_configure_assignment('FT2_LIBS',
- add_old_configure_assignment('FT2_CFLAGS',
-                              ft2_info.cflags)
+@@ -1055,6 +1055,25 @@ set_config("FT2_LIBS", ft2_info.libs)
+ add_old_configure_assignment("FT2_LIBS", ft2_info.libs)
+ add_old_configure_assignment("FT2_CFLAGS", ft2_info.cflags)
  
 +# Graphite2
 +# ==============================================================
-+option('--with-system-graphite2',
++option("--with-system-graphite2",
 +       help="Use system graphite2 (located with pkgconfig)")
 +
-+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
-+                                     when='--with-system-graphite2')
++system_graphite2 = pkg_check_modules("MOZ_GRAPHITE2", "graphite2",
++                                     when="--with-system-graphite2")
 +
-+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
++set_config("MOZ_SYSTEM_GRAPHITE2", depends_if(system_graphite2)(lambda _: True))
 +
 +# HarfBuzz
 +# ==============================================================
-+option('--with-system-harfbuzz',
++option("--with-system-harfbuzz",
 +       help="Use system harfbuzz (located with pkgconfig)")
 +
-+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.6.8',
-+                                    when='--with-system-harfbuzz')
++system_harfbuzz = pkg_check_modules("MOZ_HARFBUZZ", "harfbuzz >= 2.6.8",
++                                    when="--with-system-harfbuzz")
 +
-+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
++set_config("MOZ_SYSTEM_HARFBUZZ", depends_if(system_harfbuzz)(lambda _: True))
  
- # Remote agent (part of CDP based remote protocol)
- # ==============================================================
+ # Remote agent
+ # (partial implementation of Chromium Remote Debugging Protocol)

Modified: branches/2020Q4/www/firefox/files/patch-env-api-keys
==============================================================================
--- branches/2020Q4/www/firefox/files/patch-env-api-keys	Mon Dec 14 18:03:36 2020	(r558101)
+++ branches/2020Q4/www/firefox/files/patch-env-api-keys	Mon Dec 14 18:08:02 2020	(r558102)
@@ -2,20 +2,20 @@
 
 --- build/moz.configure/keyfiles.configure
 +++ build/moz.configure/keyfiles.configure
-@@ -18,6 +18,7 @@ def keyfile(desc, help=None, callback=lambda x: x):
-     @checking('for the %s key' % desc, lambda x: x and x is not no_key)
-     @imports(_from='__builtin__', _import='open')
-     @imports(_from='__builtin__', _import='IOError')
-+    @imports(_from='os', _import='environ')
+@@ -19,6 +19,7 @@ def keyfile(desc, default=None, help=None, callback=lambda x: x):
+     @checking("for the %s key" % desc, lambda x: x and x is not no_key)
+     @imports(_from="__builtin__", _import="open")
+     @imports(_from="__builtin__", _import="IOError")
++    @imports(_from="os", _import="environ")
      def keyfile(value):
          if value:
              try:
-@@ -28,7 +29,7 @@ def keyfile(desc, help=None, callback=lambda x: x):
+@@ -29,7 +30,7 @@ def keyfile(desc, default=None, help=None, callback=lambda x: x):
                      raise FatalCheckError("'%s' is empty." % value[0])
              except IOError as e:
                  raise FatalCheckError("'%s': %s." % (value[0], e.strerror))
 -        return no_key
-+        return environ.get('MOZ_%s_KEY' % desc.upper().replace(' ', '_')) or no_key
++        return environ.get("MOZ_%s_KEY" % desc.upper().replace(" ", "_")) or no_key
  
      return keyfile
  

Copied: branches/2020Q4/www/firefox/files/patch-freebsd11 (from r557394, head/www/firefox/files/patch-freebsd11)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2020Q4/www/firefox/files/patch-freebsd11	Mon Dec 14 18:08:02 2020	(r558102, copy of r557394, head/www/firefox/files/patch-freebsd11)
@@ -0,0 +1,21 @@
+Drop after FreeBSD 11 EOL, see https://svnweb.freebsd.org/changeset/base/303524
+
+media/libcubeb/src/cubeb_oss.c:362:10: error: implicit declaration of function 'getline' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+  while (getline(&line, &linecap, sndstatfp) > 0) {
+         ^
+media/libcubeb/src/cubeb_oss.c:850:13: warning: comparison of integers of different signs: 'long' and 'unsigned int' [-Wsign-compare]
+    if (nfr > s->bufframes) {
+        ~~~ ^ ~~~~~~~~~~~~
+
+--- media/libcubeb/src/cubeb_oss.c.orig	2020-12-07 23:35:05 UTC
++++ media/libcubeb/src/cubeb_oss.c
+@@ -10,6 +10,9 @@
+  * accompanying file LICENSE for details.
+  */
+ 
++#if defined(__FreeBSD__) && __FreeBSD__ < 12
++#define _WITH_GETLINE
++#endif
+ #include <assert.h>
+ #include <ctype.h>
+ #include <limits.h>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012141808.0BEI82U9002342>