Commit 47074b91 authored by Benoit Daloze's avatar Benoit Daloze Committed by Benoit Daloze
Browse files

Use openssl from Homebrew for TruffleRuby on macOS

* The openssl built by ruby-build was not used by TruffleRuby,
  and causes https://github.com/oracle/truffleruby/issues/1818
* Improve error message when openssl from Homebrew is not available.
* Change the definition code so it checks the operating system too.
parent f0a393d2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1029,6 +1029,7 @@ use_homebrew_openssl() {
    echo "ruby-build: using openssl from homebrew"
    package_option ruby configure --with-openssl-dir="$ssldir"
  else
    colorize 1 "ERROR openssl@1.1 from Homebrew is required, run 'brew install openssl@1.1'"
    return 1
  fi
}
+16 −6
Original line number Diff line number Diff line
#!/usr/bin/env bash

set -e
set -o pipefail

if [ $# -ne 2 ]; then
  echo "usage: $0 VERSION RELEASE_DIRECTORY"
@@ -19,15 +20,24 @@ add_platform() {

  cat >> "$file" <<EOS
  install_package "truffleruby-${version}" "${url}#${sha256}" truffleruby
  ;;
EOS
}

cat > "$file" <<EOS
install_package "openssl-1.1.1d" "https://www.openssl.org/source/openssl-1.1.1d.tar.gz#1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2" mac_openssl --if has_broken_mac_openssl

if is_mac; then
case \$(uname -s) in
Linux)
EOS
add_platform "macos-amd64"
echo "else" >> "$file"
add_platform "linux-amd64"
echo "fi" >> "$file"
cat >> "$file" <<EOS
Darwin)
  use_homebrew_openssl
EOS
add_platform "macos-amd64"
cat >> "$file" <<EOS
*)
  colorize 1 "Unsupported operating system: Linux"
  return 1
  ;;
esac
EOS
+12 −6
Original line number Diff line number Diff line
install_package "openssl-1.1.0j" "https://www.openssl.org/source/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" mac_openssl --if has_broken_mac_openssl

if is_mac; then
  install_package "truffleruby-1.0.0-rc10" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc10/truffleruby-1.0.0-rc10-macos-amd64.tar.gz#b5a467ef7562b8806829dc7ea3fab6135e533350fe4f076c6c5fe5c8d0bd1283" truffleruby
else
case $(uname -s) in
Linux)
  install_package "truffleruby-1.0.0-rc10" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc10/truffleruby-1.0.0-rc10-linux-amd64.tar.gz#a3271572f202edf4d3d67ffd49508ccf80597a98219e2d3c217df43cbdfded2d" truffleruby
fi
  ;;
Darwin)
  use_homebrew_openssl
  install_package "truffleruby-1.0.0-rc10" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc10/truffleruby-1.0.0-rc10-macos-amd64.tar.gz#b5a467ef7562b8806829dc7ea3fab6135e533350fe4f076c6c5fe5c8d0bd1283" truffleruby
  ;;
*)
  colorize 1 "Unsupported operating system: Linux"
  return 1
  ;;
esac
+12 −6
Original line number Diff line number Diff line
install_package "openssl-1.1.0j" "https://www.openssl.org/source/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" mac_openssl --if has_broken_mac_openssl

if is_mac; then
  install_package "truffleruby-1.0.0-rc11" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc11/truffleruby-1.0.0-rc11-macos-amd64.tar.gz#c8c86fe7a77cacd690ddb64c66fbd92ff1f08788e40494cb4662b3d4731b02a6" truffleruby
else
case $(uname -s) in
Linux)
  install_package "truffleruby-1.0.0-rc11" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc11/truffleruby-1.0.0-rc11-linux-amd64.tar.gz#268c38f01331db4cbeae584aea4e9336b6a01aa1fcc621dda1232dcaac89da45" truffleruby
fi
  ;;
Darwin)
  use_homebrew_openssl
  install_package "truffleruby-1.0.0-rc11" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc11/truffleruby-1.0.0-rc11-macos-amd64.tar.gz#c8c86fe7a77cacd690ddb64c66fbd92ff1f08788e40494cb4662b3d4731b02a6" truffleruby
  ;;
*)
  colorize 1 "Unsupported operating system: Linux"
  return 1
  ;;
esac
+12 −6
Original line number Diff line number Diff line
install_package "openssl-1.1.0j" "https://www.openssl.org/source/openssl-1.1.0j.tar.gz#31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246" mac_openssl --if has_broken_mac_openssl

if is_mac; then
  install_package "truffleruby-1.0.0-rc12" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc12/truffleruby-1.0.0-rc12-macos-amd64.tar.gz#3796e42978408826360464234809c71a84e1017227fef688c865b3e636ff3402" truffleruby
else
case $(uname -s) in
Linux)
  install_package "truffleruby-1.0.0-rc12" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc12/truffleruby-1.0.0-rc12-linux-amd64.tar.gz#f84b7fe9e2376962889dbc92c17997954e4e8b8db3e64b07e4220102f47f4aa5" truffleruby
fi
  ;;
Darwin)
  use_homebrew_openssl
  install_package "truffleruby-1.0.0-rc12" "https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc12/truffleruby-1.0.0-rc12-macos-amd64.tar.gz#3796e42978408826360464234809c71a84e1017227fef688c865b3e636ff3402" truffleruby
  ;;
*)
  colorize 1 "Unsupported operating system: Linux"
  return 1
  ;;
esac
Loading