blob: ae7eb76ee7193e73f4a7d3816645a3c93ae8346f (
plain) (
tree)
|
|
{ lib
, python3
, melpaBuild
, fetchFromGitHub
, substituteAll
, acm
, markdown-mode
, posframe
, git
, go
, gopls
, pyright
, ruff
, tempel
, writeText
, unstableGitUpdater
}:
let
rev = "6f93deb32ebb3799dfedd896a17a0428a9b461bb";
python = python3.withPackages (ps: with ps; [
epc
orjson
sexpdata
six
]);
in
melpaBuild {
pname = "lsp-bridge";
version = "20230607.135"; # 1:35 UTC
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
inherit rev;
hash = "sha256-4AKKsU+yuLA9qv6mhYPpjBJ8wrbGPMuzN98JXcVPAHg=";
};
commit = rev;
patches = [
# Hardcode the python dependencies needed for lsp-bridge, so users
# don't have to modify their global environment
(substituteAll {
src = ./hardcode-dependencies.patch;
python = python.interpreter;
})
];
packageRequires = [
acm
markdown-mode
posframe
];
checkInputs = [
git
go
gopls
pyright
python
ruff
tempel
];
recipe = writeText "recipe" ''
(lsp-bridge
:repo "manateelazycat/lsp-bridge"
:fetcher github
:files
("*.el"
"lsp_bridge.py"
"core"
"langserver"
"multiserver"
"resources"))
'';
doCheck = true;
checkPhase = ''
runHook preCheck
cd "$sourceRoot"
mkfifo test.log
cat < test.log &
HOME=$(mktemp -d) python -m test.test
runHook postCheck
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "A blazingly fast LSP client for Emacs";
homepage = "https://github.com/manateelazycat/lsp-bridge";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fxttr kira-bruneau ];
};
}
|