Allow setting default variants (#2644)
This commit is contained in:
parent
d52c44cba9
commit
a42f340d37
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user