>From 6975ba9e4b005c77f00d7f2187b5d8047f15ba07 Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Thu, 30 Aug 2018 17:39:57 +0200 Subject: [PATCH] gnu: Add emacs-irony-mode --- gnu/packages/emacs.scm | 49 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 08554280c..1ef5ebde5 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -63,6 +63,7 @@ #:use-module (guix monads) #:use-module (guix store) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system trivial) @@ -84,6 +85,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg) #:use-module (gnu packages lesstif) + #:use-module (gnu packages llvm) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages version-control) @@ -2724,6 +2726,41 @@ front-ends. Company comes with many back-ends, e.g. @code{company-elisp}. These are distributed in separate files and can be used individually.") (license license:gpl3+))) +(define-public emacs-irony-mode + (package + (name "emacs-irony-mode") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/Sarcasm/irony-mode/archive/v" + version ".tar.gz")) + (sha256 (base32 "1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99")))) + (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 "Clang autocompletion and syntax checking integration for GNU Emacs") + (description "Provides clang assisted syntax checking and autocompletion + for C,C++ and ObjC.") + (license license:gpl3))) + +(define-public emacs-irony-mode-server + (package (inherit emacs-irony-mode) + (name "emacs-irony-mode-server") + (propagated-inputs + `(("clang" ,clang))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "cmake" + "server" + (string-append "-DCMAKE_INSTALL_PREFIX=" out)))))))) + (build-system cmake-build-system))) + (define-public emacs-company-quickhelp (package (name "emacs-company-quickhelp") @@ -8048,13 +8085,13 @@ Anzu.zim.") (name "emacs-emmet-mode") (version "1.0.8") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/smihica/emmet-mode" - "/archive/" version ".tar.gz")) + (method url-fetch) + (uri (string-append "https://github.com/smihica/emmet-mode" + "/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj")))) + (sha256 + (base32 + "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj")))) (build-system emacs-build-system) (home-page "https://github.com/smihica/emmet-mode") (synopsis "Unofficial Emmet's support for Emacs") -- 2.18.0