require 'formula' class Vpnc < Formula homepage 'http://www.unix-ag.uni-kl.de/~massar/vpnc/' url 'http://ftp.debian.org/debian/pool/main/v/vpnc/vpnc_0.5.3r512.orig.tar.gz' version '0.5.3r512' sha256 'd421ac20b6c65d22d2ee88066e487f740f4d367f9143b6045bcb8fa177b384fe' revision 2 depends_on 'pkg-config' => :build depends_on 'libgcrypt' depends_on 'libgpg-error' depends_on 'gnutls' depends_on 'tuntap' fails_with :llvm do build 2334 end option "hybrid", "Use vpnc hybrid authentication" # Patch from user @Imagesafari to enable compilation on Lion def patches DATA if MacOS.version >= :lion end def install ENV.no_optimization ENV.deparallelize inreplace ["vpnc-script", "vpnc-disconnect"] do |s| s.gsub! "/var/run/vpnc", (var + 'run/vpnc') end inreplace "vpnc.8.template" do |s| s.gsub! "/etc/vpnc", (etc + 'vpnc') end inreplace "Makefile" do |s| s.change_make_var! "PREFIX", prefix s.change_make_var! "ETCDIR", (etc + 'vpnc') s.gsub! /^#OPENSSL/, "OPENSSL" if build.include? "hybrid" end inreplace "config.c" do |s| s.gsub! "/etc/vpnc", (etc + 'vpnc') s.gsub! "/var/run/vpnc", (var + 'run/vpnc') end system "make" (var + 'run/vpnc').mkpath system "make install" end end __END__ --- vpnc/sysdep.h 2008-11-19 15:36:12.000000000 -0500 +++ vpnc.patched/sysdep.h 2011-07-14 12:49:18.000000000 -0400 @@ -109,6 +109,8 @@ #define HAVE_FGETLN 1 #define HAVE_UNSETENV 1 #define HAVE_SETENV 1 +#define HAVE_GETLINE 1 +#define NEW_TUN 1 #endif /***************************************************************************/ diff -u vpnc.patched/vpnc-script vpnc/vpnc-script --- vpnc.patched/vpnc-script 2013-11-01 13:17:21.000000000 -0700 +++ vpnc/vpnc-script 2013-11-01 18:54:33.000000000 -0700 @@ -388,7 +388,7 @@ scutil >/dev/null 2>&1 <<-EOF open d.init - d.add ServerAddresses * $INTERNAL_IP4_DNS + d.add ServerAddresses * $INTERNAL_IP4_DNS $INTERNAL_IP6_DNS set State:/Network/Service/$TUNDEV/DNS d.init # next line overrides the default gateway and breaks split routing @@ -598,7 +598,7 @@ fi i=`expr $i + 1` done - for i in $INTERNAL_IP4_DNS ; do + for i in $INTERNAL_IP6_DNS ; do if echo "$i" | grep : >/dev/null; then set_ipv6_network_route "$i" "128" fi