gnu: Add cubicle.

* gnu/packages/maths.scm (cubicle): New variable.
This commit is contained in:
Julien Lepiller 2017-07-30 10:23:08 +02:00
parent 7656739771
commit 3d5d87a3ae
No known key found for this signature in database
GPG Key ID: 43111F4520086A0C
1 changed files with 43 additions and 0 deletions

View File

@ -3197,3 +3197,46 @@ as equations, scalars, vectors, and matrices.")
theories} (SMT) solver. It provides a C/C++ API.")
(home-page "https://github.com/Z3Prover/z3")
(license license:expat)))
(define-public cubicle
(package
(name "cubicle")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append "http://cubicle.lri.fr/cubicle-"
version ".tar.gz"))
(sha256
(base32
"1sny9c4fm14k014pk62ibpwbrjjirkx8xmhs9jg7q1hk7y7x3q2h"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)))
(propagated-inputs
`(("z3" ,z3)))
(arguments
`(#:configure-flags (list "--with-z3")
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'configure-for-release
(lambda _
(substitute* "Makefile.in"
(("SVNREV=") "#SVNREV="))))
(add-before 'configure 'fix-/bin/sh
(lambda _
(substitute* "configure"
(("/bin/sh") (which "sh")))))
(add-before 'configure 'fix-smt-z3wrapper.ml
(lambda _
(substitute* "Makefile.in"
(("\\\\n") "")))))))
(home-page "http://cubicle.lri.fr/")
(synopsis "Model checker for array-based systems")
(description "Cubicle is an open source model checker for verifying safety
properties of array-based systems. This is a syntactically restricted class of
parametrized transition systems with states represented as arrays indexed by an
arbitrary number of processes. Cache coherence protocols and mutual exclusion
algorithms are typical examples of such systems.")
(license license:asl2.0)))