Subject: [PATCH v2 15/15] gnu: Add ocaml-goblint.

From: Herman Rimm <[email-masked]>
Date: Thu, 26 Sep 2024 09:23:45 +0200

* gnu/packages/ocaml.scm (ocaml-goblint): Add variable.

Change-Id: Ie8cbd2cedc31fc5965783e1e24aa4b014c804818
---
 gnu/packages/ocaml.scm | 47 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e15e70646e..ece64bb909 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -82,6 +82,7 @@ (define-module (gnu packages ocaml)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tex)
@@ -902,6 +903,52 @@ (define-public ocaml-down
 @end example")
     (license license:isc)))
 
+(define-public ocaml-goblint
+  (package
+    (name "ocaml-goblint")
+    (version "2.4.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/goblint/analyzer")
+               (commit (string-append "v" version))))
+        (sha256
+         (base32
+          "1a2a6xyvda183r0a4ck56bh0nv8ymf7wkg1bjz031bqf9izyrf78"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-goblint-cil
+                             ocaml-batteries
+                             ocaml-zarith
+                             ocaml-yojson
+                             ocaml-qcheck
+                             ocaml-ppx-deriving
+                             ocaml-ppx-deriving-hash
+                             ocaml-ppx-deriving-yojson
+                             ocaml-odoc
+                             ocaml-fpath
+                             dune-site
+                             ocaml-dune-build-info
+                             ocaml-json-data-encoding
+                             ocaml-jsonrpc
+                             ocaml-sha
+                             ocaml-fileutils
+                             ocaml-cpu
+                             ocaml-arg-complete
+                             ocaml-yaml
+                             ocaml-uuidm
+                             ocaml-catapult
+                             gmp
+                             gcc))
+    (native-inputs
+      (list ocaml-ounit2 ocaml-qcheck ruby ocaml-benchmark))
+    (home-page "https://goblint.in.tum.de")
+    (synopsis "Static analysis framework for C")
+    (description
+      "This package provides a static analyzer for multi-threaded C
+programs, specializing in finding concurrency bugs.")
+    (license license:expat)))
+
 (define-public ocaml-goblint-cil
   (package
     (name "ocaml-goblint-cil")
-- 
2.45.2