From ecf7e4ea432175f3556cde6956cfda889a470471 Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Tue, 25 Dec 2018 11:22:19 +0100 Subject: [PATCH] gnu: emacs-ggtags: Don't require GNU Global in path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- gnu/packages/emacs.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f3f2440cc1..34b30862fb 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1435,6 +1435,18 @@ (define-public emacs-ggtags (base32 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg")))) (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") (synopsis "Frontend to the GNU Global source code tagging system") (description "@code{ggtags} provides a frontend to the GNU Global source