summary refs log tree commit diff
diff options
context:
space:
mode:
authorpukkamustard <pukkamustard@posteo.net>2023-01-13 10:54:35 +0000
committerJulien Lepiller <julien@lepiller.eu>2023-01-15 15:57:10 +0100
commit7686b68f6bb1ae5dc206178805c32bceceea3743 (patch)
tree745c3ad132ca2f9d134e24ad12520c827b9a762b
parenta98145ec04d5c3f8f2ef430555cde5eccfbd3875 (diff)
downloadguix-7686b68f6bb1ae5dc206178805c32bceceea3743.tar.gz
gnu: Add ocaml-cinaps.
* gnu/packages/ocaml.scm (ocaml-cinaps): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
-rw-r--r--gnu/packages/ocaml.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5109cd052a..eeccd530e3 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5939,6 +5939,36 @@ ppx_deriving and ppx_type_conv to inter-operate gracefully when linked
 as part of the same ocaml-migrate-parsetree driver.")
     (license license:bsd-3)))
 
+(define-public ocaml-cinaps
+  ;; The commit removes the unused dependency of ocaml-ppx-jane. We need to
+  ;; use this as we would otherwise have a dependency loop between
+  ;; ocaml-ppxlib and ocaml-ppx-jane.
+  (let ((commit "d974bb2db3ab1ab14e81f989b5bdb609462bff47")
+        (revision "0"))
+    (package
+      (name "ocaml-cinaps")
+      (version (git-version "0.15.1" revision commit))
+      (home-page "https://github.com/ocaml-ppx/cinaps")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "00kb04vqlnk1pynqjhna5qhn8790ab17baxf4na5py1l1h1js8qx"))))
+      (build-system dune-build-system)
+      (propagated-inputs (list ocaml-re))
+      (synopsis "Trivial metaprogramming tool for OCaml")
+      (description
+       "Cinaps is a trivial Metaprogramming tool using the OCaml toplevel.  It is based
+on the same idea as expectation tests.  The user writes some OCaml code inside
+special comments and cinaps makes sure that what follows is what is printed by
+the OCaml code.")
+      (license license:expat))))
+
 (define-public ocaml-ppxlib
   (package
     (name "ocaml-ppxlib")