aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/code.scm
diff options
context:
space:
mode:
authorFis Trivial <ybbs.daans@hotmail.com>2018-01-21 19:32:56 +0000
committerLudovic Courtès <ludo@gnu.org>2018-01-23 10:43:37 +0100
commit457fc22dd3c406d77375eccbd889b15eddb50fba (patch)
treee3114a4c0b9901c272154831d295eaf175b2a1d3 /gnu/packages/code.scm
parenta893dc2f484f89d9f0ba21d44bdac3b792872781 (diff)
downloadgnu-guix-457fc22dd3c406d77375eccbd889b15eddb50fba.tar
gnu-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.scm53
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