diff mbox series

[bug#49273,1/1] gnu: Add emacs-rustic.

Message ID 20210629132935.10068-1-contact@dhruvin.dev
State Accepted
Headers show
Series gnu: Add emacs-rustic. | expand

Commit Message

Dhruvin Gandhi June 29, 2021, 1:29 p.m. UTC
* gnu/packages/emacs-xyz.scm (emacs-rustic): New variable.
---
 gnu/packages/emacs-xyz.scm | 57 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

Comments

Nicolas Goaziou July 2, 2021, 7:16 a.m. UTC | #1
Hello,

Dhruvin Gandhi via Guix-patches via <guix-patches@gnu.org> writes:

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

Thank you.

I applied your patch with the following changes:

> +(define-public emacs-rustic
> +  (let ((commit "bbf129cd128105de51b6c242b2551094b8d8987d")
> +        (revision "0"))

I added a comment explaining why we're not using a specific tag here.

> +           (add-before 'check 'set-without-cask
> +             (lambda _
> +               (setenv "WITHOUT_CASK" "1")
> +               #t)))))

I removed the #t here.
> +      (home-page "https://github.com/brotzeit/rustic")
> +      (synopsis "Rust development environment for Emacs")
> +      (description "Rustic is a fork of rust-mode.
> +
> +Differences with rust-mode:
> +@itemize
> +@item flycheck integration
> +@item cargo popup
> +@item multiline error parsing
> +@item translation of ANSI control sequences through xterm-color
> +@item async org babel
> +@item custom compilation process
> +@item 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\n")

I slightly reworded the description so it includes full sentences, with
proper capitalization, and no newline character at its end.

Regards,
diff mbox series

Patch

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ab04992fad..6d8bafceae 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
+  (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")
+               #t)))))
+      (home-page "https://github.com/brotzeit/rustic")
+      (synopsis "Rust development environment for Emacs")
+      (description "Rustic is a fork of rust-mode.
+
+Differences with rust-mode:
+@itemize
+@item flycheck integration
+@item cargo popup
+@item multiline error parsing
+@item translation of ANSI control sequences through xterm-color
+@item async org babel
+@item custom compilation process
+@item 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\n")
+      (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"))