gnu: global: Add ctags support.

* gnu/packages/code.scm (global)[inputs]: Add bash-minimal,
universal-ctags, python-pygments.
[arguments]: Add configure-flags to find ctags. Add phases to install
plugins and to wrap python script with PYTHONPATH.
This commit is contained in:
Efraim Flashner 2021-08-22 10:55:33 +03:00
parent 6fd69dd816
commit 590be0a1ed
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -64,6 +64,7 @@ (define-module (gnu packages code)
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
@ -137,17 +138,26 @@ (define-public global ; a global variable
(base32
"0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839"))))
(build-system gnu-build-system)
(inputs `(("coreutils" ,coreutils)
("ncurses" ,ncurses)
(inputs
`(("bash" ,bash-minimal) ; for wrap-program
("coreutils" ,coreutils)
("ctags" ,universal-ctags)
("libltdl" ,libltdl)
("sqlite" ,sqlite)
("python-wrapper" ,python-wrapper)))
("ncurses" ,ncurses)
("python-pygments" ,python-pygments)
("python-wrapper" ,python-wrapper)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags
(list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses"))
(string-append "--with-sqlite3="
(assoc-ref %build-inputs "sqlite"))
(string-append "--with-universal-ctags="
(assoc-ref %build-inputs "ctags") "/bin/ctags")
(string-append "--sysconfdir="
(assoc-ref %outputs "out") "/share/gtags")
"--localstatedir=/var" ; This needs to be a writable location.
"--disable-static")
#:phases
@ -158,6 +168,20 @@ (define-public global ; a global variable
(assoc-ref inputs "coreutils") "/bin/echo")))
(substitute* "globash/globash.in"
(("/bin/echo") echo)))))
(add-after 'post-install 'install-plugins
(lambda _
(with-directory-excursion "plugin-factory"
(invoke "make" "install"))))
(add-before 'install 'dont-install-to-/var
(lambda _
(substitute* "gozilla/Makefile"
(("DESTDIR\\)\\$\\{localstatedir\\}") "TMPDIR)"))))
(add-after 'install-plugins 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program
(string-append (assoc-ref outputs "out")
"/share/gtags/script/pygments_parser.py")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the plugin files in the right place.