diff --git a/pkgs/development/coq-modules/coq-lsp/default.nix b/pkgs/development/coq-modules/coq-lsp/default.nix new file mode 100644 index 00000000000..e75171a9438 --- /dev/null +++ b/pkgs/development/coq-modules/coq-lsp/default.nix @@ -0,0 +1,36 @@ +{ lib, mkCoqDerivation, coq, serapi, makeWrapper, version ? null }: + +mkCoqDerivation rec { + pname = "coq-lsp"; + owner = "ejgallego"; + namePrefix = [ ]; + + useDune = true; + + release."0.1.6.1+8.16".sha256 = "sha256-aX8/pN4fVYaF7ZEPYfvYpEZLiQM++ZG1fAhiLftQ9Aw="; + + inherit version; + defaultVersion = with lib.versions; lib.switch coq.coq-version [ + { case = isEq "8.16"; out = "0.1.6.1+8.16"; } + ] null; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + dune install ${pname} --prefix=$out + wrapProgram $out/bin/coq-lsp --prefix OCAMLPATH : $OCAMLPATH + runHook postInstall + ''; + + propagatedBuildInputs = [ serapi ] + ++ (with coq.ocamlPackages; [ camlp-streams dune-build-info menhir uri yojson ]); + + meta = with lib; { + description = "Language Server Protocol and VS Code Extension for Coq"; + homepage = "https://github.com/ejgallego/coq-lsp"; + changelog = "https://github.com/ejgallego/coq-lsp/blob/${defaultVersion}/CHANGES.md"; + maintainers = with maintainers; [ marsam ]; + license = licenses.lgpl21Only; + }; +} diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index 261bfb09f41..64121de7ca4 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -34,6 +34,7 @@ let coq-elpi = callPackage ../development/coq-modules/coq-elpi {}; coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {}; coq-haskell = callPackage ../development/coq-modules/coq-haskell { }; + coq-lsp = callPackage ../development/coq-modules/coq-lsp {}; coq-record-update = callPackage ../development/coq-modules/coq-record-update { }; coqeal = callPackage ../development/coq-modules/coqeal {}; coqhammer = callPackage ../development/coq-modules/coqhammer {};