From 050ec2390f3e1d55aab57f8f01b73fbb6e932683 Mon Sep 17 00:00:00 2001 From: Dhruvin Gandhi via Guix-patches via Date: Tue, 29 Jun 2021 18:59:35 +0530 Subject: gnu: Add emacs-rustic. * gnu/packages/emacs-xyz.scm (emacs-rustic): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'gnu/packages') 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 ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 David Dashyan +;;; Copyright © 2021 Dhruvin Gandhi ;;; ;;; 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")) -- cgit v1.2.3