Files
haikuports/dev-util/ccls/ccls-0.20230717.recipe
2023-10-14 23:45:44 -06:00

64 lines
1.8 KiB
Bash

SUMMARY="C/C++/ObjC LSP language server"
DESCRIPTION="ccls, which originates from cquery, is a C/C++/Objective-C language server with \
features like:
* code completion (with both signature help and snippets)
* definition/references, and other cross references
* cross reference extensions: \$ccls/call \$ccls/inheritance \$ccls/member \$ccls/vars ...
* formatting
* hierarchies: call (caller/callee) hierarchy, inheritance (base/derived) hierarchy, member \
hierarchy
* symbol rename
* document symbols and approximate search of workspace symbol
* hover information
* diagnostics and code actions (clang FixIts)
* semantic highlighting and preprocessor skipped regions
* semantic navigation: \$ccls/navigate"
HOMEPAGE="https://github.com/MaskRay/ccls"
COPYRIGHT="2017-2023 ccls Authors"
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://github.com/MaskRay/ccls/archive/tags/$portVersion.tar.gz"
SOURCE_DIR="ccls-tags-$portVersion"
CHECKSUM_SHA256="0a5f62e5c0e3f7af9f15feeffad4c1dce5c7dc57cdacd228938fa6f46852f8db"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
ccls$secondaryArchSuffix = $portVersion
cmd:ccls = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libclang_cpp$secondaryArchSuffix >= 17
lib:libLLVM_17$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libclang$secondaryArchSuffix >= 17
devel:libLLVM_17$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:librapidjson$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:g++$secondaryArchSuffix
cmd:make
"
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release .
make -C build $jobArgs
}
INSTALL()
{
mkdir -p $prefix/bin
cp -af build/ccls $prefix/bin
}