-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
opam
149 lines (144 loc) · 4.4 KB
/
opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
opam-version: "2.0"
maintainer: "francois.bobot@cea.fr"
authors: [
"Michele Alberti"
"Thibaud Antignac"
"Gergö Barany"
"Patrick Baudin"
"François Bobot"
"Richard Bonichon"
"David Bühler"
"Loïc Correnson"
"Julien Crétin"
"Pascal Cuoq"
"Zaynah Dargaye"
"Jean-Christophe Filliâtre"
"Philippe Herrmann"
"Florent Kirchner"
"Tristan Le Gall"
"Jean-Christophe Léchenet"
"Matthieu Lemerre"
"David Maison"
"Claude Marché"
"André Maroneze"
"Benjamin Monate"
"Yannick Moy"
"Anne Pacalet"
"Valentin Perrelle"
"Guillaume Petiot"
"Virgile Prevosto"
"Armand Puccetti"
"Muriel Roger"
"Julien Signoles"
"Kostyantyn Vorobyov"
"Boris Yakobowski"
]
homepage: "http://frama-c.com/"
license: "LGPL-2.1-only"
dev-repo: "git+https://github.com/Frama-C/Frama-C-snapshot.git"
doc: ["http://frama-c.com/download/user-manual-Sulfur-20171101.pdf"]
bug-reports: "https://bts.frama-c.com/"
tags: [
"deductive"
"program verification"
"formal specification"
"automated theorem prover"
"interactive theorem prover"
"C"
"plugins"
"abstract interpretation"
"slicing"
"weakest precondition"
"ACSL"
"dataflow analysis"
"runtime verification"
]
build: [
["sh" "-eux" "./run_autoconf_if_needed.sh"]
[
"./configure"
"--prefix"
prefix
"--disable-gui"
{!conf-gtksourceview:installed | !conf-gnomecanvas:installed}
]
[make "-j%{jobs}%"]
[make "-C" "doc" "download"] {with-doc}
]
install: [
[make "install"]
[make "-C" "doc" "install"] {with-doc}
]
remove: [
["sh" "-eux" "./run_autoconf_if_needed.sh"] # when used in pinned mode,
# the configure *cannot* yet be
# generated
["./configure" "--prefix" prefix
"--disable-gui" { !conf-gtksourceview:installed |
!conf-gnomecanvas:installed }
]
[make "uninstall"]
["rm" "-rf" doc]
]
depends: [
"ocaml" {>= "4.02.3" & < "4.08.0"}
"ocamlgraph" {>= "1.8.8" & < "1.9~"}
"ocamlfind"
"zarith"
"conf-autoconf"
"lablgtk" {>= "2.18.2"}
"conf-gtksourceview"
"conf-gnomecanvas"
"alt-ergo"
]
depopts: [
"coq" { build }
"why3" { build }
"altgr-ergo" { build }
]
messages: [
"Why3 can be used by the WP plug-in for running additional automatic solvers" { !why3:installed }
"Coq can be used with the WP plug-in for proving interactively proof obligations" { !coq:installed }
"Alt-Ergo Graphical Interface can be used by the WP plug-in" { !altgr-ergo:installed }
]
conflicts: [
"why3-base" { < "0.88" } #for WP plug-in
"why3-base" { >= "1.0.0" } #for WP plug-in
"coq" { < "8.4.6" } #for WP plug-in
"coq" { >= "8.7" } #for WP plug-in
"lablgtk" { < "2.18.2" } #for ocaml >= 4.02.1
"frama-c-e-acsl" #avoid mixing old releases of E-ACSL, it is already
#distributed with this version of Frama-C
"frama-c-base" #avoid mixing old releases of Frama-C, now that only the
#'frama-c' package exists
]
synopsis: "Platform dedicated to the analysis of source code written in C."
description: """
Frama-C gathers several analysis techniques in a single collaborative
framework, based on analyzers (called "plug-ins") that can build upon the
results computed by other analyzers in the framework.
Thanks to this approach, Frama-C provides sophisticated tools, including:
- an analyzer based on abstract interpretation (EVA plug-in);
- a program proof framework based on weakest precondition calculus (WP plug-in);
- a program slicer (Slicing plug-in);
- a tool for verification of temporal (LTL) properties (Aoraï plug-in);
- a runtime verification tool (E-ACSL plug-in);
- several tools for code base exploration and dependency analysis
(plug-ins From, Impact, Metrics, Occurrence, Scope, etc.).
These plug-ins communicate between each other via the Frama-C API
and via ACSL (ANSI/ISO C Specification Language) properties."""
url {
src: "http://frama-c.com/download/frama-c-Sulfur-20171101.tar.gz"
checksum: [
"sha256=81cb97e895d7d698aca6bb7c9b8963f1179c503d6a78bdfc7c66e4502b7692ef"
"md5=6b3135bb8e4771f1daf6d5d4b06ec326"
]
}
extra-source "run_autoconf_if_needed.sh" {
src:
"https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/frama-c/run_autoconf_if_needed.sh"
checksum: [
"sha256=be4b6c4c7328c3b7a4229c214c77e9312dcf0eb4c529ee904a1598b07bc320c9"
"md5=8896537e4468e4228e7b0112f1cfd0ed"
]
}