homebrew-core/Formula/strongswan.rb
2018-02-20 18:23:15 +10:00

104 lines
2.7 KiB
Ruby

class Strongswan < Formula
desc "VPN based on IPsec"
homepage "https://www.strongswan.org"
url "https://download.strongswan.org/strongswan-5.6.2.tar.bz2"
sha256 "e0a60a30ebf3c534c223559e1686497a21ded709a5d605c5123c2f52bcc22e92"
bottle do
sha256 "48f2e53c4525ebcd34a0f90e6ff7449ac87e289a79da136d4db2bb1fb2bf92ee" => :high_sierra
sha256 "11b4f357405eb1fcdacd2dc69bc54775170405ff4346e803de511b53d5c5d161" => :sierra
sha256 "894be0c9cab897e2c5a1d6f8ce2fe5cacc8cf17e4d99ab449fdc56b3e1539d81" => :el_capitan
end
head do
url "https://git.strongswan.org/strongswan.git"
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "libtool" => :build
depends_on "pkg-config" => :build
depends_on "gettext" => :build
depends_on "bison" => :build
end
option "with-curl", "Build with libcurl based fetcher"
option "with-suite-b", "Build with Suite B support (does not use the IPsec implementation provided by the kernel)"
depends_on "openssl"
depends_on "curl" => :optional
def install
args = %W[
--disable-dependency-tracking
--prefix=#{prefix}
--sbindir=#{bin}
--sysconfdir=#{etc}
--disable-defaults
--enable-charon
--enable-cmd
--enable-constraints
--enable-curve25519
--enable-eap-gtc
--enable-eap-identity
--enable-eap-md5
--enable-eap-mschapv2
--enable-ikev1
--enable-ikev2
--enable-kernel-pfroute
--enable-nonce
--enable-openssl
--enable-osx-attr
--enable-pem
--enable-pgp
--enable-pkcs1
--enable-pkcs8
--enable-pki
--enable-pubkey
--enable-revocation
--enable-scepclient
--enable-socket-default
--enable-sshkey
--enable-stroke
--enable-swanctl
--enable-unity
--enable-updown
--enable-x509
--enable-xauth-generic
]
args << "--enable-curl" if build.with? "curl"
if build.with? "suite-b"
args << "--enable-kernel-libipsec"
else
args << "--enable-kernel-pfkey"
end
system "./autogen.sh" if build.head?
system "./configure", *args
system "make", "check"
system "make", "install"
end
def caveats
msg = <<~EOS
strongSwan's configuration files are placed in:
#{etc}
You will have to run both "ipsec" and "charon-cmd" with "sudo".
EOS
if build.with? "suite-b"
msg += <<~EOS
If you previously ran strongSwan without Suite B support it might be
required to execute "sudo sysctl -w net.inet.ipsec.esp_port=0" in order
to receive packets.
EOS
end
msg
end
test do
system "#{bin}/ipsec", "--version"
system "#{bin}/charon-cmd", "--version"
end
end