idris2Packages.idris2Lsp: init at 2024-01-21

This commit is contained in:
Mathew Polzin 2024-01-23 23:18:34 -06:00
parent 5fe69cb9cf
commit e9fa40dccd
2 changed files with 47 additions and 2 deletions

View File

@ -5,12 +5,13 @@
let
in {
idris2 = callPackage ./idris2.nix { };
idris2Lsp = callPackage ./idris2-lsp.nix { };
buildIdris = callPackage ./build-idris.nix { };
idris2Api = (idris2Packages.buildIdris {
inherit (idris2Packages.idris2) src;
projectName = "idris2api";
inherit (idris2Packages.idris2) src version;
ipkgName = "idris2api";
idrisLibraries = [ ];
preBuild = ''
export IDRIS2_PREFIX=$out/lib

View File

@ -0,0 +1,44 @@
{ fetchFromGitHub, idris2Packages, makeWrapper }:
let
globalLibraries = let
idrName = "idris2-${idris2Packages.idris2.version}";
libSuffix = "lib/${idrName}";
in [
"\\$HOME/.nix-profile/lib/${idrName}"
"/run/current-system/sw/lib/${idrName}"
"${idris2Packages.idris2}/${idrName}"
];
globalLibrariesPath = builtins.concatStringsSep ":" globalLibraries;
idris2Api = idris2Packages.idris2Api { };
lspLib = (idris2Packages.buildIdris {
ipkgName = "lsp-lib";
version = "2024-01-21";
src = fetchFromGitHub {
owner = "idris-community";
repo = "LSP-lib";
rev = "03851daae0c0274a02d94663d8f53143a94640da";
hash = "sha256-ICW9oOOP70hXneJFYInuPY68SZTDw10dSxSPTW4WwWM=";
};
idrisLibraries = [ ];
}).library { };
lspPkg = idris2Packages.buildIdris {
ipkgName = "idris2-lsp";
version = "2024-01-21";
src = fetchFromGitHub {
owner = "idris-community";
repo = "idris2-lsp";
rev = "a77ef2d563418925aa274fa29f06880dde43f4ec";
hash = "sha256-zjfVfkpiQS9AdmTfq0hYRSelJq5Caa9VGTuFLtSvl5o=";
};
idrisLibraries = [idris2Api lspLib];
buildInputs = [makeWrapper];
postInstall = ''
wrapProgram $out/bin/idris2-lsp \
--suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}"
'';
};
in lspPkg.executable