Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 metaFetch, 3 coq, 4 lib, 5 glib, 6 adwaita-icon-theme, 7 wrapGAppsHook3, 8 version ? null, 9}: 10 11let 12 ocamlPackages = coq.ocamlPackages; 13 defaultVersion = 14 let 15 case = case: out: { inherit case out; }; 16 in 17 with lib.versions; 18 lib.switch coq.coq-version [ 19 (case (range "8.18" "9.1") "2.2.6") 20 (case (range "8.18" "8.20") "2.2.1") 21 (case (range "8.18" "8.19") "2.1.2") 22 (case (isEq "8.18") "2.0.3+coq8.18") 23 ] null; 24 location = { 25 domain = "github.com"; 26 owner = "coq-community"; 27 repo = "vscoq"; 28 }; 29 fetch = metaFetch ({ 30 release."2.0.3+coq8.18".sha256 = "sha256-VXhHCP6Ni5/OcsgoI1EbJfYCpXzwkuR8kbbKrl6dfjU="; 31 release."2.0.3+coq8.18".rev = "v2.0.3+coq8.18"; 32 release."2.1.2".rev = "v2.1.2"; 33 release."2.1.2".sha256 = "sha256-GloY68fLmIv3oiEGNWwmgKv1CMAReBuXzMTUsKOs328="; 34 release."2.1.4".rev = "v2.1.4"; 35 release."2.1.4".sha256 = "sha256-Vwve1sCg5OsGmhDLlOyGCwP6A8g618IzD79vLPw/JtQ="; 36 release."2.1.7".rev = "v2.1.7"; 37 release."2.1.7".sha256 = "sha256-HsLv2ziPIUK6Q5/xz8ZvaGWggUCK1AKv47U5M7SCcKU="; 38 release."2.2.1".rev = "v2.2.1"; 39 release."2.2.1".sha256 = "sha256-miIVAv/8jlP1pXnoK1MWz4O6nlmb309a8UjcCivbiB4="; 40 release."2.2.5".rev = "v2.2.5"; 41 release."2.2.5".sha256 = "sha256-XyIjwem/yS7UIpQATNixgKkrMOHHs74nkAOvpU5WG1k="; 42 release."2.2.6".rev = "v2.2.6"; 43 release."2.2.6".sha256 = "sha256-J8nRTAwN6GBEYgqlXa2kkkrHPatXsSObQg9QUQoZhgE="; 44 inherit location; 45 }); 46 fetched = fetch (if version != null then version else defaultVersion); 47in 48ocamlPackages.buildDunePackage { 49 pname = "vscoq-language-server"; 50 inherit (fetched) version; 51 src = "${fetched.src}/language-server"; 52 nativeBuildInputs = [ coq ]; 53 buildInputs = [ 54 coq 55 glib 56 adwaita-icon-theme 57 wrapGAppsHook3 58 ] 59 ++ (with ocamlPackages; [ 60 findlib 61 lablgtk3-sourceview3 62 yojson 63 zarith 64 ppx_inline_test 65 ppx_assert 66 ppx_sexp_conv 67 ppx_deriving 68 ppx_import 69 sexplib 70 ppx_yojson_conv 71 lsp 72 sel 73 ppx_optcomp 74 ]); 75 76 meta = 77 with lib; 78 { 79 description = "Language server for the vscoq vscode/codium extension"; 80 homepage = "https://github.com/coq-community/vscoq"; 81 maintainers = with maintainers; [ cohencyril ]; 82 license = licenses.mit; 83 } 84 // optionalAttrs (fetched.broken or false) { 85 coqFilter = true; 86 broken = true; 87 }; 88}