summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--waterfox/.gitignore1
-rw-r--r--waterfox/stackrpms-2019-03-06.diff134
-rwxr-xr-xwaterfox/stackrpms-diff.sh3
-rw-r--r--waterfox/waterfox-chinfo-default-prefs.js4
-rw-r--r--waterfox/waterfox.sh.in2
-rw-r--r--waterfox/waterfox.spec225
6 files changed, 270 insertions, 99 deletions
diff --git a/waterfox/.gitignore b/waterfox/.gitignore
index 44c08e1..70279b3 100644
--- a/waterfox/.gitignore
+++ b/waterfox/.gitignore
@@ -1,3 +1,2 @@
/FreeBSD-*.patch
/wf-*.patch
-!/wf-pull-547.patch
diff --git a/waterfox/stackrpms-2019-03-06.diff b/waterfox/stackrpms-2019-03-06.diff
new file mode 100644
index 0000000..f05d9fd
--- /dev/null
+++ b/waterfox/stackrpms-2019-03-06.diff
@@ -0,0 +1,134 @@
+diff -x 'stackrpms*.diff' -x 'stackrpms*.sh' -x '*z' -x '.*.swp' -Naur chinforpms/waterfox/distribution.ini stackrpms/waterfox/distribution.ini
+--- chinforpms/waterfox/distribution.ini 2018-11-05 14:29:34.793145640 -0500
++++ stackrpms/waterfox/distribution.ini 2019-01-15 11:12:47.458208372 -0500
+@@ -1,9 +1,9 @@
+ [Global]
+-id=chinforpms
++id=stackrpms
+ version=1.0
+ about=Waterfox for Fedora
+
+ [Preferences]
+-app.distributor=chinforpms
+-app.distributor.channel=chinforpms
+-app.partner.fedora=chinforpms
++app.distributor=stackrpms
++app.distributor.channel=stackrpms
++app.partner.fedora=stackrpms
+diff -x 'stackrpms*.diff' -x 'stackrpms*.sh' -x '*z' -x '.*.swp' -Naur chinforpms/waterfox/issue2947383002_1.diff stackrpms/waterfox/issue2947383002_1.diff
+--- chinforpms/waterfox/issue2947383002_1.diff 2018-11-05 14:29:34.794145647 -0500
++++ stackrpms/waterfox/issue2947383002_1.diff 1969-12-31 19:00:00.000000000 -0500
+@@ -1,60 +0,0 @@
+-Index: webrtc/common_audio/vad/vad_core.c
+-diff --git a/webrtc/common_audio/vad/vad_core.c b/webrtc/common_audio/vad/vad_core.c
+-index 0340165eb5050ec9fbc386f6d373d0d90a4868f1..1a3889c36787f7bf993692e8fe7781c2ae35e2c2 100644
+---- a/webrtc/common_audio/vad/vad_core.c
+-+++ b/webrtc/common_audio/vad/vad_core.c
+-@@ -115,8 +115,8 @@ static int32_t WeightedAverage(int16_t* data, int16_t offset,
+- // undefined behavior, so not a good idea; this just makes UBSan ignore the
+- // violation, so that our old code can continue to do what it's always been
+- // doing.)
+--static inline int32_t OverflowingMulS16ByS32ToS32(int16_t a, int32_t b)
+-- RTC_NO_SANITIZE("signed-integer-overflow") {
+-+static inline int32_t RTC_NO_SANITIZE("signed-integer-overflow")
+-+ OverflowingMulS16ByS32ToS32(int16_t a, int32_t b) {
+- return a * b;
+- }
+-
+-Index: webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
+-diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c b/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
+-index 039bbc8af7ec26e286dfc94b4383428e5e6e863b..dc8bcf3f481012caab8718430aa9242cf91ad480 100644
+---- a/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
+-+++ b/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
+-@@ -193,16 +193,16 @@ static void CalcCorrelation(int32_t *PSpecQ12, int32_t *CorrQ7)
+- // undefined behavior, so not a good idea; this just makes UBSan ignore the
+- // violations, so that our old code can continue to do what it's always been
+- // doing.)
+--static inline int32_t OverflowingMulS16S32ToS32(int16_t a, int32_t b)
+-- RTC_NO_SANITIZE("signed-integer-overflow") {
+-+static inline int32_t RTC_NO_SANITIZE("signed-integer-overflow")
+-+ OverflowingMulS16S32ToS32(int16_t a, int32_t b) {
+- return a * b;
+- }
+--static inline int32_t OverflowingAddS32S32ToS32(int32_t a, int32_t b)
+-- RTC_NO_SANITIZE("signed-integer-overflow") {
+-+static inline int32_t RTC_NO_SANITIZE("signed-integer-overflow")
+-+ OverflowingAddS32S32ToS32(int32_t a, int32_t b) {
+- return a + b;
+- }
+--static inline int32_t OverflowingSubS32S32ToS32(int32_t a, int32_t b)
+-- RTC_NO_SANITIZE("signed-integer-overflow") {
+-+static inline int32_t RTC_NO_SANITIZE("signed-integer-overflow")
+-+ OverflowingSubS32S32ToS32(int32_t a, int32_t b) {
+- return a - b;
+- }
+-
+-Index: webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c
+-diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c b/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c
+-index 2b92acb64a3d7dd268574abb57a24850b60cb3d1..b69a885f34de9eaa762a69f11d84cc8bec637376 100644
+---- a/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c
+-+++ b/webrtc/modules/audio_coding/codecs/isac/fix/source/lattice.c
+-@@ -209,8 +209,8 @@ void WebRtcIsacfix_NormLatticeFilterMa(size_t orderCoef,
+- // Left shift of an int32_t that's allowed to overflow. (It's still undefined
+- // behavior, so not a good idea; this just makes UBSan ignore the violation, so
+- // that our old code can continue to do what it's always been doing.)
+--static inline int32_t OverflowingLShiftS32(int32_t x, int shift)
+-- RTC_NO_SANITIZE("shift") {
+-+static inline int32_t RTC_NO_SANITIZE("shift")
+-+ OverflowingLShiftS32(int32_t x, int shift) {
+- return x << shift;
+- }
+-
+diff -x 'stackrpms*.diff' -x 'stackrpms*.sh' -x '*z' -x '.*.swp' -Naur chinforpms/waterfox/waterfox-cubeb-build.patch stackrpms/waterfox/waterfox-cubeb-build.patch
+--- chinforpms/waterfox/waterfox-cubeb-build.patch 2018-11-05 14:29:34.795145654 -0500
++++ stackrpms/waterfox/waterfox-cubeb-build.patch 1969-12-31 19:00:00.000000000 -0500
+@@ -1,8 +0,0 @@
+---- Waterfox-56.0.2/media/libcubeb/src/moz.build.cubebbuild 2018-01-05 16:39:00.921101411 -0200
+-+++ Waterfox-56.0.2/media/libcubeb/src/moz.build 2018-01-05 16:40:44.948718748 -0200
+-@@ -89,4 +89,4 @@ CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
+- CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
+-
+- # We allow warnings for third-party code that can be updated from upstream.
+--AllowCompilerWarnings()
+-+ALLOW_COMPILER_WARNINGS = True
+diff -x 'stackrpms*.diff' -x 'stackrpms*.sh' -x '*z' -x '.*.swp' -Naur chinforpms/waterfox/waterfox-mozconfig stackrpms/waterfox/waterfox-mozconfig
+--- chinforpms/waterfox/waterfox-mozconfig 2019-01-15 11:35:07.704294765 -0500
++++ stackrpms/waterfox/waterfox-mozconfig 2019-01-17 07:54:36.258797151 -0500
+@@ -41,4 +41,4 @@
+ ac_add_options --with-app-name=waterfox
+ ac_add_options --with-app-basename=Waterfox
+ ac_add_options --with-branding=browser/branding/unofficial
+-ac_add_options --with-distribution-id=chinforpms
++ac_add_options --with-distribution-id=stackrpms
+diff -x 'stackrpms*.diff' -x 'stackrpms*.sh' -x '*z' -x '.*.swp' -Naur chinforpms/waterfox/waterfox.spec stackrpms/waterfox/waterfox.spec
+--- chinforpms/waterfox/waterfox.spec 2019-03-06 07:48:49.852601972 -0500
++++ stackrpms/waterfox/waterfox.spec 2019-03-06 08:29:09.565750261 -0500
+@@ -91,7 +91,8 @@
+ %global webp_version 1.0.0
+ %endif
+ %if 0%{?system_vorbis}
+-%global ogg_version 1.3.3
++# decrease this to fc28 libogg version and hope it works 2018-09-14
++%global ogg_version 1.3.2
+ %global vorbis_version 1.3.5
+ %endif
+
+@@ -119,7 +120,7 @@
+ Summary: Waterfox Web browser
+ Name: waterfox
+ Version: 56.2.7.1
+-Release: 2%{?gver}%{?dist}
++Release: 3%{?gver}%{?dist}
+ URL: https://www.waterfoxproject.org
+ License: MPLv1.1 or GPLv2+ or LGPLv2+
+
+@@ -992,6 +993,9 @@
+ #---------------------------------------------------------------------
+
+ %changelog
++* Wed Mar 6 2019 B Stack <bgstack15@gmail.com> - 56.2.7.1-3.20190201gitf367fd2
++- repackage for stackrpms
++
+ * Wed Feb 13 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.7.1-2.20190201gitf367fd2
+ - LTO and fixes to build with it
+
diff --git a/waterfox/stackrpms-diff.sh b/waterfox/stackrpms-diff.sh
new file mode 100755
index 0000000..4d4ed17
--- /dev/null
+++ b/waterfox/stackrpms-diff.sh
@@ -0,0 +1,3 @@
+# use this file to display the differences between chinfo upstream and my work.
+# usage: stackrpms/waterfox/stackrpms-diff.sh | vi
+diff -x stackrpms*.diff -x stackrpms*.sh -x *z -x .*.swp -Naur chinforpms/waterfox stackrpms/waterfox
diff --git a/waterfox/waterfox-chinfo-default-prefs.js b/waterfox/waterfox-chinfo-default-prefs.js
index acc7de5..cc12293 100644
--- a/waterfox/waterfox-chinfo-default-prefs.js
+++ b/waterfox/waterfox-chinfo-default-prefs.js
@@ -16,8 +16,8 @@ pref("network.manage-offline-status", true);
pref("extensions.shownSelectionUI", true);
pref("ui.SpellCheckerUnderlineStyle", 1);
pref("startup.homepage_override_url", "");
-pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=http://start.fedoraproject.org/");
-pref("browser.newtabpage.pinned", '[{"url":"http://start.fedoraproject.org/","title":"Fedora Project - Start Page"}]');
+pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=https://start.fedoraproject.org/");
+pref("browser.newtabpage.pinned", '[{"url":"https://start.fedoraproject.org/","title":"Fedora Project - Start Page"}]');
pref("media.gmp-gmpopenh264.provider.enabled",false);
pref("media.gmp-gmpopenh264.autoupdate",false);
pref("media.gmp-gmpopenh264.enabled",false);
diff --git a/waterfox/waterfox.sh.in b/waterfox/waterfox.sh.in
index 70bc25f..2dd1ee8 100644
--- a/waterfox/waterfox.sh.in
+++ b/waterfox/waterfox.sh.in
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
diff --git a/waterfox/waterfox.spec b/waterfox/waterfox.spec
index 2d29467..c367f00 100644
--- a/waterfox/waterfox.spec
+++ b/waterfox/waterfox.spec
@@ -1,6 +1,6 @@
-%global commit ff4597172229f8d71940c3885b74b903b7b1821a
+%global commit f367fd24ba208519742e7370fb1478c3ed0d14c7
%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20181217
+%global date 20190201
%global with_snapshot 1
%global freebsd_rev 480450
@@ -12,6 +12,11 @@
ExcludeArch: armv7hl
+%global verbose_build 0
+%if 0%{?verbose_build}
+%global verbose_mach -v
+%endif
+
%global alsa_backend 1
%global system_nss 1
%global system_hunspell 1
@@ -35,6 +40,10 @@ ExcludeArch: armv7hl
%global build_with_pgo 1
%endif
+%ifarch x86_64
+%global build_with_lto 1
+%endif
+
# Big endian platforms
%ifarch ppc64 s390x
%global big_endian 1
@@ -50,9 +59,8 @@ ExcludeArch: armv7hl
%global build_tests 1
%endif
-%bcond_without debug_build
+%bcond_with debug_build
%if %{with debug_build}
-%else
%global debug_build 1
%else
%global debug_build 0
@@ -68,28 +76,27 @@ ExcludeArch: armv7hl
# Minimal required versions
%global cairo_version 1.13.1
%global freetype_version 2.1.9
-%if %{?system_harfbuzz}
+%if 0%{?system_harfbuzz}
%global graphite2_version 1.3.10
%global harfbuzz_version 1.4.7
%endif
-%if %{?system_libevent}
-# fc28 provided is 2.1.8, fc27 is 2.0.22
-%global libevent_version 2.0.22
+%if 0%{?system_libevent}
+%global libevent_version 2.1.8
%endif
%global libnotify_version 0.7.0
-%if %{?system_libvpx}
+%if 0%{?system_libvpx}
%global libvpx_version 1.4.0
%endif
-%if %{?system_webp}
+%if 0%{?system_webp}
%global webp_version 1.0.0
%endif
-%if %{?system_vorbis}
+%if 0%{?system_vorbis}
# decrease this to fc28 libogg version and hope it works 2018-09-14
%global ogg_version 1.3.2
%global vorbis_version 1.3.5
%endif
-%if %{?system_nss}
+%if 0%{?system_nss}
%global nspr_version 4.17.0
# NSS/NSPR quite often ends in build override, so as requirement the version
# we're building against could bring us some broken dependencies from time to time.
@@ -98,7 +105,7 @@ ExcludeArch: armv7hl
%global nss_build_version %{nss_version}
%endif
-%if %{?system_sqlite}
+%if 0%{?system_sqlite}
%global sqlite_version 3.8.4.2
# The actual sqlite version (see #480989):
%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
@@ -112,7 +119,7 @@ ExcludeArch: armv7hl
Summary: Waterfox Web browser
Name: waterfox
-Version: 56.2.6
+Version: 56.2.7.1
Release: 3%{?gver}%{?dist}
URL: https://www.waterfoxproject.org
License: MPLv1.1 or GPLv2+ or LGPLv2+
@@ -201,16 +208,16 @@ Patch702: %{name}-waterfoxdir-2.patch
Patch703: %{name}-webrtc-gtest-libv4l2.patch
-%if %{?system_nss}
+%if 0%{?system_nss}
BuildRequires: pkgconfig(nspr) >= %{nspr_version}
BuildRequires: pkgconfig(nss) >= %{nss_version}
BuildRequires: nss-static >= %{nss_version}
%endif
-%if %{?system_cairo}
+%if 0%{?system_cairo}
BuildRequires: pkgconfig(cairo) >= %{cairo_version}
%endif
BuildRequires: pkgconfig(libpng)
-%if %{?system_jpeg}
+%if 0%{?system_jpeg}
BuildRequires: libjpeg-devel
%endif
BuildRequires: zip
@@ -222,16 +229,16 @@ BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(krb5)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(freetype2) >= %{freetype_version}
-%if %{?system_harfbuzz}
+%if 0%{?system_harfbuzz}
BuildRequires: pkgconfig(graphite2) >= %{graphite2_version}
BuildRequires: pkgconfig(harfbuzz) >= %{harfbuzz_version}
%endif
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(xrender)
-%if %{?system_hunspell}
+%if 0%{?system_hunspell}
BuildRequires: pkgconfig(hunspell)
%endif
-%if %{?system_libevent}
+%if 0%{?system_libevent}
BuildRequires: pkgconfig(libevent) >= %{libevent_version}
%endif
BuildRequires: pkgconfig(libstartup-notification-1.0)
@@ -243,27 +250,32 @@ BuildRequires: pkgconfig(dri)
BuildRequires: pkgconfig(libcurl)
BuildRequires: dbus-glib-devel
BuildRequires: pkgconfig(libv4l2)
-%if %{?system_libvpx}
+%if 0%{?system_libvpx}
BuildRequires: pkgconfig(vpx) >= %{libvpx_version}
%endif
-%if %{?system_webp}
+%if 0%{?system_webp}
BuildRequires: pkgconfig(libwebp) >= %{webp_version}
%endif
-%if %{?system_vorbis}
+%if 0%{?system_vorbis}
BuildRequires: pkgconfig(ogg) >= %{ogg_version}
BuildRequires: pkgconfig(vorbis) >= %{vorbis_version}
%endif
BuildRequires: autoconf213
BuildRequires: pkgconfig(libpulse)
+%if 0%{?system_libicu}
BuildRequires: pkgconfig(icu-i18n)
+%endif
BuildRequires: yasm
BuildRequires: llvm
BuildRequires: llvm-devel
BuildRequires: clang
BuildRequires: clang-libs
%if 0%{?build_with_clang}
-#BuildRequires: lld
+BuildRequires: lld
BuildRequires: libstdc++-static
+%if 0%{?build_with_pgo}
+BuildRequires: compiler-rt
+%endif
%else
BuildRequires: gcc-c++
%endif
@@ -273,7 +285,7 @@ BuildRequires: patchutils
Requires: mozilla-filesystem
Requires: waterfox-filesystem
Requires: p11-kit-trust
-%if %{?system_nss}
+%if 0%{?system_nss}
Requires: nspr >= %{nspr_build_version}
Requires: nss >= %{nss_build_version}
%endif
@@ -285,12 +297,12 @@ Requires: nss >= 3.29.1-2.1
BuildRequires: desktop-file-utils
BuildRequires: system-bookmarks
-%if %{?system_sqlite}
+%if 0%{?system_sqlite}
BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version}
Requires: sqlite >= %{sqlite_build_version}
%endif
-%if %{?system_ffi}
+%if 0%{?system_ffi}
BuildRequires: pkgconfig(libffi)
%endif
@@ -413,17 +425,13 @@ done
# 2: no apply
# 3: uncertain
for i in \
- 702179 991253 1021761 1144632 1288587 1395486 1452576 \
+ 702179 991253 1021761 1144632 1288587 1393283 1395486 1452576 1453127 \
1388744 1413143 \
1447519
do
rm -f _patches/patch-bug${i}
done
-%if 0%{?fedora} < 28
- rm -f _patches/patch-bug730495
-%endif
-
patchcommand='patch -p0 -s -i'
for i in _patches/patch-{bug{??????,???????},revert-bug*,z-*} ;do
@@ -445,26 +453,12 @@ done
rm -f .mozconfig
cp %{SOURCE10} .mozconfig
-%if 0%{?build_with_clang}
-echo 'export LLVM_PROFDATA="llvm-profdata"' >> .mozconfig
-echo 'export CC=clang' >> .mozconfig
-echo 'export CXX=clang++' >> .mozconfig
-echo 'export AR="llvm-ar"' >> .mozconfig
-echo 'export NM="llvm-nm"' >> .mozconfig
-echo 'export RANLIB="llvm-ranlib"' >> .mozconfig
-echo "ac_add_options --enable-linker=gold" >> .mozconfig
-%else
-echo 'export CC=gcc' >> .mozconfig
-echo 'export CXX=g++' >> .mozconfig
-echo "ac_add_options --enable-linker=gold" >> .mozconfig
-%endif
%if 0%{?build_with_pgo}
echo "mk_add_options MOZ_PGO=1" >> .mozconfig
echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> .mozconfig
-#echo "ac_add_options --enable-lto" >> .mozconfig
%endif
-%if %{?system_nss}
+%if 0%{?system_nss}
echo "ac_add_options --with-system-nspr" >> .mozconfig
echo "ac_add_options --with-system-nss" >> .mozconfig
%else
@@ -472,19 +466,19 @@ echo "ac_add_options --without-system-nspr" >> .mozconfig
echo "ac_add_options --without-system-nss" >> .mozconfig
%endif
-%if %{?system_sqlite}
+%if 0%{?system_sqlite}
echo "ac_add_options --enable-system-sqlite" >> .mozconfig
%else
echo "ac_add_options --disable-system-sqlite" >> .mozconfig
%endif
-%if %{?system_cairo}
+%if 0%{?system_cairo}
echo "ac_add_options --enable-system-cairo" >> .mozconfig
%else
echo "ac_add_options --disable-system-cairo" >> .mozconfig
%endif
-%if %{?system_harfbuzz}
+%if 0%{?system_harfbuzz}
echo "ac_add_options --enable-system-graphite2" >> .mozconfig
echo "ac_add_options --enable-system-harfbuzz" >> .mozconfig
%else
@@ -492,7 +486,7 @@ echo "ac_add_options --disable-system-graphite2" >> .mozconfig
echo "ac_add_options --disable-system-harfbuzz" >> .mozconfig
%endif
-%if %{?system_ffi}
+%if 0%{?system_ffi}
echo "ac_add_options --enable-system-ffi" >> .mozconfig
%endif
@@ -508,19 +502,19 @@ echo "ac_add_options --disable-elf-hack" >> .mozconfig
echo "ac_add_options --enable-alsa" >> .mozconfig
%endif
-%if %{?system_hunspell}
+%if 0%{?system_hunspell}
echo "ac_add_options --enable-system-hunspell" >> .mozconfig
%else
echo "ac_add_options --disable-system-hunspell" >> .mozconfig
%endif
-%if %{?system_libevent}
+%if 0%{?system_libevent}
echo "ac_add_options --enable-system-libevent" >> .mozconfig
%else
echo "ac_add_options --disable-system-libevent" >> .mozconfig
%endif
-%if %{?debug_build}
+%if 0%{?debug_build}
echo "ac_add_options --enable-debug" >> .mozconfig
echo "ac_add_options --disable-optimize" >> .mozconfig
%else
@@ -555,25 +549,25 @@ echo "ac_add_options --enable-tests" >> .mozconfig
echo "ac_add_options --disable-tests" >> .mozconfig
%endif
-%if !%{?system_jpeg}
+%if !0%{?system_jpeg}
echo "ac_add_options --without-system-jpeg" >> .mozconfig
%else
echo "ac_add_options --with-system-jpeg" >> .mozconfig
%endif
-%if %{?system_libvpx}
+%if 0%{?system_libvpx}
echo "ac_add_options --with-system-libvpx" >> .mozconfig
%else
echo "ac_add_options --without-system-libvpx" >> .mozconfig
%endif
-%if %{?system_webp}
+%if 0%{?system_webp}
echo "ac_add_options --with-system-webp" >> .mozconfig
%else
echo "ac_add_options --without-system-webp" >> .mozconfig
%endif
-%if %{?system_vorbis}
+%if 0%{?system_vorbis}
echo "ac_add_options --with-system-ogg" >> .mozconfig
echo "ac_add_options --with-system-vorbis" >> .mozconfig
%else
@@ -581,7 +575,7 @@ echo "ac_add_options --without-system-ogg" >> .mozconfig
echo "ac_add_options --without-system-vorbis" >> .mozconfig
%endif
-%if %{?system_libicu}
+%if 0%{?system_libicu}
echo "ac_add_options --with-system-icu" >> .mozconfig
%else
echo "ac_add_options --without-system-icu" >> .mozconfig
@@ -597,7 +591,7 @@ chmod -x third_party/rust/itertools/src/lib.rs
#---------------------------------------------------------------------
%build
-%if %{?system_sqlite}
+%if 0%{?system_sqlite}
# Do not proceed with build if the sqlite require would be broken:
# make sure the minimum requirement is non-empty, ...
sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1
@@ -618,28 +612,69 @@ echo "Generate big endian version of config/external/icu/data/icud58l.dat"
# Update the various config.guess to upstream release for aarch64 support
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
-MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
+RPM_SMP_MFLAGS_NCPUS=$(echo %{_smp_mflags} | sed 's|-j||')
+
+RPM_NCPUS=1
+# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
+# however builds tend to fail on other arches when building in parallel.
+%ifarch %{ix86}
+[ "$RPM_SMP_MFLAGS_NCPUS" -ge 2 ] && RPM_NCPUS=2
+%endif
+%ifarch x86_64 ppc ppc64 ppc64le aarch64
+[ "$RPM_SMP_MFLAGS_NCPUS" -ge 2 ] && RPM_NCPUS=2
+[ "$RPM_SMP_MFLAGS_NCPUS" -ge 4 ] && RPM_NCPUS=4
+[ "$RPM_SMP_MFLAGS_NCPUS" -ge 8 ] && RPM_NCPUS=8
+%endif
+MOZ_SMP_FLAGS=-j$RPM_NCPUS
+
+%if 0%{?build_with_clang}
+echo "ac_add_options --enable-linker=lld" >> .mozconfig
+MOZ_OPT_FLAGS="-fuse-ld=lld"
+%else
+%ifarch %{ix86} x86_64 %{arm}
+echo "ac_add_options --enable-linker=gold" >> .mozconfig
+MOZ_OPT_FLAGS="-fuse-ld=gold"
+%endif
+%endif
+
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS $(echo "%{optflags}" | sed -e 's/-Wall//')"
#rhbz#1037063
# -Werror=format-security causes build failures when -Wno-format is explicitly given
# for some sources
# Explicitly force the hardening flags for Waterfox so it passes the checksec test;
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
+%if 0%{?build_with_clang}
+# Fedora's default compiler flags conflict with what clang supports
+MOZ_OPT_FLAGS="$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-fstack-clash-protection//')"
+%endif
%if %{?hardened_build}
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
%endif
-%if %{?debug_build}
-MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
+%if 0%{?debug_build}
+MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-O2//' -e 's/-O3//')
+%else
+export MOZ_DEBUG_FLAGS=" "
+%endif
+%if 0%{?build_with_lto}
+MOZ_OPT_FLAGS="$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-O2/-O3/' -e 's/-g/-g1/')"
+%if 0%{?build_with_clang}
+RPM_FLTO_FLAGS="-flto=thin -Wl,--thinlto-jobs=$RPM_NCPUS"
+%else
+RPM_FLTO_FLAGS="-flto=$RPM_NCPUS -fuse-linker-plugin -flifetime-dse=1 -fdisable-ipa-cdtor"
+%endif
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS $RPM_FLTO_FLAGS"
+MOZ_LINK_FLAGS="$MOZ_OPT_FLAGS"
%endif
%ifarch s390
-MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
+MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-g/-g1/')
# If MOZ_DEBUG_FLAGS is empty, waterfox's build will default it to "-g" which
# overrides the -g1 from line above and breaks building on s390
# (OOM when linking, rhbz#1238225)
export MOZ_DEBUG_FLAGS=" "
%endif
%ifarch %{arm}
-MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/')
+MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-g/-g0/')
export MOZ_DEBUG_FLAGS=" "
%endif
%if !0%{?build_with_clang}
@@ -654,54 +689,45 @@ MOZ_LINK_FLAGS="-Wl,--no-keep-memory"
%ifarch %{arm} %{ix86}
export RUSTFLAGS="-Cdebuginfo=0"
%endif
-export CFLAGS=$MOZ_OPT_FLAGS
-export CXXFLAGS=$MOZ_OPT_FLAGS
-export LDFLAGS=$MOZ_LINK_FLAGS
-
-export PREFIX='%{_prefix}'
-export LIBDIR='%{_libdir}'
%if 0%{?build_with_clang}
+export LLVM_PROFDATA="llvm-profdata"
export CC=clang
export CXX=clang++
export AR="llvm-ar"
export NM="llvm-nm"
+export RANLIB="llvm-ranlib"
%else
export CC=gcc
export CXX=g++
+export AR="gcc-ar"
+export NM="gcc-nm"
+export RANLIB="gcc-ranlib"
%endif
-smp_mflags_cpus=$(echo %{_smp_mflags} | sed 's|-j||g')
+export CFLAGS=$MOZ_OPT_FLAGS
+export CXXFLAGS=$MOZ_OPT_FLAGS
+export LDFLAGS=$MOZ_LINK_FLAGS
-MOZ_SMP_FLAGS=-j1
-# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
-# however builds tend to fail on other arches when building in parallel.
-%ifarch %{ix86}
-[ -z "$RPM_BUILD_NCPUS" ] && \
- RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
-[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
-%endif
-%ifarch x86_64 ppc ppc64 ppc64le aarch64
-[ -z "$RPM_BUILD_NCPUS" ] && \
- RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
-[ "$smp_mflags_cpus" -lt "$RPM_BUILD_NCPUS" ] && RPM_BUILD_NCPUS="$smp_mflags_cpus"
-[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
-[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
-[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
-%endif
+export PREFIX='%{_prefix}'
+export LIBDIR='%{_libdir}'
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
export MOZ_SERVICES_SYNC="1"
export MOZ_NOSPAM=1
export STRIP=/bin/true
+%if 0%{?build_with_lto}
+export TMPDIR="$(pwd)/tmpdir"
+mkdir -p "$TMPDIR"
+%endif
%if 0%{?build_with_pgo}
-SHELL=/usr/bin/bash GDK_BACKEND=x11 xvfb-run ./mach build -v
+SHELL=/usr/bin/bash GDK_BACKEND=x11 xvfb-run ./mach build %{?verbose_mach}
%else
-SHELL=/usr/bin/bash ./mach build -v
+SHELL=/usr/bin/bash ./mach build %{?verbose_mach}
%endif
%if %{?run_tests}
-%if %{?system_nss}
+%if 0%{?system_nss}
ln -s /usr/bin/certutil objdir/dist/bin/certutil
ln -s /usr/bin/pk12util objdir/dist/bin/pk12util
@@ -724,7 +750,7 @@ xvfb-run ./mach --log-no-times webapprt-test-chrome &> test_results/webapprt-tes
xvfb-run ./mach --log-no-times webapprt-test-content &> test_results/webapprt-test-content || true
./mach --log-no-times webidl-parser-test &> test_results/webidl-parser-test || true
xvfb-run ./mach --log-no-times xpcshell-test &> test_results/xpcshell-test || true
-%if %{?system_nss}
+%if 0%{?system_nss}
rm -f objdir/dist/bin/certutil
rm -f objdir/dist/bin/pk12util
%endif
@@ -954,10 +980,10 @@ fi
%{mozappdir}/plugin-container
%{mozappdir}/gmp-clearkey
%{mozappdir}/fonts/EmojiOneMozilla.ttf
-%if !%{?system_libicu}
+%if !0%{?system_libicu}
%{mozappdir}/icudt*.dat
%endif
-%if !%{?system_nss}
+%if !0%{?system_nss}
%{mozappdir}/libfreeblpriv3.chk
%{mozappdir}/libnssdbm3.chk
%{mozappdir}/libsoftokn3.chk
@@ -967,9 +993,18 @@ fi
#---------------------------------------------------------------------
%changelog
-* Tue Jan 15 2019 B Stack <bgstack15@gmail.com> - 56.2.6-3.20181217gitff45971
+* Wed Mar 6 2019 B Stack <bgstack15@gmail.com> - 56.2.7.1-3.20190201gitf367fd2
- repackage for stackrpms
+* Wed Feb 13 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.7.1-2.20190201gitf367fd2
+- LTO and fixes to build with it
+
+* Mon Feb 04 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.7.1-1.20190201gitf367fd2
+- New release/snapshot
+
+* Thu Jan 31 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.7-1.20190129git3fa3c2a
+- New release/snapshot
+
* Wed Jan 09 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.6-2.20181217gitff45971
- PGO and fixes for it to work (from Gentoo and Fedora Firefox)
- Return gcc build
bgstack15