From 86881737428991cc905e41b635b81025a1068254 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 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 --- gnu/packages/emacs.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 7fdcfb1a3..3d7ab6b33 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1438,6 +1438,18 @@ environment set through Direnv.") (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 -- 2.20.1