1 |
commit: 7182d50a95a5c28c192eab2fb280f0edf1849c51 |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Oct 23 11:20:58 2018 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Oct 23 11:21:29 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7182d50a |
7 |
|
8 |
www-client/firefox: adjust requirements |
9 |
|
10 |
- Warn user when USE=lto is set but used compiler is outdated. |
11 |
[Bug #666784] |
12 |
|
13 |
- Enforce >=rust-1.28.0. [Bug #669394] |
14 |
|
15 |
- Disable ELF hack again. [Bug #669382] |
16 |
|
17 |
- Enforce usage of >=dev-libs/nss-3.39. [Bug #669374] |
18 |
|
19 |
Bug: https://bugs.gentoo.org/666784 |
20 |
Closes: https://bugs.gentoo.org/669394 |
21 |
Closes: https://bugs.gentoo.org/669382 |
22 |
Closes: https://bugs.gentoo.org/669374 |
23 |
Package-Manager: Portage-2.3.51, Repoman-2.3.11 |
24 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
25 |
|
26 |
www-client/firefox/firefox-63.0.ebuild | 45 +++++++++++++++++++++++++++------- |
27 |
1 file changed, 36 insertions(+), 9 deletions(-) |
28 |
|
29 |
diff --git a/www-client/firefox/firefox-63.0.ebuild b/www-client/firefox/firefox-63.0.ebuild |
30 |
index 6e0770397bd..bdf96239340 100644 |
31 |
--- a/www-client/firefox/firefox-63.0.ebuild |
32 |
+++ b/www-client/firefox/firefox-63.0.ebuild |
33 |
@@ -52,7 +52,7 @@ SRC_URI="${SRC_URI} |
34 |
${PATCH_URIS[@]}" |
35 |
|
36 |
CDEPEND=" |
37 |
- >=dev-libs/nss-3.38 |
38 |
+ >=dev-libs/nss-3.39 |
39 |
>=dev-libs/nspr-4.19 |
40 |
>=app-text/hunspell-1.5.4:= |
41 |
dev-libs/atk |
42 |
@@ -115,14 +115,8 @@ DEPEND="${CDEPEND} |
43 |
>=sys-devel/lld-4.0.1 |
44 |
) |
45 |
pulseaudio? ( media-sound/pulseaudio ) |
46 |
- elibc_glibc? ( |
47 |
- virtual/cargo |
48 |
- virtual/rust |
49 |
- ) |
50 |
- elibc_musl? ( |
51 |
- virtual/cargo |
52 |
- virtual/rust |
53 |
- ) |
54 |
+ >=virtual/cargo-1.28.0 |
55 |
+ >=virtual/rust-1.28.0 |
56 |
amd64? ( >=dev-lang/yasm-1.1 virtual/opengl ) |
57 |
x86? ( >=dev-lang/yasm-1.1 virtual/opengl )" |
58 |
|
59 |
@@ -288,14 +282,41 @@ src_configure() { |
60 |
filter-flags -flto* |
61 |
|
62 |
if use lto ; then |
63 |
+ local show_old_compiler_warning= |
64 |
+ |
65 |
if use clang ; then |
66 |
+ # At this stage CC is adjusted and the following check will |
67 |
+ # will work |
68 |
+ if [[ $(clang-major-version) -lt 7 ]]; then |
69 |
+ show_old_compiler_warning=1 |
70 |
+ fi |
71 |
+ |
72 |
# Upstream only supports lld when using clang |
73 |
mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld |
74 |
else |
75 |
+ if [[ $(gcc-major-version) -lt 8 ]]; then |
76 |
+ show_old_compiler_warning=1 |
77 |
+ fi |
78 |
+ |
79 |
# Linking only works when using ld.gold when LTO is enabled |
80 |
mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold |
81 |
fi |
82 |
|
83 |
+ if [[ -n "${show_old_compiler_warning}" ]]; then |
84 |
+ # Checking compiler's major version uses CC variable. Because we allow |
85 |
+ # user to control used compiler via USE=clang flag, we cannot use |
86 |
+ # initial value. So this is the earliest stage where we can do this check |
87 |
+ # because pkg_pretend is not called in the main phase function sequence |
88 |
+ # environment saving is not guaranteed so we don't know if we will have |
89 |
+ # correct compiler until now. |
90 |
+ ewarn "" |
91 |
+ ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)." |
92 |
+ ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!" |
93 |
+ ewarn "" |
94 |
+ sleep 5 |
95 |
+ fi |
96 |
+ |
97 |
+ |
98 |
mozconfig_annotate '+lto' --enable-lto=thin |
99 |
else |
100 |
# Avoid auto-magic on linker |
101 |
@@ -421,6 +442,12 @@ src_configure() { |
102 |
# disable webrtc for now, bug 667642 |
103 |
use arm && mozconfig_annotate 'broken on arm' --disable-webrtc |
104 |
|
105 |
+ if use clang ; then |
106 |
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1423822 |
107 |
+ # bug #669382 |
108 |
+ mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack |
109 |
+ fi |
110 |
+ |
111 |
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig |
112 |
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig |