MozillaFirefox/MozillaFirefox.spec
branchfirefox68
changeset 1097 840132a4a9b3
parent 1096 4c248180e576
child 1098 538cbf0bbdca
--- a/MozillaFirefox/MozillaFirefox.spec	Mon Jul 08 12:56:52 2019 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Wed Jul 10 08:14:34 2019 +0200
@@ -2,7 +2,7 @@
 # spec file for package MozillaFirefox
 #
 # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
-#               2006-2019 Wolfgang Rosenauer
+#               2006-2019 Wolfgang Rosenauer <wr@rosenauer.org>
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,13 @@
 
 
 # changed with every update
-%define major          67
-%define mainver        %major.0.4
-%define orig_version   67.0.4
+%define major          68
+%define mainver        %major.0
+%define orig_version   68.0
 %define orig_suffix    %{nil}
 %define update_channel release
 %define branding       1
-%define releasedate    20190619235627
+%define releasedate    20190705220548
 %define source_prefix  firefox-%{orig_version}
 
 # always build with GCC as SUSE Security Team requires that
@@ -70,7 +70,7 @@
 %else
 BuildRequires:  gcc-c++
 %endif
-BuildRequires:  cargo >= 1.32
+BuildRequires:  cargo >= 1.34
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libidl-devel
@@ -79,14 +79,14 @@
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
 BuildRequires:  mozilla-nspr-devel >= 4.21
-BuildRequires:  mozilla-nss-devel >= 3.43
+BuildRequires:  mozilla-nss-devel >= 3.44.1
 BuildRequires:  nasm >= 2.13
 BuildRequires:  nodejs >= 8.11
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
 BuildRequires:  python3 >= 3.5
-BuildRequires:  rust >= 1.32
-BuildRequires:  rust-cbindgen >= 0.8.2
+BuildRequires:  rust >= 1.34
+BuildRequires:  rust-cbindgen >= 0.8.7
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
 BuildRequires:  update-desktop-files
@@ -95,7 +95,7 @@
 BuildRequires:  yasm
 BuildRequires:  zip
 %if 0%{?suse_version} < 1550
-BuildRequires:  pkgconfig(gconf-2.0)
+BuildRequires:  pkgconfig(gconf-2.0) >= 1.2.1
 %endif
 BuildRequires:  pkgconfig(gdk-x11-2.0)
 BuildRequires:  pkgconfig(glib-2.0) >= 2.22
@@ -138,6 +138,7 @@
 Source1:        MozillaFirefox.desktop
 Source2:        MozillaFirefox-rpmlintrc
 Source3:        mozilla.sh.in
+Source4:        tar_stamps
 Source5:        source-stamp.txt
 Source6:        kde.js
 Source7:        l10n-%{orig_version}%{orig_suffix}.tar.xz
@@ -147,7 +148,7 @@
 Source11:       firefox.1
 Source12:       mozilla-get-app-id
 Source13:       spellcheck.js
-Source14:       create-tar.sh
+Source14:       https://github.com/openSUSE/firefox-scripts/raw/master/create-tar.sh
 Source15:       firefox-appdata.xml
 Source16:       MozillaFirefox.changes
 # Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
@@ -155,18 +156,24 @@
 # please get your own set of keys.
 Source18:       mozilla-api-key
 Source19:       google-api-key
-Source20:       http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz.asc
+Source20:       https://ftp.mozilla.org/pub/%{progname}/releases/%{version}/source/%{progname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
 Source21:       mozilla.keyring
 # Gecko/Toolkit
 Patch1:         mozilla-nongnome-proxies.patch
 Patch2:         mozilla-kde.patch
 Patch3:         mozilla-ntlm-full-path.patch
 Patch4:         mozilla-openaes-decl.patch
-Patch7:         mozilla-aarch64-startup-crash.patch
-Patch9:         mozilla-bmo1463035.patch
-Patch10:        mozilla-cubeb-noreturn.patch
-Patch11:        mozilla-fix-aarch64-libopus.patch
-Patch12:        mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
+Patch5:         mozilla-aarch64-startup-crash.patch
+Patch6:         mozilla-bmo1463035.patch
+Patch7:         mozilla-cubeb-noreturn.patch
+Patch8:         mozilla-fix-aarch64-libopus.patch
+Patch9:         mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
+Patch10:        mozilla-gcc-internal-compiler-error.patch
+Patch11:        mozilla-s390-context.patch
+Patch12:        mozilla-s390-bigendian.patch
+Patch13:        mozilla-reduce-rust-debuginfo.patch
+Patch14:        mozilla-ppc-altivec_static_inline.patch
+Patch15:        mozilla-bmo1005535.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -209,7 +216,7 @@
 %package translations-common
 Summary:        Common translations for %{appname}
 Group:          System/Localization
-Provides:       locale(%{name}:ar;ca;cs;da;de;en_GB;el;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)
+Provides:       locale(%{name}: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)
 Requires:       %{name} = %{version}
 Obsoletes:      %{name}-translations < %{version}-%{release}
 
@@ -262,6 +269,15 @@
 
 %prep
 %if %localize
+
+# If generated incorrectly, the tarball will be ~270B in
+# size, so 1MB seems like good enough limit to check.
+MINSIZE=1048576
+if (( $(stat -c%s "%{SOURCE7}") < MINSIZE)); then
+    echo "Translations tarball %{SOURCE7} not generated properly."
+    exit 1
+fi
+
 %setup -q -n %{source_prefix} -b 7 -b 10
 %else
 %setup -q -n %{source_prefix}
@@ -271,11 +287,19 @@
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
 %patch7 -p1
+%patch8 -p1
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
+%ifarch s390x
 %patch12 -p1
+%endif
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
@@ -283,7 +307,7 @@
 
 %build
 # no need to add build time to binaries
-modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/MozillaFirefox.changes")"
+modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
 TIME="\"$(date -d "${modified}" "+%%R")\""
 find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
@@ -441,7 +465,7 @@
         rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
         # check against the fixed common list and sort into the right filelist
         _matched=0
-        for _match in ar ca cs da de en-GB el 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
+        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