diff options
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r-- | lib/spack/spack/spec.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index af282e4425..7ab0ffa5fd 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -1019,7 +1019,9 @@ class SpecBuildInterface(lang.ObjectWrapper): def __init__(self, spec, name, query_parameters): super(SpecBuildInterface, self).__init__(spec) - + # Adding new attributes goes after super() call since the ObjectWrapper + # resets __dict__ to behave like the passed object + self.token = spec, name, query_parameters is_virtual = spack.repo.path.is_virtual(name) self.last_query = QueryState( name=name, @@ -1027,6 +1029,9 @@ class SpecBuildInterface(lang.ObjectWrapper): isvirtual=is_virtual ) + def __reduce__(self): + return SpecBuildInterface, self.token + @lang.lazy_lexicographic_ordering(set_hash=False) class Spec(object): |