2010-02-16 07:19:53 +00:00
|
|
|
require 'formula'
|
|
|
|
|
2011-03-10 05:11:03 +00:00
|
|
|
class Openssl < Formula
|
2012-04-23 08:09:56 +00:00
|
|
|
homepage 'http://openssl.org'
|
|
|
|
url 'http://openssl.org/source/openssl-1.0.1a.tar.gz'
|
|
|
|
sha256 'd3487e09d891c772cf946273a3bb0ca47479e7941be6d822274320e7cfcc361b'
|
2010-02-16 07:19:53 +00:00
|
|
|
|
2011-03-16 05:01:31 +00:00
|
|
|
keg_only :provided_by_osx,
|
2012-04-17 09:08:58 +00:00
|
|
|
"The OpenSSL provided by OS X is too old for some software."
|
2010-10-17 15:52:14 +00:00
|
|
|
|
2012-04-25 08:56:35 +00:00
|
|
|
def patches
|
|
|
|
# Fixed regression with Mac OS X and 64-bit.
|
|
|
|
# http://rt.openssl.org/Ticket/Display.html?id=2797
|
|
|
|
# Can be removed with next release. Please check first.
|
|
|
|
DATA
|
|
|
|
end
|
|
|
|
|
2010-02-16 07:19:53 +00:00
|
|
|
def install
|
2012-04-18 17:00:17 +00:00
|
|
|
args = %W[./Configure
|
|
|
|
--prefix=#{prefix}
|
|
|
|
--openssldir=#{etc}/openssl
|
|
|
|
zlib-dynamic
|
|
|
|
shared
|
|
|
|
]
|
2012-04-17 08:34:14 +00:00
|
|
|
|
|
|
|
args << (MacOS.prefer_64_bit? ? "darwin64-x86_64-cc" : "darwin-i386-cc")
|
|
|
|
|
|
|
|
system "perl", *args
|
2011-07-22 00:09:26 +00:00
|
|
|
|
2012-01-05 05:37:36 +00:00
|
|
|
ENV.deparallelize # Parallel compilation fails
|
2010-02-16 07:19:53 +00:00
|
|
|
system "make"
|
2012-04-17 09:08:58 +00:00
|
|
|
system "make", "test"
|
|
|
|
system "make", "install", "MANDIR=#{man}", "MANSUFFIX=ssl"
|
2010-02-16 07:19:53 +00:00
|
|
|
end
|
|
|
|
end
|
2012-04-25 08:56:35 +00:00
|
|
|
|
|
|
|
__END__
|
|
|
|
diff --git i/crypto/evp/e_rc4_hmac_md5.c w/crypto/evp/e_rc4_hmac_md5.c
|
|
|
|
index 3f32b25..e65380d 100644
|
|
|
|
--- i/crypto/evp/e_rc4_hmac_md5.c
|
|
|
|
+++ w/crypto/evp/e_rc4_hmac_md5.c
|
|
|
|
@@ -103,7 +103,8 @@ static int rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx,
|
|
|
|
#if !defined(OPENSSL_NO_ASM) && ( \
|
|
|
|
defined(__x86_64) || defined(__x86_64__) || \
|
|
|
|
defined(_M_AMD64) || defined(_M_X64) || \
|
|
|
|
- defined(__INTEL__) )
|
|
|
|
+ defined(__INTEL__) ) && \
|
|
|
|
+ !(defined(__APPLE__) && defined(__MACH__))
|
|
|
|
#define STITCHED_CALL
|
|
|
|
#endif
|