[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54357] [PATCH] gnu: kakoune: Clean up, and add a search path that m
From: |
(unmatched-parenthesis |
Subject: |
[bug#54357] [PATCH] gnu: kakoune: Clean up, and add a search path that makes it possible to package kak plugins in guix. (Plugins incoming soon.) |
Date: |
Sat, 12 Mar 2022 21:09:40 +0000 |
* gnu/packages/text-editors.scm(kakoune): Remove the redundant `#t`s, and add a
$GUIX_KAKOUNE_CONFIG_DIRS search path.
While trying to package a kak plugin, I realized that the kak package itself
was missing a
search path. However, kak appears to allow only one config path, so I inject a
for loop into
the default kakrc (with a hacky substitute* because i cannot be bothered
preparing a path :)
which enumerates the paths in $GUIX_KAKOUNE_CONFIG_DIRS and sources all their
kakfiles.
I'll send in a few plugins in a moment. These will act as both examples of the
search path
working and of course useful packages in themselves.
I also took the opportunity to clean the package up a little, removing the now
unneccesary
`#t`s returned at the end of each phase. I was going to change it to use git
instead of
github release tarballs too (I'm told that git clones are better because of
Software Heritage),
but I'm hesitant to make that change without checking first.
---
gnu/packages/text-editors.scm | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 45cc61765a..6d562d0e4a 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Calum Irwin <calumirwin1@gmail.com>
+;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -187,14 +188,33 @@ (define-public kakoune
(substitute* "src/shell_manager.cc"
(("if \\(m_shell.empty\\(\\)\\)" line)
(string-append "m_shell = \"" (which "sh")
- "\";\n " line)))
- #t))
+ "\";\n " line)))))
(delete 'configure) ; no configure script
;; kakoune requires us to be in the src/ directory to build.
(add-before 'build 'chdir
- (lambda _ (chdir "src") #t)))))
+ (lambda _ (chdir "src")))
+ (add-before 'install 'patch-kakrc
+ (lambda _
+ (chdir "..")
+ ;; here, we modify the default kakrc to source all the
$pkg/share/kak/autoload/*.kak
+ ;; files automatically.
+ (substitute* "share/kak/kakrc"
+ (("echo \"colorscheme default\"" colorscheme-default)
+ (string-append colorscheme-default "
+for dir in $(echo ${GUIX_KAKOUNE_CONFIG_DIRS} | sed 's/:/\\/autoload /g'); do
+ if [ -d ${dir} ]; then
+ autoload_directory ${dir}
+ fi
+done
+"))))))))
(native-inputs
(list asciidoc pkg-config ruby))
+ (native-search-paths
+ (list (search-path-specification
+ ;; kakoune only supports one config dir, so we use this instead,
so that we can
+ ;; modify the default kakrc to source all the autoloads.
+ (variable "GUIX_KAKOUNE_CONFIG_DIRS")
+ (files '("share/kak/")))))
(synopsis "Vim-inspired code editor")
(description
"Kakoune is a code editor heavily inspired by Vim, as such most of its
--
2.34.0
- [bug#54357] [PATCH] gnu: kakoune: Clean up, and add a search path that makes it possible to package kak plugins in guix. (Plugins incoming soon.),
(unmatched-parenthesis <=
- [bug#54357] [PATCH] gnu: kakoune: Clean up, and add a search path that makes it possible to package kak plugins in guix. (Plugins incoming soon.), paren, 2022/03/12
- [bug#54357] [PATCH] gnu: Add kak-auto-pairs, (unmatched-parenthesis, 2022/03/12
- [bug#54357] [PATCH] gnu: Add kak-sudo-write, (unmatched-parenthesis, 2022/03/12
- [bug#54357] [PATCH 1/4] gnu: kakoune: Clean up, and add a search path that makes it possible to package kak plugins in guix., (unmatched-parenthesis, 2022/03/13
- [bug#54357] [PATCH 1/4] gnu: kakoune: Clean up, and add a search path that makes it possible to package kak plugins in guix., (unmatched-parenthesis, 2022/03/14