class Strongswan < Formula desc "VPN based on IPsec" homepage "https://www.strongswan.org" url "https://download.strongswan.org/strongswan-5.5.0.tar.bz2" sha256 "58463998ac6725eac3687e8a20c1f69803c3772657076d06c43386a24b4c8454" bottle do sha256 "acffb26c1e36bf84a7d5a7b0bf2fbfff32edf820248e1dd55153194f8e3273b0" => :sierra sha256 "d1b273eee5d17795af8c17ca2d6bcddb3d71f320034b11bc859011e65b7ab195" => :el_capitan sha256 "2b11c4eaa159cf44b0465901d24ab2c52a1a390a2504bba9990fdaef8cf828ea" => :yosemite sha256 "23c2cfb6f92e6ed979067f3500b1ea8f4457ea39739ee166c4421bc6c409104b" => :mavericks 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-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.undent 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.undent 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