all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Lee Thompson <lee.p.thomp@gmail.com>
To: 74158@debbugs.gnu.org
Cc: Lee Thompson <lee.p.thomp@gmail.com>
Subject: [bug#74158] [PATCH 3/4] * gnu/packages/text-editors.scm (parinfer-rust-emacs): New variable.
Date: Fri,  1 Nov 2024 13:28:51 +0000	[thread overview]
Message-ID: <20241101132853.723629-3-lee.p.thomp@gmail.com> (raw)
In-Reply-To: <20241101132853.723629-1-lee.p.thomp@gmail.com>

Change-Id: I6c6fb384edb03b55bae63137576c364cf11e42a5
---
 gnu/packages/text-editors.scm | 53 +++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index fae021f012..027f8adb6c 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -467,6 +467,59 @@ (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
+     `(#: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-unicode-segmentation" ,rust-unicode-segmentation-1)
+                       ("rust-unicode-width" ,rust-unicode-width-0.1))
+       #:phases (modify-phases %standard-phases
+                  (add-after 'install 'install-plugins-and-libs
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (lib (string-append out "/lib"))
+                             (vimfiles (string-append out
+                                        "/share/vim/vimfiles/"
+                                        "pack/guix/start/parinfer")))
+                        (with-directory-excursion "target/release"
+                          (install-file "libparinfer_rust.so" lib))
+                        (substitute* "plugin/parinfer.vim"
+                          (("(let s:libdir = ).*" all libdir)
+                           (format #f "~a'~a'\n" libdir lib)))
+                        (install-file "doc/parinfer.txt"
+                                      (string-append vimfiles "/doc"))
+                        (install-file "plugin/parinfer.vim"
+                                      (string-append vimfiles "/plugin"))
+                        (install-file "rc/parinfer.kak"
+                                      (string-append out "/share/kak/autoload"))))))))
+    (inputs (list clang))
+    (home-page "https://github.com/justinbarclay/parinfer-rust-emacs")
+    (synopsis "Emacs-centric fork of parinfer-rust")
+    (description
+     "A full-featured, super fast implementation of Shaun Lebron’s
+@code{parinfer}.  This repo has Vim, Neovim, and Kakoune plugins, and an Emacs
+plugin is available.  The Rust library can be called from other editors that
+can load dynamic libraries.")
+    (license license:isc)))
+
 (define-public joe
   (package
     (name "joe")
-- 
2.43.0





  parent reply	other threads:[~2024-11-01 15:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-01 11:13 [bug#74158] [PATCH 0/4] Add emacs-parinfer-rust-mode Lee Thompson
2024-11-01 13:28 ` [bug#74158] [PATCH 1/4] * gnu/packages/emacs-xyz.scm (emacs-track-changes): New variable Lee Thompson
2024-11-01 13:28   ` [bug#74158] [PATCH 2/4] * gnu/packages/crates-io.scm (rust-emacs-0.19): " Lee Thompson
2024-11-01 13:28   ` Lee Thompson [this message]
2024-11-01 13:28   ` [bug#74158] [PATCH 4/4] * gnu/packages/emacs-xyz.scm (emacs-parinfer-rust-mode): " Lee Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241101132853.723629-3-lee.p.thomp@gmail.com \
    --to=lee.p.thomp@gmail.com \
    --cc=74158@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.