summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/functoria/default.nix
blob: a174bd6a8b1a5f30a6f9727af5d6a2389434aa4e (plain) (blame)
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
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, bos, cmdliner, ocamlgraph
}:

if !stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "functoria is not available for OCaml ${ocaml.version}" else

stdenv.mkDerivation rec {
	name = "ocaml${ocaml.version}-functoria-${version}";
	version = "2.0.2";
	src = fetchurl {
		url = "https://github.com/mirage/functoria/releases/download/${version}/functoria-${version}.tbz";
		sha256 = "019rl4rir4lwgjyqj2wq3ylw4daih1kxxgbc6ld6kzcq66mwr747";
	};

	buildInputs = [ ocaml findlib ocamlbuild topkg ];
	propagatedBuildInputs = [ bos cmdliner ocamlgraph ];

	inherit (topkg) buildPhase installPhase;

	meta = {
		description = "A DSL to organize functor applications";
		homepage = https://github.com/mirage/functoria;
		license = stdenv.lib.licenses.isc;
		maintainers = [ stdenv.lib.maintainers.vbgl ];
		inherit (ocaml.meta) platforms;
	};
}