summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/ocaml-modules/functoria/default.nix27
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
2 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/functoria/default.nix b/pkgs/development/ocaml-modules/functoria/default.nix
new file mode 100644
index 000000000000..bfcdd4168ca7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/functoria/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
+, bos, cmdliner, ocamlgraph
+}:
+
+stdenv.mkDerivation rec {
+	name = "ocaml${ocaml.version}-functoria-${version}";
+	version = "2.0.2";
+	src = fetchurl {
+		url = "http://github.com/mirage/functoria/releases/download/${version}/functoria-${version}.tbz";
+		sha256 = "019rl4rir4lwgjyqj2wq3ylw4daih1kxxgbc6ld6kzcq66mwr747";
+	};
+
+	unpackCmd = "tar xjf $src";
+
+	buildInputs = [ ocaml findlib ocamlbuild opam 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;
+	};
+}
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4cd041564f91..03afec1870fe 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -198,6 +198,8 @@ let
 
     fpath = callPackage ../development/ocaml-modules/fpath { };
 
+    functoria = callPackage ../development/ocaml-modules/functoria { };
+
     functory = callPackage ../development/ocaml-modules/functory { };
 
     gen = callPackage ../development/ocaml-modules/gen { };