commit: 5157ea485742d977868e7bd15f0f0451ea3e6a18 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org> AuthorDate: Fri Feb 5 15:14:57 2021 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Fri Feb 5 18:30:37 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5157ea48
www-client/firefox: add rust-1.49 llvm version workaround Bug: https://bugs.gentoo.org/768543 Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org> Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> www-client/firefox/firefox-78.7.0.ebuild | 16 +++++++++++++--- www-client/firefox/firefox-85.0-r1.ebuild | 16 +++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/www-client/firefox/firefox-78.7.0.ebuild b/www-client/firefox/firefox-78.7.0.ebuild index affbae00657..42da6703de5 100644 --- a/www-client/firefox/firefox-78.7.0.ebuild +++ b/www-client/firefox/firefox-78.7.0.ebuild @@ -408,9 +408,19 @@ pkg_setup() { [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.49.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 + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." diff --git a/www-client/firefox/firefox-85.0-r1.ebuild b/www-client/firefox/firefox-85.0-r1.ebuild index 630048c6cb7..d15b63ab4c6 100644 --- a/www-client/firefox/firefox-85.0-r1.ebuild +++ b/www-client/firefox/firefox-85.0-r1.ebuild @@ -404,9 +404,19 @@ pkg_setup() { [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.49.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 + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
