summaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
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")