mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Further Portable Ruby cleanup
- Use the `HOMEBREW_PORTABLE_RUBY_VERSION` environment variable to determine the version of the Portable Ruby to use in `vendor-install.sh` and `ruby.sh`. - Replace the `docs/.ruby-version` file with a symlink to `Library/Homebrew/.ruby-version`. - Fix an incorrect `HOMEBREW_LIBRARY` comment. - Use a simpler `HOMEBREW_USING_PORTABLE_RUBY` definition.
This commit is contained in:
parent
9e0cbe0fd7
commit
b38e14bce7
@ -8,6 +8,7 @@
|
|||||||
# HOMEBREW_MACOS_VERSION_NUMERIC and HOMEBREW_PROCESSOR are set by brew.sh
|
# HOMEBREW_MACOS_VERSION_NUMERIC and HOMEBREW_PROCESSOR are set by brew.sh
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
source "${HOMEBREW_LIBRARY}/Homebrew/utils/lock.sh"
|
source "${HOMEBREW_LIBRARY}/Homebrew/utils/lock.sh"
|
||||||
|
source "${HOMEBREW_LIBRARY}/Homebrew/utils/ruby.sh"
|
||||||
|
|
||||||
VENDOR_DIR="${HOMEBREW_LIBRARY}/Homebrew/vendor"
|
VENDOR_DIR="${HOMEBREW_LIBRARY}/Homebrew/vendor"
|
||||||
|
|
||||||
@ -21,18 +22,18 @@ set_ruby_variables() {
|
|||||||
# use a x86_64 Portable Ruby.
|
# use a x86_64 Portable Ruby.
|
||||||
[[ "${VENDOR_PHYSICAL_PROCESSOR}" == "arm64" && "${HOMEBREW_PREFIX}" == "/usr/local" ]]
|
[[ "${VENDOR_PHYSICAL_PROCESSOR}" == "arm64" && "${HOMEBREW_PREFIX}" == "/usr/local" ]]
|
||||||
then
|
then
|
||||||
ruby_FILENAME="portable-ruby-3.3.3.el_capitan.bottle.tar.gz"
|
ruby_FILENAME="portable-ruby-${HOMEBREW_PORTABLE_RUBY_VERSION}.el_capitan.bottle.tar.gz"
|
||||||
ruby_SHA="a5ef040e054444a0eb2cbcc1032fed14702dfbe2e55b25e609f3ce643f23c4ee"
|
ruby_SHA="a5ef040e054444a0eb2cbcc1032fed14702dfbe2e55b25e609f3ce643f23c4ee"
|
||||||
elif [[ "${VENDOR_PHYSICAL_PROCESSOR}" == "arm64" ]]
|
elif [[ "${VENDOR_PHYSICAL_PROCESSOR}" == "arm64" ]]
|
||||||
then
|
then
|
||||||
ruby_FILENAME="portable-ruby-3.3.3.arm64_big_sur.bottle.tar.gz"
|
ruby_FILENAME="portable-ruby-${HOMEBREW_PORTABLE_RUBY_VERSION}.arm64_big_sur.bottle.tar.gz"
|
||||||
ruby_SHA="49847c7a13f7094b211f6d0025900dd23716be07dac894a3d6941d7696296306"
|
ruby_SHA="49847c7a13f7094b211f6d0025900dd23716be07dac894a3d6941d7696296306"
|
||||||
fi
|
fi
|
||||||
elif [[ -n "${HOMEBREW_LINUX}" ]]
|
elif [[ -n "${HOMEBREW_LINUX}" ]]
|
||||||
then
|
then
|
||||||
case "${VENDOR_PROCESSOR}" in
|
case "${VENDOR_PROCESSOR}" in
|
||||||
x86_64)
|
x86_64)
|
||||||
ruby_FILENAME="portable-ruby-3.3.3.x86_64_linux.bottle.tar.gz"
|
ruby_FILENAME="portable-ruby-${HOMEBREW_PORTABLE_RUBY_VERSION}.x86_64_linux.bottle.tar.gz"
|
||||||
ruby_SHA="40a1dbc25bb1a8bbdf0bba53d3f16c45416be12d4c6d48b4530f90b2a77d64ce"
|
ruby_SHA="40a1dbc25bb1a8bbdf0bba53d3f16c45416be12d4c6d48b4530f90b2a77d64ce"
|
||||||
;;
|
;;
|
||||||
*) ;;
|
*) ;;
|
||||||
@ -59,7 +60,7 @@ set_ruby_variables() {
|
|||||||
fi
|
fi
|
||||||
ruby_URLs+=(
|
ruby_URLs+=(
|
||||||
"https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:${ruby_SHA}"
|
"https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:${ruby_SHA}"
|
||||||
"https://github.com/Homebrew/homebrew-portable-ruby/releases/download/3.3.3/${ruby_FILENAME}"
|
"https://github.com/Homebrew/homebrew-portable-ruby/releases/download/${HOMEBREW_PORTABLE_RUBY_VERSION}/${ruby_FILENAME}"
|
||||||
)
|
)
|
||||||
ruby_URL="${ruby_URLs[0]}"
|
ruby_URL="${ruby_URLs[0]}"
|
||||||
fi
|
fi
|
||||||
|
@ -29,7 +29,7 @@ $LOAD_PATH.reject! { |path| path.start_with?(RbConfig::CONFIG["sitedir"]) }
|
|||||||
require "pathname"
|
require "pathname"
|
||||||
dir = __dir__ || raise("__dir__ is not defined")
|
dir = __dir__ || raise("__dir__ is not defined")
|
||||||
HOMEBREW_LIBRARY_PATH = Pathname(dir).parent.realpath.freeze
|
HOMEBREW_LIBRARY_PATH = Pathname(dir).parent.realpath.freeze
|
||||||
HOMEBREW_USING_PORTABLE_RUBY = Pathname.new(RbConfig.ruby).to_s.include?("/vendor/portable-ruby/").freeze
|
HOMEBREW_USING_PORTABLE_RUBY = RbConfig.ruby.include?("/vendor/portable-ruby/").freeze
|
||||||
|
|
||||||
require_relative "../utils/gems"
|
require_relative "../utils/gems"
|
||||||
Homebrew.setup_gem_environment!(setup_path: false)
|
Homebrew.setup_gem_environment!(setup_path: false)
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
# When bumping, run `brew vendor-gems --update=--ruby`
|
# When bumping, run `brew vendor-gems --update=--ruby`
|
||||||
# When bumping to a new major/minor version, also update the bounds in the Gemfile
|
# When bumping to a new major/minor version, also update the bounds in the Gemfile
|
||||||
export HOMEBREW_REQUIRED_RUBY_VERSION=3.3
|
# HOMEBREW_LIBRARY set by bin/brew
|
||||||
|
# shellcheck disable=SC2154
|
||||||
|
export HOMEBREW_REQUIRED_RUBY_VERSION="3.3"
|
||||||
|
HOMEBREW_PORTABLE_RUBY_VERSION="$(cat "${HOMEBREW_LIBRARY}/Homebrew/vendor/portable-ruby-version")"
|
||||||
|
|
||||||
# Disable Ruby options we don't need.
|
# Disable Ruby options we don't need.
|
||||||
export HOMEBREW_RUBY_DISABLE_OPTIONS="--disable=gems,rubyopt"
|
export HOMEBREW_RUBY_DISABLE_OPTIONS="--disable=gems,rubyopt"
|
||||||
|
|
||||||
# HOMEBREW_LIBRARY is from the user environment
|
# HOMEBREW_LIBRARY set by bin/brew
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
test_ruby() {
|
test_ruby() {
|
||||||
if [[ ! -x "$1" ]]
|
if [[ ! -x "$1" ]]
|
||||||
@ -88,7 +91,6 @@ setup-ruby-path() {
|
|||||||
local vendor_ruby_root
|
local vendor_ruby_root
|
||||||
local vendor_ruby_path
|
local vendor_ruby_path
|
||||||
local vendor_ruby_terminfo
|
local vendor_ruby_terminfo
|
||||||
local vendor_ruby_latest_version
|
|
||||||
local vendor_ruby_current_version
|
local vendor_ruby_current_version
|
||||||
local ruby_exec
|
local ruby_exec
|
||||||
local upgrade_fail
|
local upgrade_fail
|
||||||
@ -113,7 +115,6 @@ If there's no Homebrew Portable Ruby available for your processor:
|
|||||||
vendor_ruby_root="${vendor_dir}/portable-ruby/current"
|
vendor_ruby_root="${vendor_dir}/portable-ruby/current"
|
||||||
vendor_ruby_path="${vendor_ruby_root}/bin/ruby"
|
vendor_ruby_path="${vendor_ruby_root}/bin/ruby"
|
||||||
vendor_ruby_terminfo="${vendor_ruby_root}/share/terminfo"
|
vendor_ruby_terminfo="${vendor_ruby_root}/share/terminfo"
|
||||||
vendor_ruby_latest_version="$(cat "${vendor_dir}/portable-ruby-version")"
|
|
||||||
vendor_ruby_current_version="$(readlink "${vendor_ruby_root}")"
|
vendor_ruby_current_version="$(readlink "${vendor_ruby_root}")"
|
||||||
|
|
||||||
unset HOMEBREW_RUBY_PATH
|
unset HOMEBREW_RUBY_PATH
|
||||||
@ -127,7 +128,7 @@ If there's no Homebrew Portable Ruby available for your processor:
|
|||||||
then
|
then
|
||||||
HOMEBREW_RUBY_PATH="${vendor_ruby_path}"
|
HOMEBREW_RUBY_PATH="${vendor_ruby_path}"
|
||||||
TERMINFO_DIRS="${vendor_ruby_terminfo}"
|
TERMINFO_DIRS="${vendor_ruby_terminfo}"
|
||||||
if [[ "${vendor_ruby_current_version}" != "${vendor_ruby_latest_version}" ]]
|
if [[ "${vendor_ruby_current_version}" != "${HOMEBREW_PORTABLE_RUBY_VERSION}" ]]
|
||||||
then
|
then
|
||||||
brew vendor-install ruby || odie "${upgrade_fail}"
|
brew vendor-install ruby || odie "${upgrade_fail}"
|
||||||
fi
|
fi
|
||||||
|
@ -1 +0,0 @@
|
|||||||
3.3.3
|
|
1
docs/.ruby-version
Symbolic link
1
docs/.ruby-version
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../Library/Homebrew/.ruby-version
|
Loading…
x
Reference in New Issue
Block a user