-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
opam
80 lines (67 loc) · 2.52 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
opam-version: "2.0"
maintainer: "guillaume.melquiond@inria.fr"
authors: [
"François Bobot"
"Jean-Christophe Filliâtre"
"Claude Marché"
"Guillaume Melquiond"
"Andrei Paskevich"
]
homepage: "http://why3.lri.fr/"
license: "LGPL-2.1-only"
doc: "http://why3.lri.fr/doc/"
bug-reports: "https://gitlab.inria.fr/why3/why3/issues"
dev-repo: "git+https://gitlab.inria.fr/why3/why3.git"
tags: [
"deductive"
"program verification"
"formal specification"
"automated theorem prover"
"interactive theorem prover"
]
build: [
["./configure"
"--prefix" prefix
"--disable-frama-c"
"--disable-coq-libs"
"--disable-js-of-ocaml"
"--disable-ide"]
[make "-j%{jobs}%" "all" "opt" "byte"]
[make "doc" "stdlibdoc" "apidoc"] {with-doc}
]
install: [
[make "install" "install-lib"]
[make "DOCDIR=%{doc}%/why3" "install-doc"] {with-doc}
]
remove: [
["rm" "%{bin}%/why3"]
["rm" "-r" "%{lib}%/why3"]
["rm" "-r" "%{share}%/why3"]
]
flags: [ light-uninstall ]
depends: [
"ocaml" {>= "4.02.3" & < "4.09.0"}
"ocamlfind" {build}
"menhir" {>= "20151112" & < "20200123"}
"num"
]
depopts: [
"zarith"
"camlzip"
"ocamlgraph"
]
conflicts: [
"why3-base"
"ocamlgraph" {< "1.8.2"}
]
synopsis: "Why3 environment for deductive program verification"
description: """
Why3 provides a rich language for specification and programming, called WhyML, and relies on external theorem provers, both automated and interactive, to discharge verification conditions. Why3 comes with a standard library of logical theories (integer and real arithmetic, Boolean operations, sets and maps, etc.) and basic programming data structures (arrays, queues, hash tables, etc.). A user can write WhyML programs directly and get correct-by-construction OCaml programs through an automated extraction mechanism. WhyML is also used as an intermediate language for the verification of C, Java, or Ada programs.
Why3 is a complete reimplementation of the former Why platform. Among the new features are: numerous extensions to the input language, a new architecture for calling external provers, and a well-designed API, allowing to use Why3 as a software library. An important emphasis is put on modularity and genericity, giving the end user a possibility to easily reuse Why3 formalizations or to add support for a new external prover if wanted."""
url {
src: "https://why3.gitlabpages.inria.fr/releases/why3-1.1.0.tar.gz"
checksum: [
"sha256=817dde9d68eeef60717a137adfe6b909f82726cac286d68627228f5d118e3fa5"
"md5=650c8d3202d343983d8a0ba3d89bb825"
]
}