commit:     4cb70c4fb418413c66efaeced11347330e9b65d6
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 16 12:44:55 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Nov 16 12:53:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cb70c4f

mail-client/thunderbird: add dirty llvm hack for stable/unstable

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

 mail-client/thunderbird/thunderbird-102.5.0.ebuild | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/mail-client/thunderbird/thunderbird-102.5.0.ebuild 
b/mail-client/thunderbird/thunderbird-102.5.0.ebuild
index 549059c920e4..9d4698c7519d 100644
--- a/mail-client/thunderbird/thunderbird-102.5.0.ebuild
+++ b/mail-client/thunderbird/thunderbird-102.5.0.ebuild
@@ -198,19 +198,19 @@ S="${WORKDIR}/${PN}-${PV%_*}"
 
 llvm_check_deps() {
        if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
-               einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ... Please try emerge -1av sys-devel/clang:${LLVM_SLOT}" >&2
                return 1
        fi
 
        if use clang ; then
                if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
-                       einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ... Please try emerge -1av 
sys-devel/lld:${LLVM_SLOT}" >&2
                        return 1
                fi
 
                if use pgo ; then
-                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
-                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use 
LLVM slot ${LLVM_SLOT} ... Please try emerge -1av 
=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* with profile use flag on!" >&2
                                return 1
                        fi
                fi
@@ -397,6 +397,20 @@ pkg_setup() {
 
                check-reqs_pkg_setup
 
+               # Attempt to force a specific llvm/clang/lld with multiple llvm 
toolchain slots installed.
+               local LLVM_USE_SLOT=${LLVM_MAX_SLOT}
+               if $(has_version "virtual/rust:0/llvm-${LLVM_USE_SLOT}"); then
+                       :
+               else
+                       ((LLVM_USE_SLOT=LLVM_USE_SLOT-1))
+                       if $(has_version 
"virtual/rust:0/llvm-${LLVM_USE_SLOT}"); then
+                               :
+                       else
+                               die "Couldn't find 
virtual/rust:0/llvm-${LLVM_MAX_SLOT} or virtual/rust:0/llvm-${LLVM_USE_SLOT}. 
Check your virtual/rust installation."
+                       fi
+               fi
+
+               local LLVM_MAX_SLOT=${LLVM_USE_SLOT}
                llvm_pkg_setup
 
                if use clang && use lto ; then

Reply via email to