[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Opinions on packaging parinfer-rust-mode
From: |
Lee Thompson |
Subject: |
Opinions on packaging parinfer-rust-mode |
Date: |
Sun, 14 Jul 2024 13:21:22 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Greetings all,
I want to port https://github.com/justinbarclay/parinfer-rust-mode to
Guix. This package is a more modern and actively maintained version of
`parinfer-mode`, which is already in Guix, that loads a Rust-based
library to handle all the heavy computation.
I've got a couple of patches for this package which I'll attach, one for
parinfer-rust-mode itself and another for an ELPA package called
track-changes, which parinfer-rust-mode depends on and (as far as I can
see) isn't already in Guix.
What I'm unsure about is this: parinfer-rust-mode is designed to offer
you the option of automatically downloading the companion Rust library
from the repo at https://github.com/justinbarclay/parinfer-rust-emacs.
This worked fine for testing and resulted in a working
parinfer-rust-mode for Emacs, though I'm suspecting having Guix handle
the downloading and manipulation of this library would be more
preferable (Guix-ier perhaps?).
I'm hoping others have ideas and opinions about what to do here. Any
help appreciated, and if this is the wrong place for this do let me know
where better to inquire, thanks!
>From 0f008e6c4bed9285f838ce7fd5d16c1fe2abf279 Mon Sep 17 00:00:00 2001
Message-ID:
<0f008e6c4bed9285f838ce7fd5d16c1fe2abf279.1720884197.git.lee.p.thomp@gmail.com>
From: Lee Thompson <lee.p.thomp@gmail.com>
Date: Sat, 13 Jul 2024 16:21:07 +0100
Subject: [PATCH] First go at adding `parinfer-rust-mode` for Emacs.
Change-Id: Iebb2105206884c9164556f7c40397dd484fdf317
---
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 c8b19bf1a5..8be31db415 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26658,6 +26658,29 @@ (define-public emacs-track-changes
to react to them.")
(license license:gpl3+)))
+(define-public emacs-parinfer-rust-mode
+ (package
+ (name "emacs-parinfer-rust-mode")
+ (version "0.9.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/justinbarclay/parinfer-rust-mode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kbn54v100rh6pxl3lc66pspd3nfy7pkv8iyqkg09xqcwyblbf86"))))
+ (propagated-inputs (list emacs-track-changes))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/justinbarclay/parinfer-rust-mode/")
+ (synopsis "Lisp structure editing mode leveraging parinfer-rust.")
+ (description
+ "@code{parinfer-rust-mode} aims to be a simple implementation
+of Parinfer that leverages the parinfer-rust plugin to do most of the heavy
+lifting.")
+ (license license:gpl3)))
+
(define-public emacs-helm-eww
(package
(name "emacs-helm-eww")
base-commit: 3e7ce72d80878d5b3eb161c37ca97fd6ded33b2f
prerequisite-patch-id: 0a832f8727798349281d9c107a3b850f4a910f1c
--
2.45.2
>From 47ca20da9ee09892171ea121f68248a9af6a37b8 Mon Sep 17 00:00:00 2001
Message-ID:
<47ca20da9ee09892171ea121f68248a9af6a37b8.1720884142.git.lee.p.thomp@gmail.com>
From: Lee Thompson <lee.p.thomp@gmail.com>
Date: Sat, 13 Jul 2024 16:20:32 +0100
Subject: [PATCH] First go at adding `track-changes` for Emacs.
Change-Id: Ife61e1dd390d54b21d28be13102977ee1a97b585
---
gnu/packages/emacs-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 99e1d4c65c..c8b19bf1a5 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -26637,6 +26637,27 @@ (define-public emacs-parinfer-mode
keep Parens and Indentation inline with one another.")
(license license:gpl3+)))
+(define-public emacs-track-changes
+ (package
+ (name "emacs-track-changes")
+ (version "1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/track-changes-"
+ version ".tar"))
+ (sha256
+ (base32 "0al6a1xjs6p2pn6z976pnmfqz2x5xcz99b5gkdzz90ywbn7018m4"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/track-changes.html")
+ (synopsis "An abstraction library which handles accumulating file changes")
+ (description
+ "This library is a layer of abstraction above
+@code{before-change-functions} and @code{after-change-functions} which takes
+care of accumulating changes until a time when its client finds it convenient
+to react to them.")
+ (license license:gpl3+)))
+
(define-public emacs-helm-eww
(package
(name "emacs-helm-eww")
base-commit: 3e7ce72d80878d5b3eb161c37ca97fd6ded33b2f
--
2.45.2
- Opinions on packaging parinfer-rust-mode,
Lee Thompson <=