mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Map 'universal' to the real arch in Bundler for prebuilt gem selection
https://github.com/rubygems/rubygems/commit/dd0c94f16a
This commit is contained in:
parent
3703a81491
commit
2244d5084e
1 changed files with 22 additions and 0 deletions
|
@ -308,6 +308,28 @@ module Gem
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# On universal Rubies, resolve the "universal" arch to the real CPU arch, without changing the extension directory.
|
||||||
|
class Specification
|
||||||
|
if /^universal\.(?<arch>.*?)-/ =~ RUBY_PLATFORM
|
||||||
|
local_platform = Platform.local
|
||||||
|
if local_platform.cpu == "universal"
|
||||||
|
ORIGINAL_LOCAL_PLATFORM = local_platform.to_s.freeze
|
||||||
|
|
||||||
|
local_platform.cpu = if arch == "arm64e" # arm64e is only permitted for Apple system binaries
|
||||||
|
"arm64"
|
||||||
|
else
|
||||||
|
arch
|
||||||
|
end
|
||||||
|
|
||||||
|
def extensions_dir
|
||||||
|
Gem.default_ext_dir_for(base_dir) ||
|
||||||
|
File.join(base_dir, "extensions", ORIGINAL_LOCAL_PLATFORM,
|
||||||
|
Gem.extension_api_version)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
require "rubygems/util"
|
require "rubygems/util"
|
||||||
|
|
||||||
Util.singleton_class.module_eval do
|
Util.singleton_class.module_eval do
|
||||||
|
|
Loading…
Reference in a new issue