From 8f258b7c7a63b5e3c38a44063330088c056fae94 Mon Sep 17 00:00:00 2001 From: "(unmatched-parenthesis" Date: Thu, 8 Feb 2024 16:10:15 +0100 Subject: gnu: parinfer-rust: Add phase to install editor plugins. * gnu/packages/text-editors.scm (rust-parinfer)[arguments]: Install the bundled Vim and Kakoune plugins. Change-Id: I881315481ec08c59576c4530ae72b877c399fc66 Signed-off-by: Efraim Flashner --- gnu/packages/text-editors.scm | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'gnu/packages/text-editors.scm') diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 3fefd59a19..977a101c97 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -27,10 +27,12 @@ ;;; Copyright © 2022 Jai Vetrivelan ;;; Copyright © 2022 jgart ;;; Copyright © 2022 Andy Tai +;;; Copyright © 2022 ( ;;; Copyright © 2023 Eidvilas Markevičius ;;; Copyright © 2023 Maxim Cournoyer ;;; Copyright © 2023 Jaeme Sifat ;;; Copyright © 2023 David Pflug +;;; Copyright © 2024 Herman Rimm ;;; ;;; This file is part of GNU Guix. ;;; @@ -310,7 +312,8 @@ (define-public parinfer-rust (file-name (git-file-name name version)))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:install-source? #f + #:cargo-inputs (("rust-getopts" ,rust-getopts-0.2) ("rust-libc" ,rust-libc-0.2) ("rust-emacs" ,rust-emacs-0.11) @@ -318,7 +321,26 @@ (define-public parinfer-rust ("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)))) + ("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") -- cgit v1.2.3