gnu: Add parinfer-rust-emacs.

* gnu/packages/text-editors.scm (parinfer-rust-emacs): New variable.

Change-Id: I6c6fb384edb03b55bae63137576c364cf11e42a5
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
Lee Thompson 2024-11-04 16:59:33 +00:00 committed by Efraim Flashner
parent b9547aa9bf
commit db4ef36acc
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -75,6 +75,8 @@ (define-module (gnu packages text-editors)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-web)
#:use-module (gnu packages crates-windows)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages datastructures)
@ -467,6 +469,49 @@ (define-public parinfer-rust
can load dynamic libraries.")
(license license:expat)))
(define-public parinfer-rust-emacs
(package
(name "parinfer-rust-emacs")
(version "0.4.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/justinbarclay/parinfer-rust-emacs")
(commit (string-append "v" version))))
(sha256
(base32 "1v5lcbs1x4f3b428sj9rkjbmfpzyxzny7i0pgdpnr8nyjvpkzns8"))
(file-name (git-file-name name version))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-inputs `(("rust-getopts" ,rust-getopts-0.2)
("rust-libc" ,rust-libc-0.2)
("rust-emacs" ,rust-emacs-0.19)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-stdweb" ,rust-stdweb-0.4)
("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-winapi" ,rust-winapi-0.3))
#:phases #~(modify-phases %standard-phases
(add-after 'install 'install-library
(lambda _
(let ((lib (string-append #$output "/lib")))
(with-directory-excursion "target/release"
(install-file "libparinfer_rust.so" lib))))))))
(inputs (list clang))
(home-page "https://github.com/justinbarclay/parinfer-rust-emacs")
(synopsis "Emacs-centric fork of parinfer-rust")
(description
"@command{parinfer-rust-emacs} is an Emacs-centric fork of parinfer-rust,
itself an implementation of Shaun Lebrons Parinfer. This builds a shared
library intended to be loaded by the @command{emacs-parinfer-rust-mode} Emacs
plugin, though a standalone binary is built also.")
(license license:isc)))
(define-public joe
(package
(name "joe")