this repo has no description
1opam-version: "2.0" 2synopsis: "Platform dedicated to the analysis of source code written in C" 3description:""" 4Frama-C gathers several analysis techniques in a single collaborative 5framework, based on analyzers (called "plug-ins") that can build upon the 6results computed by other analyzers in the framework. 7Thanks to this approach, Frama-C provides sophisticated tools, including: 8- an analyzer based on abstract interpretation (Eva plug-in); 9- a program proof framework based on weakest precondition calculus (WP plug-in); 10- a program slicer (Slicing plug-in); 11- a tool for verification of temporal (LTL) properties (Aoraï plug-in); 12- a runtime verification tool (E-ACSL plug-in); 13- several tools for code base exploration and dependency analysis 14 (plug-ins From, Impact, Metrics, Occurrence, Scope, etc.). 15These plug-ins communicate between each other via the Frama-C API 16and via ACSL (ANSI/ISO C Specification Language) properties. 17""" 18maintainer: "francois.bobot@cea.fr" 19authors: [ 20 "Michele Alberti" 21 "Thibaud Antignac" 22 "Gergö Barany" 23 "Patrick Baudin" 24 "Allan Blanchard" 25 "Lionel Blatter" 26 "François Bobot" 27 "Richard Bonichon" 28 "Quentin Bouillaguet" 29 "David Bühler" 30 "Zakaria Chihani" 31 "Loïc Correnson" 32 "Julien Crétin" 33 "Pascal Cuoq" 34 "Zaynah Dargaye" 35 "Basile Desloges" 36 "Jean-Christophe Filliâtre" 37 "Philippe Herrmann" 38 "Maxime Jacquemin" 39 "Florent Kirchner" 40 "Tristan Le Gall" 41 "Jean-Christophe Léchenet" 42 "Matthieu Lemerre" 43 "Dara Ly" 44 "David Maison" 45 "Claude Marché" 46 "André Maroneze" 47 "Thibault Martin" 48 "Fonenantsoa Maurica" 49 "Melody Méaulle" 50 "Benjamin Monate" 51 "Yannick Moy" 52 "Anne Pacalet" 53 "Valentin Perrelle" 54 "Guillaume Petiot" 55 "Virgile Prevosto" 56 "Armand Puccetti" 57 "Virgile Robles" 58 "Muriel Roger" 59 "Julien Signoles" 60 "Kostyantyn Vorobyov" 61 "Boris Yakobowski" 62] 63homepage: "http://frama-c.com/" 64license: "GNU Lesser General Public License version 2.1" 65dev-repo: "git+https://git.frama-c.com/pub/frama-c.git" 66doc: "http://frama-c.com/download/user-manual-22.0-Titanium.pdf" 67bug-reports: "https://git.frama-c.com/pub/frama-c/issues" 68tags: [ 69 "deductive" 70 "program verification" 71 "formal specification" 72 "automated theorem prover" 73 "interactive theorem prover" 74 "C" 75 "plugins" 76 "abstract interpretation" 77 "slicing" 78 "weakest precondition" 79 "ACSL" 80 "dataflow analysis" 81 "runtime verification" 82] 83 84build: [ 85 ["autoconf"] {pinned} 86 ["./configure" "--prefix" prefix 87 "--mandir=%{man}%" 88 ] 89 [make "-j%{jobs}%"] 90 [make "-C" "doc" "download"] {with-doc} 91] 92 93patches: [ 94 "01-tests-cpp-m32.patch" 95 "02-tests-flamegraph.patch" 96] 97 98install: [ 99 [make "install"] 100 [make "-C" "doc" "install"] {with-doc} 101] 102 103run-test: [ 104 [make "-j%{jobs}%" "PTESTS_OPTS=-error-code" "tests"] {arch = "x86_64"} 105] 106 107depends: [ 108 "ocaml" {>= "4.08.1" & < "5.3"} 109 "ocamlgraph" { >= "1.8.8" } 110 "ocamlfind" # needed beyond build stage, used by -load-module 111 "zarith" 112 "conf-autoconf" { build } 113 "conf-time" {with-test} 114 ( ( "lablgtk" { >= "2.18.8" } & "conf-gnomecanvas" & "conf-gtksourceview" 115 & ("ocamlgraph" { < "2.0" } | "ocamlgraph_gtk" )) 116 | ( "lablgtk3" { >= "3.1.0" & os!="macos" } 117 & "lablgtk3-sourceview3" & "conf-gtksourceview3" ) ) 118 ( "alt-ergo-free" | "alt-ergo" ) 119 "conf-graphviz" { post } 120 "yojson" { ( < "2.0.0" | ! with-test) } 121 "why3" { >= "1.3.3" & < "1.4~" } 122] 123 124depopts: [ 125 # cannot use {build}: Frama-C must be recompiled when Coq and libraries changes. 126 # Coq: because .vo would would not be loadable by another version of Coq 127 # libraries: because we use dynamic linking 128 "coq" 129 "mlgmpidl" 130 "apron" 131 "zmq" 132 "ppx_deriving" 133 "ppx_deriving_yojson" 134] 135 136messages: [ 137 "The Frama-C/Wp now uses Why-3 for all provers (Cf. deprecated -wp-prover native:alt-ergo)" 138 {alt-ergo:installed} 139 "The Frama-C/Wp native support for Coq is deprecated and only activated with Coq.8.12.x (use TIP or Why-3 instead)." 140 {coq:installed} 141] 142 143post-messages: [ 144 "Why3 provers setup: rm -r ~/.why3.conf ; why3 config --detect" 145] 146 147url { 148 src: 149 "https://git.frama-c.com/pub/frama-c/-/wikis/downloads/frama-c-22.0-Titanium.tar.gz" 150 checksum: [ 151 "sha256=7056ee2a35172c0070d022945bf7a189366e38c9de20a2686ebe2435657401d7" 152 "md5=33900c580e61fd91d20f7bc437b35659" 153 ] 154} 155extra-source "02-tests-flamegraph.patch" { 156 src: 157 "https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/frama-c/02-tests-flamegraph.patch" 158 checksum: [ 159 "sha256=b1065de71e407b41e69cb750ba03b4215b7566a9b8f1f43994c17b9902cb34fa" 160 "md5=476fe06e400c1b5bb5bd12d442603ca1" 161 ] 162} 163extra-source "01-tests-cpp-m32.patch" { 164 src: 165 "https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/frama-c/01-tests-cpp-m32.patch" 166 checksum: [ 167 "sha256=be985ff0a500385c90a4231c4da490e31839b02326fd4de837171a791ade0514" 168 "md5=ebf7da5b49fa848d03b8002b54dd86d2" 169 ] 170}