aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/dependency.rb5
-rw-r--r--Library/Homebrew/test/test_dependency_expansion.rb5
2 files changed, 9 insertions, 1 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb
index 3fd026883..3a203e896 100644
--- a/Library/Homebrew/dependency.rb
+++ b/Library/Homebrew/dependency.rb
@@ -100,7 +100,10 @@ class Dependency
grouped = deps.group_by(&:name)
deps.uniq.map do |dep|
- dep.class.new(dep.name, grouped.fetch(dep.name).map(&:tags).flatten)
+ tags = grouped.fetch(dep.name).map(&:tags).flatten
+ merged_dep = dep.class.new(dep.name, tags)
+ merged_dep.env_proc = dep.env_proc
+ merged_dep
end
end
end
diff --git a/Library/Homebrew/test/test_dependency_expansion.rb b/Library/Homebrew/test/test_dependency_expansion.rb
index c3fe4ce18..63b6c3145 100644
--- a/Library/Homebrew/test/test_dependency_expansion.rb
+++ b/Library/Homebrew/test/test_dependency_expansion.rb
@@ -66,4 +66,9 @@ class DependencyExpansionTests < Test::Unit::TestCase
deps = [@foo2, @bar, @baz2, @qux]
assert_equal deps, Dependency.expand(@f)
end
+
+ def test_merger_preserves_env_proc
+ env_proc = @foo.env_proc = stub
+ assert_equal env_proc, Dependency.expand(@f).first.env_proc
+ end
end