homebrew-core/Formula/curl.rb
Jack Nagel fac814ce26 curl: modernize usage of Secure Transport and OpenSSL
The openssl that ships with OS X does not support TLS 1.1 or 1.2. This
is a security issue for for applications that use functionality from
libssl.

On 10.8 and newer, Apple has deprecated use of openssl and added support
for TLS 1.1 and 1.2 to its Secure Transport framework (or "darwinssl" in
curl). On older versions of OS X, a newer openssl is required to obtain
such functionality.

Thus, we default to using darwinssl where it makes sense. An option to
use Homebrew's openssl is provided. On platforms where Secure Transport
does not support the newer protocols, we simply use Homebrew's openssl.

Closes Homebrew/homebrew#25824.
2014-01-13 21:06:14 -06:00

48 lines
1.4 KiB
Ruby

require 'formula'
class Curl < Formula
homepage 'http://curl.haxx.se/'
url 'http://curl.haxx.se/download/curl-7.34.0.tar.gz'
mirror 'ftp://ftp.sunet.se/pub/www/utilities/curl/curl-7.34.0.tar.gz'
sha256 '0705271de8411a85460706e177cd0f1064ec07c0b9e140a66a916fb644696d6a'
keg_only :provided_by_osx
option 'with-ssh', 'Build with scp and sftp support'
option 'with-ares', 'Build with C-Ares async DNS support'
option 'with-gssapi', 'Build with GSSAPI/Kerberos authentication support.'
if MacOS.version >= :mountain_lion
option 'with-openssl', 'Build with OpenSSL instead of Secure Transport'
depends_on 'openssl' => :optional
else
depends_on 'openssl'
end
depends_on 'pkg-config' => :build
depends_on 'libmetalink' => :optional
depends_on 'libssh2' if build.with? 'ssh'
depends_on 'c-ares' if build.with? 'ares'
def install
args = %W[
--disable-debug
--disable-dependency-tracking
--prefix=#{prefix}
]
if MacOS.version < :mountain_lion or build.with? "openssl"
args << "--with-ssl=#{Formula.factory("openssl").opt_prefix}"
else
args << "--with-darwinssl"
end
args << "--with-libssh2" if build.with? 'ssh'
args << "--with-libmetalink" if build.with? 'libmetalink'
args << "--enable-ares=#{Formula.factory("c-ares").opt_prefix}" if build.with? 'ares'
args << "--with-gssapi" if build.with? 'gssapi'
system "./configure", *args
system "make install"
end
end