33 lines
1.3 KiB
Nix
33 lines
1.3 KiB
Nix
|
{ metaFetch, mkCoqDerivation, coq, lib, glib, gnome, wrapGAppsHook,
|
||
|
version ? null }:
|
||
|
|
||
|
let ocamlPackages = coq.ocamlPackages;
|
||
|
defaultVersion = lib.switch coq.coq-version [
|
||
|
{ case = "8.18"; out = "2.0.3+coq8.18"; }
|
||
|
] null;
|
||
|
location = { domain = "github.com"; owner = "coq-community"; repo = "vscoq"; };
|
||
|
fetch = metaFetch ({
|
||
|
release."2.0.3+coq8.18".sha256 = "sha256-VXhHCP6Ni5/OcsgoI1EbJfYCpXzwkuR8kbbKrl6dfjU=";
|
||
|
release."2.0.3+coq8.18".rev = "v2.0.3+coq8.18";
|
||
|
inherit location; });
|
||
|
fetched = fetch (if version != null then version else defaultVersion);
|
||
|
in
|
||
|
ocamlPackages.buildDunePackage {
|
||
|
pname = "vscoq-language-server";
|
||
|
inherit (fetched) version;
|
||
|
src = "${fetched.src}/language-server";
|
||
|
buildInputs =
|
||
|
[ coq glib gnome.adwaita-icon-theme wrapGAppsHook ] ++
|
||
|
(with ocamlPackages; [ findlib
|
||
|
lablgtk3-sourceview3 yojson zarith ppx_inline_test
|
||
|
ppx_assert ppx_sexp_conv ppx_deriving ppx_import sexplib
|
||
|
ppx_yojson_conv lsp sel ]);
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Language server for the vscoq vscode/codium extension";
|
||
|
homepage = "https://github.com/coq-community/vscoq";
|
||
|
maintainers = with maintainers; [ cohencyril ];
|
||
|
license = licenses.mit;
|
||
|
} // optionalAttrs (fetched.broken or false) { coqFilter = true; broken = true; };
|
||
|
}
|