Subject: Re: [bug#32614] [PATCH] emacs-irony-mode
From: [email-masked] (Ludovic Courtès)
To: Tim Gesthuizen <[email-masked]>
Cc: [email-masked]
Date: Tue, 11 Sep 2018 17:06:34 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Tim,

Tim Gesthuizen <[email-masked]> skribis:

> clang is used via libclang from emacs-irony-mode-server which is linked
> dynamically. Because of this I could just set the propagated-input to a
> normal input. It is linked automatically to the version in /gnu/store.
> Because of some weird  problems I had today with building guix from git
> I could not verify the patch.
> Please check that it is working before pushing it.

I checked that it built fine.  I tried actually using it from:

  ./pre-inst-env guix environment --ad-hoc --pure \
     emacs emacs-irony-mode coreutils -- emacs -Q

However, I don’t really know how it’s supposed to be used and didn’t
want to spend too much time investigating.

> From 25fdd949db264836f47abcad13f3e8594262b300 Mon Sep 17 00:00:00 2001
> From: Tim Gesthuizen <[email-masked]>
> Date: Thu, 30 Aug 2018 17:39:57 +0200
> Subject: [PATCH] gnu: Add emacs-irony-mode.
>
> * gnu/packages/emacs.scm (emacs-irony-mode): New variable.
> * gnu/packages/emacs.scm (emacs-irony-mode-server): New variable.

Applied with the changes below.

Please let me know if anything is amiss.

Thank you, and apologies for the delay!

Ludo’.

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 57691b299..47c7685e9 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -2736,19 +2736,21 @@ These are distributed in separate files and can be used individually.")
   (package
     (name "emacs-irony-mode")
     (version "1.2.0")
+    (home-page "https://github.com/Sarcasm/irony-mode")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://github.com/Sarcasm/irony-mode/archive/v"
-                                  version ".tar.gz"))
-              (sha256 (base32 "1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99"))))
+              (uri (string-append home-page "/archive/v" version ".tar.gz"))
+              (sha256
+               (base32
+                "1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99"))
+              (file-name (string-append name "-" version ".tar.gz"))))
     (build-system emacs-build-system)
     (arguments '())
     (propagated-inputs
      `(("emacs-irony-mode-server" ,emacs-irony-mode-server)))
-    (home-page "https://github.com/Sarcasm/irony-mode")
     (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
-    (description "Provides @code{clang} assisted syntax checking and
-autocompletion for C,C++ and ObjC in GNU Emacs.  Using @code{libclang} it can
+    (description "Irony-mode provides Clang-assisted syntax checking and
+completion for C, C++, and ObjC in GNU Emacs.  Using @code{libclang} it can
 provide syntax checking and autocompletion on compiler level which is very
 resistent against false positives.  It also integrates well with other
 packages like @code{eldoc-mode} and especially @code{company-mode} as
@@ -2760,6 +2762,7 @@ described on the homepage.")
     (name "emacs-irony-mode-server")
     (inputs
      `(("clang" ,clang)))
+    (propagated-inputs '())
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -2769,7 +2772,8 @@ described on the homepage.")
                (invoke "cmake"
                        "server"
                        (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
-    (build-system cmake-build-system)))
+    (build-system cmake-build-system)
+    (synopsis "Server for the Emacs @dfn{irony mode}")))
 
 (define-public emacs-company-quickhelp
   (package