summaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
authorpukkamustard <pukkamustard@posteo.net>2020-12-28 22:10:13 +0100
committerJulien Lepiller <julien@lepiller.eu>2020-12-30 14:26:15 +0100
commitb13544751f5d93b8d11c9be671131dada531afd2 (patch)
tree0182b4a1ba5aef21026c9cc3d6b00a603ee19193 /gnu/packages/ocaml.scm
parentc0bfff6acac651a47c04cda3206b8eb345ee5b3c (diff)
downloadguix-patches-b13544751f5d93b8d11c9be671131dada531afd2.tar
guix-patches-b13544751f5d93b8d11c9be671131dada531afd2.tar.gz
gnu: Add ocaml-mdx.
* gnu/packages/ocaml.scm (ocaml-mdx): New variable. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Diffstat (limited to 'gnu/packages/ocaml.scm')
-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")