Subject: [PATCH 3/5] gnu: Add ocaml-crowbar.

From: pukkamustard <[email-masked]>
Date: Fri, 19 Aug 2022 15:24:30 +0000

* gnu/packages/ocaml.scm (ocaml-crowbar): New variable.
---
 gnu/packages/ocaml.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index dc56fb3ba3..506153785a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8604,6 +8604,42 @@ (define-public ocaml-pprint
 document and by the text width.")
     (license license:lgpl2.0)))
 
+(define-public ocaml-crowbar
+  (package
+    (name "ocaml-crowbar")
+    (version "0.2.1")
+    (home-page "https://github.com/stedolan/crowbar")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "11f3kiw58g8njx15akx16xcplzvzdw9y6c4jpyfxylkxws4g0f6j"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; Tests require ocaml-xmldiff which requires OCaml 4.12.0
+     `(#:tests? #f))
+    (propagated-inputs
+     (list ocaml-ocplib-endian
+           ocaml-cmdliner
+           ocaml-afl-persistent))
+    (native-inputs
+     (list ocaml-calendar
+           ocaml-fpath
+           ocaml-uucp
+           ocaml-uunf
+           ocaml-uutf
+           ocaml-pprint))
+    (synopsis "Ocaml library for tests, let a fuzzer find failing cases")
+    (description "Crowbar is a library for testing code, combining
+QuickCheck-style property-based testing and the magical bug-finding powers of
+@uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}.")
+    (license license:expat)))
+
 (define-public ocaml-bibtex2html
   (package
     (name "ocaml-bibtex2html")
-- 
2.37.1