2021-03-21 19:04:26 +01:00
|
|
|
{ buildDunePackage
|
|
|
|
, stdlib-shims
|
|
|
|
, ppx_yojson_conv_lib
|
|
|
|
, ocaml-syntax-shims
|
|
|
|
, yojson
|
|
|
|
, result
|
2021-04-12 08:13:25 +02:00
|
|
|
, fetchurl
|
2021-03-21 19:04:26 +01:00
|
|
|
, lib
|
2021-04-12 08:13:25 +02:00
|
|
|
, ocaml
|
2021-03-21 19:04:26 +01:00
|
|
|
}:
|
|
|
|
|
2021-04-12 08:13:25 +02:00
|
|
|
let params =
|
|
|
|
if lib.versionAtLeast ocaml.version "4.12"
|
|
|
|
then {
|
2021-09-29 17:44:25 +02:00
|
|
|
version = "1.8.3";
|
|
|
|
sha256 = "sha256-WO9ap78XZxJCi04LEBX+r21nfL2UdPiCLRMrJSI7FOk=";
|
2021-04-12 08:13:25 +02:00
|
|
|
} else {
|
|
|
|
version = "1.4.1";
|
|
|
|
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
|
|
|
}
|
|
|
|
; in
|
2021-03-21 19:04:26 +01:00
|
|
|
|
|
|
|
buildDunePackage rec {
|
|
|
|
pname = "jsonrpc";
|
2021-04-12 08:13:25 +02:00
|
|
|
inherit (params) version;
|
|
|
|
src = fetchurl {
|
2021-03-21 19:04:26 +01:00
|
|
|
url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/jsonrpc-${version}.tbz";
|
2021-04-12 08:13:25 +02:00
|
|
|
inherit (params) sha256;
|
2021-03-21 19:04:26 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
useDune2 = true;
|
|
|
|
minimumOCamlVersion = "4.06";
|
|
|
|
|
2021-08-30 10:05:16 +02:00
|
|
|
buildInputs =
|
|
|
|
if lib.versionAtLeast version "1.7.0" then
|
|
|
|
[ ]
|
|
|
|
else
|
|
|
|
[ yojson stdlib-shims ocaml-syntax-shims ];
|
2021-04-12 08:13:25 +02:00
|
|
|
|
2021-08-30 10:05:16 +02:00
|
|
|
propagatedBuildInputs =
|
|
|
|
if lib.versionAtLeast version "1.7.0" then
|
|
|
|
[ ]
|
|
|
|
else
|
|
|
|
[ ppx_yojson_conv_lib result ];
|
2021-03-21 19:04:26 +01:00
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Jsonrpc protocol implementation in OCaml";
|
|
|
|
license = licenses.isc;
|
|
|
|
platforms = platforms.unix;
|
|
|
|
maintainers = with maintainers; [ symphorien marsam ];
|
|
|
|
};
|
|
|
|
}
|