Subject: Re: [bug#49867] [PATCH 00/29] gnu: Add ocaml-cohttp-lwt-unix.

From: Xinglu Chen <[email-masked]>
Date: Thu, 05 Aug 2021 17:38:17 +0200

On Wed, Aug 04 2021, pukkamustard wrote:

> Hi,
>
> These patches add ocaml-cohttp-lwt-unix - an OCaml HTTP library - and dependencies.
>
> Some known rough edges:
>
> - ocaml-eqaf: Tests are disabled for now as I am not able to build
> ocaml-afl-persistent which is a dependency for ocaml-crowbar which is
> required to run ocaml-eqaf tests. There is ongoing work to port
> ocaml-afl-persistent to dune
> (https://github.com/stedolan/ocaml-afl-persistent/pull/7) with that it
> should be much easier to build it and enable tests for ocaml-eqaf.

I managed to package ‘ocaml-afl-persistent’ with the attached patch,
but it doesn’t respect the ‘--without-tests’ transformation since the
tests are run as part of the build phase.

Thanks for working on this!

From 49918dee551c9fa9acddfcf1162007d26f0bdff6 Mon Sep 17 00:00:00 2001
Message-Id: <[email-masked]>
From: Xinglu Chen <[email-masked]>
Date: Thu, 5 Aug 2021 17:33:51 +0200
Subject: [PATCH] gnu: Add ocaml-afl-persistent.

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bb42003de2..321908f8ba 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7183,6 +7183,39 @@ It makes it possible to run pure OCaml programs in JavaScript environment like
 browsers and Node.js.")
     (license license:lgpl2.1+)))
 
+(define-public ocaml-afl-persistent
+  (package
+    (name "ocaml-afl-persistent")
+    (version "1.3")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/stedolan/ocaml-afl-persistent")
+              (commit (string-append "v" version))))
+        (sha256
+          (base32
+           "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i"))))
+    (build-system ocaml-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (invoke "./build.sh")))
+         ;; XXX: The tests are already run in the build.sh script.
+         (delete 'check))))
+    (native-inputs
+     `(("opam" ,opam)))
+    (home-page "https://github.com/stedolan/ocaml-afl-persistent")
+    (synopsis "Use afl-fuzz in persistent mode")
+    (description
+      "afl-fuzz normally works by repeatedly forking the program being tested.
+Using this package, you can run afl-fuzz in ``persistent mode'', which avoids
+repeated forking and is much faster.")
+    (license license:expat)))
+
 (define-public ocaml-bibtex2html
   (package
     (name "ocaml-bibtex2html")

base-commit: ead6cc03c66ed31f0ab7300fab11cef3a1e459f0
prerequisite-patch-id: 13039007a822f956c10ede72109a6a74e5bb2b08
-- 
2.32.0