nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 88 lines 2.5 kB view raw
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 = "rocq-prover"; 27 repo = "vsrocq"; 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 # This is the last version of VsCoq. Now, new versions are for VsRocq. 45 inherit location; 46 }; 47 fetched = fetch (if version != null then version else defaultVersion); 48in 49ocamlPackages.buildDunePackage { 50 pname = "vscoq-language-server"; 51 inherit (fetched) version; 52 src = "${fetched.src}/language-server"; 53 nativeBuildInputs = [ coq ]; 54 buildInputs = [ 55 coq 56 glib 57 adwaita-icon-theme 58 wrapGAppsHook3 59 ] 60 ++ (with ocamlPackages; [ 61 findlib 62 lablgtk3-sourceview3 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.override { 71 ppx_yojson_conv_lib = ppx_yojson_conv_lib.override { yojson = yojson_2; }; 72 }) 73 lsp 74 sel 75 ppx_optcomp 76 ]); 77 78 meta = { 79 description = "Language server for the vscoq vscode/codium extension"; 80 homepage = "https://github.com/rocq-prover/vsrocq"; 81 maintainers = with lib.maintainers; [ cohencyril ]; 82 license = lib.licenses.mit; 83 } 84 // lib.optionalAttrs (fetched.broken or false) { 85 coqFilter = true; 86 broken = true; 87 }; 88}