-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
opam
95 lines (92 loc) · 2.88 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
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
"--sbindir=%{lib}%/why3/sbin"
"--libexecdir=%{lib}%/why3/libexec"
"--sysconfdir=%{lib}%/why3/etc"
"--sharedstatedir=%{lib}%/why3/com"
"--localstatedir=%{lib}%/why3/var"
"--libdir=%{lib}%/why3/lib"
"--includedir=%{lib}%/why3/include"
"--datarootdir=%{lib}%/why3/share"
"--disable-bench"
]
[make "opt" "byte"]
[make "stdlibdoc" "apidoc"] {with-doc}
]
depends: [
"ocaml" {< "4.06.0"}
"alt-ergo"
"lablgtk" {< "2.18"}
"conf-gtksourceview"
]
depopts: ["ocamlgraph" "coq"]
patches: [
"Makefile.patch"
]
conflicts: [
"coq" {< "8.3"}
"coq" {>= "8.5"}
"ocamlgraph" {< "1.8.2"}
]
install: [
[make "install" "install-lib"]
[make "DOCDIR=%{doc}%/why3" "install-doc"] {with-doc}
]
synopsis: "Why3 is a platform for deductive program verification"
description: """
It 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-0.82.tar.gz"
checksum: [
"sha256=30c1bd9631b72805e249b9ab4525ae9d67c946db631abe38ffdb955ee2c72fb8"
"md5=1f43a3e7c753f86e2f7fe400899ee6b8"
]
}
extra-source "Makefile.patch" {
src:
"https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/why3/Makefile.patch.0.82"
checksum: [
"sha256=d4f1793f4aaa9c613f0e665b30fb7d4dbd88c035bdbef6694c1bc6464a01b354"
"md5=0cd97fcbd8e4d4abd96edcc2b5c399e7"
]
}