root: fix variant detection for spack external find (#47011)

* root: fix variant detection for external

A few fixes (possibly non-exhaustive) to `spack external find root`
Several variants have had `when=` clauses added that need to be
propagated to determine_variants. The previously used
Version.satifies("") method also has been removed, it seems. It's
slightly cumbersome that there is no self.spec to use in
determine_variants, but comparisons using Version(version_str) work at least

* remove debug printout
This commit is contained in:
Valentin Volkl 2024-10-21 16:35:27 +02:00 committed by GitHub
parent 3edd68d981
commit 590be9bba1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -538,21 +538,26 @@ def _add_variant(variants, features, featurename, variantname):
_add_variant(v, f, "gviz", "+graphviz")
_add_variant(v, f, "http", "+http")
_add_variant(v, f, ("imt", "tbb"), "+tbb")
if Version(version_str) <= Version("6.28"):
_add_variant(v, f, "jemalloc", "+jemalloc")
if Version(version_str) <= Version("6.17"):
_add_variant(v, f, "memstat", "+memstat")
_add_variant(v, f, ("minuit", "minuit2"), "+minuit")
_add_variant(v, f, "mlp", "+mlp")
_add_variant(v, f, "mysql", "+mysql")
if Version(version_str) <= Version("6.30"):
_add_variant(v, f, "oracle", "+oracle")
_add_variant(v, f, "pgsql", "+postgres")
if Version(version_str) <= Version("6.30"):
_add_variant(v, f, "pythia6", "+pythia6")
_add_variant(v, f, "pythia8", "+pythia8")
_add_variant(v, f, "pyroot", "+python")
if Version(version_str) <= Version("6.17"):
_add_variant(v, f, ("qt", "qtgsi"), "+qt4")
_add_variant(v, f, "r", "+r")
_add_variant(v, f, "roofit", "+roofit")
# webui feature renamed to webgui in 6.18
if Version(version_str).satisfies("@6.18:"):
if Version(version_str) >= Version("6.18"):
_add_variant(v, f, ("root7", "webgui"), "+webgui")
else:
_add_variant(v, f, ("root7", "webui"), "+webgui")
@ -561,6 +566,7 @@ def _add_variant(variants, features, featurename, variantname):
_add_variant(v, f, "spectrum", "+spectrum")
_add_variant(v, f, "sqlite", "+sqlite")
_add_variant(v, f, "ssl", "+ssl")
if Version(version_str) <= Version("6.17"):
_add_variant(v, f, "table", "+table")
_add_variant(v, f, "thread", "+threads")
_add_variant(v, f, "tmva", "+tmva")
@ -572,6 +578,7 @@ def _add_variant(variants, features, featurename, variantname):
_add_variant(v, f, "vc", "+vc")
_add_variant(v, f, "vdt", "+vdt")
_add_variant(v, f, "veccore", "+veccore")
if Version(version_str) <= Version("6.25"):
_add_variant(v, f, "vmc", "+vmc")
_add_variant(v, f, ("x11", "xft"), "+x")
_add_variant(v, f, "xml", "+xml")