Updated PGO build setup, spec file tweaks
This commit is contained in:
parent
3336f2b994
commit
d144fd6279
@ -16,6 +16,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 --update-channel=release
|
||||
ac_add_options --disable-system-sqlite
|
||||
# Workaround for mozbz#1341234
|
||||
ac_add_options BINDGEN_CFLAGS="$(pkg-config nspr pixman-1 --cflags)"
|
||||
|
||||
|
105
firefox.spec
105
firefox.spec
@ -1,36 +1,27 @@
|
||||
%global system_nss 1
|
||||
%global system_sqlite 0
|
||||
%global system_ffi 1
|
||||
%global system_cairo 0
|
||||
%global system_libvpx 1
|
||||
%global system_libicu 0
|
||||
%global hardened_build 1
|
||||
%global system_jpeg 1
|
||||
%global run_tests 0
|
||||
%global disable_elfhack 0
|
||||
%global build_with_clang 0
|
||||
%if 0%{?fedora} >= 29
|
||||
%ifarch x86_64 aarch64
|
||||
%global build_with_clang 1
|
||||
%endif
|
||||
%endif
|
||||
%global build_with_pgo 0
|
||||
%global use_bundled_cbindgen 1
|
||||
%global build_with_pgo 1
|
||||
%global use_bundled_cbindgen 1
|
||||
%if 0%{?fedora} > 29
|
||||
%global wayland_backend_default 1
|
||||
%else
|
||||
%global wayland_backend_default 0
|
||||
%endif
|
||||
|
||||
# Big endian platforms
|
||||
%ifarch ppc64 s390x
|
||||
%global big_endian 1
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%global run_tests 0
|
||||
%else
|
||||
%global run_tests 0
|
||||
%endif
|
||||
|
||||
%bcond_without debug_build
|
||||
%if %{with debug_build}
|
||||
%else
|
||||
@ -39,10 +30,15 @@
|
||||
%global debug_build 0
|
||||
%endif
|
||||
|
||||
%global disable_elfhack 0
|
||||
#%if !0%{?build_with_clang}
|
||||
#%global disable_elfhack 1
|
||||
#%endif
|
||||
%if 0%{?build_with_pgo}
|
||||
%global use_xvfb 1
|
||||
%global build_tests 1
|
||||
%endif
|
||||
|
||||
%if !0%{?run_tests}
|
||||
%global use_xvfb 1
|
||||
%global build_tests 1
|
||||
%endif
|
||||
|
||||
%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
|
||||
%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
|
||||
@ -56,21 +52,11 @@
|
||||
|
||||
%if %{?system_nss}
|
||||
%global nspr_version 4.19
|
||||
# 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.
|
||||
#%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536)
|
||||
%global nspr_build_version %{nspr_version}
|
||||
%global nss_version 3.40.1
|
||||
#%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536)
|
||||
%global nss_build_version %{nss_version}
|
||||
%endif
|
||||
|
||||
%if %{?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)
|
||||
%endif
|
||||
|
||||
%global mozappdir %{_libdir}/%{name}
|
||||
%global mozappdirdev %{_libdir}/%{name}-devel-%{version}
|
||||
%global langpackdir %{mozappdir}/langpacks
|
||||
@ -90,7 +76,8 @@
|
||||
Summary: Mozilla Firefox Web browser
|
||||
Name: firefox
|
||||
Version: 64.0
|
||||
Release: 2%{?pre_tag}%{?dist}
|
||||
|
||||
Release: 3%{?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
|
||||
@ -166,9 +153,6 @@ BuildRequires: pkgconfig(nspr) >= %{nspr_version}
|
||||
BuildRequires: pkgconfig(nss) >= %{nss_version}
|
||||
BuildRequires: nss-static >= %{nss_version}
|
||||
%endif
|
||||
%if %{?system_cairo}
|
||||
BuildRequires: pkgconfig(cairo) >= %{cairo_version}
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
%if %{?system_jpeg}
|
||||
BuildRequires: libjpeg-devel
|
||||
@ -246,16 +230,11 @@ Requires: nss >= 3.29.3-1.1
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: system-bookmarks
|
||||
%if %{?system_sqlite}
|
||||
BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version}
|
||||
Requires: sqlite >= %{sqlite_build_version}
|
||||
%endif
|
||||
|
||||
%if %{?system_ffi}
|
||||
BuildRequires: pkgconfig(libffi)
|
||||
%endif
|
||||
|
||||
%if %{?run_tests}
|
||||
%if 0%{?use_xvfb}
|
||||
BuildRequires: xorg-x11-server-Xvfb
|
||||
%endif
|
||||
BuildRequires: rust
|
||||
@ -391,18 +370,6 @@ echo "ac_add_options --without-system-nspr" >> .mozconfig
|
||||
echo "ac_add_options --without-system-nss" >> .mozconfig
|
||||
%endif
|
||||
|
||||
%if %{?system_sqlite}
|
||||
echo "ac_add_options --enable-system-sqlite" >> .mozconfig
|
||||
%else
|
||||
echo "ac_add_options --disable-system-sqlite" >> .mozconfig
|
||||
%endif
|
||||
|
||||
%if %{?system_cairo}
|
||||
echo "ac_add_options --enable-system-cairo" >> .mozconfig
|
||||
%else
|
||||
echo "ac_add_options --disable-system-cairo" >> .mozconfig
|
||||
%endif
|
||||
|
||||
%if %{?system_ffi}
|
||||
echo "ac_add_options --enable-system-ffi" >> .mozconfig
|
||||
%endif
|
||||
@ -446,7 +413,7 @@ echo "ac_add_options --disable-webrtc" >> .mozconfig
|
||||
echo "ac_add_options --disable-crashreporter" >> .mozconfig
|
||||
%endif
|
||||
|
||||
%if %{?run_tests}
|
||||
%if 0%{?build_tests}
|
||||
echo "ac_add_options --enable-tests" >> .mozconfig
|
||||
%endif
|
||||
|
||||
@ -462,11 +429,6 @@ echo "ac_add_options --with-system-libvpx" >> .mozconfig
|
||||
echo "ac_add_options --without-system-libvpx" >> .mozconfig
|
||||
%endif
|
||||
|
||||
%if %{?system_libicu}
|
||||
echo "ac_add_options --with-system-icu" >> .mozconfig
|
||||
%else
|
||||
echo "ac_add_options --without-system-icu" >> .mozconfig
|
||||
%endif
|
||||
%ifarch s390 s390x
|
||||
echo "ac_add_options --disable-ion" >> .mozconfig
|
||||
%endif
|
||||
@ -494,17 +456,6 @@ env CARGO_HOME=.cargo cargo install cbindgen
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
%build
|
||||
%if %{?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
|
||||
# ... and that major number of the computed build-time version matches:
|
||||
case "%{sqlite_build_version}" in
|
||||
"$sqlite_version"*) ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
||||
%endif
|
||||
|
||||
%if 0%{?use_bundled_cbindgen}
|
||||
export PATH=`pwd`/.cargo/bin:$PATH
|
||||
%endif
|
||||
@ -519,13 +470,6 @@ 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 {} ';'
|
||||
|
||||
# -fpermissive is needed to build with gcc 4.6+ which has become stricter
|
||||
#
|
||||
# Mozilla builds with -Wall with exception of a few warnings which show up
|
||||
# everywhere in the code; so, don't override that.
|
||||
#
|
||||
# Disable C++ exceptions since Mozilla code is not exception-safe
|
||||
#
|
||||
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
|
||||
#rhbz#1037063
|
||||
# -Werror=format-security causes build failures when -Wno-format is explicitly given
|
||||
@ -533,11 +477,6 @@ MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
|
||||
# Explicitly force the hardening flags for Firefox 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%{?fedora} > 23
|
||||
# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
|
||||
%endif
|
||||
# Use hardened build?
|
||||
%if %{?hardened_build}
|
||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
|
||||
%endif
|
||||
@ -603,11 +542,14 @@ MOZ_SMP_FLAGS=-j1
|
||||
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
|
||||
export MOZ_SERVICES_SYNC="1"
|
||||
export STRIP=/bin/true
|
||||
%if 0%{?build_with_pgo}
|
||||
xvfb-run ./mach build
|
||||
%else
|
||||
./mach build
|
||||
%endif
|
||||
|
||||
# create debuginfo for crash-stats.mozilla.com
|
||||
%if %{enable_mozilla_crashreporter}
|
||||
#cd %{moz_objdir}
|
||||
make -C objdir buildsymbols
|
||||
%endif
|
||||
|
||||
@ -898,8 +840,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
# That's Windows only
|
||||
%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi
|
||||
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
|
||||
#%dir %{mozappdir}/browser/extensions
|
||||
#%{mozappdir}/browser/extensions/*
|
||||
%if %{with langpacks}
|
||||
%dir %{langpackdir}
|
||||
%endif
|
||||
@ -943,6 +883,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
%changelog
|
||||
* Wed Dec 12 2018 Martin Stransky <stransky@redhat.com> - 64.0-3
|
||||
- Updated PGO build setup.
|
||||
|
||||
* Tue Dec 4 2018 Martin Stransky <stransky@redhat.com> - 64.0-2
|
||||
- Updated to Firefox 64 (Build 3)
|
||||
- Built with Clang on some arches.
|
||||
|
Loading…
Reference in New Issue
Block a user