class Minio < Formula desc "Amazon S3 compatible object storage server" homepage "https://github.com/minio/minio" url "https://github.com/minio/minio.git", :tag => "RELEASE.2017-08-05T00-00-53Z", :revision => "aeafe668d8b6d25caac671d59e2b0f0473ce35d0" version "20170805000053" bottle do cellar :any_skip_relocation sha256 "d7ad63cef8dfe1f858332c757f140ad099deb71870c203bd3fcfb9d04243fa6d" => :high_sierra sha256 "6b709fcae2ed50362119377ab41e81b79e5b128c2a56f29ce40aa815e7e4eaa5" => :sierra sha256 "0a4965a1608c5fbc514d1a5ce2e7eb443250d9549a120800cf604ada71408856" => :el_capitan sha256 "307b271c6b03b32927c1eddacf4d3a940727704a4e12dc84cb716d2d8546a344" => :yosemite end depends_on "go" => :build def install ENV["GOPATH"] = buildpath clipath = buildpath/"src/github.com/minio/minio" clipath.install Dir["*"] cd clipath do if build.head? system "go", "build", "-o", buildpath/"minio" else release = `git tag --points-at HEAD`.chomp version = release.gsub(/RELEASE\./, "").chomp.gsub(/T(\d+)\-(\d+)\-(\d+)Z/, 'T\1:\2:\3Z') commit = `git rev-parse HEAD`.chomp proj = "github.com/minio/minio" system "go", "build", "-o", buildpath/"minio", "-ldflags", <<-EOS.undent -X #{proj}/cmd.Version=#{version} -X #{proj}/cmd.ReleaseTag=#{release} -X #{proj}/cmd.CommitID=#{commit} EOS end end bin.install buildpath/"minio" end def post_install (var/"minio").mkpath (etc/"minio").mkpath end plist_options :manual => "minio server" def plist; <<-EOS.undent KeepAlive Label #{plist_name} ProgramArguments #{opt_bin}/minio server --config-dir=#{etc}/minio --address :9000 #{var}/minio RunAtLoad KeepAlive WorkingDirectory #{HOMEBREW_PREFIX} StandardErrorPath #{var}/log/minio/output.log StandardOutPath #{var}/log/minio/output.log RunAtLoad EOS end test do system "#{bin}/minio", "version" end end