blob: d485b997c28d4840ea3d5b66269befb22cce19ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, dune
, cmdliner, astring, fmt, result, uuidm
}:
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
version = "0.8.5";
sha256 = "1mhckvdcxkikbzgvy24kjz4265l15b86a6swz7m3ynbgvqdcfzqn";
nativeBuildInputs = [ dune ];
propagatedBuildInputs = [ uuidm ];
buildPhase = "dune build -p alcotest";
inherit (dune) installPhase;
} else {
version = "0.7.2";
sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
buildInputs = [ topkg ];
nativeBuildInputs = [ ocamlbuild ];
inherit (topkg) buildPhase installPhase;
};
in
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-alcotest-${version}";
inherit (param) version buildPhase installPhase;
src = fetchzip {
url = "https://github.com/mirage/alcotest/archive/${version}.tar.gz";
inherit (param) sha256;
};
nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
buildInputs = [ findlib ] ++ (param.buildInputs or []);
propagatedBuildInputs = [ cmdliner astring fmt result ]
++ (param.propagatedBuildInputs or []);
createFindlibDestdir = true;
meta = with stdenv.lib; {
homepage = "https://github.com/mirage/alcotest";
description = "A lightweight and colourful test framework";
license = stdenv.lib.licenses.isc;
maintainers = [ maintainers.ericbmerritt ];
};
}
|