gnu: ccls: Configure using -isystem for header files.

* gnu/packages/cpp.scm (ccls): Configure using -isystem for header files.
[arguments]: Use GCC as a build input for preprocessing and searching GCC
subdirectories, this provides better support for header file completion on
runtime.
[inputs]: Add ncurses for command-line support. Remove LLVM, it is not needed.
[native-inputs]: Move rapidjson from inputs to native-inputs, add GCC.
This commit is contained in:
Brett Gilio 2019-12-16 00:06:05 -06:00
parent 90ee17cdac
commit 2c82d4ad10
No known key found for this signature in database
GPG key ID: 672243C4A03F0EEE

View file

@ -6,6 +6,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,7 +36,9 @@ (define-module (gnu packages cpp)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages llvm)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
@ -305,12 +308,17 @@ (define-public ccls
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target.
(inputs
`(("rapidjson" ,rapidjson)))
(native-inputs
`(#:tests? #f ; no check target.
#:configure-flags
(list (string-append "-DCMAKE_CXX_FLAGS='-isystem "
(assoc-ref %build-inputs "gcc")
"/include/c++'"))))
(inputs
`(("clang" ,clang)
("llvm" ,llvm)))
("ncurses" ,ncurses)))
(native-inputs
`(("rapidjson" ,rapidjson)
("gcc" ,gcc)))
(home-page "https://github.com/MaskRay/ccls")
(synopsis "C/C++/Objective-C language server")
(description