New commits:
commit 6c01ad4e91e29a13d6a86ffb87280bf021cef046
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
firefox-esr: version 102.0
This copies the current state of the firefox spell with small
modifications,
some of which are to be merged back. In future, the firefox-esr spell
should
come into existence as a simple copy of the firefox spell at the
appropriate
point in time, only excluding the DETAILS file, which we also might adapt
in future to have an ESR switch in it.
+# disable end of build notification
+export MOZ_NOSPAM=1 &&
+
# System rustc has no debuginfo
export RUSTFLAGS="-C debuginfo=0" &&
+export MOZBUILD_STATE_PATH="${SOURCE_DIRECTORY}/mozbuild" &&
+
+#
+# No fast optimization for Mozilla, bit us so many times...
+# This used to default to -O2, but that produces crashing firefox for
+# sobukus with gcc-5.2.0; -Os seems more safe.
+CFLAGS="${CFLAGS//-O[3s]/-O2}" &&
+CXXFLAGS="${CXXFLAGS//-O[3s]/-O2}" &&
+
# harden
LDFLAGS="$LDFLAGS -Wl,-z,now" &&
@@ -38,9 +50,15 @@ if [[ $gccmajor == "4" ]] && [[ $gccminor -ge "6" ]]; then
CXXFLAGS="${CXXFLAGS//-mavx} -mno-avx"
fi
+if test -z "$FIREFOX_AUDIO"; then
+ OPTS+=" --disable-audio-backends"
+else
+ OPTS+=" --enable-audio-backends=${FIREFOX_AUDIO// /,}"
+fi &&
+
for option in $OPTS; do
echo "ac_add_options $option" >> .mozconfig
done &&
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j${MAKE_NJOBS:-1}\"" >> .mozconfig &&
-./mach build
+MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach build
diff --git a/http/firefox-esr/CONFIGURE b/http/firefox-esr/CONFIGURE
index c850756..2a0ad0c 100755
--- a/http/firefox-esr/CONFIGURE
+++ b/http/firefox-esr/CONFIGURE
@@ -16,6 +16,8 @@ config_query FIREFOX_SDK \
n &&
config_query FIREFOX_PGO \
'Enable profile guided optimizations (takes twice as
long to build)?' \
- n
+ n &&
config_query FIREFOX_WIDEVINE \
- 'Enable Widevine DRM' n
+ 'Enable Widevine DRM' n &&
+config_query_multi FIREFOX_AUDIO "Select the audio backends:" \
+ alsa pulse jack
diff --git a/http/firefox-esr/CONFLICTS b/http/firefox-esr/CONFLICTS
index db109b6..005c1da 100755
--- a/http/firefox-esr/CONFLICTS
+++ b/http/firefox-esr/CONFLICTS
@@ -1 +1,9 @@
-conflicts firefox
+# File should work unmodified for both firefox and firefox-esr.
+case "$SPELL" in
+ firefox)
+ conflicts firefox-esr
+ ;;
+ firefox-esr)
+ conflicts firefox
+ ;;
+esac
diff --git a/http/firefox-esr/DEPENDS b/http/firefox-esr/DEPENDS
index 1ba0ee0..76192da 100755
--- a/http/firefox-esr/DEPENDS
+++ b/http/firefox-esr/DEPENDS
@@ -5,11 +5,10 @@ depends -sub "CLANG" llvm
&&
depends perl &&
depends python3 &&
-optional_depends pulseaudio \
- "--enable-pulseaudio" \
- "--disable-pulseaudio" \
- "use pulseaudio for audio support" &&
-
-# Firefox is currently borked and does not compile without alsa-lib headers,
-# this should have been fixed when Firefox started using Mozilla core 23,
but it
-# wasn't see https://bugzilla.mozilla.org/show_bug.cgi?id=875268
-depends alsa-lib "--enable-alsa" &&
-#optional_depends alsa-lib \
-# '--enable-wave' \
-# '--disable-wave --disable-ogg --disable-webm
--disable-dash' \
-# 'for audio/video support' &&
-
-optional_depends JACK-DRIVER \
- "--enable-jack" \
- "--disable-jack" \
- "use JACK for audio support" &&
+for b in $FIREFOX_AUDIO
+do
+ case $b in
+ alsa)
+ depends alsa-lib
+ ;;
+ pulse)
+ depends pulseaudio
+ ;;
+ jack)
+ depends JACK-DRIVER
+ ;;
+ *)
+ message "${MESSAGE_COLOR}Bad audio choice: $b${DEFAULT_COLOR}"
+ exit 1
+ ;;
+ esac
+done &&
if is_depends_enabled $SPELL alsa-lib; then
# Firefox tries to use ogg/ogg.h even with --disable-ogg given
@@ -115,28 +114,27 @@ depends dbus-glib "--enable-dbus" &&
# 'for WebGL support' &&
depends OPENGL &&
suggest_depends_2 firefox-smglwiki "" "" \
"to enable searching the SMGL Wiki from the Search Bar"
-#optional_depends graphite2 \
-# "--with-system-graphite2" \
-# "--without-system-graphite2" \
-# "for system graphite2" &&
-#
-#optional_depends harfbuzz \
-# "--with-system-harfbuzz" \
-# "--without-system-harfbuzz" \
-# "for system harfbuzz" &&
-#
-optional_depends dav1d \
- "--enable-av1" \
- "--disable-av1" \
- "for AV1 video support" &&
+optional_depends graphite2 \
+ "--with-system-graphite2" \
+ "--without-system-graphite2" \
+ "for system graphite2" &&
+
+optional_depends harfbuzz \
+ "--with-system-harfbuzz" \
+ "--without-system-harfbuzz" \
+ "for system harfbuzz" &&
+
+# Seems FF wants libaom along with this. Package that, too,
+# or just roll with the vendored copy.
+#optional_depends dav1d \
+# "--with-system-av1" \
+# "--without-system-av1" \
+# "for AV1 video support" &&
if is_depends_enabled $SPELL dav1d; then
depends nasm
fi
diff --git a/http/firefox-esr/DETAILS b/http/firefox-esr/DETAILS
index d945a73..7ef2cb3 100755
--- a/http/firefox-esr/DETAILS
+++ b/http/firefox-esr/DETAILS
@@ -1,10 +1,10 @@
SPELL=firefox-esr
SPELLX=firefox
- VERSION=78.9.0esr
- SECURITY_PATCH=148
+ VERSION=102.0esr
+ SECURITY_PATCH=165
SOURCE="${SPELLX}-${VERSION}.source.tar.xz"
SOURCE_URL[0]="http://releases.mozilla.org/pub/${SPELLX}/releases/${VERSION}/source/${SOURCE}"
-
SOURCE_HASH="sha512:28582fc0a03fb50c0a817deb1083817bb7f2f5d38e98439bf655ed4ee18c83568b3002a59ef76edf357bfb11f55832a221d14130f116aac19d850768fba3ac8b"
+
SOURCE_HASH="sha512:76494363ffdbd33b61912ac72b5cc15450e4b2936898c84fcf3980ccfa6d7ecc05524a63a60827d6caba999ada5cfd6f121e893ba0587778ce11654d0daf21d7"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELLX}-${VERSION%esr}"
WEB_SITE=https://www.mozilla.org/en-US/firefox/fx/
GATHER_DOCS=off
diff --git a/http/firefox-esr/HISTORY b/http/firefox-esr/HISTORY
index 7d02d27..7077f67 100644
--- a/http/firefox-esr/HISTORY
+++ b/http/firefox-esr/HISTORY
@@ -1,3 +1,9 @@
+2022-07-01 Thomas Orgis <sobukus AT orgis.org>
+ * */: re-freshed from firefox spell for 102.0esr
+ INSTALL: also avoid downloading python stuff for install
+ CONFLICTS, INSTALL: prepare for merging back, unified files
+ for both firefox and firefox-esr
+
2021-05-05 Thomas Orgis <sobukus AT sourcemage.org>
* DETAILS: version 78.9.0, ++SECURITY_PATCH
* SCRIBBLED: get rid of that accident
diff --git a/http/firefox-esr/INSTALL b/http/firefox-esr/INSTALL
index 2899a7c..320ebb0 100755
--- a/http/firefox-esr/INSTALL
+++ b/http/firefox-esr/INSTALL
@@ -6,12 +6,12 @@ if spell_ok Firebird; then
dispel Firebird
fi &&
b/http/firefox-esr/patches/0007-bmo-878089-Don-t-fail-when-TERM-is-not-set.patch
new file mode 100644
index 0000000..6b1cde0
--- /dev/null
+++
b/http/firefox-esr/patches/0007-bmo-878089-Don-t-fail-when-TERM-is-not-set.patch
@@ -0,0 +1,36 @@
+From e43f7431036904989cfd520f19de28a72be97ad9 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi AT gentoo.org>
+Date: Mon, 6 Apr 2020 19:41:43 +0200
+Subject: [PATCH 08/30] bmo#878089: Don't fail when TERM is not set
+
+Link: https://github.com/erikrose/blessings/pull/137
+Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=878089
+Bug: https://bugs.gentoo.org/654316
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ third_party/python/blessings/blessings/__init__.py | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/third_party/python/blessings/blessings/__init__.py
b/third_party/python/blessings/blessings/__init__.py
+index 388cece0b8..1283460cc9 100644
+--- a/third_party/python/blessings/blessings/__init__.py
++++ b/third_party/python/blessings/blessings/__init__.py
+@@ -94,8 +94,13 @@ class Terminal(object):
+ # init sequences to the stream if it has a file descriptor, and
+ # send them to stdout as a fallback, since they have to go
+ # somewhere.
+- setupterm(kind or environ.get('TERM', 'unknown'),
+- self._init_descriptor)
++ try:
++ setupterm(kind or environ.get('TERM', 'dumb') or 'dumb',
++ self._init_descriptor)
++ except curses.error:
++ # There was an error setting up the terminal, either curses
is
++ # not supported or TERM is incorrectly set. Fall back to
dumb.
++ self._does_styling = False
+
+ self.stream = stream
+
+--
+2.34.1
+
diff --git
a/http/firefox-esr/patches/0008-bmo-1516803-Fix-building-sandbox.patch
b/http/firefox-esr/patches/0008-bmo-1516803-Fix-building-sandbox.patch
new file mode 100644
index 0000000..24333b2
--- /dev/null
+++ b/http/firefox-esr/patches/0008-bmo-1516803-Fix-building-sandbox.patch
@@ -0,0 +1,28 @@
+From 6eeeca1b673a60d3e51427b2a5cf3e916bdb012b Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi AT gentoo.org>
+Date: Mon, 6 Apr 2020 19:44:28 +0200
+Subject: [PATCH 09/30] bmo#1516803: Fix building sandbox
+
+Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1516803
+Bug: https://bugs.gentoo.org/666580
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ security/sandbox/linux/moz.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/security/sandbox/linux/moz.build
b/security/sandbox/linux/moz.build
+index 573f667812..e62d1a99a4 100644
+--- a/security/sandbox/linux/moz.build
++++ b/security/sandbox/linux/moz.build
+@@ -116,7 +116,7 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc"):
+ # forcing there to be only one partition.
+ for f in CONFIG["OS_CXXFLAGS"]:
+ if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
+- LDFLAGS += ["--param lto-partitions=1"]
++ LDFLAGS += ["--param", "lto-partitions=1"]
+
+ DEFINES["NS_NO_XPCOM"] = True
+ DisableStlWrapping()
+--
+2.34.1
+
diff --git
a/http/firefox-esr/patches/0009-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
b/http/firefox-esr/patches/0009-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
new file mode 100644
index 0000000..300846f
--- /dev/null
+++
b/http/firefox-esr/patches/0009-musl-Add-alternate-name-for-private-siginfo-struct-m.patch
@@ -0,0 +1,35 @@
+From d8ec0bd6f3b0ad2dfd8a97a864f08decaafdea69 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel AT sholland.org>
+Date: Sun, 8 Jan 2017 19:16:38 -0600
+Subject: [PATCH 10/30] musl: Add alternate name for private siginfo struct
+ member
+
+musl does not provide a macro for detecting its presence. For now,
+assume that it is the only non-glibc-based libc on Linux systems.
+
+Signed-off-by: Samuel Holland <samuel AT sholland.org>
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+index 9884be8bb2..86d8f88e30 100644
+--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
++++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+@@ -174,7 +174,11 @@ void Trap::SigSys(int nr, LinuxSigInfo* info,
ucontext_t* ctx) {
+ // If the version of glibc doesn't include this information in
+ // siginfo_t (older than 2.17), we need to explicitly copy it
+ // into an arch_sigsys structure.
+- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++#if defined(__GLIBC__)
++ memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
++#else
++ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
++#endif
+ #endif
+
+ #if defined(__mips__)
+--
+2.34.1
+
diff --git a/http/firefox-esr/patches/0010-musl-Fix-syscall-wrappers.patch
b/http/firefox-esr/patches/0010-musl-Fix-syscall-wrappers.patch
new file mode 100644
index 0000000..d9dda49
--- /dev/null
+++ b/http/firefox-esr/patches/0010-musl-Fix-syscall-wrappers.patch
@@ -0,0 +1,42 @@
+From 1b46c0fc085fe93c36320d7ac1004c83efccdccc Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel AT sholland.org>
+Date: Sun, 8 Jan 2017 19:19:23 -0600
+Subject: [PATCH 11/30] musl: Fix syscall wrappers
+
+musl defines p{read,write}64 to their non-suffixed equivalents to avoid
+duplication in its syscall wrappers. This breaks macro expansion here,
+leading to errors such as:
+
+In function size_t sys_pread64(int, void*, size_t, off_t):
+ error: '__NR_pread' was not declared in this scope
+
+The fix here is to undefine the p{read,write}64 macros, so the syscall
+expands to (e.g.) __NR_pread64 instead.
+
+Signed-off-by: Samuel Holland <samuel AT sholland.org>
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ .../src/third_party/lss/linux_syscall_support.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git
a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+index 1abe0ba5b0..d6087a1674 100644
+---
a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
++++
b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+@@ -173,6 +173,13 @@ extern "C" {
+ # undef __NR_waitpid
+ #endif
+
++#ifdef pread64
++#undef pread64
++#endif
++#ifdef pwrite64
++#undef pwrite64
++#endif
++
+ /* As glibc often provides subtly incompatible data structures (and implicit
+ * wrapper functions that convert them), we provide our own kernel data
+ * structures for use by the system calls.
+--
+2.34.1
+
diff --git
a/http/firefox-esr/patches/0011-musl-Only-use-system-heap-reporter-with-glibc.patch
b/http/firefox-esr/patches/0011-musl-Only-use-system-heap-reporter-with-glibc.patch
new file mode 100644
index 0000000..08f0214
--- /dev/null
+++
b/http/firefox-esr/patches/0011-musl-Only-use-system-heap-reporter-with-glibc.patch
@@ -0,0 +1,33 @@
+From 68dd87a3dc06cf59396dccc3e031761f7237656e Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy AT gentoo.org>
+Date: Mon, 6 Apr 2020 20:09:26 +0200
+Subject: [PATCH 12/30] musl: Only use system heap reporter with glibc
+
+Signed-off-by: Thomas Deutschmann <whissi AT gentoo.org>
+---
+ xpcom/base/nsMemoryReporterManager.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xpcom/base/nsMemoryReporterManager.cpp
b/xpcom/base/nsMemoryReporterManager.cpp
+index bd4629c785..b513f81216 100644
+--- a/xpcom/base/nsMemoryReporterManager.cpp
++++ b/xpcom/base/nsMemoryReporterManager.cpp
+@@ -647,6 +647,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr,
cpu_type_t aType) {
+ return NS_OK;
+ }
+
++#ifdef __GLIBC__
+ # define HAVE_SYSTEM_HEAP_REPORTER 1
+ // Windows can have multiple separate heaps, but we should not touch
non-default
+ // heaps because they may be destroyed at anytime while we hold a handle.
So we
+@@ -679,6 +680,7 @@ static bool InSharedRegion(mach_vm_address_t aAddr,
cpu_type_t aType) {
+ *aSizeOut = heapSize;
+ return NS_OK;
+ }
++#endif
+
+ struct SegmentKind {
+ DWORD mState;
+--
+2.34.1
+
diff --git
a/http/firefox-esr/patches/0012-musl-Set-pthread-name-for-non-glibc-systems.patch
b/http/firefox-esr/patches/0042-p02-bmo-1772721-build-wayland-only-D148496fixed.patch
new file mode 100644
index 0000000..22a9cb0
--- /dev/null
+++
b/http/firefox-esr/patches/0042-p02-bmo-1772721-build-wayland-only-D148496fixed.patch
@@ -0,0 +1,84 @@
+diff --git a/widget/gtk/mozgtk/moz.build b/widget/gtk/mozgtk/moz.build
+--- a/widget/gtk/mozgtk/moz.build
++++ b/widget/gtk/mozgtk/moz.build
+@@ -9,10 +9,11 @@
+ SOURCES += [
+ "mozgtk.c",
+ ]
+
+ CFLAGS += CONFIG["MOZ_X11_CFLAGS"]
++CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+
+ # If LDFLAGS contains -Wl,--as-needed or if it's the default for the
toolchain,
+ # we need to add -Wl,--no-as-needed before the gtk libraries, otherwise the
+ # linker will drop those dependencies because no symbols are used from them.
+ # But those dependencies need to be kept for things to work properly.
+diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c
+--- a/widget/gtk/mozgtk/mozgtk.c
++++ b/widget/gtk/mozgtk/mozgtk.c
+@@ -4,10 +4,17 @@
+ * 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/. */
+
+ #include "mozilla/Types.h"
+
++#include <gdk/gdk.h>
++
++// Dummy call to gtk3 library to prevent the linker from removing
++// the gtk3 dependency with --as-needed.
++// see toolkit/library/moz.build for details.
++MOZ_EXPORT void mozgtk_linker_holder() { gdk_display_get_default(); }
++
+ #ifdef MOZ_X11
+ # include <X11/Xlib.h>
+ // Bug 1271100
+ // We need to trick system Cairo into not using the XShm extension due to
+ // a race condition in it that results in frequent BadAccess errors. Cairo
+diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
+--- a/widget/gtk/nsWindow.cpp
++++ b/widget/gtk/nsWindow.cpp
+@@ -266,10 +266,13 @@
+ return sTimeConverterSingleton;
+ }
+
+ bool nsWindow::sTransparentMainWindow = false;
+
++// forward declare from mozgtk
++extern "C" MOZ_EXPORT void mozgtk_linker_holder();
++
+ namespace mozilla {
+
+ #ifdef MOZ_X11
+ class CurrentX11TimeGetter {
+ public:
+@@ -426,10 +429,14 @@
+ do_GetService("@mozilla.org/widget/clipboard;1");
+ NS_ASSERTION(clipboard, "Failed to init clipboard!");
+ }
+ #endif
+ }
++ // Dummy call to mozgtk to prevent the linker from removing
++ // the dependency with --as-needed.
++ // see toolkit/library/moz.build for details.
++ mozgtk_linker_holder();
+ }
+
+ nsWindow::~nsWindow() {
+ LOG("nsWindow::~nsWindow()");
+
+@@ -5332,14 +5339,10 @@
+ //
+ // If the window were to get unredirected, there could be visible
+ // tearing because Gecko does not align its framebuffer updates with
+ // vblank.
+ SetCompositorHint(GTK_WIDGET_COMPOSIDED_ENABLED);
+-
+- // Dummy call to a function in mozgtk to prevent the linker from
removing
+- // the dependency with --as-needed.
+- XShmQueryExtension(DefaultXDisplay());
+ }
+ #endif
+ #ifdef MOZ_WAYLAND
+ if (GdkIsWaylandDisplay()) {
+ mSurfaceProvider.Initialize(this);
+
diff --git
a/http/firefox-esr/patches/0043-p02-bmo-1772721-build-wayland-only.patch
b/http/firefox-esr/patches/0043-p02-bmo-1772721-build-wayland-only.patch
new file mode 100644
index 0000000..63907fd
--- /dev/null
+++ b/http/firefox-esr/patches/0043-p02-bmo-1772721-build-wayland-only.patch
@@ -0,0 +1,25 @@
+diff -Naur a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c
+--- a/widget/gtk/mozgtk/mozgtk.c 2022-06-18 19:17:31.464160229 -0000
++++ b/widget/gtk/mozgtk/mozgtk.c 2022-06-18 19:24:34.966749520 -0000
+@@ -8,6 +8,8 @@
+
+ #include <gdk/gdk.h>
+
++MOZ_EXPORT unsigned int gtk_get_debug_flags(void) { return 0; }
++
+ // Dummy call to gtk3 library to prevent the linker from removing
+ // the gtk3 dependency with --as-needed.
+ // see toolkit/library/moz.build for details.
+diff -Naur a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
+--- a/widget/gtk/nsWindow.cpp 2022-06-18 19:17:31.464160229 -0000
++++ b/widget/gtk/nsWindow.cpp 2022-06-18 19:26:47.689851900 -0000
+@@ -5312,6 +5312,9 @@
+ SetCompositorHint(GTK_WIDGET_COMPOSIDED_ENABLED);
+ }
+ #endif
++// Dummy call to a function in mozgtk to prevent the linker from removing
++// the dependency with --as-needed.
++gtk_get_debug_flags();
+ #ifdef MOZ_WAYLAND
+ if (GdkIsWaylandDisplay()) {
+ mSurfaceProvider.Initialize(this);
diff --git
a/http/firefox-esr/patches/0044-p03-bmo-1772513-build-wayland-only-D148256.patch