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 --with-google-api-keyfile=../google-api-key
|
||||||
ac_add_options --enable-release
|
ac_add_options --enable-release
|
||||||
ac_add_options --update-channel=release
|
ac_add_options --update-channel=release
|
||||||
|
ac_add_options --disable-system-sqlite
|
||||||
# Workaround for mozbz#1341234
|
# Workaround for mozbz#1341234
|
||||||
ac_add_options BINDGEN_CFLAGS="$(pkg-config nspr pixman-1 --cflags)"
|
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_nss 1
|
||||||
%global system_sqlite 0
|
|
||||||
%global system_ffi 1
|
%global system_ffi 1
|
||||||
%global system_cairo 0
|
|
||||||
%global system_libvpx 1
|
%global system_libvpx 1
|
||||||
%global system_libicu 0
|
|
||||||
%global hardened_build 1
|
%global hardened_build 1
|
||||||
%global system_jpeg 1
|
%global system_jpeg 1
|
||||||
|
%global run_tests 0
|
||||||
|
%global disable_elfhack 0
|
||||||
%global build_with_clang 0
|
%global build_with_clang 0
|
||||||
%if 0%{?fedora} >= 29
|
%if 0%{?fedora} >= 29
|
||||||
%ifarch x86_64 aarch64
|
%ifarch x86_64 aarch64
|
||||||
%global build_with_clang 1
|
%global build_with_clang 1
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%global build_with_pgo 0
|
%global build_with_pgo 1
|
||||||
%global use_bundled_cbindgen 1
|
%global use_bundled_cbindgen 1
|
||||||
%if 0%{?fedora} > 29
|
%if 0%{?fedora} > 29
|
||||||
%global wayland_backend_default 1
|
%global wayland_backend_default 1
|
||||||
%else
|
%else
|
||||||
%global wayland_backend_default 0
|
%global wayland_backend_default 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Big endian platforms
|
# Big endian platforms
|
||||||
%ifarch ppc64 s390x
|
%ifarch ppc64 s390x
|
||||||
%global big_endian 1
|
%global big_endian 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %{ix86} x86_64
|
|
||||||
%global run_tests 0
|
|
||||||
%else
|
|
||||||
%global run_tests 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%bcond_without debug_build
|
%bcond_without debug_build
|
||||||
%if %{with debug_build}
|
%if %{with debug_build}
|
||||||
%else
|
%else
|
||||||
@ -39,10 +30,15 @@
|
|||||||
%global debug_build 0
|
%global debug_build 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global disable_elfhack 0
|
%if 0%{?build_with_pgo}
|
||||||
#%if !0%{?build_with_clang}
|
%global use_xvfb 1
|
||||||
#%global disable_elfhack 1
|
%global build_tests 1
|
||||||
#%endif
|
%endif
|
||||||
|
|
||||||
|
%if !0%{?run_tests}
|
||||||
|
%global use_xvfb 1
|
||||||
|
%global build_tests 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
|
%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html
|
||||||
%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
|
%global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
|
||||||
@ -56,21 +52,11 @@
|
|||||||
|
|
||||||
%if %{?system_nss}
|
%if %{?system_nss}
|
||||||
%global nspr_version 4.19
|
%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 nspr_build_version %{nspr_version}
|
||||||
%global nss_version 3.40.1
|
%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}
|
%global nss_build_version %{nss_version}
|
||||||
%endif
|
%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 mozappdir %{_libdir}/%{name}
|
||||||
%global mozappdirdev %{_libdir}/%{name}-devel-%{version}
|
%global mozappdirdev %{_libdir}/%{name}-devel-%{version}
|
||||||
%global langpackdir %{mozappdir}/langpacks
|
%global langpackdir %{mozappdir}/langpacks
|
||||||
@ -90,7 +76,8 @@
|
|||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 64.0
|
Version: 64.0
|
||||||
Release: 2%{?pre_tag}%{?dist}
|
|
||||||
|
Release: 3%{?pre_tag}%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
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://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: pkgconfig(nss) >= %{nss_version}
|
||||||
BuildRequires: nss-static >= %{nss_version}
|
BuildRequires: nss-static >= %{nss_version}
|
||||||
%endif
|
%endif
|
||||||
%if %{?system_cairo}
|
|
||||||
BuildRequires: pkgconfig(cairo) >= %{cairo_version}
|
|
||||||
%endif
|
|
||||||
BuildRequires: pkgconfig(libpng)
|
BuildRequires: pkgconfig(libpng)
|
||||||
%if %{?system_jpeg}
|
%if %{?system_jpeg}
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
@ -246,16 +230,11 @@ Requires: nss >= 3.29.3-1.1
|
|||||||
|
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: system-bookmarks
|
BuildRequires: system-bookmarks
|
||||||
%if %{?system_sqlite}
|
|
||||||
BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version}
|
|
||||||
Requires: sqlite >= %{sqlite_build_version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{?system_ffi}
|
%if %{?system_ffi}
|
||||||
BuildRequires: pkgconfig(libffi)
|
BuildRequires: pkgconfig(libffi)
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{?run_tests}
|
%if 0%{?use_xvfb}
|
||||||
BuildRequires: xorg-x11-server-Xvfb
|
BuildRequires: xorg-x11-server-Xvfb
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: rust
|
BuildRequires: rust
|
||||||
@ -391,18 +370,6 @@ echo "ac_add_options --without-system-nspr" >> .mozconfig
|
|||||||
echo "ac_add_options --without-system-nss" >> .mozconfig
|
echo "ac_add_options --without-system-nss" >> .mozconfig
|
||||||
%endif
|
%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}
|
%if %{?system_ffi}
|
||||||
echo "ac_add_options --enable-system-ffi" >> .mozconfig
|
echo "ac_add_options --enable-system-ffi" >> .mozconfig
|
||||||
%endif
|
%endif
|
||||||
@ -446,7 +413,7 @@ echo "ac_add_options --disable-webrtc" >> .mozconfig
|
|||||||
echo "ac_add_options --disable-crashreporter" >> .mozconfig
|
echo "ac_add_options --disable-crashreporter" >> .mozconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{?run_tests}
|
%if 0%{?build_tests}
|
||||||
echo "ac_add_options --enable-tests" >> .mozconfig
|
echo "ac_add_options --enable-tests" >> .mozconfig
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -462,11 +429,6 @@ echo "ac_add_options --with-system-libvpx" >> .mozconfig
|
|||||||
echo "ac_add_options --without-system-libvpx" >> .mozconfig
|
echo "ac_add_options --without-system-libvpx" >> .mozconfig
|
||||||
%endif
|
%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
|
%ifarch s390 s390x
|
||||||
echo "ac_add_options --disable-ion" >> .mozconfig
|
echo "ac_add_options --disable-ion" >> .mozconfig
|
||||||
%endif
|
%endif
|
||||||
@ -494,17 +456,6 @@ env CARGO_HOME=.cargo cargo install cbindgen
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%build
|
%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}
|
%if 0%{?use_bundled_cbindgen}
|
||||||
export PATH=`pwd`/.cargo/bin:$PATH
|
export PATH=`pwd`/.cargo/bin:$PATH
|
||||||
%endif
|
%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
|
# Update the various config.guess to upstream release for aarch64 support
|
||||||
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
|
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//')
|
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
|
||||||
#rhbz#1037063
|
#rhbz#1037063
|
||||||
# -Werror=format-security causes build failures when -Wno-format is explicitly given
|
# -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;
|
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
|
||||||
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
|
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
|
||||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
|
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}
|
%if %{?hardened_build}
|
||||||
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
|
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
|
||||||
%endif
|
%endif
|
||||||
@ -603,11 +542,14 @@ MOZ_SMP_FLAGS=-j1
|
|||||||
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
|
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
|
||||||
export MOZ_SERVICES_SYNC="1"
|
export MOZ_SERVICES_SYNC="1"
|
||||||
export STRIP=/bin/true
|
export STRIP=/bin/true
|
||||||
|
%if 0%{?build_with_pgo}
|
||||||
|
xvfb-run ./mach build
|
||||||
|
%else
|
||||||
./mach build
|
./mach build
|
||||||
|
%endif
|
||||||
|
|
||||||
# create debuginfo for crash-stats.mozilla.com
|
# create debuginfo for crash-stats.mozilla.com
|
||||||
%if %{enable_mozilla_crashreporter}
|
%if %{enable_mozilla_crashreporter}
|
||||||
#cd %{moz_objdir}
|
|
||||||
make -C objdir buildsymbols
|
make -C objdir buildsymbols
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -898,8 +840,6 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
# That's Windows only
|
# That's Windows only
|
||||||
%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi
|
%ghost %{mozappdir}/browser/features/aushelper@mozilla.org.xpi
|
||||||
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
|
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
|
||||||
#%dir %{mozappdir}/browser/extensions
|
|
||||||
#%{mozappdir}/browser/extensions/*
|
|
||||||
%if %{with langpacks}
|
%if %{with langpacks}
|
||||||
%dir %{langpackdir}
|
%dir %{langpackdir}
|
||||||
%endif
|
%endif
|
||||||
@ -943,6 +883,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%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
|
* Tue Dec 4 2018 Martin Stransky <stransky@redhat.com> - 64.0-2
|
||||||
- Updated to Firefox 64 (Build 3)
|
- Updated to Firefox 64 (Build 3)
|
||||||
- Built with Clang on some arches.
|
- Built with Clang on some arches.
|
||||||
|
Loading…
Reference in New Issue
Block a user