(define-module (irony-mode) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system emacs) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages emacs) #:use-module (gnu packages llvm)) (define irony-mode-version "1.2.0") (define irony-mode-url (string-append "https://github.com/Sarcasm/irony-mode/archive/v" irony-mode-version ".tar.gz")) (define irony-mode-base (base32 "1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99")) (define-public emacs-irony-mode (package (name "emacs-irony-mode") (version irony-mode-version) (source (origin (method url-fetch) (uri irony-mode-url) (sha256 irony-mode-base) (modules '((guix build utils))) (snippet '(begin (for-each delete-file-recursively '("server/src" "server/docs" "server/cmake" "server/build-aux" "screenshots")))))) (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 "Guten Tag") (license license:gpl3))) (define-public emacs-irony-mode-server (package (name "emacs-irony-mode-server") (version irony-mode-version) (source (origin (method url-fetch) (uri irony-mode-url) (sha256 irony-mode-base))) (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) (home-page "https://github.com/Sarcasm/irony-mode") (synopsis "Clang autocompletion and syntax checking integration for GNU Emacs") (description "*TODO*") (license license:gpl3)))