diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix index 32e8fbaf2ef7..b067614f5058 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix @@ -84,11 +84,31 @@ buildDunePackage rec { nativeBuildInputs = lib.optional (lib.versionOlder version "1.7.0") cppo; - propagatedBuildInputs = [ - csexp - jsonrpc - uutf - ] ++ lib.optional (lib.versionOlder version "1.7.0") stdlib-shims; + propagatedBuildInputs = + if lib.versionAtLeast version "1.14.0" then [ + jsonrpc + ppx_yojson_conv_lib + uutf + ] else if lib.versionAtLeast version "1.10.0" then [ + dyn + jsonrpc + ordering + ppx_yojson_conv_lib + stdune + uutf + ] else if lib.versionAtLeast version "1.7.0" then [ + csexp + jsonrpc + pp + ppx_yojson_conv_lib + uutf + ] else [ + csexp + jsonrpc + ppx_yojson_conv_lib + stdlib-shims + uutf + ]; meta = jsonrpc.meta // { description = "LSP protocol implementation in OCaml";