gnu: emacs-ggtags: Don't require GNU Global in path

emacs-ggtags relies on the GNU Global tools (global and gtags) to be available
in the path. This way it will grab some random executable if it will find
executables at all.
This is fixed by setting the prefix to GNU Global in the store. This way
emacs-ggtags will use specific deterministic executables.

* gnu/packages/emacs.scm (emacs-ggtags):
[inputs]: Add GNU Global to the inputs
[arguments]: Add a phase for substituting the right path to the executables

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Tim Gesthuizen 2018-12-25 11:22:19 +01:00 committed by Ludovic Courtès
parent b2a5ef2e94
commit ecf7e4ea43
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1435,6 +1435,18 @@ (define-public emacs-ggtags
(base32 (base32
"1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg")))) "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(inputs
`(("global" ,global)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(chmod "ggtags.el" #o644)
(emacs-substitute-variables "ggtags.el"
("ggtags-executable-directory"
(string-append (assoc-ref inputs "global") "/bin")))
#t)))))
(home-page "https://github.com/leoliu/ggtags") (home-page "https://github.com/leoliu/ggtags")
(synopsis "Frontend to the GNU Global source code tagging system") (synopsis "Frontend to the GNU Global source code tagging system")
(description "@code{ggtags} provides a frontend to the GNU Global source (description "@code{ggtags} provides a frontend to the GNU Global source