Get gcc version from API to avoid downloading gcc bottles on Linux

This commit is contained in:
xxyzz 2022-03-30 20:37:19 +08:00
parent 193d6d3ff2
commit 990b61250a
No known key found for this signature in database
GPG Key ID: F796163E6DCFEE9D

View File

@ -84,9 +84,16 @@ class Keg
def self.bottle_dependencies
@bottle_dependencies ||= begin
formulae = relocation_formulae
gcc = Formulary.factory(CompilerSelector.preferred_gcc)
if Homebrew::EnvConfig.install_from_api?
gcc_hash = Homebrew::API::Formula.fetch(CompilerSelector.preferred_gcc)
preferred_gcc_version = Version.new gcc_hash["versions"]["stable"]
else
gcc = Formulary.factory(CompilerSelector.preferred_gcc)
preferred_gcc_version = gcc.version
end
if !Homebrew::EnvConfig.simulate_macos_on_linux? &&
DevelopmentTools.non_apple_gcc_version("gcc") < gcc.version.to_i
DevelopmentTools.non_apple_gcc_version("gcc") < preferred_gcc_version
gcc = Formulary.factory(CompilerSelector.preferred_gcc) if Homebrew::EnvConfig.install_from_api?
formulae += gcc.recursive_dependencies.map(&:name)
formulae << gcc.name
end