Merged with firefox-59

This commit is contained in:
Martin Stransky 2018-03-06 15:00:42 +01:00
commit bee8e7456a
23 changed files with 634 additions and 1524 deletions

4
.gitignore vendored
View File

@ -278,5 +278,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-58.0-20180123.tar.xz
/firefox-58.0.1.source.tar.xz
/firefox-langpacks-58.0.1-20180130.tar.xz
/firefox-58.0.2.source.tar.xz
/firefox-langpacks-58.0.2-20180214.tar.xz
/2f6a4d2cf42c9d59626061d45c043817cb220814.tar.bz2
/firefox-langpacks-59.0-20180306.tar.xz

View File

@ -1,12 +0,0 @@
diff -up firefox-58.0/js/src/jit/none/MacroAssembler-none.h.old firefox-58.0/js/src/jit/none/MacroAssembler-none.h
--- firefox-58.0/js/src/jit/none/MacroAssembler-none.h.old 2018-01-24 20:33:52.569147937 +0100
+++ firefox-58.0/js/src/jit/none/MacroAssembler-none.h 2018-01-24 20:34:06.985088057 +0100
@@ -88,7 +88,7 @@ static constexpr Register WasmTableCallI
static constexpr Register WasmTlsReg { Registers::invalid_reg };
static constexpr uint32_t ABIStackAlignment = 4;
-static constexpr uint32_t CodeAlignment = 4;
+static constexpr uint32_t CodeAlignment = 8;
static constexpr uint32_t JitStackAlignment = 8;
static constexpr uint32_t JitStackValueAlignment = JitStackAlignment / sizeof(Value);

View File

@ -1,13 +0,0 @@
diff -up firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h.ppc-curl firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h
--- firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h.ppc-curl 2017-06-09 23:31:15.186207877 +0200
+++ firefox-54.0/toolkit/crashreporter/google-breakpad/src/third_party/curl/curlbuild.h 2017-06-10 00:21:26.731117206 +0200
@@ -155,7 +155,8 @@
/* The size of `long', as computed by sizeof. */
#if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \
- defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64)
+ defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) || \
+ defined(__PPC64__) || defined(__pcc64le__) || defined(__S390X__) || defined(__s390x__)
#define CURL_SIZEOF_LONG 8
#else
#define CURL_SIZEOF_LONG 4

View File

