diff options
author | Fis Trivial <ybbs.daans@hotmail.com> | 2018-01-21 19:32:56 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-23 10:43:37 +0100 |
commit | 457fc22dd3c406d77375eccbd889b15eddb50fba (patch) | |
tree | e3114a4c0b9901c272154831d295eaf175b2a1d3 /gnu/packages/code.scm | |
parent | a893dc2f484f89d9f0ba21d44bdac3b792872781 (diff) | |
download | guix-457fc22dd3c406d77375eccbd889b15eddb50fba.tar.gz |
gnu: rtags: Fix the bundling issue.
* gnu/packages/patches/rtags-separate-rct.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/code.scm (rtags): Dependencies no longer bundled. [source]: Use tarball release. Use the patch to link rct. Substitute corresponding headers. [native-inputs]: Add new dependencies. [inputs]: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/code.scm')
-rw-r--r-- | gnu/packages/code.scm | 53 |
1 files changed, 35 insertions, 18 deletions
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 042ea73a8c..a267688626 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -26,12 +26,13 @@ (define-module (gnu packages code) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) @@ -43,6 +44,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages autotools) #:use-module (gnu packages llvm) + #:use-module (gnu packages lua) #:use-module (gnu packages bash)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -393,28 +395,43 @@ functionality such as HTML output.") (name "rtags") (version "2.16") (home-page "https://github.com/Andersbakken/rtags") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit "8ef7554852541eced514c56d5e39d6073f7a2ef9") - - ;; FIXME: This fetches bundled copies of Lua, RCT, and - ;; Selene. - (recursive? #t))) - (sha256 - (base32 - "12r7lsqdmcbs9864a6dpblvifqvmfxhvxippyhfnnm2ai5ra80nc")) - (file-name (git-file-name name version)))) + (source + (origin + (method url-fetch) + (uri + (string-append home-page "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (patches (search-patches "rtags-separate-rct.patch")) + (modules '((guix build utils))) + (snippet + ;; Part of spliting rct with rtags. + ;; Substitute #include "rct/header.h" with #include <rct/header.h>. + '(with-directory-excursion "src" + (delete-file-recursively "rct") ;remove bundled copy + (let ((files (find-files "." ".*\\.cpp|.*\\.h"))) + (substitute* files + (("#include ?\"rct/(.*.h)\"" all header) + (string-append "#include <rct/" header ">")))))) + (sha256 + (base32 + "17rkci3mmiw93qc32b9x76pg57b0lx80avr6wnmh190jx8n3v3wy")))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DBUILD_TESTING=FALSE" - "-DRTAGS_NO_ELISP_FILES=1") + '(#:configure-flags + '("-DRTAGS_NO_ELISP_FILES=1" + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DBUILD_TESTING=FALSE") #:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs - `(("clang" ,clang) + `(("bash-completion" ,bash-completion) + ("clang" ,clang) ("llvm" ,llvm) - ("bash-completion" ,bash-completion))) + ("lua" ,lua) + ("rct" ,rct) + ("selene" ,selene))) (synopsis "Indexer for the C language family with Emacs integration") (description "RTags is a client/server application that indexes C/C++ code and keeps a |