formula_installer: default_formula using build.
Use the build options instead of whether the requirement is optional to work out if it is needed. This handles the case of an optional requirement becoming needed because it's a dependency for another formula. Closes Homebrew/homebrew#31476.
This commit is contained in:
		
							parent
							
								
									045a02aa74
								
							
						
					
					
						commit
						4790d4cba9
					
				@ -239,9 +239,9 @@ class FormulaInstaller
 | 
			
		||||
    raise UnsatisfiedRequirements.new(f, fatals) unless fatals.empty?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def install_requirement_default_formula?(req)
 | 
			
		||||
  def install_requirement_default_formula?(req, build)
 | 
			
		||||
    return false unless req.default_formula?
 | 
			
		||||
    return false if req.optional?
 | 
			
		||||
    return false if build.without?(req)
 | 
			
		||||
    return true unless req.satisfied?
 | 
			
		||||
    pour_bottle? || build_bottle?
 | 
			
		||||
  end
 | 
			
		||||
@ -262,7 +262,7 @@ class FormulaInstaller
 | 
			
		||||
          Requirement.prune
 | 
			
		||||
        elsif req.build? && dependent != f && install_bottle_for_dep?(dependent, build)
 | 
			
		||||
          Requirement.prune
 | 
			
		||||
        elsif install_requirement_default_formula?(req)
 | 
			
		||||
        elsif install_requirement_default_formula?(req, build)
 | 
			
		||||
          dep = req.to_dependency
 | 
			
		||||
          deps.unshift(dep)
 | 
			
		||||
          formulae.unshift(dep.to_formula)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user