178 lines
5.7 KiB
Ruby
178 lines
5.7 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
|
|
sha256 "a77fef3fc07e7b00f17f93a30361edfdb1351b411506538dad8697cffc5f59f4" => :yosemite
|
|
sha256 "eb6ae6959dfaac6250bf78d2e7c0658c165e4098e80ec8142edba27920d6d8f9" => :mavericks
|
|
sha256 "67052157266d536598ba7eb5af31a10fd3e609ca812be6d50869d0fe80a583f9" => :mountain_lion
|
|
end
|
|
|
|
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
|
|
|
|
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
|
|
end
|
|
|
|
test do
|
|
fork do
|
|
system "#{bin}/consul", "agent", "-data-dir", "."
|
|
end
|
|
sleep 3
|
|
system "#{bin}/consul", "leave"
|
|
end
|
|
end
|