diff --git a/pkgs/development/ocaml-modules/emile/default.nix b/pkgs/development/ocaml-modules/emile/default.nix new file mode 100644 index 000000000000..d296e3de967b --- /dev/null +++ b/pkgs/development/ocaml-modules/emile/default.nix @@ -0,0 +1,39 @@ +{ lib, buildDunePackage, fetchurl, ocaml +, angstrom, ipaddr, base64, pecu, uutf +, alcotest, cmdliner +}: + +buildDunePackage rec { + pname = "emile"; + version = "1.1"; + + useDune2 = true; + + src = fetchurl { + url = "https://github.com/dinosaure/emile/releases/download/v${version}/emile-v${version}.tbz"; + sha256 = "0r1141makr0b900aby1gn0fccjv1qcqgyxib3bzq8fxmjqwjan8p"; + }; + + buildInputs = [ cmdliner ]; + + propagatedBuildInputs = [ + angstrom + ipaddr + base64 + pecu + uutf + ]; + + # technically emile is available for ocaml >= 4.03, but alcotest + # and angstrom (fmt) are only available for >= 4.05. Disabling + # tests for < 4.05 at least improves the error message + doCheck = lib.versionAtLeast ocaml.version "4.05"; + checkInputs = [ alcotest ]; + + meta = with lib; { + description = "Parser of email address according RFC822"; + license = licenses.mit; + homepage = "https://github.com/dinosaure/emile"; + maintainers = [ maintainers.sternenseemann ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 1f06e4d9bb0e..e0812b7c29ca 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -285,6 +285,8 @@ let encore = callPackage ../development/ocaml-modules/encore { }; + emile = callPackage ../development/ocaml-modules/emile { }; + enumerate = callPackage ../development/ocaml-modules/enumerate { }; eqaf = callPackage ../development/ocaml-modules/eqaf { };