56 lines
1.7 KiB
Ruby
56 lines
1.7 KiB
Ruby
require "language/go"
|
|
|
|
class Leaps < Formula
|
|
desc "Collaborative web-based text editing service written in Golang"
|
|
homepage "https://github.com/jeffail/leaps"
|
|
url "https://github.com/Jeffail/leaps.git",
|
|
:tag => "v0.5.1",
|
|
:revision => "70524e3d02d0cf31f3d13737193a1459150781c8"
|
|
sha256 "5f3fe0bb1a0ca75616ba2cb6cba7b11c535ac6c732e83c71f708dc074e489b1f"
|
|
|
|
bottle do
|
|
cellar :any_skip_relocation
|
|
sha256 "916c0f83535614d47c9e5cae89104395155494057403c3fee38898c56c6becbb" => :sierra
|
|
sha256 "c5ab4128388ecc8f28cd181191dbf40a2510fc771185ae7d4cc80a724edd83ea" => :el_capitan
|
|
sha256 "7fd9a75a9e4c8e45639aba92b03a3394f65e41d4806689ca192591e37585e5f8" => :yosemite
|
|
end
|
|
|
|
depends_on "go" => :build
|
|
|
|
go_resource "golang.org/x/net" do
|
|
url "https://go.googlesource.com/net.git",
|
|
:revision => "db8e4de5b2d6653f66aea53094624468caad15d2"
|
|
end
|
|
|
|
def install
|
|
ENV["GOBIN"] = bin
|
|
ENV["GOPATH"] = buildpath
|
|
ENV["GOHOME"] = buildpath
|
|
|
|
mkdir_p buildpath/"src/github.com/jeffail/"
|
|
ln_sf buildpath, buildpath/"src/github.com/jeffail/leaps"
|
|
Language::Go.stage_deps resources, buildpath/"src"
|
|
|
|
system "go", "build", "-o", "#{bin}/leaps", "github.com/jeffail/leaps/cmd/leaps"
|
|
end
|
|
|
|
test do
|
|
begin
|
|
port = ":8080"
|
|
|
|
# Start the server in a fork
|
|
leaps_pid = fork do
|
|
exec "#{bin}/leaps", "-address", port
|
|
end
|
|
|
|
# Give the server some time to start serving
|
|
sleep(1)
|
|
|
|
# Check that the server is responding correctly
|
|
assert_match /Choose a document from the left to get started/, shell_output("curl -o- http://localhost#{port}")
|
|
ensure
|
|
# Stop the server gracefully
|
|
Process.kill("HUP", leaps_pid)
|
|
end
|
|
end
|
|
end
|