Class: Gem::Platform
- Inherits:
-
Object
- Object
- Gem::Platform
- Defined in:
- lib/bundler/rubygems_ext.rb
Constant Summary collapse
- JAVA =
Gem::Platform.new("java")
- MSWIN =
Gem::Platform.new("mswin32")
- MSWIN64 =
Gem::Platform.new("mswin64")
- MINGW =
Gem::Platform.new("x86-mingw32")
- X64_MINGW =
[Gem::Platform.new("x64-mingw32"), Gem::Platform.new("x64-mingw-ucrt")].freeze
- WINDOWS =
[MSWIN, MSWIN64, MINGW, X64_MINGW].flatten.freeze
- X64_LINUX =
Gem::Platform.new("x86_64-linux")
- X64_LINUX_MUSL =
Gem::Platform.new("x86_64-linux-musl")
- REUSE_AS_BINARY_ON_TRUFFLERUBY =
%w[libv8 libv8-node sorbet-static].freeze
Instance Method Summary collapse
- #===(other) ⇒ Object
-
#normalized_linux_version_ext ⇒ Object
This is a copy of RubyGems 3.3.23 or higher ‘normalized_linux_method`.
Instance Method Details
#===(other) ⇒ Object
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 |
# File 'lib/bundler/rubygems_ext.rb', line 252 def ===(other) return nil unless Gem::Platform === other # universal-mingw32 matches x64-mingw-ucrt return true if (@cpu == "universal" || other.cpu == "universal") && @os.start_with?("mingw") && other.os.start_with?("mingw") # cpu ([nil,"universal"].include?(@cpu) || [nil, "universal"].include?(other.cpu) || @cpu == other.cpu || (@cpu == "arm" && other.cpu.start_with?("arm"))) && # os @os == other.os && # version ( (@os != "linux" && (@version.nil? || other.version.nil?)) || (@os == "linux" && (normalized_linux_version_ext == other.normalized_linux_version_ext || ["musl#{@version}", "musleabi#{@version}", "musleabihf#{@version}"].include?(other.version))) || @version == other.version ) end |
#normalized_linux_version_ext ⇒ Object
This is a copy of RubyGems 3.3.23 or higher ‘normalized_linux_method`. Once only 3.3.23 is supported, we can use the method in RubyGems.
276 277 278 279 280 281 282 283 |
# File 'lib/bundler/rubygems_ext.rb', line 276 def normalized_linux_version_ext return nil unless @version without_gnu_nor_abi_modifiers = @version.sub(/\Agnu/, "").sub(/eabi(hf)?\Z/, "") return nil if without_gnu_nor_abi_modifiers.empty? without_gnu_nor_abi_modifiers end |