From 528e0ebf36c07960776e8070584dce09088328d7 Mon Sep 17 00:00:00 2001
From: Tim Gesthuizen <tim.gesthuizen@yahoo.de>
Date: Mon, 24 Dec 2018 14:46:27 +0100
Subject: [PATCH] gnu: emacs-irony-mode: Remove propagated input
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
---
gnu/packages/emacs.scm | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
@@ -2831,9 +2831,16 @@ These are distributed in separate files and can be used individually.")
"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
@@ -2848,7 +2855,6 @@ described on the homepage.")
(name "emacs-irony-mode-server")
(inputs
`(("clang" ,clang)))
- (propagated-inputs '())
(arguments
`(#:phases
(modify-phases %standard-phases
--
2.20.1