homebrew-core/Formula/acmetool.rb
2016-03-10 13:35:09 +08:00

173 lines
5.7 KiB
Ruby

require "language/go"
class Acmetool < Formula
desc "Automatic certificate acquisition tool for ACME (Let's Encrypt)"
homepage "https://github.com/hlandau/acme"
url "https://github.com/hlandau/acme/archive/v0.0.49.tar.gz"
sha256 "2132c5e461d0be85932365da28f12a2fef0f820e0674200b91c48dcf1f49c56b"
bottle do
cellar :any_skip_relocation
sha256 "25548d779aa3f94534ebe01637887b627d8f25d3e4ecc9b31504934f825044e9" => :el_capitan
sha256 "03ee95de4a237e11a523380789dfc777aeab36dd4a5bf2eb960e58d6bb6bdeb5" => :yosemite
sha256 "c1316f4f3694bff1dff55965d79d24345fa4d83b011e1c9081d937c9023a7798" => :mavericks
end
depends_on "go" => :build
go_resource "github.com/alecthomas/template" do
url "https://github.com/alecthomas/template.git",
:revision => "14fd436dd20c3cc65242a9f396b61bfc8a3926fc"
end
go_resource "github.com/alecthomas/units" do
url "https://github.com/alecthomas/units.git",
:revision => "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a"
end
go_resource "github.com/coreos/go-systemd" do
url "https://github.com/coreos/go-systemd.git",
:revision => "7b2428fec40033549c68f54e26e89e7ca9a9ce31"
end
go_resource "github.com/hlandau/degoutils" do
url "https://github.com/hlandau/degoutils.git",
:revision => "16c74ccb617a3a6c45ff5631cb4679d10b20ad2c"
end
go_resource "github.com/hlandau/xlog" do
url "https://github.com/hlandau/xlog.git",
:revision => "c18de5703f79e62275a7282dc8979ff6c2d5f7d8"
end
go_resource "github.com/hlandauf/gspt" do
url "https://github.com/hlandauf/gspt.git",
:revision => "25f3bd3f5948489aa5f31c949310ae9f2b0e956c"
end
go_resource "github.com/hlandauf/pb" do
url "https://github.com/hlandauf/pb.git",
:revision => "0c1cdefd84b3b1937c4e54309f3a817d9c683bab"
end
go_resource "github.com/jmhodges/clock" do
url "https://github.com/jmhodges/clock.git",
:revision => "3c4ebd218625c9364c33db6d39c276d80c3090c6"
end
go_resource "github.com/mattn/go-isatty" do
url "https://github.com/mattn/go-isatty.git",
:revision => "56b76bdf51f7708750eac80fa38b952bb9f32639"
end
go_resource "github.com/mitchellh/go-wordwrap" do
url "https://github.com/mitchellh/go-wordwrap.git",
:revision => "ad45545899c7b13c020ea92b2072220eefad42b8"
end
go_resource "github.com/ogier/pflag" do
url "https://github.com/ogier/pflag.git",
:revision => "45c278ab3607870051a2ea9040bb85fcb8557481"
end
go_resource "github.com/peterhellberg/link" do
url "https://github.com/peterhellberg/link.git",
:revision => "1053d3b2893eeebd482fce32550ec24bebed308c"
end
go_resource "github.com/satori/go.uuid" do
url "https://github.com/satori/go.uuid.git",
:revision => "e673fdd4dea8a7334adbbe7f57b7e4b00bdc5502"
end
go_resource "github.com/shiena/ansicolor" do
url "https://github.com/shiena/ansicolor.git",
:revision => "a422bbe96644373c5753384a59d678f7d261ff10"
end
go_resource "github.com/square/go-jose" do
url "https://github.com/square/go-jose.git",
:revision => "7465d2baefd097ef32054b46be7d9c41185869a1"
end
go_resource "golang.org/x/crypto" do
url "https://go.googlesource.com/crypto.git",
:revision => "5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3"
end
go_resource "golang.org/x/net" do
url "https://go.googlesource.com/net.git",
:revision => "3e5cd1ed149001198e582f9d3f5bfd564cde2896"
end
go_resource "gopkg.in/alecthomas/kingpin.v2" do
url "https://gopkg.in/alecthomas/kingpin.v2.git",
:revision => "8cccfa8eb2e3183254457fb1749b2667fbc364c7"
end
go_resource "gopkg.in/hlandau/configurable.v1" do
url "https://gopkg.in/hlandau/configurable.v1.git",
:revision => "41496864a1fe3e0fef2973f22372b755d2897402"
end
go_resource "gopkg.in/hlandau/easyconfig.v1" do
url "https://gopkg.in/hlandau/easyconfig.v1.git",
:revision => "f38184c467a3200c92ac929527daf77497b7ec69"
end
go_resource "gopkg.in/hlandau/service.v2" do
url "https://gopkg.in/hlandau/service.v2.git",
:revision => "601cce2a79c1e61856e27f43c28ed4d7d2c7a619"
end
go_resource "gopkg.in/hlandau/svcutils.v1" do
url "https://gopkg.in/hlandau/svcutils.v1.git",
:revision => "09c5458e23bda3b8e4d925fd587bd44fbdb5950e"
end
go_resource "gopkg.in/tylerb/graceful.v1" do
url "https://gopkg.in/tylerb/graceful.v1.git",
:revision => "119c58e176bce26fd40698146d9a106c8f1723a5"
end
go_resource "gopkg.in/yaml.v2" do
url "https://gopkg.in/yaml.v2.git",
:revision => "a83829b6f1293c91addabc89d0571c246397bbf4"
end
def install
ENV["GOBIN"] = bin
ENV["GOPATH"] = buildpath
ENV["GOHOME"] = buildpath
mkdir_p buildpath/"src/github.com/hlandau/"
ln_sf buildpath, buildpath/"src/github.com/hlandau/acme"
Language::Go.stage_deps resources, buildpath/"src"
# https://github.com/hlandau/acme/blob/master/_doc/PACKAGING-PATHS.md
builddate = `date -u "+%Y%m%d%H%M%S"`.strip
ldflags = <<-LDFLAGS
-X github.com/hlandau/acme/storage.RecommendedPath=#{var}/lib/acmetool
-X github.com/hlandau/acme/notify.DefaultHookPath=#{lib}/hooks
-X github.com/hlandau/acme/responder.StandardWebrootPath=#{var}/run/acmetool/acme-challenge
-X github.com/hlandau/degoutils/buildinfo.BuildInfo=v#{version}-#{builddate}-Homebrew
LDFLAGS
system "go", "build", "-o", bin/"acmetool", "-ldflags", ldflags,
"github.com/hlandau/acme/cmd/acmetool"
system "#{bin}/acmetool --help-man >> acmetool.8"
man8.install "acmetool.8"
doc.install "README.md", Dir["_doc/*"]
end
def post_install
(var/"lib/acmetool").mkpath
(var/"run/acmetool").mkpath
end
test do
system "#{bin}/acmetool", "help"
end
end