summary refs log tree commit diff
diff options
context:
space:
mode:
authorTim Gesthuizen <tim.gesthuizen@yahoo.de>2018-12-24 14:46:27 +0100
committerLudovic Courtès <ludo@gnu.org>2019-01-09 18:47:57 +0100
commit037c3b0ea27ff4c428f4c54dc3d04f1d341a5a27 (patch)
tree181473c81c8520d53b160dd6bafd84fb5ad851a6
parentecf7e4ea432175f3556cde6956cfda889a470471 (diff)
downloadguix-037c3b0ea27ff4c428f4c54dc3d04f1d341a5a27.tar.gz
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>
-rw-r--r--gnu/packages/emacs.scm14
1 files 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 @@ 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
@@ -2857,7 +2864,6 @@ described on the homepage.")
     (name "emacs-irony-mode-server")
     (inputs
      `(("clang" ,clang)))
-    (propagated-inputs '())
     (arguments
      `(#:phases
        (modify-phases %standard-phases