From 4b3070f76db91475edbd405e4f1b3e4d2e8d9dff Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Wed, 27 Dec 2017 14:32:43 +0000 Subject: gnu: Add rtags. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/code.scm (rtags): New public variable. Co-authored-by: Ludovic Courtès --- gnu/packages/code.scm | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index a094f0a465..81e3ae6b64 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -1,11 +1,12 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2015 Ludovic Courtès +;;; Copyright © 2013, 2015, 2018 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Andy Wingo +;;; Copyright © 2018 Fis Trivial ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ (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) @@ -39,7 +41,9 @@ (define-module (gnu packages code) #:use-module (gnu packages texinfo) #:use-module (gnu packages autogen) #:use-module (gnu packages ncurses) - #:use-module (gnu packages autotools)) + #:use-module (gnu packages autotools) + #:use-module (gnu packages llvm) + #:use-module (gnu packages bash)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -383,3 +387,39 @@ (define-public lcov textual @command{gcov} output to implement the following enhanced functionality such as HTML output.") (license license:gpl2+))) + +(define-public rtags + (package + (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)))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DBUILD_TESTING=FALSE" + "-DRTAGS_NO_ELISP_FILES=1") + #:tests? #f)) + (inputs + `(("clang" ,clang) + ("llvm" ,llvm) + ("bash-completion" ,bash-completion))) + (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 +persistent file-based database of references, declarations, definitions, +symbolnames etc. There’s also limited support for ObjC/ObjC++. It allows you +to find symbols by name (including nested class and namespace scope). Most +importantly we give you proper follow-symbol and find-references support.") + (license license:gpl3+))) -- cgit v1.2.3