@ -1,14 +0,0 @@
diff -up firefox-58.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-58.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-58.0/media/webrtc/trunk/Makefile.old firefox-58.0/media/webrtc/trunk/Makefile
diff -up firefox-58.0/old-configure.in.old firefox-58.0/old-configure.in
--- firefox-58.0/old-configure.in.old 2018-01-23 14:49:51.771309172 +0100
+++ firefox-58.0/old-configure.in 2018-01-23 14:50:04.091265876 +0100
@@ -1915,7 +1915,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
_USE_SYSTEM_NSS=1 )
if test -n "$_USE_SYSTEM_NSS"; then
- AM_PATH_NSS(3.34.1, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ AM_PATH_NSS(3.34.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
fi
if test -n "$MOZ_SYSTEM_NSS"; then

View File

@ -1,52 +0,0 @@
diff --git a/security/certverifier/NSSCertDBTrustDomain.cpp b/security/certverifier/NSSCertDBTrustDomain.cpp
--- a/security/certverifier/NSSCertDBTrustDomain.cpp
+++ b/security/certverifier/NSSCertDBTrustDomain.cpp
@@ -1059,26 +1059,17 @@ InitializeNSS(const nsACString& dir, boo
// "/usr/lib/nss/libnssckbi.so".
uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
if (readOnly) {
flags |= NSS_INIT_READONLY;
}
if (!loadPKCS11Modules) {
flags |= NSS_INIT_NOMODDB;
}
- // At the moment, sqldb does not work with non-ASCII file paths on Windows.
- bool useSQLDB = Preferences::GetBool("security.use_sqldb", false) &&
- (NS_IsNativeUTF8() || NS_IsAscii(PromiseFlatCString(dir).get()));
nsAutoCString dbTypeAndDirectory;
- // Don't change any behavior if the user has specified an alternative database
- // location with MOZPSM_NSSDBDIR_OVERRIDE.
- const char* dbDirOverride = getenv("MOZPSM_NSSDBDIR_OVERRIDE");
- if (useSQLDB && (!dbDirOverride || strlen(dbDirOverride) == 0)) {
- dbTypeAndDirectory.Append("sql:");
- }
dbTypeAndDirectory.Append(dir);
MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
loadPKCS11Modules));
SECStatus srv = NSS_Initialize(dbTypeAndDirectory.get(), "", "",
SECMOD_DB, flags);
if (srv != SECSuccess) {
return srv;
diff --git a/security/manager/ssl/security-prefs.js b/security/manager/ssl/security-prefs.js
--- a/security/manager/ssl/security-prefs.js
+++ b/security/manager/ssl/security-prefs.js
@@ -39,17 +39,17 @@ pref("security.ask_for_password",
pref("security.password_lifetime", 30);
// If true, use the modern sqlite-backed certificate and key databases in NSS.
// If false, use the default format. Currently the default in NSS is the old
// BerkeleyDB format, but this will change in bug 1377940.
// Changing this requires a restart to take effect.
// Note that the environment variable MOZPSM_NSSDBDIR_OVERRIDE can override both
// the behavior of this preference and the NSS default.
-pref("security.use_sqldb", true);
+pref("security.use_sqldb", false);
// The supported values of this pref are:
// 0: disable detecting Family Safety mode and importing the root
// 1: only attempt to detect Family Safety mode (don't import the root)
// 2: detect Family Safety mode and import the root
// (This is only relevant to Windows 8.1)
pref("security.family_safety.mode", 2);

View File

@ -1,12 +0,0 @@
diff -up firefox-45.0/firefox-45.0/config/baseconfig.mk.orig firefox-45.0/firefox-45.0/config/baseconfig.mk
--- firefox-45.0/config/baseconfig.mk.orig 2016-03-02 13:26:31.981927073 +0100
+++ firefox-45.0/config/baseconfig.mk 2016-03-02 13:30:09.044756473 +0100
@@ -4,7 +4,7 @@
# whether a normal build is happening or whether the check is running.
includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+installdir = $(libdir)/$(MOZ_APP_NAME)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
ifeq (.,$(DEPTH))
DIST = dist

View File

@ -1,6 +1,6 @@
. $topsrcdir/browser/config/mozconfig
ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
ac_add_options --prefix="$PREFIX"
ac_add_options --libdir="$LIBDIR"
@ -20,6 +20,7 @@ ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
ac_add_options --with-google-api-keyfile=../google-api-key
ac_add_options --enable-release
ac_add_options --enable-pie
ac_add_options --with-gl-provider=EGL
# Workaround for mozbz#1341234
ac_add_options BINDGEN_CFLAGS="$(pkg-config nspr pixman-1 --cflags)"

7
firefox-wayland.sh.in Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
#
# Run Firefox under Wayland
#
export GDK_BACKEND=wayland
/usr/bin/firefox "$@"

272
firefox-x11.desktop Normal file
View File

@ -0,0 +1,272 @@
[Desktop Entry]
Version=1.0
Name=Firefox X11
GenericName=Web Browser
GenericName[ca]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[es]=Navegador web
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=
GenericName[ko]=
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[no]=Nettleser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[sk]=Internetový prehliadač
GenericName[sv]=Webbläsare
Comment=Browse the Web
Comment[ca]=Navegueu per el web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[de]=Im Internet surfen
Comment[es]=Navegue por la web
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
Comment[fi]=Selaa Internetin WWW-sivuja
Comment[fr]=Navigue sur Internet
Comment[hu]=A világháló böngészése
Comment[it]=Esplora il web
Comment[ja]=
Comment[ko]=
Comment[nb]=Surf på nettet
Comment[nl]=Verken het internet
Comment[nn]=Surf på nettet
Comment[no]=Surf på nettet
Comment[pl]=Przeglądanie stron WWW
Comment[pt]=Navegue na Internet
Comment[pt_BR]=Navegue na Internet
Comment[sk]=Prehliadanie internetu
Comment[sv]=Surfa på webben
Exec=firefox-x11 %u
Icon=firefox
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=Open a New Window (X11)
Name[ach]=Dirica manyen
Name[af]=Nuwe venster
Name[an]=Nueva finestra
Name[ar]=نافذة جديدة
Name[as]=
Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn-BD]= (N)
Name[bn-IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
Name[ca]=Finestra nova
Name[cak]=K'ak'a' tzuwäch
Name[cs]=Nové okno
Name[cy]=Ffenestr Newydd
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en-GB]=New Window
Name[en-US]=New Window
Name[en-ZA]=New Window
Name[eo]=Nova fenestro
Name[es-AR]=Nueva ventana
Name[es-CL]=Nueva ventana
Name[es-ES]=Nueva ventana
Name[es-MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy-NL]=Nij finster
Name[ga-IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu-IN]= િ
Name[he]=חלון חדש
Name[hi-IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy-AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=
Name[ja-JP-mac]=
Name[ka]=
Name[kk]=Жаңа терезе
Name[km]=
Name[kn]= ಿಿ
Name[ko]=
Name[kok]=
Name[ks]=نئئ وِنڈو
Name[lij]=Neuvo barcon
Name[lo]=
Name[lt]=Naujas langas
Name[ltg]=Jauns lūgs
Name[lv]=Jauns logs
Name[mai]= ि
Name[mk]=Нов прозорец
Name[ml]=ി
Name[mr]=
Name[ms]=Tetingkap Baru
Name[my]=
Name[nb-NO]=Nytt vindu
Name[ne-NP]=
Name[nl]=Nieuw venster
Name[nn-NO]=Nytt vindauge
Name[or]= ି
Name[pa-IN]= ਿ
Name[pl]=Nowe okno
Name[pt-BR]=Nova janela
Name[pt-PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sat]= ि (N)
Name[si]=
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv-SE]=Nytt fönster
Name[ta]=ி
Name[te]= ి
Name[th]=
Name[tr]=Yeni pencere
Name[tsz]=Eraatarakua jimpani
Name[uk]=Нове вікно
Name[ur]=نیا دریچہ
Name[uz]=Yangi oyna
Name[vi]=Ca s mi
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh-CN]=
Name[zh-TW]=
Exec=firefox-x11 %u
[Desktop Action new-private-window]
Name=Open a New Private Window (X11)
Name[ach]=Dirica manyen me mung
Name[af]=Nuwe privaatvenster
Name[an]=Nueva finestra privada
Name[ar]=نافذة خاصة جديدة
Name[as]= ি
Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn-BD]= ি
Name[bn-IN]= ি
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]= '
Name[bs]=Novi privatni prozor
Name[ca]=Finestra privada nova
Name[cak]=K'ak'a' ichinan tzuwäch
Name[cs]=Nové anonymní okno
Name[cy]=Ffenestr Breifat Newydd
Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en-GB]=New Private Window
Name[en-US]=New Private Window
Name[en-ZA]=New Private Window
Name[eo]=Nova privata fenestro
Name[es-AR]=Nueva ventana privada
Name[es-CL]=Nueva ventana privada
Name[es-ES]=Nueva ventana privada
Name[es-MX]=Nueva ventana privada
Name[et]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy-NL]=Nij priveefinster
Name[ga-IE]=Fuinneog Nua Phríobháideach
Name[gd]=Uinneag phrìobhaideach ùr
Name[gl]=Nova xanela privada
Name[gn]=Ovetã ñemi pyahu
Name[gu-IN]= િ
Name[he]=חלון פרטי חדש
Name[hi-IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy-AM]=Սկսել Գաղտնի դիտարկում
Name[id]=Jendela Mode Pribadi Baru
Name[is]=Nýr huliðsgluggi
Name[it]=Nuova finestra anonima
Name[ja]=
Name[ja-JP-mac]=
Name[ka]=
Name[kk]=Жаңа жекелік терезе
Name[km]=
Name[kn]= ಿ ಿಿ
Name[ko]=
Name[kok]= ि
Name[ks]=نْو پرایوٹ وینڈو&
Name[lij]=Neuvo barcon privou
Name[lo]=
Name[lt]=Naujas privataus naršymo langas
Name[ltg]=Jauns privatais lūgs
Name[lv]=Jauns privātais logs
Name[mai]= ि ि (W)
Name[mk]=Нов приватен прозорец
Name[ml]=ി
Name[mr]= ि
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb-NO]=Nytt privat vindu
Name[ne-NP]= ि
Name[nl]=Nieuw privévenster
Name[nn-NO]=Nytt privat vindauge
Name[or]= ି ି
Name[pa-IN]= ਿ
Name[pl]=Nowe okno prywatne
Name[pt-BR]=Nova janela privativa
Name[pt-PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
Name[sat]= ि ि (W )
Name[si]= (W)
Name[sk]=Nové okno v režime Súkromné prehliadanie
Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv-SE]=Nytt privat fönster
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
Name[tr]=Yeni gizli pencere
Name[tsz]=Juchiiti eraatarakua jimpani
Name[uk]=Приватне вікно
Name[ur]=نیا نجی دریچہ
Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh-CN]=
Name[zh-TW]=
Exec=firefox-x11 --private-window %u

