this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #26853 from Frama-C/frama-c.30.0-beta

Frama-C: new beta release (30.0~beta-Zinc)

authored by

Shon Feder and committed by
GitHub
926503cc e0e4ef2c

+195
+195
packages/frama-c/frama-c.30.0~beta/opam
··· 1 + opam-version: "2.0" 2 + available: opam-version >= "2.1.0" 3 + flags: avoid-version 4 + synopsis: "Platform dedicated to the analysis of source code written in C" 5 + description:""" 6 + Frama-C gathers several analysis techniques in a single collaborative 7 + framework, based on analyzers (called "plug-ins") that can build upon the 8 + results computed by other analyzers in the framework. 9 + Thanks to this approach, Frama-C provides sophisticated tools, including: 10 + - an analyzer based on abstract interpretation (Eva plug-in); 11 + - a program proof framework based on weakest precondition calculus (WP plug-in); 12 + - a program slicer (Slicing plug-in); 13 + - a tool for verification of temporal (LTL) properties (Aoraï plug-in); 14 + - a runtime verification tool (E-ACSL plug-in); 15 + - several tools for code base exploration and dependency analysis 16 + (plug-ins From, Impact, Metrics, Occurrence, Scope, etc.). 17 + These plug-ins communicate between each other via the Frama-C API 18 + and via ACSL (ANSI/ISO C Specification Language) properties. 19 + """ 20 + maintainer: "frama-ci-bot@frama-c.com" 21 + authors: [ 22 + "Michele Alberti" 23 + "Thibaud Antignac" 24 + "Gergö Barany" 25 + "Patrick Baudin" 26 + "Nicolas Bellec" 27 + "Thibaut Benjamin" 28 + "Allan Blanchard" 29 + "Lionel Blatter" 30 + "François Bobot" 31 + "Richard Bonichon" 32 + "Vincent Botbol" 33 + "Quentin Bouillaguet" 34 + "David Bühler" 35 + "Zakaria Chihani" 36 + "Loïc Correnson" 37 + "Julien Crétin" 38 + "Pascal Cuoq" 39 + "Zaynah Dargaye" 40 + "Basile Desloges" 41 + "Jean-Christophe Filliâtre" 42 + "Philippe Herrmann" 43 + "Maxime Jacquemin" 44 + "Florent Kirchner" 45 + "Alexander Kogtenkov" 46 + "Remi Lazarini" 47 + "Tristan Le Gall" 48 + "Kilyan Le Gallic" 49 + "Jean-Christophe Léchenet" 50 + "Matthieu Lemerre" 51 + "Dara Ly" 52 + "David Maison" 53 + "Claude Marché" 54 + "André Maroneze" 55 + "Thibault Martin" 56 + "Fonenantsoa Maurica" 57 + "Melody Méaulle" 58 + "Benjamin Monate" 59 + "Yannick Moy" 60 + "Pierre Nigron" 61 + "Anne Pacalet" 62 + "Valentin Perrelle" 63 + "Guillaume Petiot" 64 + "Dario Pinto" 65 + "Virgile Prevosto" 66 + "Armand Puccetti" 67 + "Félix Ridoux" 68 + "Virgile Robles" 69 + "Jan Rochel" 70 + "Muriel Roger" 71 + "Cécile Ruet-Cros" 72 + "Julien Signoles" 73 + "Nicolas Stouls" 74 + "Kostyantyn Vorobyov" 75 + "Boris Yakobowski" 76 + ] 77 + homepage: "https://frama-c.com/" 78 + license: "LGPL-2.1-only" 79 + dev-repo: "git+https://git.frama-c.com/pub/frama-c.git" 80 + doc: "https://frama-c.com/download/user-manual-30.0-beta-Zinc.pdf" 81 + bug-reports: "https://git.frama-c.com/pub/frama-c/issues" 82 + tags: [ 83 + "deductive" 84 + "program verification" 85 + "formal specification" 86 + "automated theorem prover" 87 + "interactive theorem prover" 88 + "C" 89 + "plugins" 90 + "abstract interpretation" 91 + "slicing" 92 + "weakest precondition" 93 + "ACSL" 94 + "dataflow analysis" 95 + "runtime verification" 96 + ] 97 + 98 + build: [ 99 + ["bash" "dev/disable-plugins.sh" "e-acsl"] { os-family = "windows" } 100 + ["bash" "dev/disable-plugins.sh" "gui"] { os = "macos" } 101 + ["dune" "build" "-j%{jobs}%" "--release" "--promote-install-files=false" 102 + "@install" 103 + "@doc" { with-doc } 104 + ] 105 + ] 106 + 107 + install: [ 108 + [make 109 + "RELEASE=yes" "PREFIX=%{prefix}%" "MANDIR=%{man}%" 110 + "DOCDIR=%{doc}%" { with-doc } 111 + "install" 112 + ] 113 + ] 114 + 115 + remove: [ 116 + [make "PREFIX=%{prefix}%" "-f" "ivette/Makefile.installation" "uninstall"] 117 + ] 118 + 119 + run-test: [ 120 + ["dune" "exec" "--" "frama-c-ptests" "tests" "src/plugins/*/tests" 121 + ] { arch != "ppc64" & arch != "x86_32" & arch != "arm32" & os-distribution != "freebsd"} 122 + ["dune" "build" "-j%{jobs}%" "@ptests_config" 123 + ] { arch != "ppc64" & arch != "x86_32" & arch != "arm32" & os-distribution != "freebsd"} 124 + ] 125 + 126 + depends: [ 127 + "dune" { > "3.13.0" } 128 + "dune-configurator" 129 + "dune-site" { > "3.13.0" } 130 + ( "alt-ergo-free" | "alt-ergo" ) 131 + "conf-graphviz" { post } 132 + "conf-time" { with-test } 133 + "menhir" { >= "20181006" & build } 134 + "ocaml" { >= "4.14.0" & < "5.3.0~" } 135 + "ocamlgraph" { >= "2.0.0" } 136 + "ocamlgraph" { with-test & >= "2.1.0" } 137 + "ocp-indent" { with-dev-setup & >= "1.8.1" } 138 + "odoc" { with-doc } 139 + "unionFind" { >= "20220107" } 140 + "why3" { >= "1.7.1" & (< "1.8.0" | !with-test) } 141 + "yaml" { >= "3.0.0" } 142 + "yojson" {>= "1.6.0" & (>= "2.0.1" | !with-test)} 143 + "zarith" { >= "1.9" } 144 + 145 + # PPXs 146 + "ppx_deriving" 147 + "ppx_deriving_yojson" 148 + "ppx_deriving_yaml" { >= "0.2.0" } 149 + 150 + # GTK3 disabled on macOS (segfaults), and made optional on Windows 151 + # (due to complex situation with Cygwin + MinGW). 152 + "lablgtk3" { >= "3.1.0" & os!="macos" & os-family!="windows" } 153 + "lablgtk3-sourceview3" { os!="macos" & os-family!="windows" } 154 + "conf-gtksourceview3" { os!="macos" & os-family!="windows" } 155 + ] 156 + 157 + # Note: do not put particular versions here, if some version is *incompatible*, 158 + # use the field 'conflicts'. 159 + depopts: [ 160 + "apron" 161 + "mlmpfr" 162 + "zmq" 163 + "lablgtk3" { os-family="windows" } 164 + "lablgtk3-sourceview3" { os-family="windows" } 165 + "conf-gtksourceview3" { os-family="windows" } 166 + ] 167 + 168 + conflicts: [ 169 + "cairo2" { < "0.6.2" } 170 + "mlmpfr" { < "4.1.0-bugfix2" } 171 + "pilat" { <= "1.6" } 172 + "result" { < "1.5" } 173 + ] 174 + 175 + post-messages: [ 176 + "The Frama-C/WP plug-in requires one or more external prover(s). 177 + Recommended provers are: 178 + - Alt-Ergo (https://alt-ergo.ocamlpro.com) 179 + - CVC4 (https://cvc4.github.io) 180 + - Z3 (https://github.com/Z3Prover/z3) 181 + Use 'why3 config detect' to configure new provers. 182 +  " { success } 183 + "Ivette is a new GUI for Frama-C, currently in development. 184 + Run 'ivette' once to finalize installation (requires an internet connection). 185 + Once finalized, 'ivette' will work offline. 186 + Finalization also requires Node v20 or v22 and Yarn: 187 + - install NVM (https://github.com/nvm-sh/nvm) 188 + - run 'nvm use 22' 189 + - run 'npm install --global yarn'" { success } 190 + ] 191 + 192 + url { 193 + src: "https://www.frama-c.com/download/frama-c-30.0-beta-Zinc.tar.gz" 194 + checksum: "sha256=93a291a8764644df2f3618d7ea18258b5fbe0912ec98dfdfd180967afdf24474" 195 + }