Firefox 77.0 firefox77 tip
authorWolfgang Rosenauer <wr@rosenauer.org>
Thu, 28 May 2020 08:59:15 +0200
branchfirefox77
changeset 1127 d5b284f833d5
parent 1126 6b7cd9ae087d
Firefox 77.0
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/tar_stamps
firefox-kde.patch
mozilla-kde.patch
--- a/MozillaFirefox/MozillaFirefox.changes	Wed May 27 09:13:22 2020 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Thu May 28 08:59:15 2020 +0200
@@ -1,4 +1,13 @@
 -------------------------------------------------------------------
+Wed May 27 11:48:06 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 77.0 (build1)
+- requires
+  * NSS >= 3.52.1
+  * rust-cbindgen >= 1.14.1
+- do not use gcc (but clang for everything)
+
+-------------------------------------------------------------------
 Wed May 13 12:21:13 UTC 2020 - Michel Normand <normand@linux.vnet.ibm.com>
 
 - change again _constraints for ppc64le use <physicalmemory>
--- a/MozillaFirefox/MozillaFirefox.spec	Wed May 27 09:13:22 2020 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Thu May 28 08:59:15 2020 +0200
@@ -18,9 +18,9 @@
 
 
 # changed with every update
-%define major          76
-%define mainver        %major.0.1
-%define orig_version   76.0.1
+%define major          77
+%define mainver        %major.0
+%define orig_version   77.0
 %define orig_suffix    %{nil}
 %define update_channel release
 %define branding       1
@@ -29,8 +29,8 @@
 # disable for FF73 for now as it fails for unknown reason
 %define do_profiling   0
 
-# always build with GCC as SUSE Security Team requires that
-%define clang_build 0
+# upstream default is clang (to use gcc for large parts set to 0)
+%define clang_build 1
 
 # PIE, full relro
 %define build_hardened 1
@@ -84,14 +84,14 @@
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
 BuildRequires:  mozilla-nspr-devel >= 4.25
-BuildRequires:  mozilla-nss-devel >= 3.51.1
+BuildRequires:  mozilla-nss-devel >= 3.52.1
 BuildRequires:  nasm >= 2.14
 BuildRequires:  nodejs10 >= 10.19.0
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
 BuildRequires:  python3 >= 3.5
 BuildRequires:  rust >= 1.41
-BuildRequires:  rust-cbindgen >= 0.13.1
+BuildRequires:  rust-cbindgen >= 0.14.1
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
 BuildRequires:  update-desktop-files
--- a/MozillaFirefox/tar_stamps	Wed May 27 09:13:22 2020 +0200
+++ b/MozillaFirefox/tar_stamps	Thu May 28 08:59:15 2020 +0200
@@ -1,11 +1,11 @@
 PRODUCT="firefox"
 CHANNEL="release"
-VERSION="76.0.1"
+VERSION="77.0"
 VERSION_SUFFIX=""
-PREV_VERSION="76.0"
+PREV_VERSION="76.0.1"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
 
 RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
-RELEASE_TAG="e2de5f11bc0afd9a3024d32b83cb9f0ada95717a"
-RELEASE_TIMESTAMP="20200507114007"
+RELEASE_TAG="69ca1d06f46ad976113938e6dfccfeb7315ee7a6"
+RELEASE_TIMESTAMP="20200525134724"
--- a/firefox-kde.patch	Wed May 27 09:13:22 2020 +0200
+++ b/firefox-kde.patch	Thu May 28 08:59:15 2020 +0200
@@ -3,7 +3,7 @@
 # Date 1559300151 -7200
 #      Fri May 31 12:55:51 2019 +0200
 # Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
-# Parent  5db49d25901f390e985c8e4bb5e0ec0b22cadeec
+# Parent  0fd58e0df883086574263e0881e1503cf110562a
 How to apply this patch:
 1. Import and apply it
 2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
@@ -11,10 +11,10 @@
 4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style)
 5. hg qrefresh
 
-diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
---- a/browser/components/preferences/in-content/main.js
-+++ b/browser/components/preferences/in-content/main.js
-@@ -333,16 +333,23 @@ var gMainPane = {
+diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
+--- a/browser/components/preferences/main.js
++++ b/browser/components/preferences/main.js
+@@ -336,16 +336,23 @@ var gMainPane = {
          }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
        };
  
@@ -38,7 +38,7 @@
      );
      let performanceSettingsUrl =
        Services.urlFormatter.formatURLPref("app.support.baseURL") +
