diff --git a/pkgs/development/coq-modules/vscoq-language-server/default.nix b/pkgs/development/coq-modules/vscoq-language-server/default.nix new file mode 100644 index 000000000000..e70094b994eb --- /dev/null +++ b/pkgs/development/coq-modules/vscoq-language-server/default.nix @@ -0,0 +1,32 @@ +{ 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; }; +} diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index fed85970d9bb..4a79bee73fdf 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -125,6 +125,7 @@ let vcfloat = callPackage ../development/coq-modules/vcfloat {}; Velisarios = callPackage ../development/coq-modules/Velisarios {}; Verdi = callPackage ../development/coq-modules/Verdi {}; + vscoq-language-server = callPackage ../development/coq-modules/vscoq-language-server {}; VST = callPackage ../development/coq-modules/VST ((lib.optionalAttrs (lib.versionAtLeast self.coq.version "8.14") { compcert = self.compcert.override {