gnu: Add emacs-rustic.

* gnu/packages/emacs-xyz.scm (emacs-rustic): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
Dhruvin Gandhi via Guix-patches via 2021-06-29 18:59:35 +05:30 committed by Nicolas Goaziou
parent 87232a8c2f
commit 050ec2390f
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -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 @@ (define-public emacs-rust-mode
(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"))