Subject: [PATCH 9/9] gnu: update frama-c to 27.1-Cobalt.

From: [email-masked]
Date: Sun, 24 Dec 2023 17:43:44 +0100

From: Arnaud DABY-SEESARAM <[email-masked]>

* gnu/packages/maths.scm (frama-c): Update to 27.1-Cobalt.
  [build-system] switch from ocaml-build-system to dune-build-system.
  add new dependencies

Change-Id: Iaf48692db5af281636e2907be4d681b8d94353fa
---
 gnu/packages/maths.scm | 64 ++++++++++++++++++++++--------------------
 1 file changed, 34 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7d17ee58ae6..99326c2f5c8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -96,6 +96,7 @@ (define-module (gnu packages maths)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system ocaml)
+  #:use-module (guix build-system dune)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system pyproject)
   #:use-module (guix build-system python)
@@ -9259,36 +9260,38 @@ (define-public why3
 (define-public frama-c
   (package
     (name "frama-c")
-    (version "24.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://frama-c.com/download/frama-c-"
-                                  version "-Chromium.tar.gz"))
-              (sha256
-               (base32
-                "0x1xgip50jdz1phsb9rzwf2ra8lshn1hmd9g967xia402wrg3sjf"))))
-    (build-system ocaml-build-system)
+    (version "27.1-Cobalt")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://frama-c.com/download/frama-c-" version
+                           ".tar.gz"))
+       (sha256
+        (base32 "1lirkvhf5m53d33l0aw5jzc1fyzkwx5fkgh9g71732d52r55f4sv"))))
+    (build-system dune-build-system)
     (arguments
-     `(#:tests? #f; no test target in Makefile
-       #:configure-flags
-       (list "--enable-verbosemake")    ; to aid debugging
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'export-shell
-           (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "CONFIG_SHELL"
-                     (search-input-file inputs "/bin/sh")))))))
-    (inputs
-     (list gmp zlib))
-    (propagated-inputs
-     (list ocaml-biniou
-           ocaml-easy-format
-           ocaml-graph
-           ocaml-yojson
-           ocaml-zarith
-           ocaml-lablgtk3-sourceview3
-           lablgtk3
-           why3))
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'build 'set-environment-variables
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (setenv "CC" "gcc"))))))
+    (inputs (list python
+                  perl
+                  gcc
+                  dune
+                  gmp
+                  zlib))
+    (propagated-inputs (list ocaml-biniou
+                             ocaml-easy-format
+                             ocaml-graph
+                             ocaml-yojson
+                             ocaml-dune-site
+                             ocaml-ppx-deriving-yaml
+                             ocaml-zarith
+                             ocaml-ppx-deriving-yojson
+                             ocaml-ppx-import
+                             ocaml-lablgtk3-sourceview3
+                             lablgtk3
+                             why3))
     (native-search-paths
      (list (search-path-specification
             (variable "FRAMAC_SHARE")
@@ -9300,7 +9303,8 @@ (define-public frama-c
             (separator #f))))
     (home-page "https://frama-c.com")
     (synopsis "C source code analysis platform")
-    (description "Frama-C is an extensible and collaborative platform dedicated
+    (description
+     "Frama-C is an extensible and collaborative platform dedicated
 to source-code analysis of C software.  The Frama-C analyzers assist you in
 various source-code-related activities, from the navigation through unfamiliar
 projects up to the certification of critical software.")
-- 
2.41.0