Package.possible_dependencies() descends into virtuals.

This commit is contained in:
Todd Gamblin 2017-03-05 21:41:18 -08:00
parent b9606e3157
commit 36b3dd8cfe

View File

@ -601,10 +601,19 @@ def possible_dependencies(self, visited=None):
visited.add(self.name)
for name in self.dependencies:
if name not in visited and not spack.spec.Spec(name).virtual:
if name in visited:
continue
spec = spack.spec.Spec(name)
if not spec.virtual:
pkg = spack.repo.get(name)
for name in pkg.possible_dependencies(visited):
visited.add(name)
else:
for provider in spack.repo.providers_for(spec):
pkg = spack.repo.get(provider.name)
for name in pkg.possible_dependencies(visited):
visited.add(name)
return visited