summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-07 19:24:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-07 19:24:36 +0100
commit7b5e4e1f63da7fb63fba5f1a9fc41866c8ae5b2f (patch)
treec9aa002e33c61cd30a2a1615be86cd9961239b0b /eclass
parent27a61babf89122aeb64d52f4ea8f6f068b928da4 (diff)
gentoo auto-resync : 07:10:2022 - 19:24:35
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin37298 -> 37306 bytes
-rw-r--r--eclass/llvm.org.eclass38
2 files changed, 31 insertions, 7 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 4723b81c43b9..d9a0de7b1dd3 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 5f65f2e30330..14ec9c63e170 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -7,6 +7,7 @@
# @AUTHOR:
# Michał Górny <mgorny@gentoo.org>
# @SUPPORTED_EAPIS: 7 8
+# @PROVIDES: git-r3
# @BLURB: Common bits for fetching & unpacking llvm.org projects
# @DESCRIPTION:
# The llvm.org eclass provides common code to fetch and unpack parts
@@ -37,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 ==
@@ -82,6 +97,7 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
die "Unknown snapshot: ${PV}"
;;
esac
+ export EGIT_VERSION=${EGIT_COMMIT}
;;
*)
_LLVM_SOURCE_TYPE=tar
@@ -91,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
@@ -166,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
@@ -200,6 +216,14 @@ ALL_LLVM_TARGET_FLAGS=(
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]/#/llvm_targets_}"
)
+# @ECLASS_VARIABLE: LLVM_SOABI
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# The current ABI version of LLVM dylib, in a form suitable for use
+# as a subslot. This is equal to LLVM_MAJOR for releases, and to PV
+# for the main branch.
+LLVM_SOABI=${LLVM_MAJOR}
+[[ ${LLVM_MAJOR} == ${_LLVM_MASTER_MAJOR} ]] && LLVM_SOABI=${PV}
# == global scope logic ==
@@ -221,8 +245,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