1{ stdenv, fetchurl, ocaml, findlib, which, ulex, easy-format, ocaml_optcomp, xmlm, base64 }:
2
3stdenv.mkDerivation rec {
4 version = "0.6.13";
5 name = "piqi-${version}";
6
7 src = fetchurl {
8 url = "https://github.com/alavrik/piqi/archive/v${version}.tar.gz";
9 sha256 = "1whqr2bb3gds2zmrzqnv8vqka9928w4lx6mi6g244kmbwb2h8d8l";
10 };
11
12 buildInputs = [ ocaml findlib which ocaml_optcomp ];
13 propagatedBuildInputs = [ulex xmlm easy-format base64];
14
15 patches = [ ./no-ocamlpath-override.patch ./safe-string.patch ];
16
17 createFindlibDestdir = true;
18
19 buildPhase = ''
20 make
21 make -C piqilib piqilib.cma
22 '';
23
24 installPhase = ''
25 make install;
26 make ocaml-install;
27 '';
28
29 meta = with stdenv.lib; {
30 homepage = http://piqi.org;
31 description = "Universal schema language and a collection of tools built around it";
32 license = licenses.asl20;
33 maintainers = [ maintainers.maurer ];
34 };
35}