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

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

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

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

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bb21842e43..e15e70646e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -902,6 +902,48 @@ (define-public ocaml-down
 @end example")
     (license license:isc)))
 
+(define-public ocaml-goblint-cil
+  (package
+    (name "ocaml-goblint-cil")
+    (version "2.0.4")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/goblint/cil")
+               (commit version)))
+        (sha256
+         (base32
+          "02jng99az6f265j9cczrbyf72wxkgh7fz44882b6n3ib6ds8pzs7"))))
+    (build-system dune-build-system)
+    (propagated-inputs (list ocaml-zarith
+                             hevea
+                             dune-configurator
+                             ocaml-odoc
+                             ocaml-stdlib-shims
+                             ocaml-ppx-deriving-yojson
+                             ocaml-yojson
+                             perl
+                             ocaml-cppo
+                             gmp
+                             gcc))
+    (native-inputs (list ocaml-findlib))
+    (home-page "https://github.com/goblint/cil")
+    (synopsis "Fork of cil for Goblint")
+    (description
+     "This is a fork of the cil package for goblint.  Changes include:
+
+@itemize
+@item Support for C99 and C11;
+@item Compatibility with modern OCaml versions;
+@item Use Zarith instead of Num and use that for integer constants;
+@item Improved locations with columns and spans;
+@item Removal of unmaintained extensions and MSVC support;
+@item Use dune instead of make and ocamlbuild;
+@item Many bug fixes.
+@end itemize")
+    (license license:bsd-3)))
+
 (define-public ocaml-opam-file-format
   (package
     (name "ocaml-opam-file-format")
-- 
2.45.2