Skip to content

Commit e8f8b4c

Browse files
authored
Merge pull request #24124 from Frama-C/frama-c.27.1
Frama-C: new release (27.1-Cobalt)
2 parents d69432a + 99f98d6 commit e8f8b4c

File tree

1 file changed

+181
-0
lines changed
  • packages/frama-c/frama-c.27.1

1 file changed

+181
-0
lines changed

packages/frama-c/frama-c.27.1/opam

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

0 commit comments

Comments
 (0)