summaryrefslogtreecommitdiff
blob: f2069853b3f4d406f705a452a82c707fcb67882d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

EGIT_REPO_URI="https://github.com/MaskRay/${PN}"

if [[ ${PV} = 9999* ]]; then
	GIT_ECLASS="git-r3"
	LLVM_MAX_SLOT=9999
else
	LLVM_MAX_SLOT=14
fi

inherit cmake llvm ${GIT_ECLASS}

DESCRIPTION="C/C++/ObjC language server"
HOMEPAGE="https://github.com/MaskRay/ccls"

if [[ ${PV} == *9999 ]] ; then
	SRC_URI=""
else
	SRC_URI="https://github.com/MaskRay/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
	KEYWORDS="~amd64"
fi

LICENSE="Apache-2.0"
SLOT="0"
IUSE=""

# We only depend on Clang because of a quirk in how dependencies work
# See comment in llvm.eclass docs
DEPEND="
	dev-libs/rapidjson
	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
"
RDEPEND="${DEPEND}"

PATCHES=(
	"${FILESDIR}"/${P}-llvm-cmake.patch
	"${FILESDIR}"/${P}-llvm14.patch
)

src_configure() {
	local mycmakeargs=(
		-DCCLS_VERSION=${PV}
		-DUSE_SYSTEM_RAPIDJSON=ON
		-DCLANG_LINK_CLANG_DYLIB=1
	)
	cmake_src_configure
}