diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix new file mode 100644 index 000000000000..29fee1b63184 --- /dev/null +++ b/pkgs/development/ocaml-modules/mdx/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, buildDunePackage, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml_lwt, pandoc, re }: + +buildDunePackage rec { + pname = "mdx"; + version = "1.4.0"; + + minimumOCamlVersion = "4.05"; + + src = fetchFromGitHub { + owner = "realworldocaml"; + repo = pname; + rev = version; + sha256 = "0ljd00d261s2wf7cab086asqi39icf9zs4nylni6dldaqb027d4w"; + }; + + nativeBuildInputs = [ cppo ]; + buildInputs = [ astring cmdliner fmt logs ocaml-migrate-parsetree re ]; + checkInputs = [ ocaml_lwt pandoc ]; + + doCheck = true; + + meta = { + homepage = https://github.com/realworldocaml/mdx; + description = "Executable OCaml code blocks inside markdown files"; + license = stdenv.lib.licenses.isc; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index c9acff143606..c01e2ce08bfd 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -428,6 +428,8 @@ let markup = callPackage ../development/ocaml-modules/markup { lwt = ocaml_lwt; }; + mdx = callPackage ../development/ocaml-modules/mdx { }; + menhir = callPackage ../development/ocaml-modules/menhir { }; merlin = callPackage ../development/tools/ocaml/merlin { };