diff options
Diffstat (limited to 'www-client/firefox/firefox-65.0.2.ebuild')
-rw-r--r-- | www-client/firefox/firefox-65.0.2.ebuild | 89 |
1 files changed, 66 insertions, 23 deletions
diff --git a/www-client/firefox/firefox-65.0.2.ebuild b/www-client/firefox/firefox-65.0.2.ebuild index 7966a6c83ad8..e63fa5bcdcd1 100644 --- a/www-client/firefox/firefox-65.0.2.ebuild +++ b/www-client/firefox/firefox-65.0.2.ebuild @@ -30,9 +30,11 @@ fi PATCH="${PN}-65.0-patches-04" MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases" -inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \ - mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2 \ - virtualx +LLVM_MAX_SLOT=8 + +inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \ + gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \ + autotools mozlinguas-v2 virtualx DESCRIPTION="Firefox Web Browser" HOMEPAGE="https://www.mozilla.com/firefox" @@ -88,10 +90,10 @@ CDEPEND=" system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 ) system-icu? ( >=dev-libs/icu-60.2:= ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0= ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) system-libvpx? ( >=media-libs/libvpx-1.7.0:0=[postproc] - <media-libs/libvpx-1.8 + <media-libs/libvpx-1.8:0=[postproc] ) system-sqlite? ( >=dev-db/sqlite-3.25.3:3[secure-delete,debug=] ) system-webp? ( >=media-libs/libwebp-1.0.1:0= ) @@ -114,12 +116,34 @@ DEPEND="${CDEPEND} >=net-libs/nodejs-8.11.0 >=sys-devel/binutils-2.30 sys-apps/findutils - >=sys-devel/llvm-4.0.1 - >=sys-devel/clang-4.0.1 - clang? ( - >=sys-devel/llvm-4.0.1[gold] - >=sys-devel/lld-4.0.1 - pgo? ( >=sys-libs/compiler-rt-sanitizers-4.0.1[profile] ) + || ( + ( + sys-devel/clang:8 + !clang? ( sys-devel/llvm:8 ) + clang? ( + =sys-devel/lld-8* + sys-devel/llvm:8[gold] + pgo? ( =sys-libs/compiler-rt-sanitizers-8*[profile] ) + ) + ) + ( + sys-devel/clang:7 + !clang? ( sys-devel/llvm:7 ) + clang? ( + =sys-devel/lld-7* + sys-devel/llvm:7[gold] + pgo? ( =sys-libs/compiler-rt-sanitizers-7*[profile] ) + ) + ) + ( + sys-devel/clang:6 + !clang? ( sys-devel/llvm:6 ) + clang? ( + =sys-devel/lld-6* + sys-devel/llvm:6[gold] + pgo? ( =sys-libs/compiler-rt-sanitizers-6*[profile] ) + ) + ) ) pulseaudio? ( media-sound/pulseaudio ) >=virtual/cargo-1.30.0 @@ -146,7 +170,26 @@ if [[ -z $GMP_PLUGIN_LIST ]] ; then fi llvm_check_deps() { - has_version "sys-devel/clang:${LLVM_SLOT}" + if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then + ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." + return 1 + fi + + if use clang ; then + if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then + ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." + return 1 + fi + + if use pgo ; then + if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." + return 1 + fi + fi + fi + + einfo "Will use LLVM slot ${LLVM_SLOT}!" } pkg_setup() { @@ -319,10 +362,17 @@ src_configure() { fi if ! use cpu_flags_x86_avx2 ; then - # due to a GCC bug, GCC will produce AVX2 instructions - # even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html - einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto" - append-ldflags -fdisable-ipa-cdtor + local _gcc_version_with_ipa_cdtor_fix="8.3" + local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)" + + if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then + # due to a GCC bug, GCC will produce AVX2 instructions + # even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html + einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto" + append-ldflags -fdisable-ipa-cdtor + else + einfo "No GCC workaround required, GCC version is already patched!" + fi else einfo "No GCC workaround required, system supports AVX2" fi @@ -425,13 +475,6 @@ src_configure() { mozconfig_annotate '' --enable-rust-simd fi - # skia has no support for big-endian platforms - if [[ $(tc-endian) == "big" ]] ; then - mozconfig_annotate 'big endian target' --disable-skia - else - mozconfig_annotate '' --enable-skia - fi - # use the gtk3 toolkit (the only one supported at this point) # TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]? mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 |