From 037c3b0ea27ff4c428f4c54dc3d04f1d341a5a27 Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Mon, 24 Dec 2018 14:46:27 +0100 Subject: [PATCH] gnu: emacs-irony-mode: Remove propagated input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit emacs-irony-mode finds its server binary because its a propagated input and is in the path. We can substitute the variable `irony-server-install-prefix` to not propagate the input and keep the binary isolated from the user. * gnu/packages/emacs.scm (emacs-irony-mode): [propagated-inputs] Remove propagated inputs [inputs] Add emacs-irony-mode-server [arguments] Add phase substituting the variable of the server path Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 34b30862fb..b9d164a4cf 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2840,9 +2840,16 @@ (define-public emacs-irony-mode "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8")) (file-name (string-append name "-" version ".tar.gz")))) (build-system emacs-build-system) - (arguments '()) - (propagated-inputs - `(("emacs-irony-mode-server" ,emacs-irony-mode-server))) + (inputs `(("server" ,emacs-irony-mode-server))) + (arguments `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (chmod "irony.el" #o644) + (emacs-substitute-variables "irony.el" + ("irony-server-install-prefix" + (assoc-ref inputs "server"))) + #t))))) (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs") (description "Irony-mode provides Clang-assisted syntax checking and completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can @@ -2857,7 +2864,6 @@ (define-public emacs-irony-mode-server (name "emacs-irony-mode-server") (inputs `(("clang" ,clang))) - (propagated-inputs '()) (arguments `(#:phases (modify-phases %standard-phases