diff --git a/dev-util/ccls/ccls-0.20220729.recipe b/dev-util/ccls/ccls-0.20220729.recipe new file mode 100644 index 000000000..b0e9b0171 --- /dev/null +++ b/dev-util/ccls/ccls-0.20220729.recipe @@ -0,0 +1,63 @@ +SUMMARY="C/C++/ObjC 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-2022 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="f324bc1523a52502a42490864ddc43f21e1a4661b2cad916189b63488b51c25b" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + ccls$secondaryArchSuffix = $portVersion + cmd:ccls = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libclang_cpp$secondaryArchSuffix >= 12 + lib:libLLVM_12$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libclang$secondaryArchSuffix >= 12 + devel:libLLVM_12$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 +}