nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 127 lines 3.2 kB view raw
1{ 2 buildDunePackage, 3 stdlib-shims, 4 ppx_yojson_conv_lib, 5 ocaml-syntax-shims, 6 yojson, 7 result, 8 fetchurl, 9 lib, 10 ocaml, 11 version ? 12 if lib.versionAtLeast ocaml.version "5.4" then 13 "1.25.0" 14 else if lib.versionAtLeast ocaml.version "5.3" then 15 "1.23.1" 16 else if lib.versionAtLeast ocaml.version "5.2" then 17 "1.21.0" 18 else if lib.versionAtLeast ocaml.version "4.14" then 19 "1.18.0" 20 else if lib.versionAtLeast ocaml.version "4.13" then 21 "1.10.5" 22 else if lib.versionAtLeast ocaml.version "4.12" then 23 "1.9.0" 24 else 25 "1.4.1", 26}: 27 28let 29 params = 30 { 31 "1.25.0" = { 32 name = "lsp"; 33 minimalOCamlVersion = "5.3"; 34 sha256 = "sha256-4xXSvvP4lwmtJXCEaSeZblT/ja/OJRGIgWq5fO8h8CA="; 35 }; 36 "1.24.0" = { 37 name = "lsp"; 38 minimalOCamlVersion = "5.3"; 39 sha256 = "sha256-TVoaIVf2EvbALY+DjZferKX4GyOt08XOpcts7Ot7N1c="; 40 }; 41 "1.23.1" = { 42 name = "lsp"; 43 minimalOCamlVersion = "5.3"; 44 sha256 = "sha256-x0fjlAJmOeogRGfoWd6T6o6ZWNv0T3gNyyoYl8VtdXE="; 45 }; 46 "1.22.0" = { 47 name = "lsp"; 48 minimalOCamlVersion = "5.2"; 49 sha256 = "sha256-UZ3DV30V3CIQ3vpYBIGnQ1eRGNUGk7aRuxDLyCA/tYE="; 50 }; 51 "1.21.0" = { 52 name = "lsp"; 53 minimalOCamlVersion = "5.2"; 54 sha256 = "sha256-Z4cDN/8j0NK6Q3dL+1io/eBJd+o32k0txQDtC1fO9xc="; 55 }; 56 "1.18.0" = { 57 name = "lsp"; 58 minimalOCamlVersion = "4.14"; 59 sha256 = "sha256-tZ2kPM/S/9J3yeX2laDjnHLA144b8svy9iwae32nXwM="; 60 }; 61 "1.17.0" = { 62 name = "lsp"; 63 minimalOCamlVersion = "4.14"; 64 sha256 = "sha256-j7i71xfu/SYItNg0WBBbZg4N46ETTcj8IWrmWdTRlgA="; 65 }; 66 "1.14.2" = { 67 name = "lsp"; 68 minimalOCamlVersion = "4.14"; 69 sha256 = "sha256-1R+HYaGbPLGDs5DMN3jmnrZFMhMmPUHgF+s+yNzIVJQ="; 70 }; 71 "1.10.5" = { 72 name = "jsonrpc"; 73 minimalOCamlVersion = "4.13"; 74 sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw="; 75 }; 76 "1.9.0" = { 77 name = "jsonrpc"; 78 minimalOCamlVersion = "4.12"; 79 sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh"; 80 }; 81 "1.4.1" = { 82 name = "jsonrpc"; 83 minimalOCamlVersion = "4.06"; 84 sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f"; 85 }; 86 } 87 ."${version}"; 88in 89 90buildDunePackage { 91 pname = "jsonrpc"; 92 inherit version; 93 src = fetchurl { 94 url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/${params.name}-${version}.tbz"; 95 inherit (params) sha256; 96 }; 97 98 inherit (params) minimalOCamlVersion; 99 100 buildInputs = 101 if lib.versionAtLeast version "1.7.0" then 102 [ ] 103 else 104 [ 105 yojson 106 stdlib-shims 107 ocaml-syntax-shims 108 ]; 109 110 propagatedBuildInputs = 111 if lib.versionAtLeast version "1.23.1" then 112 [ yojson ] 113 else if lib.versionAtLeast version "1.7.0" then 114 [ ] 115 else 116 [ 117 ppx_yojson_conv_lib 118 result 119 ]; 120 121 meta = { 122 description = "Jsonrpc protocol implementation in OCaml"; 123 license = lib.licenses.isc; 124 platforms = lib.platforms.unix; 125 maintainers = [ ]; 126 }; 127}