mirror of
https://github.com/rbenv/ruby-build.git
synced 2025-10-25 07:10:52 +02:00
Explicitly declare OpenSSL condition and URL in the definition files
This commit is contained in:
parent
2aabdb4b64
commit
a0ace79cd7
5 changed files with 53 additions and 39 deletions
|
|
@ -516,43 +516,41 @@ verify_gcc() {
|
||||||
echo "$gcc"
|
echo "$gcc"
|
||||||
}
|
}
|
||||||
|
|
||||||
build_package_replace_osx_openssl() {
|
has_broken_mac_openssl() {
|
||||||
# Check for broken OpenSSL build shipped with OSX.
|
[ "$(uname -s)" = "Darwin" ] &&
|
||||||
if [ "$(uname -s)" = "Darwin" ] &&
|
[ "$(openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8r 8 Feb 2011" ]
|
||||||
[ "$(openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8r 8 Feb 2011" ]
|
|
||||||
then
|
|
||||||
# Install to a subdirectory since we don't want shims for bin/openssl.
|
|
||||||
OPENSSL_PREFIX_PATH="${PREFIX_PATH}/openssl"
|
|
||||||
|
|
||||||
# Put openssl.conf, certs, etc in ~/.rbenv/versions/*/openssl/ssl
|
|
||||||
OPENSSLDIR="${OPENSSLDIR:-$OPENSSL_PREFIX_PATH/ssl}"
|
|
||||||
|
|
||||||
# Tell Ruby to use this openssl for its extension.
|
|
||||||
package_option ruby configure --with-openssl-dir="$OPENSSL_PREFIX_PATH"
|
|
||||||
|
|
||||||
# Normally, we'd use ./config to automatically guess our platform. But
|
|
||||||
# that doesn't work for 64-bit Darwin: it picks 32-bit by default and
|
|
||||||
# asks you to run ./Configure by hand if you want 64-bit. So, here we are:
|
|
||||||
if [ "$(uname -m)" = "x86_64" ]; then
|
|
||||||
local platform="darwin64-x86_64-cc"
|
|
||||||
else
|
|
||||||
local platform="darwin-i386-cc"
|
|
||||||
fi
|
|
||||||
OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-perl ./Configure $platform}"
|
|
||||||
|
|
||||||
# Compile with zlib, no kerberos, and do a static build.
|
|
||||||
package_option openssl configure --openssldir="$OPENSSLDIR" zlib no-krb5 no-shared
|
|
||||||
|
|
||||||
# Default MAKE_OPTS are -j 2 which can confuse the build. Thankfully, make
|
|
||||||
# gives precedence to the last -j option, so we can override that.
|
|
||||||
package_option openssl make -j 1
|
|
||||||
|
|
||||||
install_package "openssl-1.0.1c" "https://www.openssl.org/source/openssl-1.0.1c.tar.gz#ae412727c8c15b67880aef7bd2999b2e" standard install_cacerts_from_keychain
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Extract root certs from the system keychain if .pem format and rehash.
|
build_package_mac_openssl() {
|
||||||
build_package_install_cacerts_from_keychain() {
|
# Install to a subdirectory since we don't want shims for bin/openssl.
|
||||||
|
OPENSSL_PREFIX_PATH="${PREFIX_PATH}/openssl"
|
||||||
|
|
||||||
|
# Put openssl.conf, certs, etc in ~/.rbenv/versions/*/openssl/ssl
|
||||||
|
OPENSSLDIR="${OPENSSLDIR:-$OPENSSL_PREFIX_PATH/ssl}"
|
||||||
|
|
||||||
|
# Tell Ruby to use this openssl for its extension.
|
||||||
|
package_option ruby configure --with-openssl-dir="$OPENSSL_PREFIX_PATH"
|
||||||
|
|
||||||
|
# Normally, we'd use ./config to automatically guess our platform. But
|
||||||
|
# that doesn't work for 64-bit Darwin: it picks 32-bit by default and
|
||||||
|
# asks you to run ./Configure by hand if you want 64-bit. So, here we are:
|
||||||
|
if [ "$(uname -m)" = "x86_64" ]; then
|
||||||
|
local platform="darwin64-x86_64-cc"
|
||||||
|
else
|
||||||
|
local platform="darwin-i386-cc"
|
||||||
|
fi
|
||||||
|
OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-perl ./Configure $platform}"
|
||||||
|
|
||||||
|
# Compile with zlib, no kerberos, and do a static build.
|
||||||
|
package_option openssl configure --openssldir="$OPENSSLDIR" zlib no-krb5 no-shared
|
||||||
|
|
||||||
|
# Default MAKE_OPTS are -j 2 which can confuse the build. Thankfully, make
|
||||||
|
# gives precedence to the last -j option, so we can override that.
|
||||||
|
package_option openssl make -j 1
|
||||||
|
|
||||||
|
build_package_standard "$@"
|
||||||
|
|
||||||
|
# Extract root certs from the system keychain if .pem format and rehash.
|
||||||
security find-certificate -a -p /Library/Keychains/System.keychain > "$OPENSSLDIR/cacert.pem"
|
security find-certificate -a -p /Library/Keychains/System.keychain > "$OPENSSLDIR/cacert.pem"
|
||||||
c_rehash "$OPENSSLDIR" >&4 2>&1
|
c_rehash "$OPENSSLDIR" >&4 2>&1
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1,5 @@
|
||||||
install_git "ruby-2.0.0-dev" "https://github.com/ruby/ruby.git" "trunk" replace_osx_openssl autoconf standard verify_openssl
|
if has_broken_mac_openssl; then
|
||||||
|
install_package "openssl-1.0.1c" "https://www.openssl.org/source/openssl-1.0.1c.tar.gz#ae412727c8c15b67880aef7bd2999b2e" mac_openssl
|
||||||
|
fi
|
||||||
|
|
||||||
|
install_git "ruby-2.0.0-dev" "https://github.com/ruby/ruby.git" "trunk" autoconf standard verify_openssl
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,6 @@
|
||||||
|
if has_broken_mac_openssl; then
|
||||||
|
install_package "openssl-1.0.1c" "https://www.openssl.org/source/openssl-1.0.1c.tar.gz#ae412727c8c15b67880aef7bd2999b2e" mac_openssl
|
||||||
|
fi
|
||||||
|
|
||||||
install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz#36c852831d02cf90508c29852361d01b"
|
install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz#36c852831d02cf90508c29852361d01b"
|
||||||
install_package "ruby-2.0.0-preview1" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview1.tar.gz#c7d73f3ddb6d25e7733626ddbad04158" replace_osx_openssl standard verify_openssl
|
install_package "ruby-2.0.0-preview1" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview1.tar.gz#c7d73f3ddb6d25e7733626ddbad04158" standard verify_openssl
|
||||||
|
|
|
||||||
|
|
@ -1 +1,5 @@
|
||||||
install_package "ruby-2.0.0-preview2" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview2.tar.gz#eaddcbf63dc775708de45c7a81ab54b9" replace_osx_openssl standard verify_openssl
|
if has_broken_mac_openssl; then
|
||||||
|
install_package "openssl-1.0.1c" "https://www.openssl.org/source/openssl-1.0.1c.tar.gz#ae412727c8c15b67880aef7bd2999b2e" mac_openssl
|
||||||
|
fi
|
||||||
|
|
||||||
|
install_package "ruby-2.0.0-preview2" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview2.tar.gz#eaddcbf63dc775708de45c7a81ab54b9" standard verify_openssl
|
||||||
|
|
|
||||||
|
|
@ -1 +1,5 @@
|
||||||
install_package "ruby-2.0.0-rc1" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-rc1.tar.gz#7d587dde85e0edf7a2e4f6783e6c0e2e" replace_osx_openssl standard verify_openssl
|
if has_broken_mac_openssl; then
|
||||||
|
install_package "openssl-1.0.1c" "https://www.openssl.org/source/openssl-1.0.1c.tar.gz#ae412727c8c15b67880aef7bd2999b2e" mac_openssl
|
||||||
|
fi
|
||||||
|
|
||||||
|
install_package "ruby-2.0.0-rc1" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-rc1.tar.gz#7d587dde85e0edf7a2e4f6783e6c0e2e" standard verify_openssl
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue