homebrew-core/Formula/srclib.rb

209 lines
7.2 KiB
Ruby

require "language/go"
class Srclib < Formula
desc "Polyglot code analysis library, built for hackability"
homepage "https://srclib.org"
url "https://github.com/sourcegraph/srclib/archive/v0.0.42.tar.gz"
sha256 "de9af74ec0805b0ef4f1c7ddf26c5aef43f84668b12c001f2f413ff20a19ebee"
revision 1
head "https://github.com/sourcegraph/srclib.git"
bottle do
cellar :any_skip_relocation
sha256 "e5a28e6c6995cd33047bf326d514fd0fd48656df2a8d2ade91f1adb9c0f65c73" => :el_capitan
sha256 "76de11463b863eb4e2ccc31478aacc258de1449ebd237675312864e8db596c41" => :yosemite
sha256 "2e8c68f8948ae220448400680108083931ca78273fd1f320b084879d14a567bb" => :mavericks
end
conflicts_with "src", :because => "both install a 'src' binary"
depends_on :hg => :build
depends_on "go" => :build
go_resource "code.google.com/p/rog-go" do
url "https://code.google.com/p/rog-go",
:revision => "7088342b70fc1995ada4986ef2d093f340439c78", :using => :hg
end
go_resource "github.com/Sirupsen/logrus" do
url "https://github.com/Sirupsen/logrus",
:revision => "cdd90c38c6e3718c731b555b9c3ed1becebec3ba", :using => :git
end
go_resource "github.com/alecthomas/binary" do
url "https://github.com/alecthomas/binary",
:revision => "21c37b530bec7c512af0208bfb15f34400301682", :using => :git
end
go_resource "github.com/alecthomas/unsafeslice" do
url "https://github.com/alecthomas/unsafeslice",
:revision => "a2ace32dbd4787714f87adb14a8aa369142efac5", :using => :git
end
go_resource "github.com/aybabtme/color" do
url "https://github.com/aybabtme/color",
:revision => "28ad4cc941d69a60df8d0af1233fd5a2793c2801", :using => :git
end
go_resource "github.com/docker/docker" do
url "https://github.com/docker/docker",
:revision => "9c505c906d318df7b5e8652c37e4df06b4f30d56", :using => :git
end
go_resource "github.com/fsouza/go-dockerclient" do
url "https://github.com/fsouza/go-dockerclient",
:revision => "ddb122d10f547ee6cfc4ea7debff407d80abdabc", :using => :git
end
go_resource "github.com/gogo/protobuf" do
url "https://github.com/gogo/protobuf",
:revision => "bc946d07d1016848dfd2507f90f0859c9471681e", :using => :git
end
go_resource "github.com/google/go-querystring" do
url "https://github.com/google/go-querystring",
:revision => "d8840cbb2baa915f4836edda4750050a2c0b7aea", :using => :git
end
go_resource "github.com/gorilla/context" do
url "https://github.com/gorilla/context",
:revision => "215affda49addc4c8ef7e2534915df2c8c35c6cd", :using => :git
end
go_resource "github.com/inconshreveable/go-update" do
url "https://github.com/inconshreveable/go-update",
:revision => "68f5725818189545231c1fd8694793d45f2fc529", :using => :git
end
go_resource "github.com/kardianos/osext" do
url "https://github.com/kardianos/osext",
:revision => "efacde03154693404c65e7aa7d461ac9014acd0c", :using => :git
end
go_resource "github.com/kr/binarydist" do
url "https://github.com/kr/binarydist",
:revision => "9955b0ab8708602d411341e55fffd7e0700f86bd", :using => :git
end
go_resource "github.com/kr/fs" do
url "https://github.com/kr/fs",
:revision => "2788f0dbd16903de03cb8186e5c7d97b69ad387b", :using => :git
end
go_resource "github.com/petar/GoLLRB" do
url "https://github.com/petar/GoLLRB",
:revision => "53be0d36a84c2a886ca057d34b6aa4468df9ccb4", :using => :git
end
go_resource "github.com/peterbourgon/diskv" do
url "https://github.com/peterbourgon/diskv",
:revision => "72aa5da9f7d1125b480b83c6dc5ad09a1f04508c", :using => :git
end
go_resource "github.com/peterh/liner" do
url "https://github.com/peterh/liner",
:revision => "1bb0d1c1a25ed393d8feb09bab039b2b1b1fbced", :using => :git
end
go_resource "github.com/smartystreets/mafsa" do
url "https://github.com/smartystreets/mafsa",
:revision => "ab6b5abc58c9d82560b127e23bfd3e39a25e8f05", :using => :git
end
go_resource "github.com/sourcegraph/go-github" do
url "https://github.com/sourcegraph/go-github",
:revision => "c6edc3e74760ee3c825f46ad9d4eb3e40469cb92", :using => :git
end
go_resource "github.com/sourcegraph/httpcache" do
url "https://github.com/sourcegraph/httpcache",
:revision => "e2fdd7ddabf459df5cd87bd18a4616ae7084763e", :using => :git
end
go_resource "github.com/sourcegraph/mux" do
url "https://github.com/sourcegraph/mux",
:revision => "dd22f369d469f65c3946889f5d8a1fb3933192e9", :using => :git
end
go_resource "github.com/sqs/fileset" do
url "https://github.com/sqs/fileset",
:revision => "4317e899aa9438ba7603a6e322389571cb3ffdff", :using => :git
end
go_resource "golang.org/x/tools" do
url "https://go.googlesource.com/tools",
:revision => "a18bb1d557dac8d19062dd0240b44ab09cfa14fd", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/go-diff" do
url "https://github.com/sourcegraph/go-diff",
:revision => "07d9929e8741ec84aa708aba12a4b1efd3a7a0dd", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/go-flags" do
url "https://github.com/sourcegraph/go-flags",
:revision => "f59c328da6215a0b6acf0441ef19e361660ff405", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/go-nnz" do
url "https://github.com/sourcegraph/go-nnz",
:revision => "62f271ba06026cf310d94721425eda2ec72f894c", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/go-sourcegraph" do
url "https://github.com/sourcegraph/go-sourcegraph",
:revision => "6f1cd4d2b721cff7913ed2f04bcd820590ce3b94", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/go-vcs" do
url "https://github.com/sourcegraph/go-vcs",
:revision => "1dcc4655df7318c3f105f9212900e1d0c68f7424", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/makex" do
url "https://github.com/sourcegraph/makex",
:revision => "ba5e243479d710a5d378c97d007568a405d04492", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/rwvfs" do
url "https://github.com/sourcegraph/rwvfs",
:revision => "451122bc19b9f1cdfeb2f1fdccadbc33ef5aa9f7", :using => :git
end
go_resource "sourcegraph.com/sourcegraph/vcsstore" do
url "https://github.com/sourcegraph/vcsstore",
:revision => "53d0c58fd11f7dc451456eb983050c58cd005268", :using => :git
end
def install
ENV["GOBIN"] = bin
ENV["GOPATH"] = buildpath
mkdir_p buildpath/"src/sourcegraph.com/sourcegraph"
ln_sf buildpath, buildpath/"src/sourcegraph.com/sourcegraph/srclib"
Language::Go.stage_deps resources, buildpath/"src"
cd "cmd/src" do
system "go", "build", "-o", "src"
bin.install "src"
end
end
# For test
resource "srclib-sample" do
url "https://github.com/sourcegraph/srclib-sample.git",
:revision => "e753b113784bf383f627394e86e4936629a3b588"
end
test do
resource("srclib-sample").stage do
# Avoid automatic writing to $HOME/.srclib
ENV["SRCLIBPATH"] = testpath
ENV.prepend_path "PATH", bin
system "#{bin}/src", "toolchain", "add", "--force", "sourcegraph.com/sourcegraph/srclib-sample"
result = pipe_output("#{bin}/src api units")
assert_match '"Type":"sample"', result
end
end
end