diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-03-12 11:40:27 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-03-12 11:40:27 +0100 |
commit | 99e64a6e7742b8c3727968e5d094e71d33c5cb3f (patch) | |
tree | 8741828cb58778dfdba76377a7d1c4bf3fe63b40 /gnu/packages/code.scm | |
parent | 23153c907bb2de46e517343ab43c08e0cfe4ef90 (diff) |
gnu: Move cflow, Complexity, and GLOBAL to (gnu packages code).
* gnu/packages/code.scm (cflow, complexity, global): New variables.
* gnu/packages/cflow.scm, gnu/packages/complexity.scm,
gnu/packages/global.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
Diffstat (limited to 'gnu/packages/code.scm')
-rw-r--r-- | gnu/packages/code.scm | 100 |
1 files changed, 98 insertions, 2 deletions
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 7eb2cc3bb8..544681212b 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,10 +22,105 @@ #:use-module (guix download) #:use-module (guix licenses) #:use-module (guix build-system gnu) - #:use-module (gnu packages perl)) + #:use-module (gnu packages emacs) + #:use-module (gnu packages perl) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages autogen) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages autotools)) ;;; Tools to deal with source code: metrics, cross-references, etc. +(define-public cflow + (package + (name "cflow") + (version "1.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/cflow/cflow-" + version ".tar.bz2")) + (sha256 + (base32 + "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3")))) + (build-system gnu-build-system) + + ;; Needed to have cflow-mode.el installed. + (native-inputs `(("emacs" ,emacs))) + + (home-page "http://www.gnu.org/software/cflow/") + (synopsis "Create a graph of control flow within a program") + (description + "GNU cflow analyzes C source files and produces a graph charting the +control flow of the program. It can output the graph in several styles and +in either the POSIX format or in an extended GNU format. cflow also includes +a major mode for Emacs for examining the flowcharts that it produces.") + (license gpl3+))) + +(define-public complexity + (package + (name "complexity") + (version "1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/complexity/complexity-" + version ".tar.gz")) + (sha256 + (base32 + "0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d")))) + (build-system gnu-build-system) + (native-inputs + `(("texinfo" ,texinfo) + ("autogen" ,autogen))) + (home-page "http://www.gnu.org/software/complexity/") + (synopsis "Analyze complexity of C functions") + (description + "GNU complexity provides tools for finding procedures that are +convoluted, overly long or otherwise difficult to understand. This +may help in learning or reviewing unfamiliar code or perhaps +highlighting your own code that seemed comprehensible when you wrote it.") + (license gpl3+))) + +(define-public global ; a global variable + (package + (name "global") + (version "6.3.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/global/global-" + version ".tar.gz")) + (sha256 + (base32 + "0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85")))) + (build-system gnu-build-system) + (inputs `(("ncurses" ,ncurses) + ("libltdl" ,libltdl))) + (arguments + `(#:configure-flags + (list (string-append "--with-ncurses=" + (assoc-ref %build-inputs "ncurses"))) + + #:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install the Emacs Lisp file in the right place. + (let* ((out (assoc-ref outputs "out")) + (data (string-append out "/share/gtags")) + (lisp (string-append out "/share/emacs/site-lisp"))) + (mkdir-p lisp) + (copy-file (string-append data "/gtags.el") + (string-append lisp "/gtags.el")) + (delete-file (string-append data "/gtags.el")) + #t)) + %standard-phases))) + (home-page "http://www.gnu.org/software/global/") + (synopsis "Cross-environment source code tag system") + (description + "GLOBAL is a source code tagging system that functions in the same way +across a wide array of environments, such as different text editors, shells +and web browsers. The resulting tags are useful for quickly moving around in +a large, deeply nested project.") + (license gpl3+))) + (define-public sloccount (package (name "sloccount") |