Cast deps to formula before passing them to superenv

Dependency names retain the "tap prefix", e.g. the "homebrew/dupes"
part of "homebrew/dupes/zlib". However formula objects do not, and this
is desired because we do not record the tap name as part of the
installation prefix.

So we need to ensure the correct dep names are passed to superenv,
otherwise it will not add the correct directories to various environment
variables.
This commit is contained in:
Jack Nagel 2013-06-10 17:24:44 -05:00
parent 784c9670f1
commit 580eea89be

View File

@ -108,14 +108,14 @@ class Build
pre_superenv_hacks pre_superenv_hacks
require 'superenv' require 'superenv'
deps.each do |dep| deps.map(&:to_formula).each do |dep|
opt = HOMEBREW_PREFIX/:opt/dep opt = HOMEBREW_PREFIX/:opt/dep
fixopt(dep.to_formula) unless opt.directory? or ARGV.ignore_deps? fixopt(dep) unless opt.directory? or ARGV.ignore_deps?
end end
if superenv? if superenv?
ENV.keg_only_deps = keg_only_deps.map(&:to_s) ENV.keg_only_deps = keg_only_deps.map(&:to_s)
ENV.deps = deps.map(&:to_s) ENV.deps = deps.map { |d| d.to_formula.to_s }
ENV.x11 = reqs.any? { |rq| rq.kind_of?(X11Dependency) } ENV.x11 = reqs.any? { |rq| rq.kind_of?(X11Dependency) }
ENV.setup_build_environment ENV.setup_build_environment
post_superenv_hacks post_superenv_hacks