diff options
Diffstat (limited to 'pkgs/development/ocaml-modules')
-rw-r--r-- | pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix | 12 | ||||
-rw-r--r-- | pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix | 33 |
2 files changed, 30 insertions, 15 deletions
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix index a1d457f8775f..a6867aac63ad 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix @@ -31,9 +31,17 @@ buildDunePackage rec { useDune2 = true; minimumOCamlVersion = "4.06"; - buildInputs = [ yojson stdlib-shims ocaml-syntax-shims ]; + buildInputs = + if lib.versionAtLeast version "1.7.0" then + [ ] + else + [ yojson stdlib-shims ocaml-syntax-shims ]; - propagatedBuildInputs = [ ppx_yojson_conv_lib result ]; + propagatedBuildInputs = + if lib.versionAtLeast version "1.7.0" then + [ ] + else + [ ppx_yojson_conv_lib result ]; meta = with lib; { description = "Jsonrpc protocol implementation in OCaml"; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix index f81def4a7b40..869e9f633540 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix @@ -9,16 +9,21 @@ , octavius , dune-build-info , uutf +, re , pp , csexp , cmdliner }: -buildDunePackage { +buildDunePackage rec { pname = "lsp"; inherit (jsonrpc) version src; useDune2 = true; - minimumOCamlVersion = "4.06"; + minimumOCamlVersion = + if lib.versionAtLeast version "1.7.0" then + "4.12" + else + "4.06"; # unvendor some (not all) dependencies. # They are vendored by upstream only because it is then easier to install @@ -28,22 +33,24 @@ buildDunePackage { rm -r ocaml-lsp-server/vendor/{octavius,uutf,omd,cmdliner} ''; - buildInputs = [ - cppo - ppx_yojson_conv_lib - ocaml-syntax-shims - octavius - dune-build-info - omd - cmdliner - ] ++ lib.optional (lib.versionAtLeast jsonrpc.version "1.7.0") pp; + buildInputs = + if lib.versionAtLeast version "1.7.0" then + [ pp re ppx_yojson_conv_lib octavius dune-build-info omd cmdliner ] + else + [ cppo + ppx_yojson_conv_lib + ocaml-syntax-shims + octavius + dune-build-info + omd + cmdliner + ]; propagatedBuildInputs = [ csexp jsonrpc - stdlib-shims uutf - ]; + ] ++ lib.optional (lib.versionOlder version "1.7.0") stdlib-shims; meta = jsonrpc.meta // { description = "LSP protocol implementation in OCaml"; |