41 lines
1.8 KiB
Ruby
41 lines
1.8 KiB
Ruby
class Boringtun < Formula
|
|
desc "Userspace WireGuard implementation in Rust"
|
|
homepage "https://github.com/cloudflare/boringtun"
|
|
url "https://github.com/cloudflare/boringtun/archive/refs/tags/boringtun-0.5.2.tar.gz"
|
|
sha256 "660f69e20b1980b8e75dc0373dfe137f58fb02b105d3b9d03f35e1ce299d61b3"
|
|
license "BSD-3-Clause"
|
|
head "https://github.com/cloudflare/boringtun.git", branch: "master"
|
|
|
|
bottle do
|
|
sha256 cellar: :any_skip_relocation, arm64_monterey: "63895d49881fb0e40ea40ddbb0414233a42d3311bc77f0193266752c7723ca4e"
|
|
sha256 cellar: :any_skip_relocation, arm64_big_sur: "57d1a55c819072fb79fd26e479fb874070f4c86f662c5b17b040a63637e21c2d"
|
|
sha256 cellar: :any_skip_relocation, monterey: "359ad2ce46b578bd55f2faa7dbd41a6202b3b39e4b40beb0de5c0782a7a8ed25"
|
|
sha256 cellar: :any_skip_relocation, big_sur: "0c0545c856571a954f151aeb643ff1f77283165b1bc95a5bc762b44184a0716f"
|
|
sha256 cellar: :any_skip_relocation, catalina: "dd64f6c9bde4f8e668736dd9aff22912e99a393c868605ec98d19dcf6885f596"
|
|
sha256 cellar: :any_skip_relocation, x86_64_linux: "4c6bcd0a73c3fbc14c3d786c68952699637cc5bd502dd06de29468e27bdded4e"
|
|
end
|
|
|
|
depends_on "rust" => :build
|
|
|
|
def install
|
|
system "cargo", "install", *std_cargo_args(path: "boringtun-cli")
|
|
end
|
|
|
|
def caveats
|
|
<<~EOS
|
|
boringtun-cli requires root privileges so you will need to run `sudo boringtun-cli utun`.
|
|
You should be certain that you trust any software you grant root privileges.
|
|
EOS
|
|
end
|
|
|
|
test do
|
|
system "#{bin}/boringtun-cli", "--help"
|
|
assert_match "boringtun #{version}", shell_output("#{bin}/boringtun-cli -V").chomp
|
|
|
|
output = shell_output("#{bin}/boringtun-cli utun --log #{testpath}/boringtun.log 2>&1", 1)
|
|
assert_predicate testpath/"boringtun.log", :exist?
|
|
# requires `sudo` to start
|
|
assert_match "BoringTun failed to start", output
|
|
end
|
|
end
|