Skip to content
Snippets Groups Projects
Commit a42f340d authored by Michael Kuhn's avatar Michael Kuhn Committed by Todd Gamblin
Browse files

Allow setting default variants (#2644)

parent d52c44cb
Branches
Tags
No related merge requests found
...@@ -154,10 +154,17 @@ def spec_has_preferred_provider(self, pkgname, provider_str): ...@@ -154,10 +154,17 @@ def spec_has_preferred_provider(self, pkgname, provider_str):
def spec_preferred_variants(self, pkgname): def spec_preferred_variants(self, pkgname):
"""Return a VariantMap of preferred variants and their values""" """Return a VariantMap of preferred variants and their values"""
variants = self.preferred.get(pkgname, {}).get('variants', '') for pkg in (pkgname, 'all'):
variants = self.preferred.get(pkg, {}).get('variants', '')
if variants:
break
if not isinstance(variants, basestring): if not isinstance(variants, basestring):
variants = " ".join(variants) variants = " ".join(variants)
return spack.spec.Spec("%s %s" % (pkgname, variants)).variants pkg = spack.repo.get(pkgname)
spec = spack.spec.Spec("%s %s" % (pkgname, variants))
# Only return variants that are actually supported by the package
return dict((name, variant) for name, variant in spec.variants.items()
if name in pkg.variants)
def version_compare(self, pkgname, a, b): def version_compare(self, pkgname, a, b):
"""Return less-than-0, 0, or greater than 0 if version a of pkgname is """Return less-than-0, 0, or greater than 0 if version a of pkgname is
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment