[PATCH] gnu: Add emacs-cargo-el

  • Done
  • quality assurance status badge
Details
4 participants
  • Cayetano Santos
  • Hilton Chain
  • Nicolas Graves
  • Javier Olaechea
Owner
unassigned
Submitted by
Javier Olaechea
Severity
normal
J
J
Javier Olaechea wrote on 2 Nov 06:42 +0100
(address . guix-patches@gnu.org)
CAFVS=zDU6z+zat3EW942eaNby_vV3MKRiN3Yce5sQNsG638Zpw@mail.gmail.com
Hi,
attached is patch to add the cargo.el package. It is a minor mode to
interact with rust's cargo package manager from Emacs.

Cheers

--
"I object to doing things that computers can do." — Olin Shivers
Attachment: file
From 1a3df5f98b1f785379c5b38661dc815bea9266c1 Mon Sep 17 00:00:00 2001
Message-ID: <1a3df5f98b1f785379c5b38661dc815bea9266c1.1730526066.git.pirata@gmail.com>
From: Javier Olaechea <pirata@gmail.com>
Date: Sat, 2 Nov 2024 00:36:57 -0500
Subject: [PATCH] gnu: Add emacs-cargo-el

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

Change-Id: I73a99eeb818fb1c7ab87cc15c5953beba818cb94
---
gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 488b4cb5d7..5b9c7437f2 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -29667,6 +29667,29 @@ (define-public emacs-rustic
(license (list license:expat
license:asl2.0))))
+(define-public emacs-cargo-el
+ (let ((commit "7f8466063381eed05d4e222ce822b1dd44e3bf17")
+ (revision "1"))
+ (package
+ (name "emacs-cargo-el")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kwrooijen/cargo.el")
+ (commit commit)))
+ (sha256
+ (base32 "1hvxdmyppvx04jyn07dnynlgbwyasv22k8dd4qa68mrj8i9mz484"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-markdown-mode))
+ (home-page "https://github.com/kwrooijen/cargo.el")
+ (synopsis "Emacs Minor Mode for Cargo, Rust's Package Manager")
+ (description
+ "Cargo mode for Emacs. This package gives you a set of key combinations to
+perform Cargo tasks within your Rust projects.")
+ (license license:gpl3+))))
+
(define-public emacs-ztree
;; Upstream provides no tag, but the commit below matches latest release.
(let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))

base-commit: ea11d3608566174c4bae70faa4f9d0c67748d2db
--
2.46.0
N
N
Nicolas Graves wrote on 3 Nov 20:58 +0100
tag 74174 easy
(address . control@debbugs.gnu.org)
87fro8ozs8.fsf@ngraves.fr
tags 74174 + easy
quit

--
Best regards,
Nicolas Graves
C
C
Cayetano Santos wrote on 4 Nov 14:11 +0100
QA review for 74174
87a5efrvnz.fsf@inventati.org
user guix
usertag 74174 + waiting-on-contributor
thanks

Guix QA review form submission:

- sentences in description should be followed by two spaces
- check propagated-inputs, emacs-rust-mode instead of
emacs-markdown-mode ?
- first revision should be 0 instead of 1 ?

Items marked as checked: Commit messages, Package builds, Lint warnings
J
J
Javier Olaechea wrote on 5 Nov 05:54 +0100
(address . 74174@debbugs.gnu.org)
CAFVS=zBV4-y2wQ4=Go2X=AfyGN5RP_nBnQU2JAUfwgeqpz5j5A@mail.gmail.com
Guix QA review form submission:

Toggle quote (2 lines)
> - sentences in description should be followed by two spaces

Updated the description accordingly

Toggle quote (3 lines)
> - check propagated-inputs, emacs-rust-mode instead of
> emacs-markdown-mode ?

No, the package doesn't depend on rust-mode at all. It shells out the cargo
and rustc instead. The require calls in the elisp files are

(require 'xref)
(require 'compile)
(require 'button)
(require 'markdown-mode)
(require 'tramp)

Of those, only emacs-markdown-mode is not a built-in package. Although we
could add xref and tramp as inputs. They are also distributed as separate
packages in GNU Elpa. This means they have a separate release cadence from
emacs. What do you think?

Toggle quote (2 lines)
> - first revision should be 0 instead of 1 ?

Thanks, it is true 'hackers count from 0'. ^_^. Updated.

Cheers
--
"I object to doing things that computers can do." — Olin Shivers
Attachment: file
From 95bb683ce62fd38c9bbbc4efa4f3499d0cc4f647 Mon Sep 17 00:00:00 2001
Message-ID: <95bb683ce62fd38c9bbbc4efa4f3499d0cc4f647.1730781951.git.pirata@gmail.com>
From: Javier Olaechea <pirata@gmail.com>
Date: Sat, 2 Nov 2024 00:36:57 -0500
Subject: [PATCH v2] gnu: Add emacs-cargo-el

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

Change-Id: I73a99eeb818fb1c7ab87cc15c5953beba818cb94
---
gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 59c804066a..fc8a5839b4 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -29667,6 +29667,29 @@ (define-public emacs-rustic
(license (list license:expat
license:asl2.0))))
+(define-public emacs-cargo-el
+ (let ((commit "7f8466063381eed05d4e222ce822b1dd44e3bf17")
+ (revision "0"))
+ (package
+ (name "emacs-cargo-el")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kwrooijen/cargo.el")
+ (commit commit)))
+ (sha256
+ (base32 "1hvxdmyppvx04jyn07dnynlgbwyasv22k8dd4qa68mrj8i9mz484"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-markdown-mode))
+ (home-page "https://github.com/kwrooijen/cargo.el")
+ (synopsis "Emacs Minor Mode for Cargo, Rust's Package Manager")
+ (description
+ "Cargo mode for Emacs. This package gives you a set of key combinations to
+perform Cargo tasks within your Rust projects.")
+ (license license:gpl3+))))
+
(define-public emacs-ztree
;; Upstream provides no tag, but the commit below matches latest release.
(let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))

base-commit: 33665c52c4670bc3b4d337c89ac9cc6c4c69b26f
--
2.46.0
C
C
Cayetano Santos wrote on 5 Nov 10:08 +0100
(address . pirata@gmail.com)
87ses69hel.fsf@inventati.org
user guix
usertag 74174 + reviewed-looks-good
thanks

Toggle quote (5 lines)
> Of those, only emacs-markdown-mode is not a built-in package. Although we
> could add xref and tramp as inputs. They are also distributed as separate
> packages in GNU Elpa. This means they have a separate release cadence from
> emacs. What do you think?

In my opinion, if the dependency is built-in with current emacs, there
is no need to pull anything else.

v1 looks good to me,

C.
H
H
Hilton Chain wrote on 7 Nov 02:25 +0100
Re: [bug#74174] [PATCH v2] gnu: Add emacs-cargo-el.
(name . Javier Olaechea)(address . pirata@gmail.com)
87bjyrg7ih.wl-hako@ultrarare.space
Hi Javier,

On Tue, 05 Nov 2024 12:54:49 +0800,
Javier Olaechea wrote:
Toggle quote (17 lines)
>
> [1 <multipart/alternative (7bit)>]
> [1.1 <text/plain; UTF-8 (quoted-printable)>]
> [1.2 <text/html; UTF-8 (quoted-printable)>]
> Guix QA review form submission:
>
> > - sentences in description should be followed by two spaces
>
> Updated the description accordingly
>
> > - check propagated-inputs, emacs-rust-mode instead of
> > emacs-markdown-mode ?
>
> No, the package doesn't depend on rust-mode at all. It shells out the cargo and rustc instead. The require
> calls in the elisp files are


We generally patch these references to paths within /gnu/store.


Toggle quote (15 lines)
> (require 'xref)
> (require 'compile)
> (require 'button)
> (require 'markdown-mode)
> (require 'tramp)
>
> Of those, only emacs-markdown-mode is not a built-in package. Although we could add xref and tramp as inputs.
> They are also distributed as separate packages in GNU Elpa. This means they have a separate release cadence
> from emacs. What do you think?
>
> > - first revision should be 0 instead of 1 ?
>
> Thanks, it is true 'hackers count from 0'. ^_^. Updated.


There's no strict requirement on revisions :)
Just make sure (version + revision) is increasing when updating package source.


Toggle quote (11 lines)
> Cheers
> --
> "I object to doing things that computers can do." ? Olin Shivers
> [2 v2-0001-gnu-Add-emacs-cargo-el.patch <text/x-patch; US-ASCII (base64)>]
> From 95bb683ce62fd38c9bbbc4efa4f3499d0cc4f647 Mon Sep 17 00:00:00 2001
> Message-ID: <95bb683ce62fd38c9bbbc4efa4f3499d0cc4f647.1730781951.git.pirata@gmail.com>
> From: Javier Olaechea <pirata@gmail.com>
> Date: Sat, 2 Nov 2024 00:36:57 -0500
> Subject: [PATCH v2] gnu: Add emacs-cargo-el


Don't forget to end the subject with ‘.’


Toggle quote (23 lines)
> * gnu/packages/emacs-xyz.scm (emacs-cargo-el): New variable.
>
> Change-Id: I73a99eeb818fb1c7ab87cc15c5953beba818cb94
> ---
> gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 59c804066a..fc8a5839b4 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -29667,6 +29667,29 @@ (define-public emacs-rustic
> (license (list license:expat
> license:asl2.0))))
>
> +(define-public emacs-cargo-el
> + (let ((commit "7f8466063381eed05d4e222ce822b1dd44e3bf17")
> + (revision "0"))
> + (package
> + (name "emacs-cargo-el")
> + (version "0.4.0")


The version 0.4.0 doesn't match upstream commit 7f8466063381, so we shouldn't
use it here. Please see package guidelines on version numbers[1] for details.


Toggle quote (8 lines)
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/kwrooijen/cargo.el")
> + (commit commit)))


Don't forget to add a file name to this origin, you can use ‘guix lint’ to
identify such issue.


Toggle quote (8 lines)
> + (sha256
> + (base32 "1hvxdmyppvx04jyn07dnynlgbwyasv22k8dd4qa68mrj8i9mz484"))))
> + (build-system emacs-build-system)
> + (propagated-inputs (list emacs-markdown-mode))
> + (home-page "https://github.com/kwrooijen/cargo.el")
> + (synopsis "Emacs Minor Mode for Cargo, Rust's Package Manager")


Uppercase only when it's meaningful.


Toggle quote (5 lines)
> + (description
> + "Cargo mode for Emacs. This package gives you a set of key combinations to
> +perform Cargo tasks within your Rust projects.")


Use full sentences for description, "Cargo mode for Emacs" should be reworded.
Guidelines for synopses and descriptions are available in [2].


Toggle quote (11 lines)
> + (license license:gpl3+))))
> +
> (define-public emacs-ztree
> ;; Upstream provides no tag, but the commit below matches latest release.
> (let ((commit "c9ad9136d52ca5a81475693864e255d29448f43f"))
>
> base-commit: 33665c52c4670bc3b4d337c89ac9cc6c4c69b26f
> --
> 2.46.0


I have adjusted your patch based on above comments and applied it as
673b924ac1e30a5d498e28859af365cf2bb4a508, thanks!

Also thanks for Cayetano's previous review!

---
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 74174@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74174
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch