diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/faraday/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/faraday/default.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/faraday/default.nix b/pkgs/development/ocaml-modules/faraday/default.nix new file mode 100644 index 000000000000..8f30ec519777 --- /dev/null +++ b/pkgs/development/ocaml-modules/faraday/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, alcotest }: + +if !stdenv.lib.versionAtLeast ocaml.version "4.02" +then throw "faraday is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-faraday-${version}"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "inhabitedtype"; + repo = "faraday"; + rev = version; + sha256 = "1kql0il1frsbx6rvwqd7ahi4m14ik6la5an6c2w4x7k00ndm4d7n"; + }; + + buildInputs = [ ocaml findlib jbuilder alcotest ]; + + buildPhase = "jbuilder build -p faraday"; + + doCheck = true; + checkPhase = "jbuilder runtest"; + + inherit (jbuilder) installPhase; + + meta = { + description = "Serialization library built for speed and memory efficiency"; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + }; +} |