diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix index 13ae64292ec7..602f5eb77fe7 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix @@ -1,4 +1,4 @@ -{ buildDunePackage, jsonrpc, lsp, re, makeWrapper, dot-merlin-reader }: +{ lib, buildDunePackage, jsonrpc, lsp, re, makeWrapper, dot-merlin-reader, spawn }: buildDunePackage { pname = "ocaml-lsp-server"; @@ -7,7 +7,8 @@ buildDunePackage { inherit (lsp) preBuild; - buildInputs = lsp.buildInputs ++ [ lsp re ]; + buildInputs = lsp.buildInputs ++ [ lsp re ] + ++ lib.optional (lib.versionAtLeast jsonrpc.version "1.9") spawn; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix index 004b7854107e..26deb2f05970 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix @@ -10,10 +10,14 @@ }: let params = - if lib.versionAtLeast ocaml.version "4.12" + if lib.versionAtLeast ocaml.version "4.13" then { - version = "1.8.3"; - sha256 = "sha256-WO9ap78XZxJCi04LEBX+r21nfL2UdPiCLRMrJSI7FOk="; + version = "1.9.1"; + sha256 = "sha256:1vnwdpjppihprc8q2i5zcqq7vp67255jclg90ldfvwafgljxn76g"; + } else if lib.versionAtLeast ocaml.version "4.12" + then { + version = "1.9.0"; + sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh"; } else { version = "1.4.1"; sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f"; @@ -29,7 +33,7 @@ buildDunePackage rec { }; useDune2 = true; - minimumOCamlVersion = "4.06"; + minimalOCamlVersion = "4.06"; buildInputs = if lib.versionAtLeast version "1.7.0" then