From 1b8c7d12e94d5b630d48471f1490f5691e17900b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 27 May 2020 20:13:22 +0200 Subject: gnu: code.scm: Sort module imports. * gnu/packages/code.scm (define-module): Sort imports. --- gnu/packages/code.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index ee47582ec8..d6aacadfe7 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -48,16 +48,16 @@ #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages graphviz) + #:use-module (gnu packages llvm) + #:use-module (gnu packages lua) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages sqlite) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages llvm) - #:use-module (gnu packages lua)) + #:use-module (gnu packages texinfo)) ;;; Tools to deal with source code: metrics, cross-references, etc. -- cgit 1.4.1 From 58056d5bf27e802a689eb1a1800304494a88a1f9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 27 May 2020 21:22:55 +0200 Subject: gnu: Add Universal Ctags. * gnu/packages/code.scm (universal-ctags): New public variable. --- gnu/packages/code.scm | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index d6aacadfe7..2285b519a0 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,12 +44,14 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages graphviz) #:use-module (gnu packages llvm) + #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) @@ -57,7 +60,9 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages sqlite) - #:use-module (gnu packages texinfo)) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages web) + #:use-module (gnu packages xml)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -321,6 +326,83 @@ features that are not supported by the standard @code{stdio} implementation.") (license (license:non-copyleft "http://sourceforge.net/p/ctrio/git/ci/master/tree/README")))) +(define-public universal-ctags + ;; The project is unable to decide whether to use 1.0 or 6.0 as the + ;; first public release version (it started as a fork of another ctags + ;; project that was on version 5.8), and five years later have been + ;; unable to tag a release. Thus, we just take the master branch. + (let ((commit "0c78c0c4a68030df0d025c90bad291108b5e7107") + (revision "0")) + (package + (name "universal-ctags") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/universal-ctags/ctags") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lnxc3kwi6srw0015m16vyjfdc7pdr9d1qzxjsbfv3c69ag87jhc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove the bundled PackCC and associated build rules. + (substitute* "Makefile.am" + (("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)") + "packcc") + (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)") + "$(PEG_SRCS) $(PEG_HEADS):") + (("noinst_PROGRAMS \\+= packcc") + "")) + (delete-file-recursively "misc/packcc") + #t)))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (add-before 'bootstrap 'patch-optlib2c + (lambda _ + ;; The autogen.sh script calls out to optlib2c to + ;; generate translations, so we can not wait for the + ;; patch-source-shebangs phase. + (patch-shebang "misc/optlib2c") + #t)) + (add-before 'check 'patch-tests + (lambda _ + (substitute* "misc/units" + (("SHELL=/bin/sh") + (string-append "SHELL=" (which "sh")))) + (substitute* "Tmain/utils.sh" + (("/bin/echo") (which "echo"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("packcc" ,packcc) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("jansson" ,jansson) + ("libseccomp" ,libseccomp) + ("libxml2" ,libxml2) + ("libyaml" ,libyaml))) + (home-page "https://ctags.io/") + (synopsis "Generate tag files for source code") + (description + "Universal Ctags generates an index (or tag) file of language objects +found in source files for many popular programming languages. This index +makes it easy for text editors and other tools to locate the indexed items. +Universal Ctags improves on traditional ctags because of its multilanguage +support, its ability for the user to define new languages searched by regular +expressions, and its ability to generate emacs-style TAGS files.") + (license license:gpl2+)))) + (define-public withershins (package (name "withershins") -- cgit 1.4.1 From ec8dc2157ae26025ab8f54fb53d818afed5f3ff6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 30 May 2020 02:03:44 +0200 Subject: gnu: cloc: Update to 1.86. * gnu/packages/code.scm (cloc): Update to 1.86. --- gnu/packages/code.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 2285b519a0..a50ac3506a 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -222,7 +222,7 @@ COCOMO model or user-provided parameters.") (define-public cloc (package (name "cloc") - (version "1.84") + (version "1.86") (source (origin (method git-fetch) @@ -231,7 +231,7 @@ COCOMO model or user-provided parameters.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn")))) + (base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w")))) (build-system gnu-build-system) (inputs `(("coreutils" ,coreutils) -- cgit 1.4.1 From 683910e9834f6e83fc3c291f129e8c9f72cf595a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 3 Jun 2020 12:43:04 +0300 Subject: gnu: global: Move vim plugins to correct directory. * gnu/packages/code.scm (global)[arguments]: Adjust 'post-install phase to install vim plugin files to the expected directory. --- gnu/packages/code.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index a50ac3506a..f6aaa63853 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2015, 2018 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015, 2018 Ricardo Wurmus -;;; Copyright © 2016, 2017, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Andy Wingo @@ -146,12 +146,19 @@ highlighting your own code that seemed comprehensible when you wrote it.") (modify-phases %standard-phases (add-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) - ;; Install the Emacs Lisp file in the right place. + ;; Install the plugin files in the right place. (let* ((out (assoc-ref outputs "out")) (data (string-append out "/share/gtags")) + (vim (string-append out "/share/vim/vimfiles/plugin")) (lisp (string-append out "/share/emacs/site-lisp"))) - (install-file (string-append data "/gtags.el") lisp) - (delete-file (string-append data "/gtags.el")) + (mkdir-p lisp) + (mkdir-p vim) + (rename-file (string-append data "/gtags.el") + (string-append lisp "/gtags.el")) + (rename-file (string-append data "/gtags.vim") + (string-append vim "/gtags.vim")) + (rename-file (string-append data "/gtags-cscope.vim") + (string-append vim "/gtags-cscope.vim")) #t)))))) (home-page "https://www.gnu.org/software/global/") (synopsis "Cross-environment source code tag system") -- cgit 1.4.1 From ecd297a18c26e3d2c339371c9ee45901aa2bf731 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 3 Jun 2020 12:46:04 +0300 Subject: gnu: global: Don't build static libraries. * gnu/packages/code.scm (global)[arguments]: Add configure-flag to disable static libraries. --- gnu/packages/code.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index f6aaa63853..6334c97ef2 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -140,7 +140,8 @@ highlighting your own code that seemed comprehensible when you wrote it.") (list (string-append "--with-ncurses=" (assoc-ref %build-inputs "ncurses")) (string-append "--with-sqlite3=" - (assoc-ref %build-inputs "sqlite"))) + (assoc-ref %build-inputs "sqlite")) + "--disable-static") #:phases (modify-phases %standard-phases -- cgit 1.4.1