commit:     3c447d0d45a1b47aeef61cd468e87afd7ec5a71f
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 12 14:30:26 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Feb 12 14:32:35 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c447d0d

mail-client/thunderbird: reverting back gcc+lto restrictions

 - bfd still causes random runtime issues, sorry for anyone who were fast to
   update.

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 ...bird-78.7.1-r2.ebuild => thunderbird-78.7.1-r1.ebuild} | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/mail-client/thunderbird/thunderbird-78.7.1-r2.ebuild 
b/mail-client/thunderbird/thunderbird-78.7.1-r1.ebuild
similarity index 98%
rename from mail-client/thunderbird/thunderbird-78.7.1-r2.ebuild
rename to mail-client/thunderbird/thunderbird-78.7.1-r1.ebuild
index 3ed9c1011d4..4b0672cc37c 100644
--- a/mail-client/thunderbird/thunderbird-78.7.1-r2.ebuild
+++ b/mail-client/thunderbird/thunderbird-78.7.1-r1.ebuild
@@ -66,7 +66,8 @@ IUSE="+clang cpu_flags_arm_neon dbus debug eme-free
        +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
        +system-libvpx +system-webp wayland wifi"
 
-REQUIRED_USE="wifi? ( dbus )"
+REQUIRED_USE="x86? ( lto? ( clang ) )
+       wifi? ( dbus )"
 
 BDEPEND="${PYTHON_DEPS}
        app-arch/unzip
@@ -101,6 +102,9 @@ BDEPEND="${PYTHON_DEPS}
                        )
                )
        )
+       lto? (
+               !clang? ( sys-devel/binutils[gold] )
+       )
        amd64? ( >=dev-lang/yasm-1.1 )
        x86? ( >=dev-lang/yasm-1.1 )
        !system-av1? (
@@ -395,12 +399,12 @@ pkg_setup() {
                        [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
 
                        # temp fix for https://bugs.gentoo.org/768543
-                       # we can assume that rust 1.49.0 always uses llvm 11
+                       # we can assume that rust 1.{49,50}.0 always uses llvm 
11
                        local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 
'release:' | awk '{ print $2 }')
                        [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 
"${version_rust}")
                        [[ -z ${version_rust} ]] && die "Failed to read version 
from rustc!"
 
-                       if ver_test "${version_rust}" -eq "1.49" ; then
+                       if ver_test "${version_rust}" -ge "1.49" && ver_test 
"${version_rust}" -le "1.50" ; then
                                local version_llvm_rust="11"
                        else
                                local version_llvm_rust=$(rustc -Vv 2>/dev/null 
| grep -F -- 'LLVM version:' | awk '{ print $3 }')
@@ -702,6 +706,9 @@ src_configure() {
 
                        mozconfig_add_options_ac '+lto' --enable-lto=cross
                else
+                       # Linking only works when using ld.gold when LTO is 
enabled
+                       mozconfig_add_options_ac "forcing ld=gold due to 
USE=lto" --enable-linker=gold
+
                        # ThinLTO is currently broken, see bmo#1644409
                        mozconfig_add_options_ac '+lto' --enable-lto=full
                fi
@@ -719,6 +726,8 @@ src_configure() {
                if use clang ; then
                        # This is upstream's default
                        mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+               elif tc-ld-is-gold ; then
+                       mozconfig_add_options_ac "linker is set to gold" 
--enable-linker=gold
                else
                        mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
                fi

Reply via email to