this repo has no description
1opam-version: "2.0"
2maintainer: "guillaume.melquiond@inria.fr"
3authors: [
4 "François Bobot"
5 "Jean-Christophe Filliâtre"
6 "Claude Marché"
7 "Guillaume Melquiond"
8 "Andrei Paskevich"
9]
10
11homepage: "http://why3.lri.fr/"
12license: "LGPL-2.1-only"
13doc: "http://why3.lri.fr/doc/"
14bug-reports: "https://gitlab.inria.fr/why3/why3/issues"
15dev-repo: "git+https://gitlab.inria.fr/why3/why3.git"
16
17tags: [
18 "deductive"
19 "program verification"
20 "formal specification"
21 "automated theorem prover"
22 "interactive theorem prover"
23]
24
25build-env: OCAMLPARAM = "_,w=-46,keywords=5.2"
26
27build: [
28 ["./autogen.sh"] {dev} # when pinning, there might be no configure file
29 ["./configure"
30 "--prefix" prefix
31 "--disable-frama-c"
32 "--disable-coq-libs"
33 "--disable-js-of-ocaml"
34 "--disable-re"
35 "--enable-ocamlfind"
36 "--disable-zarith" {!zarith:installed}
37 "--enable-zarith" {zarith:installed}
38 "--disable-mpfr" {!mlmpfr:installed}
39 "--enable-mpfr" {mlmpfr:installed}
40 "--disable-zip" {!camlzip:installed}
41 "--enable-zip" {camlzip:installed}
42 "--disable-hypothesis-selection" {!ocamlgraph:installed}
43 "--enable-hypothesis-selection" {ocamlgraph:installed}
44 "--disable-stackify" {!ocamlgraph:installed}
45 "--enable-stackify" {ocamlgraph:installed}
46 "--disable-ide"]
47 [make "-j%{jobs}%" "all" "opt" "byte"]
48 [make "doc" "stdlibdoc" "apidoc"] {with-doc}
49]
50
51install: [
52 [make "install" "install-lib"]
53 [make "DOCDIR=%{_:doc}%" "install-doc"] {with-doc}
54]
55
56depends: [
57 "conf-autoconf" {build | dev}
58 "ocaml" {>= "4.08.0"}
59 "ocamlfind" {build}
60 "menhir" {>= "20170418"}
61 "num"
62]
63
64depopts: [
65 "zarith"
66 "camlzip"
67 "ocamlgraph"
68 "sexplib"
69 "ppx_deriving" {build}
70 "ppx_sexp_conv" {build}
71 "mlmpfr"
72]
73
74conflicts: [
75 "why3-base"
76 "ocamlgraph" {< "1.8.2"}
77 "mlmpfr" {< "4.0.0"}
78 "ocaml-variants" {= "4.12.0+domains+effects" | = "5.1.1+effect-syntax"}
79 "ocaml-compiler" {= "5.3.0~alpha1"}
80 "ocaml-option-bytecode-only"
81]
82
83patches: [ "cygwin.patch" { os-family = "windows" } ]
84
85synopsis: "Why3 environment for deductive program verification"
86
87description: """
88Why3 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.
89
90Why3 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."""
91
92url {
93 src: "https://why3.gitlabpages.inria.fr/releases/why3-1.6.0.tar.gz"
94 checksum: [
95 "sha256=845bccea41d271a0ad70709ce957b397d091ec115b88a3e84c487b923d19271c"
96 "md5=6b449abe1e485d6f3c12f81c59fc186c"
97 ]
98}
99extra-source "cygwin.patch" {
100 src:
101 "https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/why3/cygwin.patch"
102 checksum: [
103 "sha256=5af1e5c0d1a07a8f4c25c8868702cca67264521363459f93f331d9741974724b"
104 "md5=5881d999e32a57b9d9f234139be4144e"
105 ]
106}