summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/ocaml.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2021447a66..df07aff29f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5871,6 +5871,55 @@ compiler, and enumerates the various official OCaml releases and configuration
variants.")
(license license:isc)))
+(define-public ocaml-mdx
+ (package
+ (name "ocaml-mdx")
+ (version "1.7.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/realworldocaml/mdx")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10avyv99xkfqdq3gmq8gps770jpibbfslg97sbhgmp0dpwikz49d"))))
+ (build-system dune-build-system)
+ (inputs
+ `(("ocaml-fmt" ,ocaml-fmt)
+ ("ocaml-astring" ,ocaml-astring)
+ ("ocaml-logs" ,ocaml-logs)
+ ("ocaml-cmdliner" ,ocaml-cmdliner)
+ ("ocaml-re" ,ocaml-re)
+ ("ocaml-result" ,ocaml-result)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-odoc" ,ocaml-odoc)
+ ("ocaml-version" ,ocaml-version)))
+ (native-inputs
+ `(("ocaml-cppo" ,ocaml-cppo)
+ ("ocaml-lwt" ,ocaml-lwt)
+ ("ocaml-alcotest" ,ocaml-alcotest)))
+ (home-page
+ "https://github.com/realworldocaml/mdx")
+ (synopsis
+ "Executable code blocks inside markdown files")
+ (description
+ "@code{ocaml-mdx} allows to execute code blocks inside markdown files.
+There are (currently) two sub-commands, corresponding
+to two modes of operations: pre-processing (@code{ocaml-mdx pp})
+and tests (@code{ocaml-mdx test}]).
+
+The pre-processor mode allows to mix documentation and code,
+and to practice @dfn{literate programming} using markdown and OCaml.
+
+The test mode allows to ensure that shell scripts and OCaml fragments
+in the documentation always stays up-to-date.
+
+@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and
+@code{mdx} which are the same, mdx being the deprecated name, kept for now for
+compatibility.")
+ (license license:isc)))
+
(define-public lablgtk3
(package
(name "lablgtk")