commit:     2d96e7520d07ef421febca36cccf156386b13840
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  7 15:33:03 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct  7 16:41:19 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d96e752

llvm.org.eclass: Introduce LLVM_MAJOR and LLVM_VERSION

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/llvm.org.eclass | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index b481a4d65341..b00c8029e72a 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -38,6 +38,20 @@ case "${EAPI:-0}" in
                ;;
 esac
 
+# == version substrings ==
+
+# @ECLASS_VARIABLE: LLVM_MAJOR
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# The major LLVM version.
+LLVM_MAJOR=$(ver_cut 1)
+
+# @ECLASS_VARIABLE: LLVM_VERSION
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# The full 3-component LLVM version without suffixes or .9999.
+LLVM_VERSION=$(ver_cut 1-3)
+
 
 # == internal control bits ==
 
@@ -93,7 +107,7 @@ fi
 
 [[ ${_LLVM_SOURCE_TYPE} == git ]] && inherit git-r3
 
-[[ ${PV} == ${_LLVM_MASTER_MAJOR}.* && ${_LLVM_SOURCE_TYPE} == tar ]] &&
+[[ ${LLVM_MAJOR} == ${_LLVM_MASTER_MAJOR} && ${_LLVM_SOURCE_TYPE} == tar ]] &&
        die "${ECLASS}: Release ebuild for master branch?!"
 
 inherit multiprocessing
@@ -168,18 +182,18 @@ fi
 # The list of USE flags corresponding to all LLVM targets in this LLVM
 # version.  The value depends on ${PV}.
 
-case ${PV} in
-       10*|11*|12*)
+case ${LLVM_MAJOR} in
+       10|11|12)
                # this API is not present for old LLVM versions
                ;;
-       13*)
+       13)
                ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
                ALL_LLVM_PRODUCTION_TARGETS=(
                        AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 
NVPTX
                        PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
                )
                ;;
-       14*)
+       14)
                ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k )
                ALL_LLVM_PRODUCTION_TARGETS=(
                        AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 
NVPTX
@@ -223,8 +237,8 @@ llvm.org_set_globals() {
                git)
                        EGIT_REPO_URI="https://github.com/llvm/llvm-project.git";
 
-                       [[ ${PV} != ${_LLVM_MASTER_MAJOR}.* ]] &&
-                               EGIT_BRANCH="release/${PV%%.*}.x"
+                       [[ ${LLVM_MAJOR} != ${_LLVM_MASTER_MAJOR} ]] &&
+                               EGIT_BRANCH="release/${LLVM_MAJOR}.x"
                        ;;
                tar)
                        if ver_test -ge 14.0.5; then

Reply via email to