homebrew-core/Formula/civl.rb
2016-04-27 20:23:54 +02:00

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