diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2021-10-12 14:15:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-12 14:15:48 +0200 |
commit | 551120ee0bb1de53df1c4e10a9fc015cb0a28ada (patch) | |
tree | 98b4ce5dc8070cb135a69c9591086debd1c05fdf /var | |
parent | c2bf585d171a37defceec25f3823b7633787b8c6 (diff) | |
download | spack-551120ee0bb1de53df1c4e10a9fc015cb0a28ada.tar.gz spack-551120ee0bb1de53df1c4e10a9fc015cb0a28ada.tar.bz2 spack-551120ee0bb1de53df1c4e10a9fc015cb0a28ada.tar.xz spack-551120ee0bb1de53df1c4e10a9fc015cb0a28ada.zip |
ASP-based solver: decrease the priority of multi-valued variant optimization for root (#26677)
The ASP-based solver maximizes the number of values in multi-valued
variants (if other higher order constraints are met), to avoid cases
where only a subset of the values that have been specified on the
command line or imposed by another constraint are selected.
Here we swap the priority of this optimization target with the
selection of the default providers, to avoid unexpected results
like the one in #26598
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py | 22 | ||||
-rw-r--r-- | var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py | 17 |
2 files changed, 39 insertions, 0 deletions
diff --git a/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py b/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py new file mode 100644 index 0000000000..0aeb6d0c0a --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class SomeVirtualMv(Package): + """Package providing a virtual dependency and with a multivalued variant.""" + + homepage = "http://www.example.com" + url = "http://www.example.com/foo-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + provides('somevirtual') + + # This multi valued variant is needed to trigger an optimization + # criteria for clingo + variant('libs', default='shared,static', values=('shared', 'static'), + multi=True, description='Build shared libs, static libs or both') diff --git a/var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py b/var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py new file mode 100644 index 0000000000..1e8ba80526 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class SomeVirtualPreferred(Package): + """Package providing a virtual dependency with a preference in packages.yaml""" + + homepage = "http://www.example.com" + url = "http://www.example.com/foo-1.0.tar.gz" + + version('1.0', '0123456789abcdef0123456789abcdef') + + provides('somevirtual') |