summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2021-10-12 14:15:48 +0200
committerGitHub <noreply@github.com>2021-10-12 14:15:48 +0200
commit551120ee0bb1de53df1c4e10a9fc015cb0a28ada (patch)
tree98b4ce5dc8070cb135a69c9591086debd1c05fdf /var
parentc2bf585d171a37defceec25f3823b7633787b8c6 (diff)
downloadspack-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.py22
-rw-r--r--var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py17
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')