Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package MozillaThunderbird for 
openSUSE:Factory checked in at 2022-08-03 21:16:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaThunderbird"

Wed Aug  3 21:16:01 2022 rev:283 rq:992051 version:102.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes    
2022-06-30 13:18:00.345517341 +0200
+++ 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1533/MozillaThunderbird.changes
  2022-08-03 21:16:07.251351187 +0200
@@ -1,0 +2,50 @@
+Tue Jul 26 09:03:40 UTC 2022 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 102.1.0
+  * https://www.thunderbird.net/en-US/thunderbird/102.1.0/releasenotes
+  MFSA 2022-32 (bsc#1201758)
+  * CVE-2022-36319 (bmo#1737722)
+    Mouse Position spoofing with CSS transforms
+  * CVE-2022-36318 (bmo#1771774)
+    Directory indexes for bundled resources reflected URL parameters
+  * CVE-2022-36314 (bmo#1773894)
+    Opening local <code>.lnk</code> files could cause unexpected
+    network loads
+  * CVE-2022-2505 (bmo#1769739, bmo#1772824)
+    Memory safety bugs fixed in Thunderbird 102.1
+- added mozilla-newer-cbindgen.patch to fix build with
+  rust-cbindgen >= 0.24 (and also require that for build)
+- added mozilla-pgo.patch to fix LTO builds with gcc
+
+-------------------------------------------------------------------
+Tue Jul 19 07:31:52 UTC 2022 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 102.0.3
+  Bugfixes as in
+  * https://www.thunderbird.net/en-US/thunderbird/102.0.3/releasenotes/
+
+-------------------------------------------------------------------
+Sat Jul  9 21:53:27 UTC 2022 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 102.0.2
+  * https://www.thunderbird.net/en-US/thunderbird/102.0/releasenotes/
+- removed obsolete patches
+  mozilla-bmo1504834-part2.patch
+  mozilla-bmo1504834-part4.patch
+  mozilla-bmo1602730.patch
+  mozilla-bmo1626236.patch
+  mozilla-bmo1724679.patch
+  mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
+  mozilla-sandbox-fips.patch
+- added patches inherited from FF 102
+  one_swizzle_to_rule_them_all.patch
+  svg-rendering.patch
+- fix KDE detection (boo#1200987) in mozilla-kde.patch
+- requires
+  rust = 1.60
+  NSPR >= 4.34
+  NSS >= 3.79
+  rust-cbindgen >= 0.23.0
+- remove special breakpad debug symbol creation
+
+-------------------------------------------------------------------

Old:
----
  l10n-91.11.0.tar.xz
  mozilla-bmo1504834-part2.patch
  mozilla-bmo1504834-part4.patch
  mozilla-bmo1602730.patch
  mozilla-bmo1626236.patch
  mozilla-bmo1724679.patch
  mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
  mozilla-sandbox-fips.patch
  thunderbird-91.11.0.source.tar.xz
  thunderbird-91.11.0.source.tar.xz.asc

New:
----
  l10n-102.1.0.tar.xz
  mozilla-newer-cbindgen.patch
  mozilla-pgo.patch
  one_swizzle_to_rule_them_all.patch
  svg-rendering.patch
  thunderbird-102.1.0.source.tar.xz
  thunderbird-102.1.0.source.tar.xz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:18.711381263 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:18.719381284 +0200
@@ -28,9 +28,9 @@
 # orig_suffix b3
 # major 69
 # mainver %major.99
-%define major          91
-%define mainver        %major.11.0
-%define orig_version   91.11.0
+%define major          102
+%define mainver        %major.1.0
+%define orig_version   102.1.0
 %define orig_suffix    %{nil}
 %define update_channel release
 %define source_prefix  thunderbird-%{orig_version}
@@ -66,7 +66,7 @@
 %define gnome_dir     %{_prefix}
 %define desktop_file_name %{progname}
 %define __provides_exclude ^lib.*\\.so.*$
-%define __requires_exclude 
^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*)$
+%define __requires_exclude 
^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
 %define localize 1
 %define crashreporter 0
 %define with_pipewire0_3 1
@@ -85,27 +85,31 @@
 BuildRequires:  dbus-1-glib-devel
 BuildRequires:  fdupes
 BuildRequires:  memory-constraints
-%if 0%{?suse_version} <= 1320
-BuildRequires:  gcc9-c++
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
+BuildRequires:  gcc11-c++
 %else
 BuildRequires:  gcc-c++
 %endif
 %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
-BuildRequires:  cargo >= 1.51
-BuildRequires:  rust >= 1.51
+BuildRequires:  cargo >= 1.59
+BuildRequires:  rust >= 1.59
 %else
 # Newer sle/leap/tw use parallel versioned rust releases which have
 # a different method for provides that we can use to request a
 # specific version
-BuildRequires:  rust+cargo >= 1.51
+# minimal requirement:
+BuildRequires:  rust+cargo >= 1.59
+# actually used upstream:
+BuildRequires:  cargo1.60
+BuildRequires:  rust1.60
 %endif
 %if 0%{useccache} != 0
 BuildRequires:  ccache
 %endif
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
-BuildRequires:  mozilla-nspr-devel >= 4.32
-BuildRequires:  mozilla-nss-devel >= 3.68.4
+BuildRequires:  mozilla-nspr-devel >= 4.34
+BuildRequires:  mozilla-nss-devel >= 3.79
 BuildRequires:  nasm >= 2.14
 BuildRequires:  nodejs >= 10.22.1
 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@@ -115,14 +119,13 @@
 BuildRequires:  python3 >= 3.5
 BuildRequires:  python3-devel
 %endif
-BuildRequires:  rust-cbindgen >= 0.19.0
+BuildRequires:  rust-cbindgen >= 0.24.0
 BuildRequires:  unzip
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-libXt-devel
 %if 0%{?do_profiling}
 BuildRequires:  xvfb-run
 %endif
-BuildRequires:  xz
 BuildRequires:  yasm
 BuildRequires:  zip
 %if 0%{?suse_version} < 1550
@@ -185,28 +188,25 @@
 Patch2:         mozilla-kde.patch
 Patch3:         mozilla-ntlm-full-path.patch
 Patch4:         mozilla-aarch64-startup-crash.patch
-Patch6:         mozilla-sandbox-fips.patch
-Patch7:         mozilla-fix-aarch64-libopus.patch
-Patch8:         mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
-Patch9:         mozilla-s390-context.patch
-Patch11:        mozilla-reduce-rust-debuginfo.patch
-Patch13:        mozilla-bmo1005535.patch
-Patch14:        mozilla-bmo1568145.patch
-Patch15:        mozilla-bmo1504834-part1.patch
-Patch16:        mozilla-bmo1504834-part2.patch
-Patch17:        mozilla-bmo1504834-part3.patch
-Patch19:        mozilla-bmo1512162.patch
-Patch20:        mozilla-fix-top-level-asm.patch
-Patch21:        mozilla-bmo1504834-part4.patch
-Patch22:        mozilla-bmo849632.patch
-Patch24:        mozilla-bmo1602730.patch
-Patch25:        mozilla-bmo998749.patch
-Patch26:        mozilla-bmo1626236.patch
-Patch27:        mozilla-s390x-skia-gradient.patch
-Patch28:        mozilla-libavcodec58_91.patch
-Patch29:        mozilla-silence-no-return-type.patch
-Patch30:        mozilla-bmo531915.patch
-Patch31:        mozilla-bmo1724679.patch
+Patch5:         mozilla-fix-aarch64-libopus.patch
+Patch6:         mozilla-s390-context.patch
+Patch7:         mozilla-pgo.patch
+Patch8:         mozilla-reduce-rust-debuginfo.patch
+Patch9:         mozilla-bmo1005535.patch
+Patch10:        mozilla-bmo1568145.patch
+Patch11:        mozilla-bmo1504834-part1.patch
+Patch12:        mozilla-bmo1504834-part3.patch
+Patch13:        mozilla-bmo1512162.patch
+Patch14:        mozilla-fix-top-level-asm.patch
+Patch15:        mozilla-bmo849632.patch
+Patch16:        mozilla-bmo998749.patch
+Patch17:        mozilla-s390x-skia-gradient.patch
+Patch18:        mozilla-libavcodec58_91.patch
+Patch19:        mozilla-silence-no-return-type.patch
+Patch20:        mozilla-bmo531915.patch
+Patch21:        one_swizzle_to_rule_them_all.patch
+Patch22:        svg-rendering.patch
+Patch23:        mozilla-newer-cbindgen.patch
 %endif
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 PreReq:         /bin/sh
@@ -255,16 +255,6 @@
 of %{appname}.
 %endif
 
-%if %crashreporter
-%package buildsymbols
-Summary:        Breakpad buildsymbols for %{appname}
-Group:          Development/Debug
-
-%description buildsymbols
-This subpackage contains the Breakpad created and compatible debugging
-symbols meant for upload to Mozilla's crash collector database.
-%endif
-
 %if !%{with only_print_mozconfig}
 %prep
 %if %localize
@@ -287,28 +277,25 @@
 %endif
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 %patch6 -p1
 %patch7 -p1
-#%patch8 -p1
+%patch8 -p1
 %patch9 -p1
+%patch10 -p1
 %patch11 -p1
+%patch12 -p1
 %patch13 -p1
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
 %patch17 -p1
+%patch18 -p1
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch31 -p1
+%patch23 -p1
 %endif
 
 %build
@@ -349,8 +336,8 @@
 export MOZ_TELEMETRY_REPORTING=1
 export MOZ_REQUIRE_SIGNING=
 export MACH_USE_SYSTEM_PYTHON=1
-%if 0%{?suse_version} <= 1320
-export CC=gcc-9
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
+export CC=gcc-11
 %else
 %if 0%{?clang_build} == 0
 export CC=gcc
@@ -363,6 +350,8 @@
 %ifarch %arm %ix86
 # Limit RAM usage during link
 export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+# A lie to prevent -Wl,--gc-sections being set which requires more memory than 
32bit can offer
+export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
 %endif
 export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
 %ifarch ppc64 ppc64le
@@ -419,8 +408,9 @@
 %ifarch %ix86 %arm
 ac_add_options --disable-debug-symbols
 %else
-ac_add_options --enable-debug-symbols
+ac_add_options --enable-debug-symbols=-g1
 %endif
+ac_add_options --disable-install-strip
 # building with elf-hack started to fail everywhere with FF73
 #%if 0%{?suse_version} > 1549
 %ifnarch aarch64 ppc64 ppc64le s390x
@@ -441,6 +431,11 @@
 ac_add_options --enable-update-channel=%{update_channel}
 ac_add_options --with-unsigned-addon-scopes=app
 ac_add_options --allow-addon-sideload
+# at least temporary until the "wasi-sysroot" issue is solved
+ac_add_options --without-wasm-sandboxed-libraries
+%ifarch x86_64 aarch64
+ac_add_options --enable-rust-simd
+%endif
 ac_add_options --enable-official-branding
 %if ! %crashreporter
 ac_add_options --disable-crashreporter
@@ -498,6 +493,7 @@
 ac_add_options --prefix=%{_prefix}
 ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
 ac_add_options --disable-updater
+ac_add_options --without-wasm-sandboxed-libraries
 ac_add_options --enable-official-branding
 EOF
 mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
@@ -510,19 +506,15 @@
         export MOZCONFIG=${MOZCONFIG}_$locale
         # nsinstall is needed for langpack-build. It is already built by 
`./mach build`, but building it again is very fast
         ./mach build config/nsinstall langpack-$locale
-        cp -rL ../obj_$locale/dist/xpi-stage/locale-$locale \
-           
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$loc...@thunderbird.mozilla.org
-        rm -rf 
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$loc...@thunderbird.mozilla.org/defaults
-        rm -rf 
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$loc...@thunderbird.mozilla.org/hyphenation
-        # Build systems like to run out of disc-space, so we delete the 
build-dir here (we copied already all relevant files)
-        rm -rf ../obj_$locale/
+        cp -L 
../obj_$locale/dist/linux-*/xpi/thunderbird-%{orig_version}.$locale.langpack.xpi
 \
+            
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$loc...@thunderbird.mozilla.org.xpi
         # check against the fixed common list and sort into the right filelist
         _matched=0
         for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja 
ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
             [ "$_match" = "$locale" ] && _matched=1
         done
         [ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
-        echo %{progdir}/extensions/langpack-$loc...@thunderbird.mozilla.org \
+        echo 
%{progdir}/extensions/langpack-$loc...@thunderbird.mozilla.org.xpi \
           >> %{_tmppath}/translations.$_l10ntarget
 ' -- {}
 %endif
@@ -608,24 +600,6 @@
 %fdupes %{buildroot}%{progdir}
 %fdupes %{buildroot}%{_libdir}/mozilla
 %fdupes %{buildroot}%{_datadir}
-# create breakpad debugsymbols
-%if %crashreporter
-SYMBOLS_NAME="thunderbird-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
-make buildsymbols \
-  SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
-  SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
-  SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
-if [ -e dist/*symbols.zip ]; then
-  mkdir -p %{buildroot}%{_datadir}/mozilla/
-  cp dist/*symbols.zip %{buildroot}%{_datadir}/mozilla/
-fi
-%endif
-
-%clean
-rm -rf %{buildroot}
-%if %localize
-rm -rf %{_tmppath}/translations.*
-%endif
 
 %post
 %desktop_database_post
@@ -649,6 +623,8 @@
 %{progdir}/pingsender
 %{progdir}/platform.ini
 %{progdir}/plugin-container
+%{progdir}/rnp-cli
+%{progdir}/rnpkeys
 %{progdir}/thunderbird-bin
 # crashreporter files
 %if %crashreporter
@@ -677,10 +653,4 @@
 %dir %{progdir}/extensions/
 %endif
 
-%if %crashreporter
-%files buildsymbols
-%defattr(-,root,root)
-%{_datadir}/mozilla/
-%endif
-
 %changelog

++++++ l10n-91.11.0.tar.xz -> l10n-102.1.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-91.11.0.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1533/l10n-102.1.0.tar.xz 
differ: char 26, line 1

++++++ mozilla-fix-top-level-asm.patch ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:18.843381610 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:18.847381620 +0200
@@ -49,7 +49,7 @@
      ]
  
  if CONFIG["CC_TYPE"] in ("clang", "gcc"):
-     CXXFLAGS += ["-Wno-shadow", "-Wno-error=stack-protector"]
+     CXXFLAGS += ["-Wno-error=stack-protector"]
      SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags 
+= [
          "-Wno-empty-body",
      ]

++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:18.855381641 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:18.859381652 +0200
@@ -3,7 +3,7 @@
 # Date 1559294891 -7200
 #      Fri May 31 11:28:11 2019 +0200
 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
-# Parent  c8bc6be5267f16016d506973a2d6a7c58a1cd441
+# Parent  64d0c9c59c2e7f31722466406a4c13cdf5c39a6b
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfg...@rosenauer.org>
 Author: Lubos Lunak <lu...@suse.com>
@@ -13,12 +13,12 @@
 diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
 --- a/modules/libpref/Preferences.cpp
 +++ b/modules/libpref/Preferences.cpp
-@@ -84,16 +84,17 @@
- #include "plbase64.h"
+@@ -88,16 +88,17 @@
  #include "PLDHashTable.h"
  #include "plstr.h"
  #include "prlink.h"
  #include "xpcpublic.h"
+ #include "js/RootingAPI.h"
  #ifdef MOZ_BACKGROUNDTASKS
  #  include "mozilla/BackgroundTasks.h"
  #endif
@@ -31,22 +31,12 @@
  #ifdef MOZ_MEMORY
  #  include "mozmemory.h"
  #endif
-@@ -4635,25 +4636,37 @@ nsresult Preferences::InitInitialObjects
-   // application pref files for backwards compatibility.
-   static const char* specialFiles[] = {
- #if defined(XP_MACOSX)
-     "macprefs.js"
- #elif defined(XP_WIN)
-     "winpref.js"
- #elif defined(XP_UNIX)
+@@ -4767,16 +4768,27 @@ nsresult Preferences::InitInitialObjects
      "unix.js"
-+    , "" // placeholder for KDE  (empty is otherwise harmless)
  #  if defined(_AIX)
      ,
      "aix.js"
  #  endif
- #elif defined(XP_BEOS)
-     "beos.js"
  #endif
    };
  
@@ -69,7 +59,7 @@
  
    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4718,17 +4731,17 @@ nsresult Preferences::InitInitialObjects
+@@ -4841,17 +4853,17 @@ nsresult Preferences::InitInitialObjects
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -91,7 +81,7 @@
 diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
 --- a/modules/libpref/moz.build
 +++ b/modules/libpref/moz.build
-@@ -117,16 +117,20 @@ EXPORTS.mozilla += [
+@@ -120,16 +120,20 @@ EXPORTS.mozilla += [
  ]
  EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
  
@@ -157,7 +147,7 @@
 diff --git a/toolkit/components/downloads/moz.build 
b/toolkit/components/downloads/moz.build
 --- a/toolkit/components/downloads/moz.build
 +++ b/toolkit/components/downloads/moz.build
-@@ -45,10 +45,14 @@ XPCOM_MANIFESTS += [
+@@ -46,10 +46,14 @@ XPCOM_MANIFESTS += [
  
  if CONFIG["MOZ_PLACES"]:
      EXTRA_JS_MODULES += [
@@ -175,7 +165,7 @@
 diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm 
b/toolkit/mozapps/downloads/HelperAppDlg.jsm
 --- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
 +++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
-@@ -1231,36 +1231,66 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1254,36 +1254,66 @@ nsUnknownContentTypeDialog.prototype = {
          params.handlerApp &&
          params.handlerApp.executable &&
          params.handlerApp.executable.isFile()
@@ -265,15 +255,16 @@
 diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 
b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
 --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
 +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-@@ -13,16 +13,17 @@
- #include "nsPrintfCString.h"
- #include "nsNetCID.h"
+@@ -10,16 +10,18 @@
+ #include "prnetdb.h"
+ #include "prenv.h"
+ #include "nsInterfaceHashtable.h"
+ #include "nsHashtablesFwd.h"
+ #include "nsHashKeys.h"
  #include "nsNetUtil.h"
  #include "nsISupportsPrimitives.h"
  #include "nsIGSettingsService.h"
- #include "nsInterfaceHashtable.h"
- #include "mozilla/Attributes.h"
- #include "nsIURI.h"
++#include "nsPrintfCString.h"
 +#include "nsKDEUtils.h"
  
  using namespace mozilla;
@@ -283,7 +274,7 @@
    NS_DECL_ISUPPORTS
    NS_DECL_NSISYSTEMPROXYSETTINGS
  
-@@ -36,16 +37,18 @@ class nsUnixSystemProxySettings final : 
+@@ -33,16 +35,18 @@ class nsUnixSystemProxySettings final : 
    nsCOMPtr<nsIGSettingsCollection> mProxySettings;
    nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
        mSchemeProxySettings;
@@ -302,7 +293,7 @@
  nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
    // dbus prevents us from being threadsafe, but this routine should not block
    // anyhow
-@@ -381,21 +384,50 @@ nsresult nsUnixSystemProxySettings::GetP
+@@ -378,21 +382,50 @@ nsresult nsUnixSystemProxySettings::GetP
    return NS_OK;
  }
  
@@ -356,7 +347,7 @@
 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
 --- a/toolkit/xre/moz.build
 +++ b/toolkit/xre/moz.build
-@@ -93,17 +93,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
+@@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
          "../components/printingui",
      ]
  elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
@@ -370,17 +361,17 @@
 +        "nsKDEUtils.cpp",
          "nsNativeAppSupportUnix.cpp",
      ]
+     CXXFLAGS += CONFIG["MOZ_X11_SM_CFLAGS"]
  else:
      UNIFIED_SOURCES += [
          "nsNativeAppSupportDefault.cpp",
      ]
  
- if CONFIG["MOZ_HAS_REMOTE"]:
 diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
 new file mode 100644
 --- /dev/null
 +++ b/toolkit/xre/nsKDEUtils.cpp
-@@ -0,0 +1,344 @@
+@@ -0,0 +1,321 @@
 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- 
*/
 +/* 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
@@ -420,36 +411,13 @@
 +#define MAKE_STR( n ) MAKE_STR2( n )
 +
 +static bool getKdeSession()
++{
++    if (PR_GetEnv("KDE_FULL_SESSION"))
 +    {
-+    Display* dpy = XOpenDisplay( NULL );
-+    if( dpy == NULL )
-+        return false;
-+    Atom kde_full_session = XInternAtom( dpy, "KDE_FULL_SESSION", true );
-+    bool kde = false;
-+    if( kde_full_session != None )
-+        {
-+        int cnt;
-+        if( Atom* props = XListProperties( dpy, DefaultRootWindow( dpy ), 
&cnt ))
-+            {
-+            for( int i = 0;
-+                 i < cnt;
-+                 ++i )
-+                {
-+                if( props[ i ] == kde_full_session )
-+                    {
-+                    kde = true;
-+#ifdef DEBUG_KDE
-+                    fprintf( stderr, "KDE SESSION %d\n", kde );
-+#endif
-+                    break;
-+                    }
-+                }
-+            XFree( props );
-+            }
-+        }
-+    XCloseDisplay( dpy );
-+    return kde;
++      return true;
 +    }
++    return false;
++}
 +
 +static bool getKdeSupport()
 +    {
@@ -819,34 +787,15 @@
  
  /*
   * Check if a handler exists for the provided protocol. Check the datastore
-@@ -328,17 +328,17 @@ mozilla::ipc::IPCResult HandlerServicePa
-   nsCOMPtr<nsIExternalProtocolService> protoSvc =
-       do_GetService(NS_EXTERNALPROTOCOLSERVICE_CONTRACTID, &rv);
-   if (NS_WARN_IF(NS_FAILED(rv))) {
-     *aHandlerExists = false;
-     return IPC_OK();
-   }
-   rv = protoSvc->ExternalProtocolHandlerExists(aProtocolScheme.get(),
-                                                aHandlerExists);
--
-+##
-   if (NS_WARN_IF(NS_FAILED(rv))) {
-     *aHandlerExists = false;
-   }
- #else
-   MOZ_RELEASE_ASSERT(false, "No implementation on this platform.");
-   *aHandlerExists = false;
- #endif
-   return IPC_OK();
 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
 --- a/uriloader/exthandler/moz.build
 +++ b/uriloader/exthandler/moz.build
-@@ -80,17 +80,19 @@ else:
+@@ -78,17 +78,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "ui
+ else:
+     # These files can't be built in unified mode because they redefine LOG.
      SOURCES += [
          osdir + "/nsOSHelperAppService.cpp",
      ]
-     if CONFIG["CC_TYPE"] in ("clang", "gcc"):
-         CXXFLAGS += ["-Wno-error=shadow"]
  
  if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
      UNIFIED_SOURCES += [
@@ -861,7 +810,7 @@
      ]
  elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
      UNIFIED_SOURCES += [
-@@ -128,16 +130,17 @@ include("/ipc/chromium/chromium-config.m
+@@ -130,16 +132,17 @@ include("/ipc/chromium/chromium-config.m
  FINAL_LIBRARY = "xul"
  
  LOCAL_INCLUDES += [
@@ -874,11 +823,11 @@
  ]
  
  if CONFIG["MOZ_ENABLE_DBUS"]:
-     CXXFLAGS += CONFIG["TK_CFLAGS"]
      CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
  
  if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
-     CXXFLAGS += CONFIG["TK_CFLAGS"]
+     CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+     CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
 diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp 
b/uriloader/exthandler/unix/nsCommonRegistry.cpp
 new file mode 100644
 --- /dev/null
@@ -974,12 +923,13 @@
 new file mode 100644
 --- /dev/null
 +++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
-@@ -0,0 +1,86 @@
+@@ -0,0 +1,89 @@
 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 
*/
 +/* 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/. */
 +
++#include "mozilla/StaticPrefs_browser.h"
 +#include "nsKDERegistry.h"
 +#include "prlink.h"
 +#include "prmem.h"
@@ -1055,8 +1005,10 @@
 +        nsCString description = output[ 1 ];
 +        mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description));
 +        nsCString handlerAppName = output[ 2 ];
++        
mozilla::StaticPrefs::browser_download_improvements_to_download_panel()
++            ? mimeInfo->SetPreferredAction(nsIMIMEInfo::saveToDisk)
++            : mimeInfo->SetPreferredAction(nsIMIMEInfo::useSystemDefault);
 +        
mimeInfo->SetDefaultDescription(NS_ConvertUTF8toUTF16(handlerAppName));
-+        mimeInfo->SetPreferredAction(nsIMIMEInfo::useSystemDefault);
 +        return mimeInfo.forget();
 +        }
 +    return nullptr;
@@ -1214,7 +1166,7 @@
  #include "nsISupports.h"
  #include "nsString.h"
  #include "nsReadableUtils.h"
-@@ -1024,17 +1024,17 @@ nsresult nsOSHelperAppService::GetHandle
+@@ -1025,17 +1025,17 @@ nsresult nsOSHelperAppService::GetHandle
  
  nsresult nsOSHelperAppService::OSProtocolHandlerExists(
      const char* aProtocolScheme, bool* aHandlerExists) {
@@ -1233,7 +1185,7 @@
      nsCOMPtr<nsIHandlerService> handlerSvc =
          do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
      if (NS_SUCCEEDED(rv) && handlerSvc) {
-@@ -1044,17 +1044,17 @@ nsresult nsOSHelperAppService::OSProtoco
+@@ -1045,17 +1045,17 @@ nsresult nsOSHelperAppService::OSProtoco
    }
  
    return rv;
@@ -1252,7 +1204,7 @@
  
  NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol(
      const nsACString& aScheme, bool* _retval) {
-@@ -1147,17 +1147,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
+@@ -1148,17 +1148,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
    nsresult rv =
        LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
                                 minorType, mime_types_description, true);
@@ -1271,7 +1223,7 @@
  
      rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
                                    minorType, mime_types_description, false);
-@@ -1258,17 +1258,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
+@@ -1261,17 +1261,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
  
    // Now look up our extensions
    nsAutoString extensions, mime_types_description;
@@ -1293,7 +1245,7 @@
 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
 --- a/widget/gtk/moz.build
 +++ b/widget/gtk/moz.build
-@@ -136,16 +136,17 @@ FINAL_LIBRARY = "xul"
+@@ -154,16 +154,17 @@ FINAL_LIBRARY = "xul"
  
  LOCAL_INCLUDES += [
      "/layout/base",
@@ -1307,7 +1259,7 @@
      "/widget/headless",
  ]
  
- if CONFIG["MOZ_X11"]:
+ if CONFIG["MOZ_X11"] or CONFIG["MOZ_WAYLAND"]:
      LOCAL_INCLUDES += [
          "/widget/x11",
      ]
@@ -1350,7 +1302,7 @@
  #  include "Units.h"
  extern mozilla::LazyLogModule gWidgetLog;
  #  define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args)
-@@ -242,17 +245,19 @@ nsFilePicker::AppendFilters(int32_t aFil
+@@ -236,17 +239,19 @@ nsFilePicker::AppendFilters(int32_t aFil
    mAllowURLs = !!(aFilterMask & filterAllowURLs);
    return nsBaseFilePicker::AppendFilters(aFilterMask);
  }
@@ -1371,7 +1323,7 @@
  
    mFilters.AppendElement(filter);
    mFilterNames.AppendElement(name);
-@@ -352,16 +357,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
+@@ -346,16 +351,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
    return NS_OK;
  }
  
@@ -1411,7 +1363,7 @@
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
    const gchar* accept_button;
-@@ -581,16 +609,244 @@ void nsFilePicker::Done(void* file_choos
+@@ -575,16 +603,244 @@ void nsFilePicker::Done(void* file_choos
      mCallback->Done(result);
      mCallback = nullptr;
    } else {
@@ -1829,7 +1781,7 @@
  ]
  
  if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
-     CXXFLAGS += CONFIG["TK_CFLAGS"]
+     CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
      if CONFIG["MOZ_ENABLE_DBUS"]:
          CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
  
@@ -1837,7 +1789,7 @@
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -53,16 +53,17 @@
+@@ -54,16 +54,17 @@
  #include "prproces.h"
  #include "nsIDirectoryEnumerator.h"
  #include "nsSimpleEnumerator.h"
@@ -1855,7 +1807,7 @@
  #  include "prmem.h"
  #  include "plbase64.h"
  
-@@ -2021,62 +2022,77 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -2097,20 +2098,29 @@ nsLocalFile::SetPersistentDescriptor(con
  
  NS_IMETHODIMP
  nsLocalFile::Reveal() {
@@ -1864,47 +1816,10 @@
    }
  
  #ifdef MOZ_WIDGET_GTK
--  nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
--  if (!giovfs) {
--    return NS_ERROR_FAILURE;
--  }
 +  nsAutoCString url;
- 
-   bool isDirectory;
-   if (NS_FAILED(IsDirectory(&isDirectory))) {
-     return NS_ERROR_FAILURE;
-   }
- 
-+  nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
-   if (isDirectory) {
--    return giovfs->ShowURIForInput(mPath);
-+    url = mPath;
-   }
-   if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
-     return NS_OK;
-   }
-   nsCOMPtr<nsIFile> parentDir;
-   nsAutoCString dirPath;
-   if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
-     return NS_ERROR_FAILURE;
-   }
-   if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
-     return NS_ERROR_FAILURE;
-   }
- 
--  return giovfs->ShowURIForInput(dirPath);
-+  url = dirPath;
- #elif defined(MOZ_WIDGET_COCOA)
-   CFURLRef url;
-   if (NS_SUCCEEDED(GetCFURL(&url))) {
-     nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
-     ::CFRelease(url);
-     return rv;
-   }
-   return NS_ERROR_FAILURE;
- #else
-   return NS_ERROR_FAILURE;
- #endif
+   nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
+-  if (!giovfs) {
++  url = mPath;
 +  if(nsKDEUtils::kdeSupport()) {
 +    nsTArray<nsCString> command;
 +    command.AppendElement( "REVEAL"_ns );
@@ -1913,10 +1828,18 @@
 +  }
 +
 +  if (!giovfs)
-+    return NS_ERROR_FAILURE;
+     return NS_ERROR_FAILURE;
+-  }
 +
-+  return giovfs->ShowURIForInput(url);
- }
+   return giovfs->RevealFile(this);
+ #elif defined(MOZ_WIDGET_COCOA)
+   CFURLRef url;
+   if (NS_SUCCEEDED(GetCFURL(&url))) {
+     nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
+     ::CFRelease(url);
+     return rv;
+   }
+@@ -2122,16 +2132,23 @@ nsLocalFile::Reveal() {
  
  NS_IMETHODIMP
  nsLocalFile::Launch() {
@@ -1931,12 +1854,13 @@
 +    command.AppendElement( mPath );
 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
 +  }
++
    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
    if (!giovfs) {
      return NS_ERROR_FAILURE;
    }
  
-   return giovfs->ShowURIForInput(mPath);
+   return giovfs->LaunchFile(mPath);
  #elif defined(MOZ_WIDGET_ANDROID)
    // Not supported on GeckoView
 

++++++ mozilla-libavcodec58_91.patch ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:18.867381673 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:18.871381683 +0200
@@ -1,27 +1,18 @@
 # HG changeset patch
-# Parent  e4abeadbbb7a0c63c17177f1d14ea04c77c6128e
+# Parent  63747fd31719c6e4f7810512a3c57e75a02b8bfd
 
 diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp 
b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
 --- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
 +++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
-@@ -22,23 +22,27 @@ class FFmpegDecoderModule {
-   static already_AddRefed<PlatformDecoderModule> Create(FFmpegLibWrapper*);
- };
- 
- static FFmpegLibWrapper sLibAV;
- 
- static const char* sLibs[] = {
- // clang-format off
- #if defined(XP_DARWIN)
-+  "libavcodec.58.134.dylib",
-+  "libavcodec.58.91.dylib",
-   "libavcodec.58.dylib",
-   "libavcodec.57.dylib",
-   "libavcodec.56.dylib",
+@@ -34,16 +34,18 @@ static const char* sLibs[] = {
    "libavcodec.55.dylib",
    "libavcodec.54.dylib",
    "libavcodec.53.dylib",
+ #elif defined(XP_OPENBSD)
+   "libavcodec.so", // OpenBSD hardly controls the major/minor library version
+                    // of ffmpeg and update it regulary on ABI/API changes
  #else
+   "libavcodec.so.59",
 +  "libavcodec.so.58.134",
 +  "libavcodec.so.58.91",
    "libavcodec.so.58",

++++++ mozilla-newer-cbindgen.patch ++++++
Description: Remove an extra constant definition that is now being generated by 
newer versions of cbindgen (0.24), and causing build failures because it is 
defined in several places.
Author: Olivier Tilloy <olivier.til...@canonical.com>
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
Forwarded: not-needed

diff --git a/gfx/webrender_bindings/webrender_ffi.h 
b/gfx/webrender_bindings/webrender_ffi.h
index b1d67b1..eb79974 100644
--- a/gfx/webrender_bindings/webrender_ffi.h
+++ b/gfx/webrender_bindings/webrender_ffi.h
@@ -73,8 +73,6 @@ struct WrPipelineInfo;
 struct WrPipelineIdAndEpoch;
 using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
 
-const uint64_t ROOT_CLIP_CHAIN = ~0;
-
 }  // namespace wr
 }  // namespace mozilla
 

++++++ mozilla-pgo.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <w...@rosenauer.org>
# Parent  02ffee15578fd4dc2dd5ade32e7dab907d633b0d

diff --git a/build/moz.configure/lto-pgo.configure 
b/build/moz.configure/lto-pgo.configure
--- a/build/moz.configure/lto-pgo.configure
+++ b/build/moz.configure/lto-pgo.configure
@@ -242,34 +242,34 @@ def lto(
             "configure."
         )
 
     if c_compiler.type == "clang":
         if value == "full":
             cflags.append("-flto")
             ldflags.append("-flto")
         else:
-            cflags.append("-flto=thin")
-            ldflags.append("-flto=thin")
+            cflags.append("-flto")
+            ldflags.append("-flto")
 
         if target.os == "Android" and value == "cross":
             # Work around https://github.com/rust-lang/rust/issues/90088
             # by enabling the highest level of SSE the rust targets default
             # to.
             # 
https://github.com/rust-lang/rust/blob/bdfcb88e8b6203ccb46a2fb6649979b773efc8ac/compiler/rustc_target/src/spec/i686_linux_android.rs#L13
             # 
https://github.com/rust-lang/rust/blob/8d1083e319841624f64400e1524805a40d725439/compiler/rustc_target/src/spec/x86_64_linux_android.rs#L7
             if target.cpu == "x86":
                 ldflags.append("-Wl,-plugin-opt=-mattr=+ssse3")
             elif target.cpu == "x86_64":
                 ldflags.append("-Wl,-plugin-opt=-mattr=+sse4.2")
     elif c_compiler.type == "clang-cl":
         if value == "full":
             cflags.append("-flto")
         else:
-            cflags.append("-flto=thin")
+            cflags.append("-flto")
         # With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
         # AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
         cflags.append("-fuse-ld=lld")
 
         # Explicitly set the CPU to optimize for so the linker doesn't
         # choose a poor default.  Rust compilation by default uses the
         # pentium4 CPU on x86:
         #
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
--- a/build/pgo/profileserver.py
+++ b/build/pgo/profileserver.py
@@ -6,17 +6,17 @@
 
 import json
 import os
 import sys
 import glob
 import subprocess
 
 import mozcrash
-from mozbuild.base import MozbuildObject, BinaryNotFoundException
+from mozbuild.base import MozbuildObject, BinaryNotFoundException, 
BuildEnvironmentNotFoundException
 from mozfile import TemporaryDirectory
 from mozhttpd import MozHttpd
 from mozprofile import FirefoxProfile, Preferences
 from mozprofile.permissions import ServerLocations
 from mozrunner import FirefoxRunner, CLI
 from six import string_types
 
 PORT = 8888
@@ -82,19 +82,32 @@ if __name__ == "__main__":
         docroot=os.path.join(build.topsrcdir, "build", "pgo"),
         path_mappings=path_mappings,
     )
     httpd.start(block=False)
 
     locations = ServerLocations()
     locations.add_host(host="127.0.0.1", port=PORT, 
options="primary,privileged")
 
-    old_profraw_files = glob.glob("*.profraw")
-    for f in old_profraw_files:
-        os.remove(f)
+    using_gcc = False
+    try:
+        if build.config_environment.substs.get('CC_TYPE') == 'gcc':
+            using_gcc = True
+    except BuildEnvironmentNotFoundException:
+        pass
+
+    if using_gcc:
+        for dirpath, _, filenames in os.walk('.'):
+            for f in filenames:
+                if f.endswith('.gcda'):
+                    os.remove(os.path.join(dirpath, f))
+    else:
+        old_profraw_files = glob.glob('*.profraw')
+        for f in old_profraw_files:
+            os.remove(f)
 
     with TemporaryDirectory() as profilePath:
         # TODO: refactor this into mozprofile
         profile_data_dir = os.path.join(build.topsrcdir, "testing", "profiles")
         with open(os.path.join(profile_data_dir, "profiles.json"), "r") as fh:
             base_profiles = json.load(fh)["profileserver"]
 
         prefpaths = [
@@ -207,16 +220,20 @@ if __name__ == "__main__":
 
         # Try to move the crash reports to the artifacts even if Firefox 
appears
         # to exit successfully, in case there's a crash that doesn't set the
         # return code to non-zero for some reason.
         if get_crashreports(profilePath, name="Firefox exited successfully?") 
!= 0:
             print("Firefox exited successfully, but produced a crashreport")
             sys.exit(1)
 
+        print('Copying profile data....')
+        os.system('pwd');
+        os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd ..; tar 
xf instrumented/profdata.tar.gz;');
+
         llvm_profdata = env.get("LLVM_PROFDATA")
         if llvm_profdata:
             profraw_files = glob.glob("*.profraw")
             if not profraw_files:
                 print(
                     "Could not find profraw files in the current directory: %s"
                     % os.getcwd()
                 )
diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
--- a/build/unix/mozconfig.unix
+++ b/build/unix/mozconfig.unix
@@ -1,14 +1,23 @@
 . "$topsrcdir/build/mozconfig.common"
 
 if [ -n "$FORCE_GCC" ]; then
     CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
     CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
 
+    if [ -n "$MOZ_PGO" ]; then
+        if [ -z "$USE_ARTIFACT" ]; then
+            ac_add_options --enable-lto
+       fi
+       export AR="$topsrcdir/gcc/bin/gcc-ar"
+        export NM="$topsrcdir/gcc/bin/gcc-nm"
+        export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
+    fi
+
     # We want to make sure we use binutils and other binaries in the tooltool
     # package.
     mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
 else
     # For some builds we don't want to have Clang based static-analysis 
activated
     if [ -z "$DISABLE_CLANG_PLUGIN" ]; then
         export ENABLE_CLANG_PLUGIN=1
     fi
diff --git a/extensions/spellcheck/src/moz.build 
b/extensions/spellcheck/src/moz.build
--- a/extensions/spellcheck/src/moz.build
+++ b/extensions/spellcheck/src/moz.build
@@ -23,8 +23,10 @@ LOCAL_INCLUDES += [
     "../hunspell/glue",
     "../hunspell/src",
     "/dom/base",
 ]
 EXPORTS.mozilla += [
     "mozInlineSpellChecker.h",
     "mozSpellChecker.h",
 ]
+
+CXXFLAGS += ['-fno-devirtualize']
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
@@ -461,16 +461,21 @@ void nsTerminator::StartWatchdog() {
       // Defend against overflow
       crashAfterMS = INT32_MAX;
     } else {
       crashAfterMS *= scaleUp;
     }
   }
 #endif
 
+  // Disable watchdog for PGO train builds - writting profile information at
+  // exit may take time and it is better to make build hang rather than
+  // silently produce poorly performing binary.
+  crashAfterMS = INT32_MAX;
+
   UniquePtr<Options> options(new Options());
   // crashAfterTicks is guaranteed to be > 0 as
   // crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS
   options->crashAfterTicks = crashAfterMS / HEARTBEAT_INTERVAL_MS;
 
   DebugOnly<PRThread*> watchdogThread =
       CreateSystemThread(RunWatchdog, options.release());
   MOZ_ASSERT(watchdogThread);

++++++ mozilla-reduce-rust-debuginfo.patch ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:18.903381767 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:18.903381767 +0200
@@ -1,28 +1,11 @@
-diff --git a/build/moz.configure/rust.configure 
b/build/moz.configure/rust.configure
---- a/build/moz.configure/rust.configure
-+++ b/build/moz.configure/rust.configure
-@@ -610,6 +610,7 @@ set_config("CARGO_PROFILE_DEV_OPT_LEVEL"
-     "--enable-frame-pointers",
-     path_remapping,
-     path_remappings,
-+    host
- )
- def rust_compile_flags(
-     opt_level,
-@@ -619,6 +620,7 @@ def rust_compile_flags(
-     frame_pointers,
-     path_remapping,
-     path_remappings,
-+    host
- ):
-     # Cargo currently supports only two interesting profiles for building:
-     # development and release. Those map (roughly) to --enable-debug and
-@@ -642,6 +644,8 @@ def rust_compile_flags(
+--- firefox-96.0.3.orig/build/moz.configure/rust.configure
++++ firefox-96.0.3/build/moz.configure/rust.configure
+@@ -641,7 +643,7 @@ def rust_compile_flags(
+         debug_assertions = False
  
      if debug_symbols:
-         debug_info = "2"
-+        if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64' 
or host.cpu == 's390x':
-+            debug_info = '1'
+-        debug_info = "2"
++        debug_info = '1'
  
      opts = []
  

++++++ mozilla-s390-context.patch ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:18.915381799 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:18.919381809 +0200
@@ -3,55 +3,52 @@
 # Date 1558452408 -7200
 #      Tue May 21 17:26:48 2019 +0200
 # Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
-# Parent  cb0089687ab899846b8229c3741261d50101340e
+# Parent  136e1f2c44a3099b3e49a576fa62c8ad77aa431e
 [mq]: mozilla-s390-context.patch
 
 diff --git a/js/src/wasm/WasmSignalHandlers.cpp 
b/js/src/wasm/WasmSignalHandlers.cpp
 --- a/js/src/wasm/WasmSignalHandlers.cpp
 +++ b/js/src/wasm/WasmSignalHandlers.cpp
-@@ -150,16 +150,20 @@ using mozilla::DebugOnly;
- #    define FP_sig(p) ((p)->uc_mcontext.mc_fp)
- #    define SP_sig(p) ((p)->uc_mcontext.mc_i7)
- #  endif
- #  if defined(__linux__) && (defined(__ppc64__) || defined(__PPC64__) || \
-                              defined(__ppc64le__) || defined(__PPC64LE__))
- #    define R01_sig(p) ((p)->uc_mcontext.gp_regs[1])
- #    define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
- #  endif
+@@ -157,16 +157,20 @@ using mozilla::DebugOnly;
+ #      define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
+ #    endif
+ #    if defined(__linux__) && defined(__loongarch__)
+ #      define EPC_sig(p) ((p)->uc_mcontext.pc)
+ #      define RRA_sig(p) ((p)->uc_mcontext.gregs[1])
+ #      define RSP_sig(p) ((p)->uc_mcontext.gregs[3])
+ #      define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
+ #    endif
 +#  if defined(__linux__) && defined(__s390x__)
 +#    define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
 +#    define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
 +#  endif
- #elif defined(__NetBSD__)
- #  define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
- #  define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
- #  define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
- #  define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
- #  define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
- #  define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
- #  define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
-@@ -381,18 +385,23 @@ struct macos_arm_context {
- #  define FP_sig(p) RFP_sig(p)
- #  define SP_sig(p) RSP_sig(p)
- #  define LR_sig(p) R31_sig(p)
- #elif defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
-     defined(__PPC64LE__)
- #  define PC_sig(p) R32_sig(p)
- #  define SP_sig(p) R01_sig(p)
- #  define FP_sig(p) R01_sig(p)
-+#elif defined(__s390x__)
-+# define PC_sig(p) PSWa_sig(p)
-+# define SP_sig(p) GR_sig(p, 15)
-+# define FP_sig(p) GR_sig(p, 11)
- #endif
+ #  elif defined(__NetBSD__)
+ #    define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
+ #    define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
+ #    define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
+ #    define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
+ #    define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
+ #    define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
+ #    define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
+@@ -399,16 +403,20 @@ struct macos_aarch64_context {
+ #    define PC_sig(p) R32_sig(p)
+ #    define SP_sig(p) R01_sig(p)
+ #    define FP_sig(p) R01_sig(p)
+ #  elif defined(__loongarch__)
+ #    define PC_sig(p) EPC_sig(p)
+ #    define FP_sig(p) RFP_sig(p)
+ #    define SP_sig(p) RSP_sig(p)
+ #    define LR_sig(p) RRA_sig(p)
++#  elif defined(__s390x__)
++#    define PC_sig(p) PSWa_sig(p)
++#    define SP_sig(p) GR_sig(p, 15)
++#    define FP_sig(p) GR_sig(p, 11)
+ #  endif
  
-+
  static void SetContextPC(CONTEXT* context, uint8_t* pc) {
- #ifdef PC_sig
+ #  ifdef PC_sig
    *reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
- #else
+ #  else
    MOZ_CRASH();
- #endif
- }
- 
+ #  endif
 

++++++ mozilla-silence-no-return-type.patch ++++++
++++ 2818 lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-silence-no-return-type.patch
++++ and 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1533/mozilla-silence-no-return-type.patch

++++++ one_swizzle_to_rule_them_all.patch ++++++
# HG changeset patch
# User M. Sirringhaus <msirringh...@suse.de>
# Date 1645518286 -3600
#      Tue Feb 22 09:24:46 2022 +0100
# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b
# Parent  81832d035e101471dcf52dd91de287268add7a91
imported patch one_swizzle_to_rule_them_all.patch

Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
===================================================================
--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
@@ -7,6 +7,7 @@
 #include "RenderCompositorSWGL.h"
 
 #include "mozilla/gfx/Logging.h"
+#include "mozilla/gfx/Swizzle.h"
 #include "mozilla/widget/CompositorWidget.h"
 
 #ifdef MOZ_WIDGET_GTK
@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
   }
   mDT->Flush();
 
+#if MOZ_BIG_ENDIAN()
+  // One swizzle to rule them all.
+  gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
+                   mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
+                   mDT->GetSize());
+#endif
+
   // Done with the DT. Hand it back to the widget and clear out any trace of 
it.
   mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);
   mDirtyRegion.SetEmpty();

++++++ svg-rendering.patch ++++++
# HG changeset patch
# User M. Sirringhaus <msirringh...@suse.de>
# Date 1645518286 -3600
#      Tue Feb 22 09:24:46 2022 +0100
# Node ID 81832d035e101471dcf52dd91de287268add7a91
# Parent  66f7ce16eb4965108687280e5443edd610631efb
imported patch svg-rendering.patch

diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp
--- a/image/imgFrame.cpp
+++ b/image/imgFrame.cpp
@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD
     return NS_ERROR_OUT_OF_MEMORY;
   }
 
+#if MOZ_BIG_ENDIAN()
+  if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
+      // SKIA is lying about what format it returns on big endian
+      for (int ii=0; ii < 
mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
+        uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
+        uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 
0xFF00FF );
+        vals[ii] = (val << 16) | (val >> 16);
+      }
+  }
+#endif
+
   if (!canUseDataSurface) {
     // We used an offscreen surface, which is an "optimized" surface from
     // imgFrame's perspective.

++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.Zo0Zun/_old  2022-08-03 21:16:19.015382061 +0200
+++ /var/tmp/diff_new_pack.Zo0Zun/_new  2022-08-03 21:16:19.023382082 +0200
@@ -1,11 +1,11 @@
 PRODUCT="thunderbird"
-CHANNEL="esr91"
-VERSION="91.11.0"
+CHANNEL="esr102"
+VERSION="102.1.0"
 VERSION_SUFFIX=""
-PREV_VERSION="91.10.0"
+PREV_VERSION="102.0.3"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
-RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr91";
-RELEASE_TAG="da48e7ecf800ec7761a3b6e0ca81e0c90adc30f7"
-RELEASE_TIMESTAMP="20220628000715"
+RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr102";
+RELEASE_TAG="7fc691fc18b8cddcf185d1b72ebc403e8983ada9"
+RELEASE_TIMESTAMP="20220725200630"
 

++++++ thunderbird-91.11.0.source.tar.xz -> thunderbird-102.1.0.source.tar.xz 
++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-91.11.0.source.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1533/thunderbird-102.1.0.source.tar.xz
 differ: char 15, line 1

Reply via email to