homebrew-core/Formula/mtr.rb

60 lines
2.6 KiB
Ruby

class Mtr < Formula
desc "'traceroute' and 'ping' in a single tool"
homepage "https://www.bitwizard.nl/mtr/"
url "https://github.com/traviscross/mtr/archive/v0.95.tar.gz"
sha256 "12490fb660ba5fb34df8c06a0f62b4f9cbd11a584fc3f6eceda0a99124e8596f"
license "GPL-2.0-only"
head "https://github.com/traviscross/mtr.git", branch: "master"
bottle do
sha256 cellar: :any, arm64_ventura: "83d9da1de6a03855e99e0db1f8060f196fda988b187493aaad8d15b039176644"
sha256 cellar: :any, arm64_monterey: "832e28a80e1b4340c19c4dc3511504672ec03ff5cb54d7294e932b7d9aa80085"
sha256 cellar: :any, arm64_big_sur: "0e41037f1e0f662b87155307468c740594d2e16761e2b120a3086e0922c7bda5"
sha256 cellar: :any, ventura: "bbff689ff843d38238f2379af5022b4bd0848234a9bc4e0a79fae8669510cc8b"
sha256 cellar: :any, monterey: "8388e7af1b04e7749ffa93b3a9479df605cbe16d7a88c02625ecd229e36043f9"
sha256 cellar: :any, big_sur: "bb07a178a739fc8c8a15fc7645efc7fe749b81663752bcd66cb1efcd47217371"
sha256 cellar: :any, catalina: "7ee23cbae756e561d02a0ffe3b32476cd635b54f70240a937c43e7608c27766d"
sha256 cellar: :any_skip_relocation, x86_64_linux: "4b2707211f207742525047d68e4b3e870b524f093ea8ce8f76b8fb3999e6f8d5"
end
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "pkg-config" => :build
depends_on "jansson"
def install
# Fix UNKNOWN version reported by `mtr --version`.
inreplace "configure.ac",
"m4_esyscmd([build-aux/git-version-gen .tarball-version])",
version.to_s
# We need to add this because nameserver8_compat.h has been removed in Snow Leopard
ENV["LIBS"] = "-lresolv"
args = %W[
--disable-dependency-tracking
--prefix=#{prefix}
--without-glib
--without-gtk
]
system "./bootstrap.sh"
system "./configure", *args
system "make", "install"
end
def caveats
<<~EOS
mtr requires root privileges so you will need to run `sudo mtr`.
You should be certain that you trust any software you grant root privileges.
EOS
end
test do
# We patch generation of the version, so let's check that we did that properly.
assert_match "mtr #{version}", shell_output("#{sbin}/mtr --version")
# mtr will not run without root privileges
assert_match "Failure to open", shell_output("#{sbin}/mtr google.com 2>&1", 1)
# Check that the `--json` flag is recognised.
assert_match "Failure to open", shell_output("#{sbin}/mtr --json google.com 2>&1", 1)
end
end