summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/Package.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/spack/spack/Package.py b/lib/spack/spack/Package.py
index 5ed842c2ee..f8256b9add 100644
--- a/lib/spack/spack/Package.py
+++ b/lib/spack/spack/Package.py
@@ -1,3 +1,4 @@
+import sys
import inspect
import os
import re
@@ -39,13 +40,11 @@ def depends_on(*args, **kwargs):
"""Adds a depends_on local variable in the locals of
the calling class, based on args.
"""
- stack = inspect.stack()
- try:
- locals = stack[1][0].f_locals
- finally:
- del stack
+ # This gets the calling frame so we can pop variables into it
+ locals = sys._getframe(1).f_locals
- dependencies = locals.setdefault("dependencies", [])
+ # Put deps into the dependencies variable
+ dependencies = locals.setdefault("dependencies", [])
for name in args:
dependencies.append(Dependency(name))