summary refs log tree commit diff
diff options
context:
space:
mode:
authorRouby Pierre-Antoine <pierre-antoine.rouby@inria.fr>2018-07-18 11:39:33 +0200
committerKei Kebreau <kkebreau@posteo.net>2018-07-18 11:38:22 -0400
commit661e8a62f700f9bead5f40fd6e45bdf5091a462d (patch)
tree9ec27ecc724742f2956cd72afa7e04cd307aecc1
parent208df8ba8ab1999525310e8f2bf82b03350523c2 (diff)
downloadguix-661e8a62f700f9bead5f40fd6e45bdf5091a462d.tar.gz
gnu: Add emacs-rust-mode.
* gnu/packages/emacs.scm (emacs-rust-mode): New variable.

Signed-off-by: Kei Kebreau <kkebreau@posteo.net>
-rw-r--r--gnu/packages/emacs.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index aae6341465..fa790dba8a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -37,6 +37,7 @@
 ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -11519,3 +11520,36 @@ and 'text viewing modes' respectively.")
     (description "This package provides an Emacs major mode for editing AsciiDoc
 files.  It focuses on highlighting the document to improve readability.")
     (license license:gpl2+)))
+
+(define-public emacs-rust-mode
+  (let ((commit
+         ;; Last release is old (2016), use more recent commit to get bug
+         ;; fixes.
+         "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
+        (revision "0"))
+    (package
+      (name "emacs-rust-mode")
+      (version (git-version "0.3.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri
+                 (git-reference
+                  (url "https://github.com/rust-lang/rust-mode")
+                  (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (replace 'check
+             (lambda _
+               (invoke "sh" "run_rust_emacs_tests.sh"))))))
+      (home-page "https://github.com/rust-lang/rust-mode")
+      (synopsis "Major Emacs mode for editing Rust source code")
+      (description "This package provides a major Emacs mode for editing Rust
+source code.")
+      (license (list license:expat
+                     license:asl2.0)))))