summaryrefslogtreecommitdiff
path: root/waterfox/waterfox.spec
diff options
context:
space:
mode:
Diffstat (limited to 'waterfox/waterfox.spec')
-rw-r--r--waterfox/waterfox.spec295
1 files changed, 188 insertions, 107 deletions
diff --git a/waterfox/waterfox.spec b/waterfox/waterfox.spec
index 2d29467..ea4b2bd 100644
--- a/waterfox/waterfox.spec
+++ b/waterfox/waterfox.spec
@@ -1,6 +1,6 @@
-%global commit ff4597172229f8d71940c3885b74b903b7b1821a
+%global commit eeb3b0b1fd0e42ea902f3f3731f1265597e6627d
%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20181217
+%global date 20190411
%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
@@ -20,7 +25,12 @@ ExcludeArch: armv7hl
%global system_ffi 1
%global system_cairo 0
%global system_harfbuzz 1
+# libvpx is too new for Firefox 65
+%if 0%{?fedora} < 30
%global system_libvpx 1
+%else
+%global system_libvpx 0
+%endif
%global system_webp 1
%global system_vorbis 1
%global system_libicu 0
@@ -35,6 +45,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 +64,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
@@ -63,33 +76,39 @@ ExcludeArch: armv7hl
%global disable_elfhack 1
%endif
+# Set to build with pinned rust version
+# This enables stylo build when default rust version is not supported
+# and a downgraded rust package exists
+%global build_with_pinned_rust 0
+%global rust_build_min_ver 1.32
+%global rust_build_min_nover 1.33
+
%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
%global waterfox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
# 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 +117,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,8 +131,8 @@ ExcludeArch: armv7hl
Summary: Waterfox Web browser
Name: waterfox
-Version: 56.2.6
-Release: 3%{?gver}%{?dist}
+Version: 56.2.8
+Release: 4%{?gver}%{?dist}
URL: https://www.waterfoxproject.org
License: MPLv1.1 or GPLv2+ or LGPLv2+
@@ -130,7 +149,7 @@ Source0: %{vc_url}/archive/%{version}/%{name}-%{version}.tar.gz
Source600: https://dl.bintray.com/phantomx/tarballs/%{freebsd_root}.tar.xz
Source10: waterfox-mozconfig
-Source12: waterfox-chinfo-default-prefs.js
+Source12: bgstack15-%{name}-prefs.js
Source20: waterfox.desktop
Source21: waterfox.sh.in
Source23: waterfox.1
@@ -144,7 +163,6 @@ Patch18: xulrunner-24.0-jemalloc-ppc.patch
Patch20: firefox-build-prbool.patch
Patch25: rhbz-1219542-s390-build.patch
Patch26: build-icu-big-endian.patch
-Patch27: mozilla-1335250.patch
Patch30: fedora-build.patch
Patch31: build-ppc64-s390x-curl.patch
Patch32: build-rust-ppc64le.patch
@@ -153,8 +171,6 @@ Patch36: build-missing-xlocale-h.patch
# Always feel lucky for unsupported platforms:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1347128
Patch37: build-jit-atomic-always-lucky.patch
-# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
-Patch38: build-cacheFlush-missing.patch
Patch39: mozilla-1494037.patch
# Fedora specific patches
@@ -171,7 +187,6 @@ Patch230: rhbz-1497932.patch
Patch402: mozilla-1196777.patch
Patch406: mozilla-256180.patch
Patch413: mozilla-1353817.patch
-Patch414: mozilla-1435695.patch
Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch416: bug1375074-save-restore-x28.patch
Patch417: mozilla-1436242.patch
@@ -179,9 +194,10 @@ Patch418: https://hg.mozilla.org/integration/autoland/raw-rev/342812d23eb
Patch419: https://hg.mozilla.org/mozilla-central/raw-rev/4723934741c5#/mozilla-1320560.patch
Patch420: https://hg.mozilla.org/mozilla-central/raw-rev/97dae871389b#/mozilla-1389436.patch
-# Upstream updates
+# Upstream updates/PRs
-#Patch???: %%{vc_url}/commit/commit.patch#/wf-commit.patch
+#Patch???: %%{vc_url}/commit/commit.patch#/%%{name}-gh-commit.patch
+Patch450: %{vc_url}/pull/915.patch#/%{name}-gh-pull915.patch
# Debian patches
Patch500: mozilla-440908.patch
@@ -199,18 +215,19 @@ Patch700: %{name}-nolangpacks.patch
Patch701: %{name}-waterfoxdir-1.patch
Patch702: %{name}-waterfoxdir-2.patch
Patch703: %{name}-webrtc-gtest-libv4l2.patch
+Patch704: %{name}-fix-testing-file.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 +239,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 +260,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 +295,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,20 +307,28 @@ 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
%if 0%{?use_xvfb}
BuildRequires: xorg-x11-server-Xvfb
%endif
+%if 0%{?build_with_pgo} || !0%{?run_tests}
+BuildRequires: librsvg2
+%endif
+%if 0%{?build_with_pinned_rust}
+BuildRequires: (rust >= %{rust_build_min_ver} with rust < %{rust_build_min_nover})
+BuildRequires: (cargo >= %{rust_build_min_ver} with cargo < %{rust_build_min_nover})
+%else
BuildRequires: rust
BuildRequires: cargo
+%endif
BuildRequires: clang-devel
Obsoletes: mozilla <= 37:1.7.13
@@ -373,7 +403,6 @@ This package contains results of tests executed during build.
%patch402 -p1 -b .1196777
%patch406 -p1 -b .256180
%patch413 -p1 -b .1353817
-%patch414 -p1 -b .1435695
%ifarch %{arm}
%patch415 -p1 -b .mozilla-1238661
%endif
@@ -383,6 +412,8 @@ This package contains results of tests executed during build.
%patch419 -p1 -b .mozilla-1320560
%patch420 -p1 -b .mozilla-1389436
+%patch450 -p1 -b .pull888
+
# Debian extension patch
%patch500 -p1 -b .440908
@@ -401,7 +432,7 @@ filterdiff -x dom/svg/crashtests/crashtests.list %{freebsd_root}/patch-bug134314
> _patches/patch-bug1343147
filterdiff -x dom/security/test/csp/mochitest.ini %{freebsd_root}/patch-bug1381761 \
> _patches/patch-bug1381761
-
+
for i in 1404057 1404324 1404180 1405878 ;do
filterdiff \
-x layout/style/crashtests/crashtests.list \
@@ -413,17 +444,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
@@ -435,6 +462,7 @@ done
%patch701 -p1 -b .waterfoxdir-1
%patch702 -p1 -b .waterfoxdir-2
%patch703 -p1 -b .lv4l2
+%patch704 -p1 -b .fix-testing-file
# Patch for big endian platforms only
%if 0%{?big_endian}
@@ -445,26 +473,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 +486,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 +506,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 +522,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 +569,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 +595,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
@@ -590,6 +604,12 @@ echo "ac_add_options --without-system-icu" >> .mozconfig
echo "ac_add_options --disable-ion" >> .mozconfig
%endif
+%if 0%{?build_with_pinned_rust}
+echo "ac_add_options --enable-stylo=build" >> .mozconfig
+%else
+echo "ac_add_options --disable-stylo" >> .mozconfig
+%endif
+
# Remove executable bit to make brp-mangle-shebangs happy.
chmod -x third_party/rust/itertools/src/lib.rs
@@ -597,7 +617,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 +638,76 @@ 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
+%if 0%{?fedora} < 30
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
+%else
+# Workaround for mozbz#1531309
+MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-Werror=format-security//')
+%endif
+%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//')"
+%else
+MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wno-error=alloc-size-larger-than= -Wno-error=free-nonheap-object"
+%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 +722,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 +783,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
@@ -921,7 +980,7 @@ fi
%license %{mozappdir}/LICENSE
%{mozappdir}/browser/chrome
%{mozappdir}/browser/chrome.manifest
-%{mozappdir}/browser/defaults/preferences/waterfox-chinfo-default-prefs.js
+%{mozappdir}/browser/defaults/preferences/*.js
%{mozappdir}/browser/features
%{mozappdir}/distribution/distribution.ini
# That's Windows only
@@ -953,11 +1012,11 @@ fi
%{mozappdir}/platform.ini
%{mozappdir}/plugin-container
%{mozappdir}/gmp-clearkey
-%{mozappdir}/fonts/EmojiOneMozilla.ttf
-%if !%{?system_libicu}
+%{mozappdir}/fonts/TwemojiMozilla.ttf
+%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 +1026,31 @@ fi
#---------------------------------------------------------------------
%changelog
-* Tue Jan 15 2019 B Stack <bgstack15@gmail.com> - 56.2.6-3.20181217gitff45971
+* Mon Apr 15 2019 B Stack <bgstack15@gmail.com> - 56.2.8.1-4.20190411giteeb3b0b
- repackage for stackrpms
+* Fri Apr 12 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.8-2.20190411giteeb3b0b
+- New snapshot
+- Better rust BR version control with build_with_pinned_rust switch
+
+* Thu Mar 14 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.8-1.20190313gitfa114d4
+- New release/snapshot
+- Temporary fix to rust BR, build is failing with 1.33+
+- format-security flags changes from Fedora Firefox
+
+* Mon Mar 11 2019 Phantom X <megaphantomx at bol dot com dot br> - 56.2.7.1-3.20190303git61bdb81
+- New snapshot
+- Rework MOZ_OPT_FLAGS to enable better parallel LTO build support
+
+* 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