Name: ccls Version: 0.20190314 %if %{defined suse_version} Release: 0 %else Release: 1%{?dist} %endif Summary: C/C++/ObjC language server %{?suse_version:Group: Development/Tools/IDE} # main package is Apache 2.0 # bundled dependencies are Boost (macro_map) and CC0 (siphash) %if %{defined suse_version} License: Apache-2.0 and CC0-1.0 and BSL-1.0 %else License: ASL 2.0 and CC0 and Boost %endif URL: https://github.com/MaskRay/ccls Source0: %{URL}/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: cmake >= 3.8 BuildRequires: gcc-c++ >= 7.2 BuildRequires: llvm-devel >= 7.0 BuildRequires: clang-devel >= 5.0 BuildRequires: rapidjson-devel BuildRequires: zlib-devel Requires: llvm >= 7.0 Requires: clang >= 5.0 Provides: bundled(siphash) Provides: bundled(macro_map) %description ccls, which originates from cquery, is a C/C++/Objective-C language server. - 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 %prep %autosetup rm -rf third_party/rapidjson %build # SYSTEM_CLANG=ON will be removed in the next release # export CMAKE_OPTIONS="-DUSE_SHARED_LLVM=ON -DSYSTEM_CLANG=ON" %if %{defined suse_version} pushd . %cmake ${CMAKE_OPTIONS} %else mkdir build && cd build && pushd . %cmake ${CMAKE_OPTIONS} .. %endif %make_build popd %install install -D -p -m 0755 build/%{name} %{buildroot}%{_bindir}/%{name} %files %{_bindir}/%{name} %license LICENSE %doc README.md %changelog * Thu Mar 7 2019 Dan Čermák - 0.20181225.8-1 - Initial package version for Fedora & openSUSE