{ buildDunePackage , stdlib-shims , ppx_yojson_conv_lib , ocaml-syntax-shims , yojson , result , fetchurl , lib , ocaml }: let params = if lib.versionAtLeast ocaml.version "4.12" then { version = "1.8.3"; sha256 = "sha256-WO9ap78XZxJCi04LEBX+r21nfL2UdPiCLRMrJSI7FOk="; } else { version = "1.4.1"; sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f"; } ; in buildDunePackage rec { pname = "jsonrpc"; inherit (params) version; src = fetchurl { url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/jsonrpc-${version}.tbz"; inherit (params) sha256; }; useDune2 = true; minimumOCamlVersion = "4.06"; buildInputs = if lib.versionAtLeast version "1.7.0" then [ ] else [ yojson stdlib-shims ocaml-syntax-shims ]; propagatedBuildInputs = if lib.versionAtLeast version "1.7.0" then [ ] else [ ppx_yojson_conv_lib result ]; meta = with lib; { description = "Jsonrpc protocol implementation in OCaml"; license = licenses.isc; platforms = platforms.unix; maintainers = with maintainers; [ symphorien marsam ]; }; }