homebrew-core/Formula/consul.rb
2015-09-04 21:57:43 +01:00

195 lines
6.2 KiB
Ruby

require "language/go"
class Consul < Formula
desc "Tool for service discovery, monitoring and configuration"
homepage "https://www.consul.io"
url "https://github.com/hashicorp/consul.git",
:tag => "v0.5.2", :revision => "9a9cc9341bb487651a0399e3fc5e1e8a42e62dd9"
bottle do
cellar :any
revision 1
sha256 "202a4b756ed7e56a67505e1ea924ee83c7fc12969f1b27f1af16d2cf0dbfe997" => :yosemite
sha256 "6378dbdd6bf1e16b2a7b21b12f9e5f2ea2656229d1a376e69653f290736566a1" => :mavericks
sha256 "3e4c6a01071652f3012ce25744925ab773231a5762f6f574e4100728736b5817" => :mountain_lion
end
option "with-web-ui", "Installs the consul web ui"
depends_on "go" => :build
go_resource "github.com/armon/circbuf" do
url "https://github.com/armon/circbuf.git",
:revision => "f092b4f207b6e5cce0569056fba9e1a2735cb6cf"
end
go_resource "github.com/armon/go-metrics" do
url "https://github.com/armon/go-metrics.git",
:revision => "b2d95e5291cdbc26997d1301a5e467ecbb240e25"
end
go_resource "github.com/armon/go-radix" do
url "https://github.com/armon/go-radix.git",
:revision => "fbd82e84e2b13651f3abc5ffd26b65ba71bc8f93"
end
go_resource "github.com/armon/gomdb" do
url "https://github.com/armon/gomdb.git",
:revision => "151f2e08ef45cb0e57d694b2562f351955dff572"
end
go_resource "github.com/boltdb/bolt" do
url "https://github.com/boltdb/bolt.git",
:revision => "04a3e85793043e76d41164037d0d7f9d53eecae3"
end
go_resource "github.com/hashicorp/consul-migrate" do
url "https://github.com/hashicorp/consul-migrate.git",
:revision => "678fb10cdeae25ab309e99e655148f0bf65f9710"
end
go_resource "github.com/hashicorp/go-checkpoint" do
url "https://github.com/hashicorp/go-checkpoint.git",
:revision => "88326f6851319068e7b34981032128c0b1a6524d"
end
go_resource "github.com/hashicorp/go-msgpack" do
url "https://github.com/hashicorp/go-msgpack.git",
:revision => "fa3f63826f7c23912c15263591e65d54d080b458"
end
go_resource "github.com/hashicorp/go-multierror" do
url "https://github.com/hashicorp/go-multierror.git",
:revision => "56912fb08d85084aa318edcf2bba735b97cf35c5"
end
go_resource "github.com/hashicorp/go-syslog" do
url "https://github.com/hashicorp/go-syslog.git",
:revision => "42a2b573b664dbf281bd48c3cc12c086b17a39ba"
end
go_resource "github.com/hashicorp/golang-lru" do
url "https://github.com/hashicorp/golang-lru.git",
:revision => "7f9ef20a0256f494e24126014135cf893ab71e9e"
end
go_resource "github.com/hashicorp/hcl" do
url "https://github.com/hashicorp/hcl.git",
:revision => "54864211433d45cb780682431585b3e573b49e4a"
end
go_resource "github.com/hashicorp/logutils" do
url "https://github.com/hashicorp/logutils.git",
:revision => "0dc08b1671f34c4250ce212759ebd880f743d883"
end
go_resource "github.com/hashicorp/memberlist" do
url "https://github.com/hashicorp/memberlist.git",
:revision => "3636f9694d601b5f68da11676d59cdf8a4c9dfe3"
end
go_resource "github.com/hashicorp/net-rpc-msgpackrpc" do
url "https://github.com/hashicorp/net-rpc-msgpackrpc.git",
:revision => "d377902b7aba83dd3895837b902f6cf3f71edcb2"
end
go_resource "github.com/hashicorp/raft" do
url "https://github.com/hashicorp/raft.git",
:revision => "53ca2ec750f09e888a0c051e7c68c98246176be2"
end
go_resource "github.com/hashicorp/raft-boltdb" do
url "https://github.com/hashicorp/raft-boltdb.git",
:revision => "d1e82c1ec3f15ee991f7cc7ffd5b67ff6f5bbaee"
end
go_resource "github.com/hashicorp/raft-mdb" do
url "https://github.com/hashicorp/raft-mdb.git",
:revision => "4ec3694ffbc74d34f7532e70ef2e9c3546a0c0b0"
end
go_resource "github.com/hashicorp/scada-client" do
url "https://github.com/hashicorp/scada-client.git",
:revision => "c26580cfe35393f6f4bf1b9ba55e6afe33176bae"
end
go_resource "github.com/hashicorp/serf" do
url "https://github.com/hashicorp/serf.git",
:revision => "932865ce77ba6ab0ebf5978040f8b23825762d44"
end
go_resource "github.com/hashicorp/yamux" do
url "https://github.com/hashicorp/yamux.git",
:revision => "8e00b30457b1486b012f204b82ec92ae6b547de8"
end
go_resource "github.com/inconshreveable/muxado" do
url "https://github.com/inconshreveable/muxado.git",
:revision => "f693c7e88ba316d1a0ae3e205e22a01aa3ec2848"
end
go_resource "github.com/miekg/dns" do
url "https://github.com/miekg/dns.git",
:revision => "3e549e2f6fd420cdffa528144b925305401bf55c"
end
go_resource "github.com/mitchellh/cli" do
url "https://github.com/mitchellh/cli.git",
:revision => "8102d0ed5ea2709ade1243798785888175f6e415"
end
go_resource "github.com/mitchellh/mapstructure" do
url "https://github.com/mitchellh/mapstructure.git",
:revision => "2caf8efc93669b6c43e0441cdc6aed17546c96f3"
end
go_resource "github.com/ryanuber/columnize" do
url "https://github.com/ryanuber/columnize.git",
:revision => "44cb4788b2ec3c3d158dd3d1b50aba7d66f4b59a"
end
go_resource "golang.org/x/crypto" do
url "https://go.googlesource.com/crypto.git",
:revision => "f6a608df624ae17d57958a8a294c66da81730577"
end
resource "web-ui" do
url "https://dl.bintray.com/mitchellh/consul/0.5.2_web_ui.zip"
sha256 "ad883aa52e1c0136ab1492bbcedad1210235f26d59719fb6de3ef6464f1ff3b1"
end
def install
ENV["GOPATH"] = buildpath
consulpath = buildpath/"src/github.com/hashicorp/consul"
consulpath.install Dir["{*,.git}"]
Language::Go.stage_deps resources, buildpath/"src"
# build gomdb separately to avoid linker errors
cd "src/github.com/armon/gomdb" do
system "go", "install"
end
cd "src/github.com/hashicorp/consul" do
system "make"
bin.install "bin/consul"
end
# install web-ui to package share folder.
(pkgshare/"web-ui").install resource("web-ui") if build.with? "web-ui"
end
def caveats; <<-EOS.undent
If consul was built with --with-web-ui, you can activate the UI by running
consul with `-ui-dir #{pkgshare}/web-ui`.
EOS
end
test do
fork do
exec "#{bin}/consul", "agent", "-data-dir", "."
end
sleep 3
system "#{bin}/consul", "leave"
end
end