summaryrefslogtreecommitdiff
path: root/sys-devel/clang/clang-9.0.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/clang/clang-9.0.0.ebuild')
-rw-r--r--sys-devel/clang/clang-9.0.0.ebuild43
1 files changed, 14 insertions, 29 deletions
diff --git a/sys-devel/clang/clang-9.0.0.ebuild b/sys-devel/clang/clang-9.0.0.ebuild
index 2eabbee087ce..d6ca87c13d50 100644
--- a/sys-devel/clang/clang-9.0.0.ebuild
+++ b/sys-devel/clang/clang-9.0.0.ebuild
@@ -3,26 +3,22 @@
EAPI=7
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-# (needed due to CMAKE_BUILD_TYPE != Gentoo)
-CMAKE_MIN_VERSION=3.7.0-r1
PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-inherit cmake-utils llvm multilib-minimal multiprocessing \
+inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \
pax-utils python-single-r1 toolchain-funcs
-MY_P=cfe-${PV/_/}.src
-EXTRA_P=clang-tools-extra-${PV/_/}.src
-LLVM_P=llvm-${PV/_/}.src
-
DESCRIPTION="C language family frontend for LLVM"
HOMEPAGE="https://llvm.org/"
-SRC_URI="https://releases.llvm.org/${PV}/${MY_P}.tar.xz
- https://releases.llvm.org/${PV}/${EXTRA_P}.tar.xz
- test? ( https://releases.llvm.org/${PV}/${LLVM_P}.tar.xz )
+SRC_URI="
!doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/llvm-${PV}-manpages.tar.bz2 )"
+LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_TEST_COMPONENTS=(
+ llvm/lib/Testing/Support
+ llvm/utils/{lit,llvm-lit,unittest}
+)
+llvm.org_set_globals
# We need extra level of indirection for CLANG_RESOURCE_DIR
-S=${WORKDIR}/x/y/${MY_P}
+S=${WORKDIR}/x/y/clang
# Keep in sync with sys-devel/llvm
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
@@ -98,24 +94,13 @@ src_unpack() {
# create extra parent dir for CLANG_RESOURCE_DIR
mkdir -p x/y || die
cd x/y || die
-
- einfo "Unpacking ${MY_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${MY_P}.tar.xz" || die
- einfo "Unpacking ${EXTRA_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${EXTRA_P}.tar.xz" || die
-
- mv "${EXTRA_P}" "${S}"/tools/extra || die
- if use test; then
- einfo "Unpacking parts of ${LLVM_P}.tar.xz ..."
- tar -xf "${DISTDIR}/${LLVM_P}.tar.xz" \
- "${LLVM_P}"/lib/Testing/Support \
- "${LLVM_P}"/utils/{lit,llvm-lit,unittest} || die
- mv "${LLVM_P}" "${WORKDIR}"/llvm || die
- fi
+ llvm.org_src_unpack
+ mv clang-tools-extra clang/tools/extra || die
if ! use doc; then
- einfo "Unpacking llvm-${PV}-manpages.tar.bz2 ..."
+ ebegin "Unpacking llvm-${PV}-manpages.tar.bz2"
tar -xf "${DISTDIR}/llvm-${PV}-manpages.tar.bz2" || die
+ eend
fi
}
@@ -150,7 +135,7 @@ multilib_src_configure() {
-DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
)
use test && mycmakeargs+=(
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm"
-DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
)