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

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Tim Gesthuizen 2018-12-24 14:46:27 +01:00 committed by Ludovic Courtès
parent ecf7e4ea43
commit 037c3b0ea2
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 10 additions and 4 deletions

View File

@ -2840,9 +2840,16 @@ These are distributed in separate files and can be used individually.")
"0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8")) "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '()) (inputs `(("server" ,emacs-irony-mode-server)))
(propagated-inputs (arguments `(#:phases
`(("emacs-irony-mode-server" ,emacs-irony-mode-server))) (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") (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
(description "Irony-mode provides Clang-assisted syntax checking and (description "Irony-mode provides Clang-assisted syntax checking and
completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
@ -2857,7 +2864,6 @@ described on the homepage.")
(name "emacs-irony-mode-server") (name "emacs-irony-mode-server")
(inputs (inputs
`(("clang" ,clang))) `(("clang" ,clang)))
(propagated-inputs '())
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases