Skip to content

Commit 055a60d

Browse files
committed
[new release] goblint (2.7.0)
CHANGES: Functionally equivalent to Goblint in SV-COMP 2026. * Add sequential portfolio for SV-COMP (goblint/analyzer#1845, goblint/analyzer#1867, goblint/analyzer#1877). * Add struct bitfield support (goblint/analyzer#1739, goblint/analyzer#1823). * Improve bitwise operations for integer domains (goblint/analyzer#1739). * Reimplement HTML output in OCaml (goblint/analyzer#1752). * Remove YAML witness version 0.1 support (goblint/analyzer#1812, goblint/analyzer#1817, goblint/analyzer#1852, goblint/analyzer#1853, goblint/analyzer#1855). * Fix incorrect invariants in witnesses (goblint/analyzer#1818, goblint/analyzer#1876). * Simplify relational invariants in witnesses (goblint/analyzer#1826, goblint/analyzer#1871, goblint/analyzer#1873). * Fix argument types in Goblint stubs (goblint/analyzer#1684, goblint/analyzer#1814, goblint/analyzer#1779, goblint/analyzer#1820).
1 parent e4ede99 commit 055a60d

File tree

1 file changed

+126
-0
lines changed
  • packages/goblint/goblint.2.7.0

1 file changed

+126
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
opam-version: "2.0"
2+
synopsis: "Static analysis framework for C"
3+
description: """
4+
Goblint is a sound static analysis framework for C programs using abstract interpretation.
5+
It specializes in thread-modular verification of multi-threaded programs, especially regarding data races.
6+
Goblint includes analyses for assertions, overflows, deadlocks, etc and can be extended with new analyses.
7+
"""
8+
maintainer: [
9+
"Simmo Saan <simmo.saan@gmail.com>"
10+
"Michael Schwarz <michael.schwarz93@gmail.com>"
11+
"Karoliine Holter <karoliine.holter@ut.ee>"
12+
]
13+
authors: [
14+
"Simmo Saan"
15+
"Michael Schwarz"
16+
"Julian Erhard"
17+
"Sarah Tilscher"
18+
"Karoliine Holter"
19+
"Michael Petter"
20+
"Ali Rasim Kocal"
21+
"Ralf Vogler"
22+
"Kalmer Apinis"
23+
"Vesal Vojdani"
24+
]
25+
license: "MIT"
26+
tags: [
27+
"program analysis"
28+
"program verification"
29+
"static analysis"
30+
"abstract interpretation"
31+
"C"
32+
"data race analysis"
33+
"concurrency"
34+
]
35+
homepage: "https://goblint.in.tum.de"
36+
doc: "https://goblint.readthedocs.io/en/latest/"
37+
bug-reports: "https://github.com/goblint/analyzer/issues"
38+
depends: [
39+
"dune" {>= "3.13"}
40+
"ocaml" {>= "4.14"}
41+
"goblint-cil" {>= "2.0.9"}
42+
"batteries" {>= "3.9.0"}
43+
"zarith" {>= "1.10"}
44+
"yojson" {>= "2.0.0" & < "3"}
45+
"qcheck-core" {>= "0.19"}
46+
"ppx_deriving" {>= "6.0.2"}
47+
"ppx_deriving_hash" {>= "0.1.2"}
48+
"ppx_deriving_yojson" {>= "3.7.0"}
49+
"ppx_blob" {>= "0.8.0"}
50+
"ppxlib" {>= "0.30.0"}
51+
"ounit2" {with-test}
52+
"qcheck-ounit" {with-test}
53+
"odoc" {with-doc}
54+
"fpath"
55+
"dune-site"
56+
"dune-build-info"
57+
"json-data-encoding"
58+
"jsonrpc" {>= "1.12"}
59+
"sha" {>= "1.12"}
60+
"fileutils" {>= "0.6.4"}
61+
"cpu"
62+
"arg-complete" {>= "0.2.1"}
63+
"yaml" {>= "3.0.0"}
64+
"uuidm"
65+
"catapult"
66+
"catapult-file"
67+
"conf-gmp" {>= "3"}
68+
"conf-ruby" {with-test}
69+
"benchmark" {with-test}
70+
"conf-gcc"
71+
"domain-local-await"
72+
"domain_shims"
73+
]
74+
depopts: ["apron" "z3" "domainslib"]
75+
conflicts: [
76+
"result" {< "1.5"}
77+
"apron" {< "v0.9.15"}
78+
"camlidl" {< "1.13"}
79+
"ez-conf-lib" {= "1"}
80+
]
81+
build: [
82+
["dune" "subst"] {dev}
83+
[
84+
"dune"
85+
"build"
86+
"-p"
87+
name
88+
"-j"
89+
jobs
90+
"--promote-install-files=false"
91+
"@install"
92+
"@runtest" {with-test}
93+
"@doc" {with-doc}
94+
]
95+
["dune" "install" "-p" name "--create-install-files" name]
96+
]
97+
dev-repo: "git+https://github.com/goblint/analyzer.git"
98+
# on `dune build` goblint.opam will be generated from goblint.opam.template and dune-project
99+
# also remember to generate/adjust goblint.opam.locked!
100+
x-maintenance-intent: ["(latest)" "(latest).(latest-1)"] # also keep previous minor version (with two releases per year, always keep a SV-COMP release)
101+
available: os-family != "bsd" & os-distribution != "alpine" & (arch != "arm64" | os = "macos")
102+
# pin-depends: [
103+
# published goblint-cil 2.0.9 is currently up-to-date, so no pin needed
104+
# [ "goblint-cil.2.0.9" "git+https://github.com/goblint/cil.git#1b48fc0ce4f3576a51618305251121ffedd0bf1e" ]
105+
# pinned for stability (https://github.com/goblint/analyzer/issues/1520), remove after new apron release
106+
# [ "apron.v0.9.15" "git+https://github.com/antoinemine/apron.git#418a217c7a70dae3f422678f3aaba38ae374d91a" ]
107+
# ]
108+
depexts: [
109+
["libgraph-easy-perl"] {os-distribution = "ubuntu" & with-test} # doesn't work (https://github.com/ocaml/opam/issues/5836)
110+
]
111+
post-messages: [
112+
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"}
113+
]
114+
x-ci-accept-failures: [
115+
"macos-homebrew" # newer MacOS headers cannot be parsed (https://github.com/ocaml/opam-repository/pull/26307#issuecomment-2258080206)
116+
"opensuse-tumbleweed" # not GNU diff, so some cram tests fail (https://discuss.ocaml.org/t/opensuse-and-opam-tests/14641/2)
117+
]
118+
url {
119+
src:
120+
"https://github.com/goblint/analyzer/releases/download/v2.7.0/goblint-2.7.0.tbz"
121+
checksum: [
122+
"sha256=4dc96a8b8671a02befdc04eb375241862e3c1f72799ad681d12b6be8c0b32d7a"
123+
"sha512=738de19f2d08fa3892976f55a21beeead95d2a811badf3bf82e08868d34c3ae0d05fb51f10dd22cb3f22095ba6ffe110ba0917d04656d59bda69dad1cf39304a"
124+
]
125+
}
126+
x-commit-hash: "270caa0fe4962f4196f83565aa7b2c3d3ef8f616"

0 commit comments

Comments
 (0)