biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / ocaml-modules / ppx_tools / default.nix
blob7a07daf8ddcd53991f4cfba6ac02a43fd7dc294c
1 { lib, stdenv, fetchFromGitHub, buildDunePackage, ocaml, findlib, cppo }:
3 let param =
4   let v6_6 = {
5     version = "6.6";
6     sha256 = "sha256-QhuaQ9346a3neoRM4GrOVzjR8fg9ysMZR1VzNgyIQtc=";
7     nativeBuildInputs = [cppo];
8     buildInputs = [cppo];
9   }; in
11   "4.02" = {
12     version = "5.0+4.02.0";
13     sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; };
14   "4.03" = {
15     version = "5.0+4.03.0";
16     sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; };
17   "4.04" = {
18     version = "unstable-20161114";
19     rev = "49c08e2e4ea8fef88692cd1dcc1b38a9133f17ac";
20     sha256 = "0ywzfkf5brj33nwh49k9if8x8v433ral25f3nbklfc9vqr06zrfl"; };
21   "4.05" = {
22     version = "5.0+4.05.0";
23     sha256 = "1jvvhk6wnkvm7b9zph309ihsc0hyxfpahmxxrq19vx8c674jsdm4"; };
24   "4.06" = {
25     version = "5.1+4.06.0";
26     sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; };
27   "4.07" = {
28     version = "5.1+4.06.0";
29     sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; };
30   "4.08" = v6_6;
31   "4.09" = v6_6;
32   "4.10" = v6_6;
33   "4.11" = v6_6;
34   "4.12" = v6_6;
35   "4.13" = v6_6;
36   "4.14" = v6_6;
37   "5.0" = v6_6;
38   "5.1" = v6_6;
39 }.${ocaml.meta.branch};
42 let src = fetchFromGitHub {
43       owner = "alainfrisch";
44       repo = pname;
45       rev = param.rev or param.version;
46       inherit (param) sha256;
47     };
48     pname = "ppx_tools";
49     meta = with lib; {
50       description = "Tools for authors of ppx rewriters";
51       homepage = "https://www.lexifi.com/ppx_tools";
52       license = licenses.mit;
53       maintainers = with maintainers; [ vbgl ];
54     };
56 if lib.versionAtLeast param.version "6.0"
57 then
58   buildDunePackage {
59     inherit pname src meta;
60     inherit (param) version buildInputs nativeBuildInputs;
61     duneVersion = "3";
62   }
63 else
64   stdenv.mkDerivation {
65     name = "ocaml${ocaml.version}-${pname}-${param.version}";
67     inherit src;
69     nativeBuildInputs = [ ocaml findlib ];
71     strictDeps = true;
73     createFindlibDestdir = true;
75     dontStrip = true;
77     meta = meta // { inherit (ocaml.meta) platforms; };
78   }