1{ stdenv, fetchFromGitHub, ocaml, findlib, qtest, ounit }:
2
3let version = "0.6"; in
4
5stdenv.mkDerivation {
6 name = "ocaml-sequence-${version}";
7
8 src = fetchFromGitHub {
9 owner = "c-cube";
10 repo = "sequence";
11 rev = "${version}";
12 sha256 = "0mky5qas3br2x4y14dzcky212z624ydqnx8mw8w00x0c1xjpafkb";
13 };
14
15 buildInputs = [ ocaml findlib 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;
37 };
38}