2016-04-27 03:17:14 +00:00
|
|
|
class Civl < Formula
|
|
|
|
desc "The Concurrency Intermediate Verification Language"
|
2017-02-23 09:20:25 +00:00
|
|
|
homepage "https://vsl.cis.udel.edu/civl/"
|
|
|
|
url "https://vsl.cis.udel.edu/lib/sw/civl/1.7/r3157/release/CIVL-1.7_3157.tgz"
|
2016-04-27 03:17:14 +00:00
|
|
|
version "1.7-3157"
|
2016-05-23 15:57:32 +00:00
|
|
|
sha256 "49ed0467ea281bf5a436b2caf4f87862d3f613fa9e6e746ce52cfd409c3f4403"
|
2016-05-06 16:12:25 +00:00
|
|
|
revision 1
|
2016-04-27 03:17:14 +00:00
|
|
|
|
|
|
|
bottle :unneeded
|
|
|
|
|
2016-09-24 15:45:48 +00:00
|
|
|
depends_on :java => "1.8+"
|
2016-04-27 03:17:14 +00:00
|
|
|
depends_on "z3"
|
|
|
|
|
|
|
|
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
|
2016-04-27 18:14:51 +00:00
|
|
|
# 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")
|
2016-04-27 03:17:14 +00:00
|
|
|
end
|
|
|
|
end
|