homebrew-core/Formula/sslmate.rb
2015-05-13 14:17:48 +08:00

94 lines
3.4 KiB
Ruby

class Sslmate < Formula
homepage "https://sslmate.com"
url "https://packages.sslmate.com/other/sslmate-1.1.0.tar.gz"
sha256 "3aa3b88b8c15577868dce7969f8ab99e9fabf6f5f738c1f04a2007a6abee973e"
bottle do
cellar :any
sha256 "5aed765e27b941b10c11dac80d039e1e3acf9fede32f2d69a1b2fc90033e5a8c" => :yosemite
sha256 "0cb9895193ff118a72c3bcca3c4a2ba4382c4b5155daadea36466f931c52a022" => :mavericks
sha256 "4a6ad4cee3a4ee460c2f2c87b31b1193553755ba65a2c6bac525fed386b5a42a" => :mountain_lion
end
option "without-route53", "Disable support for Route 53 DNS approval"
if MacOS.version <= :snow_leopard
depends_on "perl"
depends_on "curl"
resource "URI" do
url "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/URI-1.64.tar.gz"
mirror "https://cpan.metacpan.org/authors/id/E/ET/ETHER/URI-1.64.tar.gz"
sha256 "ab7f5fbc80da4ed9c46d63ed956c68a09e83dae30f20c2778c3e056d41883f9d"
end
resource "Term::ReadKey" do
url "http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.32.tar.gz"
mirror "https://cpan.metacpan.org/authors/id/J/JS/JSTOWE/TermReadKey-2.32.tar.gz"
sha256 "58b90e8908e686d03a161590c1dd870e8a1b005715ca8e6d5080a32459e1e9f8"
end
end
if MacOS.version <= :mountain_lion
resource "JSON::PP" do
url "http://search.cpan.org/CPAN/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27300.tar.gz"
mirror "https://cpan.metacpan.org/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27300.tar.gz"
sha256 "5feef3067be4acd99ca0ebb29cf1ac1cdb338fe46977585bd1e473ea4bab71a3"
end
end
if build.with? "route53"
depends_on :python if MacOS.version <= :snow_leopard
resource "boto" do
url "https://pypi.python.org/packages/source/b/boto/boto-2.34.0.tar.gz"
sha256 "33baab022ecb803414ad0d6cf4041d010cfc2755ff8acc3bea7b32e77ba98be0"
end
end
def install
if MacOS.version <= :snow_leopard
ENV.prepend_path "PATH", Formula["perl"].bin
end
ENV.prepend_create_path "PERL5LIB", libexec + "vendor/lib/perl5"
ENV.prepend_create_path "PYTHONPATH", libexec + "vendor/lib/python2.7/site-packages" if build.with? "route53"
perl_resources = []
perl_resources << "URI" << "Term::ReadKey" if MacOS.version <= :snow_leopard
perl_resources << "JSON::PP" if MacOS.version <= :mountain_lion
perl_resources.each do |r|
resource(r).stage do
system "perl", "Makefile.PL", "INSTALL_BASE=#{libexec}/vendor"
system "make"
system "make", "install"
end
end
python_resources = []
python_resources << "boto" if build.with? "route53"
python_resources.each do |r|
resource(r).stage do
system "python", *Language::Python.setup_install_args(libexec + "vendor")
end
end
system "make", "PREFIX=#{prefix}"
system "make", "install", "PREFIX=#{prefix}"
env = { :PERL5LIB => ENV["PERL5LIB"] }
if MacOS.version <= :snow_leopard
env[:PATH] = "#{Formula["perl"].bin}:#{Formula["curl"].bin}:$PATH"
end
env[:PYTHONPATH] = ENV["PYTHONPATH"] if build.with? "route53"
bin.env_script_all_files(libexec + "bin", env)
end
test do
system "#{bin}/sslmate", "req", "www.example.com"
# Make sure well-formed files were generated:
system "openssl", "rsa", "-in", "www.example.com.key", "-noout"
system "openssl", "req", "-in", "www.example.com.csr", "-noout"
# The version command tests the HTTP client:
system "#{bin}/sslmate", "version"
end
end