Don't mutate deps collection when expanding requirements

Fixes Homebrew/homebrew-science#213.
This commit is contained in:
Jack Nagel 2013-12-02 12:44:28 -06:00
parent bcfafca56b
commit 69dcc2592c
2 changed files with 3 additions and 5 deletions

View File

@ -61,10 +61,8 @@ class Build
def initialize(f) def initialize(f)
@f = f @f = f
# Expand requirements before dependencies, as requirements
# may add dependencies if a default formula is activated.
@reqs = expand_reqs
@deps = expand_deps @deps = expand_deps
@reqs = expand_reqs
end end
def post_superenv_hacks def post_superenv_hacks
@ -88,7 +86,7 @@ class Build
elsif req.build? && dependent != f elsif req.build? && dependent != f
Requirement.prune Requirement.prune
elsif req.satisfied? && req.default_formula? && (dep = req.to_dependency).installed? elsif req.satisfied? && req.default_formula? && (dep = req.to_dependency).installed?
dependent.deps << dep deps << dep
Requirement.prune Requirement.prune
end end
end end

View File

@ -186,7 +186,7 @@ class FormulaInstaller
elsif req.satisfied? elsif req.satisfied?
Requirement.prune Requirement.prune
elsif req.default_formula? elsif req.default_formula?
dependent.deps << req.to_dependency unsatisfied_deps << req.to_dependency
Requirement.prune Requirement.prune
else else
puts "#{dependent}: #{req.message}" puts "#{dependent}: #{req.message}"