170 lines
5.3 KiB
Ruby
170 lines
5.3 KiB
Ruby
require "language/go"
|
|
|
|
class Devd < Formula
|
|
desc "Local webserver for developers"
|
|
homepage "https://github.com/cortesi/devd"
|
|
url "https://github.com/cortesi/devd/archive/v0.3.tar.gz"
|
|
sha256 "e806421a4de6572eb3196b215a86a3b72bcd0f5a12956224d191e47663f9c4ab"
|
|
revision 1
|
|
|
|
bottle do
|
|
cellar :any_skip_relocation
|
|
sha256 "3b7c357c44ec47b77d5ad89ff929b38447cb87b1b5698e0efa1d558cb22c7b26" => :el_capitan
|
|
sha256 "3a91f99b6136a401cd5551d0ed2c06e100bb80e7a844478096fff9ee944934b3" => :yosemite
|
|
sha256 "6e160b2d36c713c3dce3342f30c7ea2e81b6ec449719e01781c4ca5b21bf3e9e" => :mavericks
|
|
end
|
|
|
|
depends_on "go" => :build
|
|
|
|
go_resource "github.com/GeertJohan/go.rice" do
|
|
url "https://github.com/GeertJohan/go.rice.git",
|
|
:revision => "ada95a01c963696fb73320ee662195af68be81ae"
|
|
end
|
|
|
|
# go.rice dependencies
|
|
go_resource "github.com/daaku/go.zipexe" do
|
|
url "https://github.com/daaku/go.zipexe.git",
|
|
:revision => "a5fe2436ffcb3236e175e5149162b41cd28bd27d"
|
|
end
|
|
|
|
go_resource "github.com/kardianos/osext" do
|
|
url "https://github.com/kardianos/osext.git",
|
|
:revision => "6e7f843663477789fac7c02def0d0909e969b4e5"
|
|
end
|
|
|
|
go_resource "github.com/GeertJohan/go.incremental" do
|
|
url "https://github.com/GeertJohan/go.incremental.git",
|
|
:revision => "92fd0ce4a694213e8b3dfd2d39b16e51d26d0fbf"
|
|
end
|
|
|
|
go_resource "github.com/akavel/rsrc" do
|
|
url "https://github.com/akavel/rsrc.git",
|
|
:revision => "ba14da1f827188454a4591717fff29999010887f"
|
|
end
|
|
|
|
go_resource "github.com/jessevdk/go-flags" do
|
|
url "https://github.com/jessevdk/go-flags.git",
|
|
:revision => "fc93116606d0a71d7e9de0ad5734fdb4b8eae834"
|
|
end
|
|
|
|
# devd dependencies
|
|
go_resource "github.com/bmatcuk/doublestar" do
|
|
# v1.0.1
|
|
url "https://github.com/bmatcuk/doublestar.git",
|
|
:revision => "4f612bd6c10e2ef68e2ea50aabc50c3681bbac86"
|
|
end
|
|
|
|
go_resource "github.com/dustin/go-humanize" do
|
|
url "https://github.com/dustin/go-humanize.git",
|
|
:revision => "64dbdae0d393b7d71480a6dace78456396b55286"
|
|
end
|
|
|
|
go_resource "github.com/fatih/color" do
|
|
url "https://github.com/fatih/color.git",
|
|
:revision => "9aae6aaa22315390f03959adca2c4d395b02fcef"
|
|
end
|
|
|
|
go_resource "github.com/goji/httpauth" do
|
|
url "https://github.com/goji/httpauth.git",
|
|
:revision => "c1b2bcd8769bd15cc56751223fd4b9f45ca987ca"
|
|
end
|
|
|
|
go_resource "github.com/gorilla/websocket" do
|
|
url "https://github.com/gorilla/websocket.git",
|
|
:revision => "361d4c0ffd78338ebe0a9e6320cdbe115d7dc026"
|
|
end
|
|
|
|
go_resource "github.com/juju/ratelimit" do
|
|
url "https://github.com/juju/ratelimit.git",
|
|
:revision => "772f5c38e468398c4511514f4f6aa9a4185bc0a0"
|
|
end
|
|
|
|
go_resource "github.com/mitchellh/go-homedir" do
|
|
url "https://github.com/mitchellh/go-homedir.git",
|
|
:revision => "d682a8f0cf139663a984ff12528da460ca963de9"
|
|
end
|
|
|
|
go_resource "github.com/rjeczalik/notify" do
|
|
url "https://github.com/rjeczalik/notify.git",
|
|
:revision => "1869adb163fffce8fb5b8755379d1042cdb4c4f8"
|
|
end
|
|
|
|
go_resource "github.com/toqueteos/webbrowser" do
|
|
# v1.0
|
|
url "https://github.com/toqueteos/webbrowser.git",
|
|
:revision => "21fc9f95c83442fd164094666f7cb4f9fdd56cd6"
|
|
end
|
|
|
|
go_resource "github.com/alecthomas/template" do
|
|
url "https://github.com/alecthomas/template.git",
|
|
:revision => "b867cc6ab45cece8143cfcc6fc9c77cf3f2c23c0"
|
|
end
|
|
|
|
go_resource "github.com/alecthomas/units" do
|
|
url "https://github.com/alecthomas/units.git",
|
|
:revision => "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a"
|
|
end
|
|
|
|
go_resource "github.com/mattn/go-colorable" do
|
|
url "https://github.com/mattn/go-colorable.git",
|
|
:revision => "51a7e7a8b1665b25ca173debdc8d52d493348f15"
|
|
end
|
|
|
|
go_resource "github.com/mattn/go-isatty" do
|
|
url "https://github.com/mattn/go-isatty.git",
|
|
:revision => "d6aaa2f596ae91a0a58d8e7f2c79670991468e4f"
|
|
end
|
|
|
|
go_resource "golang.org/x/crypto" do
|
|
url "https://go.googlesource.com/crypto.git",
|
|
:revision => "575fdbe86e5dd89229707ebec0575ce7d088a4a6"
|
|
end
|
|
|
|
go_resource "golang.org/x/net" do
|
|
url "https://go.googlesource.com/net.git",
|
|
:revision => "c764672d0ee39ffd83cfcb375804d3181302b62b"
|
|
end
|
|
|
|
go_resource "gopkg.in/alecthomas/kingpin.v2" do
|
|
# v2.4.1
|
|
url "https://github.com/alecthomas/kingpin.git",
|
|
:revision => "95529ad11b3c862a5b828a2142b9e50db579cf2c"
|
|
end
|
|
|
|
def install
|
|
ENV["GOOS"] = "darwin"
|
|
ENV["GOARCH"] = MacOS.prefer_64_bit? ? "amd64" : "386"
|
|
ENV["GOPATH"] = buildpath
|
|
|
|
mkdir_p buildpath/"src/github.com/cortesi/"
|
|
ln_sf buildpath, buildpath/"src/github.com/cortesi/devd"
|
|
Language::Go.stage_deps resources, buildpath/"src"
|
|
|
|
system "go", "install", "github.com/GeertJohan/go.rice/rice"
|
|
|
|
ENV.prepend_path "PATH", buildpath/"bin"
|
|
|
|
# NOTE: versions after v0.3 have improved build script, thus
|
|
# it would be simplier to call in future
|
|
# system "./build", "single"
|
|
# meanwhile, we do compilation like this:
|
|
system "rice", "embed-go"
|
|
cd "#{buildpath}/livereload" do
|
|
system "rice", "embed-go"
|
|
end
|
|
system "go", "build", "-o", "#{bin}/devd", "./cmd/devd"
|
|
doc.install "README.md"
|
|
end
|
|
|
|
test do
|
|
begin
|
|
io = IO.popen("#{bin}/devd #{testpath}")
|
|
sleep 2
|
|
ensure
|
|
Process.kill("SIGINT", io.pid)
|
|
Process.wait(io.pid)
|
|
end
|
|
|
|
assert_match "Listening on http://devd.io", io.read
|
|
end
|
|
end
|