diff options
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix new file mode 100644 index 000000000000..60b730e06403 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib }: + +let param = { + "4.02" = { + version = "5.0+4.02.0"; + sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; }; + "4.03" = { + version = "5.0+4.03.0"; + sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; }; + "4.04" = { + version = "unstable-20161114"; + rev = "49c08e2e4ea8fef88692cd1dcc1b38a9133f17ac"; + sha256 = "0ywzfkf5brj33nwh49k9if8x8v433ral25f3nbklfc9vqr06zrfl"; }; + "4.05" = { + version = "5.0+4.05.0"; + sha256 = "1jvvhk6wnkvm7b9zph309ihsc0hyxfpahmxxrq19vx8c674jsdm4"; }; + "4.06" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; + "4.07" = { + version = "5.1+4.06.0"; + sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; }; + "4.08" = { + version = "5.3+4.08.0"; + sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; }; +}.${ocaml.meta.branch}; +in + stdenv.mkDerivation { + name = "ocaml${ocaml.version}-ppx_tools-${param.version}"; + src = fetchFromGitHub { + owner = "alainfrisch"; + repo = "ppx_tools"; + rev = if param ? rev then param.rev else param.version; + inherit (param) sha256; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + dontStrip = true; + + meta = with stdenv.lib; { + description = "Tools for authors of ppx rewriters"; + homepage = http://www.lexifi.com/ppx_tools; + license = licenses.mit; + platforms = ocaml.meta.platforms or []; + maintainers = with maintainers; [ vbgl ]; + }; + } |