1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 ocaml,
6 findlib,
7 ocamlbuild,
8}:
9
10stdenv.mkDerivation (
11 {
12 version = "0.1";
13 pname = "ocaml${ocaml.version}-seq";
14
15 meta = {
16 license = lib.licenses.lgpl21;
17 maintainers = [ lib.maintainers.vbgl ];
18 homepage = "https://github.com/c-cube/seq";
19 inherit (ocaml.meta) platforms;
20 };
21
22 }
23 // (
24 if lib.versionOlder ocaml.version "4.07" then
25 {
26
27 src = fetchFromGitHub {
28 owner = "c-cube";
29 repo = "seq";
30 rev = "0.1";
31 sha256 = "1cjpsc7q76yfgq9iyvswxgic4kfq2vcqdlmxjdjgd4lx87zvcwrv";
32 };
33
34 nativeBuildInputs = [
35 ocaml
36 findlib
37 ocamlbuild
38 ];
39 strictDeps = true;
40
41 createFindlibDestdir = true;
42
43 meta.description = "Compatibility package for OCaml’s standard iterator type starting from 4.07";
44
45 }
46 else
47 {
48
49 src = ./src-base;
50
51 dontBuild = true;
52
53 installPhase = ''
54 mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/seq
55 cp META $out/lib/ocaml/${ocaml.version}/site-lib/seq
56 '';
57
58 meta.description = "Dummy backward-compatibility package for iterators";
59
60 }
61 )
62)