summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorDhruvin Gandhi via Guix-patches via <guix-patches@gnu.org>2021-06-29 18:59:35 +0530
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2021-07-02 09:13:28 +0200
commit050ec2390f3e1d55aab57f8f01b73fbb6e932683 (patch)
tree899ce7c9640ec7dbb11a26340338d36cda6ef12f /gnu
parent87232a8c2f07878a6bd31fe61a470a351722766b (diff)
gnu: Add emacs-rustic.
* gnu/packages/emacs-xyz.scm (emacs-rustic): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs-xyz.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 5426c76c23..a38681ebcb 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -99,6 +99,7 @@
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
+;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21039,6 +21040,62 @@ source code.")
(license (list license:expat
license:asl2.0))))
+(define-public emacs-rustic
+ ;; XXX: Upstream does not tag releases. Version is extracted from main
+ ;; file.
+ (let ((commit "bbf129cd128105de51b6c242b2551094b8d8987d")
+ (revision "0"))
+ (package
+ (name "emacs-rustic")
+ (version (git-version "1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/brotzeit/rustic")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09dnlvi8kf683n6q3yp4gy9d4idiyg4x6rcij8d90cvygh8i30wd"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-flycheck" ,emacs-flycheck)
+ ("emacs-lsp-mode" ,emacs-lsp-mode)
+ ("emacs-markdown-mode" ,emacs-markdown-mode)
+ ("emacs-project" ,emacs-project)
+ ("emacs-s" ,emacs-s)
+ ("emacs-spinner" ,emacs-spinner)
+ ("emacs-xterm-color" ,emacs-xterm-color)))
+ (arguments
+ ;; Tests require rust, cargo, rustfmt, and various crates to be
+ ;; vendored.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-without-cask
+ (lambda _
+ (setenv "WITHOUT_CASK" "1"))))))
+ (home-page "https://github.com/brotzeit/rustic")
+ (synopsis "Rust development environment for Emacs")
+ (description "Rustic is a fork of Rust mode.
+In addition to its predecessor, it offers the following features:
+@itemize
+@item Flycheck integration,
+@item Cargo popup,
+@item multiline error parsing,
+@item translation of ANSI control sequences through XTerm color,
+@item asynchronous Org Babel,
+@item custom compilation process,
+@item @command{rustfmt} errors in a Rust compilation mode,
+@item automatic LSP configuration with Eglot or LSP mode,
+@item optional Rust inline documentation,
+@item etc.
+@end itemize")
+ (license (list license:expat
+ license:asl2.0)))))
+
(define-public emacs-ztree
;; Upstream provides no tag, but the commit below matches latest release.
(let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))