summary refs log tree commit diff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2024-01-10 08:43:16 +0100
committerJulien Lepiller <julien@lepiller.eu>2024-02-08 23:16:33 +0100
commit45e68894555f762bb4373cd50985b91d2d8fc937 (patch)
tree961d30aa6ad7023ca0a643272c9e5d942e4c715b /gnu/packages/ocaml.scm
parent7e7c0d944dd84309a69af26763746470b2ec3ff3 (diff)
downloadguix-45e68894555f762bb4373cd50985b91d2d8fc937.tar.gz
gnu: Add ocaml-ppx-stable-witness.
* gnu/packages/ocaml.scm (ocaml-ppx-stable-witness): New variable.

Change-Id: I697c87ec27f0c218de1419ab699e14f7dffa3ca0
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm24
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5948de2935..dfbe391271 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6468,6 +6468,30 @@ variant types.")
 string conversion.")
     (license license:asl2.0)))
 
+(define-public ocaml-ppx-stable-witness
+  (package
+    (name "ocaml-ppx-stable-witness")
+    (version "0.16.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/janestreet/ppx_stable_witness")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1ppmazy1vw0j44z1p60ln6fddz414zmyrqkpi54w6cr93giqsl2v"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-base ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_stable_witness")))
+    (home-page "https://github.com/janestreet/ppx_stable_witness")
+    (synopsis "Mark a type as stable across versions")
+    (description "This ppx extension is used for deriving a witness that a
+type is intended to be stable.  In this context, stable means that the
+serialization format will never change.  This allows programs running at
+different versions of the code to safely communicate.")
+    (license license:expat)))
+
 (define-public ocaml-bin-prot
   (package
     (name "ocaml-bin-prot")