class Devd < Formula desc "Local webserver for developers" homepage "https://github.com/cortesi/devd" license "MIT" head "https://github.com/cortesi/devd.git", branch: "master" stable do url "https://github.com/cortesi/devd/archive/v0.9.tar.gz" sha256 "5aee062c49ffba1e596713c0c32d88340360744f57619f95809d01c59bff071f" # Get go.mod and go.sum from commit after v0.9 release. # Ref: https://github.com/cortesi/devd/commit/4ab3fc9061542fd35b5544627354e5755fa74c1c # TODO: Remove in the next release. resource "go.mod" do url "https://raw.githubusercontent.com/cortesi/devd/4ab3fc9061542fd35b5544627354e5755fa74c1c/go.mod" sha256 "483b4294205cf2dea2d68b8f99aefcf95aadac229abc2a299f4d1303f645e6b0" end resource "go.sum" do url "https://raw.githubusercontent.com/cortesi/devd/4ab3fc9061542fd35b5544627354e5755fa74c1c/go.sum" sha256 "3fb5d8aa8edfefd635db6de1fda8ca079328b6af62fea704993e06868cfb3199" end end bottle do rebuild 4 sha256 cellar: :any_skip_relocation, arm64_monterey: "82d937b6bcf0f37755df12694e934a8032ce155fc2895ec227f4887b2662d9c2" sha256 cellar: :any_skip_relocation, arm64_big_sur: "47f06f9c6157c81eaf52040448e5f131a6a660f96e78186146ab469345e6ea96" sha256 cellar: :any_skip_relocation, monterey: "e815c896205297337741c856016809aa6603547c4a4302acb0ad307f3c91f10c" sha256 cellar: :any_skip_relocation, big_sur: "446557dc47076e2e0f4d93d6e33ecdac80721f4da9c391af29154509c425dd57" sha256 cellar: :any_skip_relocation, catalina: "0bfc6ccb8402282c4c3b3bf375cc3be882deba31f35a627801f3009456bf62f2" sha256 cellar: :any_skip_relocation, x86_64_linux: "9c82a9adb431d63c5ac65d04c6f27592e6fe23a3ffa0e5a118fd34a113d32af4" end depends_on "go" => :build def install if build.stable? buildpath.install resource("go.mod") buildpath.install resource("go.sum") # Update x/sys to support go 1.17. # PR ref: https://github.com/cortesi/devd/pull/117 inreplace "go.mod", "golang.org/x/sys v0.0.0-20181221143128-b4a75ba826a6", "golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c" (buildpath/"go.sum").append_lines <<~EOS golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c h1:Lyn7+CqXIiC+LOR9aHD6jDK+hPcmAuCfuXztd1v4w1Q= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= EOS end system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/devd" end test do (testpath/"www/example.txt").write <<~EOS Hello World! EOS port = free_port fork { exec "#{bin}/devd", "--port=#{port}", "#{testpath}/www" } sleep 2 output = shell_output("curl --silent 127.0.0.1:#{port}/example.txt") assert_equal "Hello World!\n", output end end