summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2018-10-23 13:20:58 +0200
committerThomas Deutschmann <whissi@gentoo.org>2018-10-23 13:21:29 +0200
commit7182d50a95a5c28c192eab2fb280f0edf1849c51 (patch)
tree5ee734ba65fc1f5fbe3604a16e3d6bd3c2ba67b6
parentsys-apps/mount-gtk: Version 1.4.4 (diff)
downloadgentoo-7182d50a95a5c28c192eab2fb280f0edf1849c51.tar.gz
gentoo-7182d50a95a5c28c192eab2fb280f0edf1849c51.tar.bz2
gentoo-7182d50a95a5c28c192eab2fb280f0edf1849c51.zip
www-client/firefox: adjust requirements
- Warn user when USE=lto is set but used compiler is outdated. [Bug #666784] - Enforce >=rust-1.28.0. [Bug #669394] - Disable ELF hack again. [Bug #669382] - Enforce usage of >=dev-libs/nss-3.39. [Bug #669374] Bug: https://bugs.gentoo.org/666784 Closes: https://bugs.gentoo.org/669394 Closes: https://bugs.gentoo.org/669382 Closes: https://bugs.gentoo.org/669374 Package-Manager: Portage-2.3.51, Repoman-2.3.11 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
-rw-r--r--www-client/firefox/firefox-63.0.ebuild45
1 files changed, 36 insertions, 9 deletions
diff --git a/www-client/firefox/firefox-63.0.ebuild b/www-client/firefox/firefox-63.0.ebuild
index 6e0770397bd..bdf96239340 100644
--- a/www-client/firefox/firefox-63.0.ebuild
+++ b/www-client/firefox/firefox-63.0.ebuild
@@ -52,7 +52,7 @@ SRC_URI="${SRC_URI}
${PATCH_URIS[@]}"
CDEPEND="
- >=dev-libs/nss-3.38
+ >=dev-libs/nss-3.39
>=dev-libs/nspr-4.19
>=app-text/hunspell-1.5.4:=
dev-libs/atk
@@ -115,14 +115,8 @@ DEPEND="${CDEPEND}
>=sys-devel/lld-4.0.1
)
pulseaudio? ( media-sound/pulseaudio )
- elibc_glibc? (
- virtual/cargo
- virtual/rust
- )
- elibc_musl? (
- virtual/cargo
- virtual/rust
- )
+ >=virtual/cargo-1.28.0
+ >=virtual/rust-1.28.0
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )"
@@ -288,14 +282,41 @@ src_configure() {
filter-flags -flto*
if use lto ; then
+ local show_old_compiler_warning=
+
if use clang ; then
+ # At this stage CC is adjusted and the following check will
+ # will work
+ if [[ $(clang-major-version) -lt 7 ]]; then
+ show_old_compiler_warning=1
+ fi
+
# Upstream only supports lld when using clang
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
else
+ if [[ $(gcc-major-version) -lt 8 ]]; then
+ show_old_compiler_warning=1
+ fi
+
# Linking only works when using ld.gold when LTO is enabled
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
fi
+ if [[ -n "${show_old_compiler_warning}" ]]; then
+ # Checking compiler's major version uses CC variable. Because we allow
+ # user to control used compiler via USE=clang flag, we cannot use
+ # initial value. So this is the earliest stage where we can do this check
+ # because pkg_pretend is not called in the main phase function sequence
+ # environment saving is not guaranteed so we don't know if we will have
+ # correct compiler until now.
+ ewarn ""
+ ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
+ ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
+ ewarn ""
+ sleep 5
+ fi
+
+
mozconfig_annotate '+lto' --enable-lto=thin
else
# Avoid auto-magic on linker
@@ -421,6 +442,12 @@ src_configure() {
# disable webrtc for now, bug 667642
use arm && mozconfig_annotate 'broken on arm' --disable-webrtc
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
+ # bug #669382
+ mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig