nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 124 lines 3.5 kB view raw
1{ 2 lib, 3 mkCoqDerivation, 4 coq, 5 serapi, 6 makeWrapper, 7 version ? null, 8}: 9 10(mkCoqDerivation rec { 11 pname = "coq-lsp"; 12 owner = "ejgallego"; 13 namePrefix = [ ]; 14 15 useDune = true; 16 17 release."0.1.8+8.16".sha256 = "sha256-dEEAK5IXGjHB8D/fYJRQG/oCotoXJuWLxXB0GQlY2eo="; 18 release."0.2.3+8.17".sha256 = "sha256-s7GXRYxuCMXm0XpKAyEwYqolsVFcKHhM71uabqqK5BY="; 19 release."0.2.3+8.18".sha256 = "sha256-0cEuMWuNJwfiPdc0aHKk3EQbkVRIbVukS586EWSHCgo="; 20 release."0.2.3+8.19".sha256 = "sha256-0eQQheY2yjS7shifhUlVPLXvTmyvgNpx7deLWXBRTfA="; 21 release."0.2.3+8.20".sha256 = "sha256-TUVS8jkgf1MMOOx5y70OaeZkdIgdgmyGQ2/zKxeplEk="; 22 release."0.2.3+9.0".sha256 = "sha256-eZMM4gYRXQroEIKz6XlffyHNYryEF5dIeIoVbEulh6M="; 23 release."0.2.4+8.20".sha256 = "sha256-mQxh2/Cb5hZ99TtqWYLpZ/BRPrm5GRDYPDfKlCTK9N4="; 24 release."0.2.4+9.0".sha256 = "sha256-ICPdNxJODNqmUErdTkNk7s52MRuINWLbAPm0rmXFW18="; 25 release."0.2.4+9.1".sha256 = "sha256-HNHA2vbX70oZkd4QtbP28UbTRXatqxJdxw1OWDVDE8U="; 26 release."0.2.5+8.20".sha256 = "sha256-OduwwJESXVEkeX+w8nLEhLUtPo4YGDPj21yWyc1uv3U="; 27 release."0.2.5+9.0".sha256 = "sha256-nbMf7xziBYoBH0F8YBUEybCHSdsaOxlqXnyngeQNg3c="; 28 release."0.2.5+9.1".sha256 = "sha256-PzIgo15zI3JjibT8GzyHdTwofd3IF6eRmUc47NveH70="; 29 30 inherit version; 31 defaultVersion = 32 with lib.versions; 33 lib.switch coq.coq-version [ 34 { 35 case = isEq "8.16"; 36 out = "0.1.8+8.16"; 37 } 38 { 39 case = isEq "8.17"; 40 out = "0.2.3+8.17"; 41 } 42 { 43 case = isEq "8.18"; 44 out = "0.2.3+8.18"; 45 } 46 { 47 case = isEq "8.19"; 48 out = "0.2.3+8.19"; 49 } 50 { 51 case = isEq "8.20"; 52 out = "0.2.5+8.20"; 53 } 54 { 55 case = isEq "9.0"; 56 out = "0.2.5+9.0"; 57 } 58 { 59 case = isEq "9.1"; 60 out = "0.2.5+9.1"; 61 } 62 ] null; 63 64 nativeBuildInputs = [ makeWrapper ]; 65 66 installPhase = '' 67 runHook preInstall 68 dune install -p ${pname} --prefix=$out --libdir $OCAMLFIND_DESTDIR 69 wrapProgram $out/bin/coq-lsp --prefix OCAMLPATH : $OCAMLPATH 70 runHook postInstall 71 ''; 72 73 propagatedBuildInputs = with coq.ocamlPackages; [ 74 dune-build-info 75 menhir 76 result 77 uri 78 yojson 79 ]; 80 81 meta = { 82 description = "Language Server Protocol and VS Code Extension for Coq"; 83 homepage = "https://github.com/ejgallego/coq-lsp"; 84 changelog = "https://github.com/ejgallego/coq-lsp/blob/${defaultVersion}/CHANGES.md"; 85 maintainers = with lib.maintainers; [ alizter ]; 86 license = lib.licenses.lgpl21Only; 87 }; 88}).overrideAttrs 89 ( 90 o: with coq.ocamlPackages; { 91 propagatedBuildInputs = 92 o.propagatedBuildInputs 93 ++ ( 94 if o.version != null && lib.versions.isLe "0.1.9+8.19" o.version && o.version != "dev" then 95 [ 96 camlp-streams 97 serapi 98 ] 99 else if o.version != null && lib.versions.isLe "0.2.3" o.version && o.version != "dev" then 100 [ 101 cmdliner 102 ppx_deriving 103 ppx_deriving_yojson 104 ppx_import 105 ppx_sexp_conv 106 ppx_compare 107 ppx_hash 108 sexplib 109 ] 110 else 111 [ 112 cmdliner 113 ppx_deriving_yojson 114 ppx_hash 115 ppx_import 116 ppx_sexp_conv 117 sexplib 118 tyxml 119 ] 120 ); 121 122 patches = lib.optional (lib.versions.isEq "0.1.8" o.version) ./coq-loader.patch; 123 } 124 )