Commit abc782ce authored by PoweredByPie's avatar PoweredByPie
Browse files

kak-lsp: Add perl as runtime dependency

Snippets do not work without Perl installed. (See https://github.com/kak-lsp/kak-lsp/blob/v15.0.0/rc/lsp.kak#L2343)
parent 93264eeb
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
From b93660cfa8a80a5e5bf72e1f06fb7bf95272c7e4 Mon Sep 17 00:00:00 2001
From: PoweredByPie <poweredbypie@users.noreply.github.com>
Date: Fri, 8 Dec 2023 04:39:01 -0800
Subject: [PATCH] Use full Perl path

---
 rc/lsp.kak | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/rc/lsp.kak b/rc/lsp.kak
index d695a2e..7c6a436 100644
--- a/rc/lsp.kak
+++ b/rc/lsp.kak
@@ -2339,11 +2339,6 @@ define-command -hidden lsp-snippets-insert-completion -params 1 %{ evaluate-comm
 }}
 
 define-command lsp-snippets-insert -hidden -params 1 %[
-    evaluate-commands %sh{
-        if ! command -v perl > /dev/null 2>&1; then
-            printf "fail '''perl'' must be installed to use the ''snippets-insert'' command'"
-        fi
-    }
     evaluate-commands -draft -save-regs '^"' %[
         set-register '"' %arg{1}
         execute-keys <a-P>
@@ -2397,7 +2392,7 @@ define-command lsp-snippets-insert -hidden -params 1 %[
 
 define-command -hidden lsp-snippets-insert-perl-impl %[
     evaluate-commands %sh[ # $kak_quoted_selections
-        perl -e '
+        @perlPath@/bin/perl -e '
 use strict;
 use warnings;
 use Text::ParseWords();
-- 
2.42.0
+10 −3
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, rustPlatform, CoreServices, Security, SystemConfiguration }:
{ stdenv, lib, fetchFromGitHub, rustPlatform, perl, CoreServices, Security, SystemConfiguration }:

rustPlatform.buildRustPackage rec {
  pname = "kak-lsp";
@@ -13,13 +13,20 @@ rustPlatform.buildRustPackage rec {

  cargoHash = "sha256-+3cpAL+8X8L833kmZapUoGSwHOj+hnDN6oDNJZ6y24Q=";

  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
  buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];

  patches = [ ./0001-Use-full-Perl-path.patch ];

  postPatch = ''
    substituteInPlace rc/lsp.kak \
      --subst-var-by perlPath ${lib.getBin perl}
  '';

  meta = with lib; {
    description = "Kakoune Language Server Protocol Client";
    homepage = "https://github.com/kak-lsp/kak-lsp";
    license = with licenses; [ unlicense /* or */ mit ];
    maintainers = [ maintainers.spacekookie ];
    maintainers = with maintainers; [ spacekookie poweredbypie ];
    mainProgram = "kak-lsp";
  };
}