7
firefox-x11.sh.in Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
#
# Run Firefox under X11
#
export GDK_BACKEND=x11
/usr/bin/firefox "$@"

View File

@ -65,7 +65,7 @@ MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
##
## Set MOZ_GRE_CONF
##
@ -246,4 +246,5 @@ then
echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"

View File

@ -80,27 +80,28 @@
%global mozappdir %{_libdir}/%{name}
%global mozappdirdev %{_libdir}/%{name}-devel-%{version}
%global langpackdir %{mozappdir}/langpacks
%global tarballdir %{name}-%{version}%{?pre_version}
%global release_hash 2f6a4d2cf42c9d59626061d45c043817cb220814
%global tarballdir mozilla-release-%{release_hash}
%global official_branding 1
%global build_langpacks 1
%global enable_mozilla_crashreporter 0
%global enable_mozilla_crashreporter 1
%if !%{debug_build}
%ifarch %{ix86} x86_64
%global enable_mozilla_crashreporter 1
%global enable_mozilla_crashreporter 0
%endif
%endif
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 58.0.2
Version: 59.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
Source0: https://hg.mozilla.org/releases/mozilla-release/archive/%{release_hash}.tar.bz2
%if %{build_langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20180214.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20180306.tar.xz
%endif
Source10: firefox-mozconfig
Source12: firefox-redhat-default-prefs.js
@ -111,9 +112,11 @@ Source24: mozilla-api-key
Source25: firefox-symbolic.svg
Source26: distribution.ini
Source27: google-api-key
Source28: firefox-wayland.sh.in
Source29: firefox-x11.desktop
Source30: firefox-x11.sh.in
# Build patches
Patch0: firefox-install-dir.patch
Patch3: mozilla-build-arm.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=814879#c3
Patch18: xulrunner-24.0-jemalloc-ppc.patch
@ -122,7 +125,6 @@ Patch26: build-icu-big-endian.patch
Patch27: mozilla-1335250.patch
# Also fixes s390x: https://bugzilla.mozilla.org/show_bug.cgi?id=1376268
Patch29: build-big-endian.patch
Patch31: build-ppc64-s390x-curl.patch
Patch32: build-rust-ppc64le.patch
Patch35: build-ppc-jit.patch
Patch36: build-missing-xlocale-h.patch
@ -142,9 +144,6 @@ Patch225: mozilla-1005640-accept-lang.patch
#ARM run-time patch
Patch226: rhbz-1354671.patch
Patch229: firefox-nss-version.patch
Patch230: firefox-fedora-rhbz-1537287-v2.patch
Patch231: build-with-nss-3.34.0.patch
Patch232: build-jit-CodeAlignment.patch
# Upstream patches
Patch402: mozilla-1196777.patch
@ -154,9 +153,16 @@ Patch410: mozilla-1321521.patch
Patch411: mozilla-1321521-2.patch
Patch412: mozilla-1337988.patch
Patch413: mozilla-1353817.patch
Patch416: mozilla-1399611.patch
# ppc64/le build patch
Patch417: mozilla-1416170.patch
# Wayland patches
Patch450: mozilla-1431052.patch
Patch451: mozilla-1432414.patch
Patch452: mozilla-1434202.patch
Patch453: mozilla-1433081.patch
Patch454: remote-profile.patch
Patch455: mozilla-1434572.patch
Patch456: mozilla-1434565.patch
Patch457: queue-crash.patch
# Debian patches
Patch500: mozilla-440908.patch
@ -294,7 +300,6 @@ This package contains results of tests executed during build.
# Build patches, can't change backup suffix from default because during build
# there is a compare of config and js/config directories and .orig suffix is
# ignored during this compare.
%patch0 -p1
%patch18 -p1 -b .jemalloc-ppc
@ -302,12 +307,6 @@ This package contains results of tests executed during build.
%patch25 -p1 -b .rhbz-1219542-s390
%endif
%patch29 -p1 -b .big-endian
%patch31 -p1 -b .ppc64-s390x-curl
# Second arch patches - do we still need them?
#%patch32 -p1 -b .rust-ppc64le
#%ifarch ppc ppc64 ppc64le
#%patch35 -p1 -b .ppc-jit
#%endif
%patch37 -p1 -b .jit-atomic-lucky
%patch39 -p1 -b .fix-attr-order
@ -323,31 +322,20 @@ This package contains results of tests executed during build.
%ifarch aarch64
%patch226 -p1 -b .1354671
%endif
%if 0%{?fedora} < 28
%patch230 -p1 -b .rhbz-1537287
%endif
%patch231 -p1
%patch232 -p1 -b .CodeAlignment
%patch402 -p1 -b .1196777
%patch406 -p1 -b .256180
# Does not apply
#%ifarch %{arm}
#%if 0%{?fedora} < 26
# Workaround for mozbz#1337988
#%patch412 -p1 -b .1337988
#%endif
#%endif
%patch413 -p1 -b .1353817
# CSD - Disabled now
%patch416 -p1 -b .1399611
%patch417 -p1 -b .1416170
# Debian extension patch
# Disabled due to new pref module, see
# https://bugzilla.mozilla.org/show_bug.cgi?id=440908
#%patch500 -p1 -b .440908
# Wayland patches
%patch450 -p1 -b .1431052
%patch451 -p1 -b .1432414
%patch452 -p1 -b .1434202
%patch453 -p1 -b .1433081
%patch454 -p1 -b .remote-profile
%patch455 -p1 -b .1434572
%patch456 -p1 -b .1434565
%patch457 -p1 -b .queue-crash
# Patch for big endian platforms only
%if 0%{?big_endian}
@ -465,9 +453,6 @@ echo "ac_add_options --disable-ion" >> .mozconfig
echo "ac_add_options --disable-stylo" >> .mozconfig
%endif
# Avoid issues with rpm
chmod a-x third_party/rust/itertools/src/lib.rs
#---------------------------------------------------------------------
%build
@ -835,7 +820,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%dir %{langpackdir}
%endif
%{mozappdir}/browser/omni.ja
%{mozappdir}/browser/icons
%{mozappdir}/chrome.manifest
%{mozappdir}/run-mozilla.sh
%{mozappdir}/application.ini
@ -878,18 +862,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Wed Feb 14 2018 Jan Horak <jhorak@redhat.com> - 58.0.2-1
- Update to 58.0.2
* Tue Mar 6 2018 Martin Stransky <stransky@redhat.com> - 59.0-1
- Updated to 59.0
* Tue Feb 13 2018 Martin Stransky <stransky@redhat.com> - 58.0.1-3
- Added build fix for gcc8 by Tom Callaway
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 58.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 30 2018 Martin Stransky <stransky@redhat.com> - 58.0.1-1
- Update to 58.0.1
* Wed Jan 24 2018 Martin Stransky <stransky@redhat.com> - 58.0-4
- Enabled second arches

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +0,0 @@
diff --git a/memory/build/Utils.h b/memory/build/Utils.h
--- a/memory/build/Utils.h
+++ b/memory/build/Utils.h
@@ -67,19 +67,19 @@ constexpr size_t operator"" _MiB(unsigne
return size_t(aNum) * 1024_KiB;
}
constexpr size_t operator"" _MiB(long double aNum)
{
return size_t(aNum * 1024_KiB);
}
-constexpr long double operator""_percent(long double aPercent)
+constexpr double operator""_percent(long double aPercent)
{
- return aPercent / 100;
+ return double(aPercent) / 100;
}
// Helper for (fast) comparison of fractions without involving divisions or
// floats.
class Fraction
{
public:
explicit constexpr Fraction(size_t aNumerator, size_t aDenominator)
diff --git a/memory/build/mozjemalloc.cpp b/memory/build/mozjemalloc.cpp
--- a/memory/build/mozjemalloc.cpp
+++ b/memory/build/mozjemalloc.cpp
@@ -908,18 +908,18 @@ struct arena_bin_t
// Offset of first region in a run for this bin's size class.
uint32_t mRunFirstRegionOffset;
// Current number of runs in this bin, full or otherwise.
unsigned long mNumRuns;
// Amount of overhead runs are allowed to have.
- static constexpr long double kRunOverhead = 1.6_percent;
- static constexpr long double kRunRelaxedOverhead = 2.4_percent;
+ static constexpr double kRunOverhead = 1.6_percent;
+ static constexpr double kRunRelaxedOverhead = 2.4_percent;
// Initialize a bin for the given size class.
// The generated run sizes, for a page size of 4 KiB, are:
// size|run size|run size|run size|run
// class|size class|size class|size class|size
// 4 4 KiB 8 4 KiB 16 4 KiB 32 4 KiB
// 48 4 KiB 64 4 KiB 80 4 KiB 96 4 KiB
// 112 4 KiB 128 8 KiB 144 4 KiB 160 8 KiB

21
mozilla-1431052.patch Normal file
View File

@ -0,0 +1,21 @@
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -6948,11 +6948,15 @@ nsWindow::GetWaylandDisplay()
GdkDisplay* gdkDisplay = gdk_display_get_default();
return mIsX11Display ? nullptr :
sGdkWaylandDisplayGetWlDisplay(gdkDisplay);
}
wl_surface*
nsWindow::GetWaylandSurface()
{
- return moz_container_get_wl_surface(MOZ_CONTAINER(mContainer));
+ if (mContainer)
+ return moz_container_get_wl_surface(MOZ_CONTAINER(mContainer));
+
+ NS_WARNING("nsWindow::GetWaylandSurfaces(): We don't have any mContainer for drawing!");
+ return nullptr;
}
#endif

58
mozilla-1432414.patch Normal file
View File

@ -0,0 +1,58 @@
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
@@ -224,16 +224,17 @@ STUB(gtk_file_chooser_set_preview_widget
STUB(gtk_file_chooser_set_preview_widget_active)
STUB(gtk_file_chooser_set_select_multiple)
STUB(gtk_file_chooser_widget_get_type)
STUB(gtk_file_filter_add_pattern)
STUB(gtk_file_filter_new)
STUB(gtk_file_filter_set_name)
STUB(gtk_fixed_new)
STUB(gtk_frame_new)
+STUB(gtk_get_current_event_time)
STUB(gtk_grab_add)
STUB(gtk_grab_remove)
STUB(gtk_handle_box_new)
STUB(gtk_hbox_new)
STUB(gtk_icon_info_free)
STUB(gtk_icon_info_load_icon)
STUB(gtk_icon_set_add_source)
STUB(gtk_icon_set_new)
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -1358,23 +1358,27 @@ SetUserTimeAndStartupIDForActivatedWindo
// we don't want to reuse the timestamp next time we raise the window
GTKToolkit->SetFocusTimestamp(0);
GTKToolkit->SetDesktopStartupID(EmptyCString());
}
/* static */ guint32
nsWindow::GetLastUserInputTime()
{
- // gdk_x11_display_get_user_time tracks button and key presses,
- // DESKTOP_STARTUP_ID used to start the app, drop events from external
- // drags, WM_DELETE_WINDOW delete events, but not usually mouse motion nor
+ // gdk_x11_display_get_user_time/gtk_get_current_event_time tracks
+ // button and key presses, DESKTOP_STARTUP_ID used to start the app,
+ // drop events from external drags,
+ // WM_DELETE_WINDOW delete events, but not usually mouse motion nor
// button and key releases. Therefore use the most recent of
// gdk_x11_display_get_user_time and the last time that we have seen.
- guint32 timestamp =
- gdk_x11_display_get_user_time(gdk_display_get_default());
+ GdkDisplay* gdkDisplay = gdk_display_get_default();
+ guint32 timestamp = GDK_IS_X11_DISPLAY(gdkDisplay) ?
+ gdk_x11_display_get_user_time(gdkDisplay) :
+ gtk_get_current_event_time();
+
if (sLastUserInputTime != GDK_CURRENT_TIME &&
TimestampIsNewerThan(sLastUserInputTime, timestamp)) {
return sLastUserInputTime;
}
return timestamp;
}

51
mozilla-1433081.patch Normal file
View File

@ -0,0 +1,51 @@
diff --git a/gfx/gl/GLContextProvider.h b/gfx/gl/GLContextProvider.h
--- a/gfx/gl/GLContextProvider.h
+++ b/gfx/gl/GLContextProvider.h
@@ -21,16 +21,18 @@ namespace gl {
#define IN_GL_CONTEXT_PROVIDER_H
// Null is always there
#define GL_CONTEXT_PROVIDER_NAME GLContextProviderNull
#include "GLContextProviderImpl.h"
#undef GL_CONTEXT_PROVIDER_NAME
+#if !defined(MOZ_GL_PROVIDER)
+
#ifdef XP_WIN
#define GL_CONTEXT_PROVIDER_NAME GLContextProviderWGL
#include "GLContextProviderImpl.h"
#undef GL_CONTEXT_PROVIDER_NAME
#define GL_CONTEXT_PROVIDER_DEFAULT GLContextProviderWGL
#define DEFAULT_IMPL WGL
#endif
@@ -59,23 +61,27 @@ namespace gl {
#define GL_CONTEXT_PROVIDER_NAME GLContextProviderEAGL
#include "GLContextProviderImpl.h"
#undef GL_CONTEXT_PROVIDER_NAME
#ifndef GL_CONTEXT_PROVIDER_DEFAULT
#define GL_CONTEXT_PROVIDER_DEFAULT GLContextProviderEAGL
#endif
#endif
+#else //defined(MOZ_GL_PROVIDER)
+
#ifdef MOZ_GL_PROVIDER
#define GL_CONTEXT_PROVIDER_NAME MOZ_GL_PROVIDER
#include "GLContextProviderImpl.h"
#undef GL_CONTEXT_PROVIDER_NAME
#define GL_CONTEXT_PROVIDER_DEFAULT MOZ_GL_PROVIDER
#endif
+#endif
+
#ifdef GL_CONTEXT_PROVIDER_DEFAULT
typedef GL_CONTEXT_PROVIDER_DEFAULT GLContextProvider;
#else
typedef GLContextProviderNull GLContextProvider;
#endif
#undef IN_GL_CONTEXT_PROVIDER_H

25
mozilla-1434202.patch Normal file
View File

@ -0,0 +1,25 @@
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -3785,16 +3785,20 @@ nsWindow::Create(nsIWidget* aParent,
SetCursor(eCursor_standard);
if (aInitData->mNoAutoHide) {
gint wmd = ConvertBorderStyles(mBorderStyle);
if (wmd != -1)
gdk_window_set_decorations(mGdkWindow, (GdkWMDecoration) wmd);
}
+ if (!mIsX11Display) {
+ gtk_widget_set_app_paintable(mShell, TRUE);
+ }
+
// If the popup ignores mouse events, set an empty input shape.
if (aInitData->mMouseTransparent) {
cairo_rectangle_int_t rect = { 0, 0, 0, 0 };
cairo_region_t *region = cairo_region_create_rectangle(&rect);
gdk_window_input_shape_combine_region(mGdkWindow, region, 0, 0);
cairo_region_destroy(region);
}

16
mozilla-1434565.patch Normal file
View File

@ -0,0 +1,16 @@
diff -up mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/toolkit/components/remote/nsDBusRemoteService.cpp.1434565 mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/toolkit/components/remote/nsDBusRemoteService.cpp
--- mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/toolkit/components/remote/nsDBusRemoteService.cpp.1434565 2018-02-01 14:14:38.902873024 +0100
+++ mozilla-beta-64737c752ac4af4766ad6f82720818521f3aca24/toolkit/components/remote/nsDBusRemoteService.cpp 2018-02-01 14:18:02.906281711 +0100
@@ -89,7 +89,11 @@ nsDBusRemoteService::OpenURL(DBusMessage
errorMsg = nsPrintfCString("org.mozilla.%s.Error", mAppName.get());
reply = dbus_message_new_error(msg, errorMsg.get(), "Wrong argument");
} else {
- nsRemoteService::HandleCommandLine(commandLine, nullptr, 0);
+ guint32 timestamp = gtk_get_current_event_time();
+ if (timestamp == GDK_CURRENT_TIME) {
+ timestamp = guint32(g_get_monotonic_time() / 1000);
+ }
+ nsRemoteService::HandleCommandLine(commandLine, nullptr, timestamp);
reply = dbus_message_new_method_return(msg);
}

93
mozilla-1434572.patch Normal file
View File

@ -0,0 +1,93 @@
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
@@ -66,16 +66,17 @@ STUB(gdk_screen_get_number)
STUB(gdk_screen_get_resolution)
STUB(gdk_screen_get_rgba_visual)
STUB(gdk_screen_get_root_window)
STUB(gdk_screen_get_system_visual)
STUB(gdk_screen_get_width)
STUB(gdk_screen_height)
STUB(gdk_screen_is_composited)
STUB(gdk_screen_width)
+STUB(gdk_selection_owner_get)
STUB(gdk_set_program_class)
STUB(gdk_unicode_to_keyval)
STUB(gdk_visual_get_depth)
STUB(gdk_visual_get_system)
STUB(gdk_window_add_filter)
STUB(gdk_window_begin_move_drag)
STUB(gdk_window_begin_resize_drag)
STUB(gdk_window_destroy)
diff --git a/widget/gtk/nsClipboardWayland.cpp b/widget/gtk/nsClipboardWayland.cpp
--- a/widget/gtk/nsClipboardWayland.cpp
+++ b/widget/gtk/nsClipboardWayland.cpp
@@ -337,21 +346,68 @@ nsRetrievalContextWayland::GetTargets(in
for (int32_t j = 0; j < length; j++) {
targetList[j] = mTargetMIMETypes[j];
}
*aTargetNum = length;
return targetList;
}
+struct fastTrackClipboardData
+{
+ char* data;
+ int dataLength;
+};
+
+static void
+wayland_clipboard_contents_received(GtkClipboard *clipboard,
+ GtkSelectionData *selection_data,
+ gpointer data)
+{
+ fastTrackClipboardData* clipboardData =
+ static_cast<fastTrackClipboardData*>(data);
+
+ int contentLength = gtk_selection_data_get_length(selection_data);
+ if (contentLength > 0) {
+ clipboardData->data = reinterpret_cast<char*>(
+ g_malloc(sizeof(char)*contentLength));
+ memcpy(clipboardData->data,
+ gtk_selection_data_get_data(selection_data),
+ sizeof(char)*contentLength);
+ }
+
+ clipboardData->dataLength = contentLength;
+}
+
const char*
nsRetrievalContextWayland::GetClipboardData(const char* aMimeType,
int32_t aWhichClipboard,
uint32_t* aContentLength)
{
+ /* If actual clipboard data is owned by us we don't need to go
+ * through Wayland but we ask Gtk+ to directly call data
+ * getter callback nsClipboard::SelectionGetEvent().
+ */
+ GdkAtom selection = GetSelectionAtom(aWhichClipboard);
+ if (gdk_selection_owner_get(selection)) {
+ fastTrackClipboardData clipboardData = { nullptr, 0 };
+ gtk_clipboard_request_contents(gtk_clipboard_get(selection),
+ gdk_atom_intern(aMimeType, FALSE),
+ wayland_clipboard_contents_received,
+ &clipboardData);
+ *aContentLength = clipboardData.dataLength;
+ return static_cast<const char*>(clipboardData.data);
+ }
+
+ /* TODO: We need to implement GDK_SELECTION_PRIMARY (X11 text selection)
+ * for Wayland backend.
+ */
+ if (selection == GDK_SELECTION_PRIMARY)
+ return nullptr;
+
NS_ASSERTION(mDataOffer, "Requested data without valid data offer!");
if (!mDataOffer) {
// TODO
// Something went wrong. We're requested to provide clipboard data
// but we haven't got any from wayland. Looks like rhbz#1455915.
return nullptr;
}

26
queue-crash.patch Normal file
View File

@ -0,0 +1,26 @@
diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
--- a/widget/gtk/WindowSurfaceWayland.cpp
+++ b/widget/gtk/WindowSurfaceWayland.cpp
@@ -268,17 +268,21 @@ nsWaylandDisplay::GetShm()
if (!mShm) {
// wl_shm is not provided by Gtk so we need to query wayland directly
// See weston/simple-shm.c and create_display() for reference.
wl_registry* registry = wl_display_get_registry(mDisplay);
wl_registry_add_listener(registry, &registry_listener, this);
wl_proxy_set_queue((struct wl_proxy *)registry, mEventQueue);
- wl_display_roundtrip_queue(mDisplay, mEventQueue);
+ if (mEventQueue) {
+ wl_display_roundtrip_queue(mDisplay, mEventQueue);
+ } else {
+ wl_display_roundtrip(mDisplay);
+ }
MOZ_RELEASE_ASSERT(mShm, "Wayland registry query failed!");
}
return(mShm);
}
bool

19
remote-profile.patch Normal file
View File

@ -0,0 +1,19 @@
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 386213efebb4..990ba32acbd4 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -3995,6 +3995,14 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
}
}
+ if (!profile) {
+#ifdef MOZ_DEV_EDITION
+ profile = "dev-edition-default";
+#else
+ profile = "default";
+#endif
+ }
+
nsCOMPtr<nsIFile> mutexDir;
rv = GetSpecialSystemDirectory(OS_TemporaryDirectory, getter_AddRefs(mutexDir));
if (NS_SUCCEEDED(rv)) {

View File

@ -1,2 +1,2 @@
SHA512 (firefox-58.0.2.source.tar.xz) = ff748780492fc66b3e44c7e7641f16206e4c09514224c62d37efac2c59877bdf428a3670bfb50407166d7b505d4e2ea020626fd776b87f6abb6bc5d2e54c773f
SHA512 (firefox-langpacks-58.0.2-20180214.tar.xz) = 9c972daaab84915dce22257b99ba1210e97862f6ba7cc71a30de837e6701b2039022e98e3c9d452d16003986066d62ad2ce3392e33554dc85c195dccbe471ad0
SHA512 (2f6a4d2cf42c9d59626061d45c043817cb220814.tar.bz2) = 78d7e6da9062cdf0883097fa5bbad7c7db3f9b28dae9413e1ed880f34bb9fbfd9b2524b2c25fbca55bcf796b5023c42131758bf5bdee6c404e572bc751287215
SHA512 (firefox-langpacks-59.0-20180306.tar.xz) = 7eda70eca83679581ef3e015e066f9d1a338bf7aab54f3f851a04d68d3155190d5e03cafca1f9716ff33648d78fec74ec07c2041a9a81c7aed5f8649ca367712