1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-14 02:50:45 +02:00

gnu: Add emacs-parinfer-rust-mode.

* gnu/packages/emacs-xyz.scm (emacs-parinfer-rust-mode): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Change-Id: I3db27c99bfb5286d5ca8d8bc5e7041eec070f02f
This commit is contained in:
Lee Thompson 2025-01-03 11:18:48 +01:00 committed by Nicolas Goaziou
parent 37ca28fa4e
commit b1fed4ca56
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -290,6 +290,7 @@
#:use-module (gnu packages statistics)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web-browsers)
#:use-module (gnu packages wget)
@ -27760,6 +27761,48 @@ mode for Lisp programming languages. It will infer some changes to
keep Parens and Indentation inline with one another.")
(license license:gpl3+)))
(define-public emacs-parinfer-rust-mode
(package
(name "emacs-parinfer-rust-mode")
(version "0.9.3")
(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 "1p00m757maw6dxig0x45gry1l7vm9dm6wg1anfm2rwl6hw1f5q25"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((parinfer-lib
(dirname
(search-input-file inputs "lib/libparinfer_rust.so"))))
;; Specify the absolute file names of the parinfer shared
;; library.
;; (make-file-writable "parinfer-rust-mode.el")
(emacs-substitute-variables "parinfer-rust-mode.el"
("parinfer-rust--lib-name" "libparinfer_rust.so")
("parinfer-rust-library-dir" parinfer-lib))
(emacs-substitute-sexps "parinfer-rust-mode.el"
("defcustom parinfer-rust-library-directory" parinfer-lib)
("defconst parinfer-rust--lib-name"
"libparinfer_rust.so"))))))))
(inputs (list parinfer-rust-emacs))
(propagated-inputs (list emacs-track-changes))
(home-page "https://github.com/justinbarclay/parinfer-rust-mode")
(synopsis "Lisp structure editing mode leveraging Parinfer Rust")
(description
"Parinfer Rust mode aims to be a simple implementation of Parinfer that
leverages the Parinfer Rust Emacs library to do most of the heavy lifting.")
(license license:gpl3+)))
(define-public emacs-helm-eww
(package
(name "emacs-helm-eww")