-@@ -1296,16 +1303,27 @@ var gMainPane = {
+@@ -1301,16 +1308,27 @@ var gMainPane = {
        this._backoffIndex = 0;
  
        let shellSvc = getShellService();
@@ -69,7 +69,7 @@
 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
 --- a/browser/components/shell/moz.build
 +++ b/browser/components/shell/moz.build
-@@ -28,16 +28,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
+@@ -34,16 +34,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
      XPIDL_SOURCES += [
@@ -81,13 +81,13 @@
 +        'nsKDEShellService.cpp',
 +        'nsUnixShellService.cpp',
      ]
- elif CONFIG['OS_ARCH'] == 'WINNT':
-     XPIDL_SOURCES += [
-         'nsIWindowsShellService.idl',
-     ]
-     SOURCES += [
-         'nsWindowsShellService.cpp',
-     ]
+     if CONFIG['MOZ_ENABLE_DBUS']:
+         SOURCES += [
+             'nsGNOMEShellDBusHelper.cpp',
+             'nsGNOMEShellSearchProvider.cpp',
+         ]
+         include('/ipc/chromium/chromium-config.mozbuild')
+ 
 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
 new file mode 100644
 --- /dev/null
--- a/mozilla-kde.patch	Wed May 27 09:13:22 2020 +0200
+++ b/mozilla-kde.patch	Thu May 28 08:59:15 2020 +0200
@@ -3,7 +3,7 @@
 # Date 1559294891 -7200
 #      Fri May 31 11:28:11 2019 +0200
 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
-# Parent  04c2cbd396b26a8e08980304a436e5e12fb6a205
+# Parent  b517aa8dfa37d729db9590fe699caa38f899dfba
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -31,7 +31,7 @@
  #ifdef MOZ_MEMORY
  #  include "mozmemory.h"
  #endif
-@@ -4539,25 +4540,37 @@ nsresult Preferences::InitInitialObjects
+@@ -4566,25 +4567,37 @@ nsresult Preferences::InitInitialObjects
    // application pref files for backwards compatibility.
    static const char* specialFiles[] = {
  #if defined(XP_MACOSX)
@@ -69,7 +69,7 @@
  
    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4603,17 +4616,17 @@ nsresult Preferences::InitInitialObjects
+@@ -4630,17 +4643,17 @@ nsresult Preferences::InitInitialObjects
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -302,7 +302,7 @@
  nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
    // dbus prevents us from being threadsafe, but this routine should not block
    // anyhow
-@@ -380,21 +383,50 @@ nsresult nsUnixSystemProxySettings::GetP
+@@ -384,21 +387,50 @@ nsresult nsUnixSystemProxySettings::GetP
    return NS_OK;
  }
  
@@ -974,7 +974,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
-@@ -0,0 +1,87 @@
+@@ -0,0 +1,86 @@
 +/* -*- 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
@@ -985,7 +985,6 @@
 +#include "prmem.h"
 +#include "nsString.h"
 +#include "nsMIMEInfoUnix.h"
-+#include "nsAutoPtr.h"
 +#include "nsKDEUtils.h"
 +
 +/* static */ bool
@@ -1351,7 +1350,7 @@
  #define MAX_PREVIEW_SOURCE_SIZE 4096
  
  nsIFile* nsFilePicker::mPrevDisplayDirectory = nullptr;
-@@ -227,17 +230,19 @@ nsFilePicker::AppendFilters(int32_t aFil
+@@ -223,17 +226,19 @@ nsFilePicker::AppendFilters(int32_t aFil
    mAllowURLs = !!(aFilterMask & filterAllowURLs);
    return nsBaseFilePicker::AppendFilters(aFilterMask);
  }
@@ -1372,7 +1371,7 @@
  
    mFilters.AppendElement(filter);
    mFilterNames.AppendElement(name);
-@@ -337,16 +342,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
+@@ -333,16 +338,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
    return NS_OK;
  }
  
@@ -1412,7 +1411,7 @@
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
    const gchar* accept_button;
-@@ -571,16 +599,244 @@ void nsFilePicker::Done(void* file_choos
+@@ -562,16 +590,244 @@ void nsFilePicker::Done(void* file_choos
      mCallback->Done(result);
      mCallback = nullptr;
    } else {
@@ -1831,10 +1830,10 @@
  
  if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
      CXXFLAGS += CONFIG['TK_CFLAGS']
+     if CONFIG['MOZ_ENABLE_DBUS']:
+         CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
  
  if CONFIG['MOZ_LAYOUT_DEBUGGER']:
-     DEFINES['MOZ_LAYOUT_DEBUGGER'] = True
- 
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp