31 lines
1 KiB
Ruby
31 lines
1 KiB
Ruby
class Civl < Formula
|
|
desc "The Concurrency Intermediate Verification Language"
|
|
homepage "http://vsl.cis.udel.edu/civl/"
|
|
url "http://vsl.cis.udel.edu/lib/sw/civl/1.7/r3157/release/CIVL-1.7_3157.tgz"
|
|
version "1.7-3157"
|
|
sha256 "33fa5b4877fbf494b0a4b426c15d6a165fa3db48a9f97cbf391818d965d2dfb9"
|
|
|
|
bottle :unneeded
|
|
|
|
depends_on :java => "1.8+"
|
|
depends_on "z3"
|
|
depends_on "cvc4"
|
|
|
|
def install
|
|
libexec.install "lib/civl-1.7_3157.jar"
|
|
bin.write_jar_script libexec/"civl-1.7_3157.jar", "civl"
|
|
pkgshare.install "doc", "emacs", "examples", "licenses"
|
|
end
|
|
|
|
test do
|
|
# Civl needs to write configuration files to the user's home directory, but
|
|
# Java has its own logic for determining that path.
|
|
ENV["_JAVA_OPTIONS"] = "-Duser.home=#{testpath}"
|
|
|
|
# Test with example suggested in manual.
|
|
example = pkgshare/"examples/concurrency/locksBad.cvl"
|
|
assert_match "The program MAY NOT be correct.",
|
|
shell_output("#{bin}/civl verify #{example}")
|
|
assert File.exist?("CIVLREP/locksBad_log.txt")
|
|
end
|
|
end
|