From 4338ddd0f95fef1dffb1342651d49a4a0b60a8dc Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sat, 1 Jul 2017 11:50:24 +0000 Subject: [PATCH] ocamlPackages.mstruct: init at 1.3.3 Mstruct is a thin mutable layer on top of cstruct Homepage: https://github.com/mirage/ocaml-mstruct --- .../ocaml-modules/mstruct/default.nix | 33 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/ocaml-modules/mstruct/default.nix diff --git a/pkgs/development/ocaml-modules/mstruct/default.nix b/pkgs/development/ocaml-modules/mstruct/default.nix new file mode 100644 index 000000000000..958cbdc554e8 --- /dev/null +++ b/pkgs/development/ocaml-modules/mstruct/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, opam +, cstruct +}: + +if !stdenv.lib.versionAtLeast ocaml.version "4.02" +then throw "mstruct is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + version = "1.3.3"; + name = "ocaml${ocaml.version}-mstruct-${version}"; + + src = fetchFromGitHub { + owner = "mirage"; + repo = "ocaml-mstruct"; + rev = "v${version}"; + sha256 = "1rxjzkg6156vl6yazbk1h0ndqj80wym5aliaapijf60apqqmsp4s"; + }; + + buildInputs = [ ocaml findlib jbuilder opam ]; + + propagatedBuildInputs = [ cstruct ]; + + inherit (jbuilder) 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; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 3245cca84464..0194ca7c28f4 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -316,6 +316,8 @@ let mparser = callPackage ../development/ocaml-modules/mparser { }; + mstruct = callPackage ../development/ocaml-modules/mstruct { }; + mtime = callPackage ../development/ocaml-modules/mtime { }; nocrypto = callPackage ../development/ocaml-modules/nocrypto {