From 990b61250af99584f608dd730aca7cb0c19bee54 Mon Sep 17 00:00:00 2001 From: xxyzz Date: Wed, 30 Mar 2022 20:37:19 +0800 Subject: [PATCH] Get gcc version from API to avoid downloading gcc bottles on Linux --- Library/Homebrew/extend/os/linux/keg_relocate.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/extend/os/linux/keg_relocate.rb b/Library/Homebrew/extend/os/linux/keg_relocate.rb index 4fafbbd6fafd5..d7a92f6acf689 100644 --- a/Library/Homebrew/extend/os/linux/keg_relocate.rb +++ b/Library/Homebrew/extend/os/linux/keg_relocate.rb @@ -84,9 +84,16 @@ def elf_files 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