summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJavier Olaechea <pirata@gmail.com>2024-11-02 00:36:57 -0500
committerHilton Chain <hako@ultrarare.space>2024-11-07 09:22:01 +0800
commit673b924ac1e30a5d498e28859af365cf2bb4a508 (patch)
treecf45884b2e3785b8211d1a8618cef87b33cf8fd0 /gnu/packages
parentf0ac12fa1a261854c662a9746d06e7667bef1470 (diff)
downloadguix-673b924ac1e30a5d498e28859af365cf2bb4a508.tar.gz
gnu: Add emacs-cargo-el.
* gnu/packages/emacs-xyz.scm (emacs-cargo-el): New variable.

Modified-by: Hilton Chain <hako@ultrarare.space>
Change-Id: Ibb632da6a38d020c49897febf92c0506f9455d88
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/emacs-xyz.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e3267be380..88e1ab89a9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -254,6 +254,7 @@
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages racket)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages rust)
   #:use-module (gnu packages rust-apps)
   #:use-module (gnu packages scheme)
   #:use-module (gnu packages serialization)
@@ -29667,6 +29668,40 @@ In addition to its predecessor, it offers the following features:
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public emacs-cargo-el
+  ;; No tags since 2017, use latest commit.
+  (let ((commit "7f8466063381eed05d4e222ce822b1dd44e3bf17")
+        (revision "0"))
+    (package
+      (name "emacs-cargo-el")
+      (version (git-version "0.4.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/kwrooijen/cargo.el")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1hvxdmyppvx04jyn07dnynlgbwyasv22k8dd4qa68mrj8i9mz484"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list #:phases
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack 'fix-paths
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (substitute* "cargo-process.el"
+                       (("/usr/local/(bin/(cargo|rustc))" _ path)
+                        (search-input-file inputs path))))))))
+      (propagated-inputs (list emacs-markdown-mode))
+      (inputs (list rust `(,rust "cargo")))
+      (home-page "https://github.com/kwrooijen/cargo.el")
+      (synopsis "Emacs minor mode for Cargo, Rust's package manager")
+      (description
+       "This package defines @code{cargo-minor-mode}, which gives a set of key
+combinations to perform Cargo tasks within Rust projects.")
+      (license license:gpl3+))))
+
 (define-public emacs-ztree
   ;; Upstream provides no tag, but the commit below matches latest release.
   (let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))