diff options
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix')
-rw-r--r-- | nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix new file mode 100644 index 000000000000..b501282c1558 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix @@ -0,0 +1,44 @@ +{ buildDunePackage +, stdlib-shims +, ppx_yojson_conv_lib +, ocaml-syntax-shims +, jsonrpc +, omd +, octavius +, dune-build-info +, uutf +, csexp +, cmdliner +}: + +buildDunePackage { + pname = "lsp"; + inherit (jsonrpc) version src; + useDune2 = true; + minimumOCamlVersion = "4.06"; + + # unvendor some (not all) dependencies. + # They are vendored by upstream only because it is then easier to install + # ocaml-lsp without messing with your opam switch, but nix should prevent + # this type of problems without resorting to vendoring. + preBuild = '' + rm -r ocaml-lsp-server/vendor/{octavius,uutf,ocaml-syntax-shims,omd,cmdliner} + ''; + + buildInputs = [ + stdlib-shims + ppx_yojson_conv_lib + ocaml-syntax-shims + octavius + uutf + csexp + dune-build-info + omd + cmdliner + jsonrpc + ]; + + meta = jsonrpc.meta // { + description = "LSP protocol implementation in OCaml"; + }; +} |