diff options
| author | Jack Nagel | 2013-06-03 22:50:11 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-06-03 22:55:28 -0500 |
| commit | aae86b7a8462f265c20d0edf8f1f05637f49022a (patch) | |
| tree | 078e33b3171e67673c06adf04e680cf4f294f372 /Library | |
| parent | 5052cef024e313e8b2bb460a828f41be6d9c51e3 (diff) | |
| download | homebrew-aae86b7a8462f265c20d0edf8f1f05637f49022a.tar.bz2 | |
FormulaInstaller: fix "optional build-time dep" edge case
An "optional build-time dep" is unlikely, but possible, and I happen to
notice this wasn't handled correctly while digging around in the deps
code over the last few days.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index af15e3ce1..d1950ad62 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -151,17 +151,13 @@ class FormulaInstaller def necessary_deps ARGV.filter_for_dependencies do f.recursive_dependencies do |dependent, dep| - if dep.optional? || dep.recommended? - Dependency.prune unless dependent.build.with?(dep.name) - elsif dep.build? - Dependency.prune if install_bottle?(dependent) - end - - if f.build.universal? - dep.universal! unless dep.build? - end + dep.universal! if f.build.universal? && !dep.build? - if dep.satisfied? + if (dep.optional? || dep.recommended?) && dependent.build.without?(dep.name) + Dependency.prune + elsif dep.build? && install_bottle?(dependent) + Dependency.prune + elsif dep.satisfied? Dependency.prune elsif dep.installed? raise UnsatisfiedDependencyError.new(f, dep) |
