class Minisign < Formula desc "Sign files & verify signatures. Works with signify in OpenBSD." homepage "https://jedisct1.github.io/minisign/" url "https://github.com/jedisct1/minisign/archive/0.6.tar.gz" sha256 "f2267a07bece923d4d174ccacccc56eff9c05b28c4d971e601de896355442f09" revision 1 bottle do cellar :any sha256 "27bb5e1323dc41c2aef2d50296140084099cc4d1ee312945e639ff1e73d80fbc" => :el_capitan sha256 "798b1e19d4c6ec78109fb01b7a23081f9859d8a38da2cf09fd683b5ad527dd81" => :yosemite sha256 "41d91f7e5acdde7c04534e7c7e896f9ca4586f0ef57a7bf77e5df7c25d374222" => :mavericks end depends_on "libsodium" depends_on "cmake" => :build def install system "cmake", ".", *std_cmake_args system "make" system "make", "install" end test do (testpath/"homebrew.txt").write "Hello World!" (testpath/"keygen.sh").write <<-EOS.undent #!/usr/bin/expect -f set timeout -1 spawn #{bin}/minisign -G expect -exact "Please enter a password to protect the secret key." expect -exact "\n" expect -exact "Password: " send -- "Homebrew\n" expect -exact "\r Password (one more time): " send -- "Homebrew\n" expect eof EOS chmod 0755, testpath/"keygen.sh" system "./keygen.sh" assert File.exist?("minisign.pub") assert File.exist?("minisign.key") (testpath/"signing.sh").write <<-EOS.undent #!/usr/bin/expect -f set timeout -1 spawn #{bin}/minisign -Sm homebrew.txt expect -exact "Password: " send -- "Homebrew\n" expect eof EOS chmod 0755, testpath/"signing.sh" system "./signing.sh" assert File.exist?("homebrew.txt.minisig") end end