From 36b3dd8cfe1b932bd60f13606e9bfe23d8d91ffd Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Sun, 5 Mar 2017 21:41:18 -0800 Subject: [PATCH] Package.possible_dependencies() descends into virtuals. --- lib/spack/spack/package.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 57298368738..ff8c629ee7d 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -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