summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/mstruct/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/mstruct/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/mstruct/default.nix21
1 files changed, 6 insertions, 15 deletions
diff --git a/pkgs/development/ocaml-modules/mstruct/default.nix b/pkgs/development/ocaml-modules/mstruct/default.nix
index 9184975f069..ae26f879ef8 100644
--- a/pkgs/development/ocaml-modules/mstruct/default.nix
+++ b/pkgs/development/ocaml-modules/mstruct/default.nix
@@ -1,33 +1,24 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, dune
-, cstruct
-}:
+{ stdenv, fetchFromGitHub, buildDunePackage, cstruct }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.02"
-then throw "mstruct is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
+buildDunePackage rec {
+	pname = "mstruct";
 	version = "1.4.0";
-	name = "ocaml${ocaml.version}-mstruct-${version}";
+
+  minimumOCamlVersion = "4.02";
 
 	src = fetchFromGitHub {
 		owner = "mirage";
-		repo = "ocaml-mstruct";
+		repo = "ocaml-${pname}";
 		rev = "v${version}";
 		sha256 = "1p4ygwzs3n1fj4apfib0z0sabpph21bkq1dgjk4bsa59pq4prncm";
 	};
 
-	buildInputs = [ ocaml findlib dune ];
-
 	propagatedBuildInputs = [ cstruct ];
 
-	inherit (dune) installPhase;
-
 	meta = {
 		description = "A thin mutable layer on top of cstruct";
 		license = stdenv.lib.licenses.isc;
 		maintainers = [ stdenv.lib.maintainers.vbgl ];
 		inherit (src.meta) homepage;
-		inherit (ocaml.meta) platforms;
 	};
 }