1{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, ounit }:
2
3let version = "0.10"; in
4
5stdenv.mkDerivation {
6 name = "ocaml${ocaml.version}-sequence-${version}";
7
8 src = fetchFromGitHub {
9 owner = "c-cube";
10 repo = "sequence";
11 rev = version;
12 sha256 = "0pl8pv758wn8bm555i8f0fvfn2pw88w1bmzjrzrv01092d85wx1g";
13 };
14
15 buildInputs = [ ocaml findlib ocamlbuild qtest ounit ];
16
17 configureFlags = [
18 "--enable-tests"
19 ];
20
21 doCheck = true;
22 checkTarget = "test";
23
24 createFindlibDestdir = true;
25
26 meta = {
27 homepage = https://github.com/c-cube/sequence;
28 description = "Simple sequence (iterator) datatype and combinators";
29 longDescription = ''
30 Simple sequence datatype, intended to transfer a finite number of
31 elements from one data structure to another. Some transformations on sequences,
32 like `filter`, `map`, `take`, `drop` and `append` can be performed before the
33 sequence is iterated/folded on.
34 '';
35 license = stdenv.lib.licenses.bsd2;
36 platforms = ocaml.meta.platforms or [];
37 };
38}