diff --git a/firefox/MozillaFirefox.spec b/firefox/MozillaFirefox.spec index c026c4b..2e74e1e 100644 --- a/firefox/MozillaFirefox.spec +++ b/firefox/MozillaFirefox.spec @@ -32,9 +32,9 @@ # orig_suffix b3 # major 69 # mainver %major.99 -%define major 87 +%define major 88 %define mainver %major.0 -%define orig_version 87.0 +%define orig_version 88.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -85,11 +85,13 @@ BuildArch: i686 %else %define crashreporter 0 %endif -%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150100 -# pipewire is too old on Leap <15.1 +%define with_pipewire0_3 1 +%define wayland_supported 1 +%if 0%{?sle_version} > 0 && 0%{?sle_version} < 150200 +# pipewire is too old on Leap <=15.1 %define with_pipewire0_3 0 -%else -%define with_pipewire0_3 1 +# Wayland is too old on Leap <=15.1 as well +%define wayland_supported 0 %endif Name: %{pkgname} @@ -115,8 +117,8 @@ BuildRequires: libidl-devel BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.29 -BuildRequires: mozilla-nss-devel >= 3.62 +BuildRequires: mozilla-nspr-devel >= 4.30 +BuildRequires: mozilla-nss-devel >= 3.63.1 BuildRequires: nasm >= 2.14 BuildRequires: nodejs10 >= 10.22.1 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 @@ -448,10 +450,10 @@ ac_add_options --prefix=%{_prefix} ac_add_options --libdir=%{_libdir} ac_add_options --includedir=%{_includedir} ac_add_options --enable-release -%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 -ac_add_options --enable-default-toolkit=cairo-gtk3 -%else +%if 0%{wayland_supported} ac_add_options --enable-default-toolkit=cairo-gtk3-wayland +%else +ac_add_options --enable-default-toolkit=cairo-gtk3 %endif # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32 %ifarch %ix86 %arm @@ -628,6 +630,7 @@ mkdir --parents %{buildroot}/usr/bin sed "s:%%PREFIX:%{_prefix}:g s:%%PROGDIR:%{progdir}:g s:%%APPNAME:%{progname}:g +s:%%WAYLAND_SUPPORTED:%{wayland_supported}:g s:%%PROFILE:.mozilla/firefox:g" \ %{SOURCE3} > %{buildroot}%{progdir}/%{progname}.sh chmod 755 %{buildroot}%{progdir}/%{progname}.sh diff --git a/firefox/mozilla.sh.in b/firefox/mozilla.sh.in index 5ece6b5..b6c932d 100644 --- a/firefox/mozilla.sh.in +++ b/firefox/mozilla.sh.in @@ -84,8 +84,11 @@ export LIBXCB_ALLOW_SLOPPY_LOCK=1 export GNOME_DISABLE_CRASH_DIALOG=1 # Wayland +# Only supported on newer systems +WAYLAND_SUPPORTED=%WAYLAND_SUPPORTED + # $XDG_SESSION_TYPE should contain either x11 or wayland -if [ "$XDG_SESSION_TYPE" = "wayland" ]; then +if [ $WAYLAND_SUPPORTED -eq 1 ] && [ "$XDG_SESSION_TYPE" = "wayland" ]; then export MOZ_ENABLE_WAYLAND=1 fi diff --git a/firefox/tar_stamps b/firefox/tar_stamps index 9dc574e..dd50744 100644 --- a/firefox/tar_stamps +++ b/firefox/tar_stamps @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="87.0" +VERSION="88.0" VERSION_SUFFIX="" -PREV_VERSION="86.0.1" +PREV_VERSION="87.0" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" -RELEASE_TAG="bb9bf7e886787222b18094a4723949a29b4d329a" -RELEASE_TIMESTAMP="20210318103112" +RELEASE_TAG="38ee7c9c51c5c95d854c6e9eaa962f21d4f17753" +RELEASE_TIMESTAMP="20210415204500" diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 575609a..d08676a 100644 --- a/mozilla-kde.patch +++ b/mozilla-kde.patch @@ -3,7 +3,7 @@ # Date 1559294891 -7200 # Fri May 31 11:28:11 2019 +0200 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112 -# Parent 929fbcb071c2e1ff551c73e8c364e9c1f4495171 +# Parent 53e325f006bd6a31f6f3d40ae248e4058897055a Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -31,7 +31,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4573,25 +4574,37 @@ nsresult Preferences::InitInitialObjects +@@ -4635,25 +4636,37 @@ nsresult Preferences::InitInitialObjects // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -69,7 +69,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4656,17 +4669,17 @@ nsresult Preferences::InitInitialObjects +@@ -4718,17 +4731,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -841,7 +841,7 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build --- a/uriloader/exthandler/moz.build +++ b/uriloader/exthandler/moz.build -@@ -86,17 +86,19 @@ else: +@@ -77,17 +77,19 @@ else: SOURCES += [ osdir + "/nsOSHelperAppService.cpp", ] @@ -857,11 +857,11 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": UNIFIED_SOURCES += [ - "android/nsAndroidHandlerApp.cpp", - "android/nsExternalURLHandlerService.cpp", "android/nsMIMEInfoAndroid.cpp", ] -@@ -136,16 +138,17 @@ include("/ipc/chromium/chromium-config.m + elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": + UNIFIED_SOURCES += [ +@@ -125,16 +127,17 @@ include("/ipc/chromium/chromium-config.m FINAL_LIBRARY = "xul" LOCAL_INCLUDES += [ @@ -1837,7 +1837,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp -@@ -49,16 +49,17 @@ +@@ -53,16 +53,17 @@ #include "prproces.h" #include "nsIDirectoryEnumerator.h" #include "nsSimpleEnumerator.h" @@ -1855,7 +1855,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp # include "prmem.h" # include "plbase64.h" -@@ -2001,62 +2002,77 @@ nsLocalFile::SetPersistentDescriptor(con +@@ -2021,62 +2022,77 @@ nsLocalFile::SetPersistentDescriptor(con NS_IMETHODIMP nsLocalFile::Reveal() { @@ -1938,4 +1938,4 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp return giovfs->ShowURIForInput(mPath); #elif defined(MOZ_WIDGET_ANDROID) - // Try to get a mimetype, if this fails just use the file uri alone + // Not supported on GeckoView diff --git a/mozilla-pgo.patch b/mozilla-pgo.patch index 0641e8d..3a89681 100644 --- a/mozilla-pgo.patch +++ b/mozilla-pgo.patch @@ -1,6 +1,6 @@ # HG changeset patch # User Wolfgang Rosenauer -# Parent 07b5ae8ccc4806fcc5ad74e32a2d3fb2b9d605d0 +# Parent ed9681bd4359b83145247fb6b01a56a2c84879fd diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure --- a/build/moz.configure/lto-pgo.configure @@ -155,7 +155,7 @@ diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp --- a/toolkit/components/terminator/nsTerminator.cpp +++ b/toolkit/components/terminator/nsTerminator.cpp -@@ -425,16 +425,21 @@ void nsTerminator::StartWatchdog() { +@@ -451,16 +451,21 @@ void nsTerminator::StartWatchdog() { // Defend against overflow crashAfterMS = INT32_MAX; } else { @@ -170,10 +170,10 @@ diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components + crashAfterMS = INT32_MAX; + UniquePtr options(new Options()); - const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000); + const PRIntervalTime ticksDuration = + PR_MillisecondsToInterval(HEARTBEAT_INTERVAL_MS); options->crashAfterTicks = crashAfterMS / ticksDuration; // Handle systems where ticksDuration is greater than crashAfterMS. if (options->crashAfterTicks == 0) { - options->crashAfterTicks = crashAfterMS / 1000; + options->crashAfterTicks = crashAfterMS / HEARTBEAT_INTERVAL_MS; } -