summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2020-11-25 22:03:42 +0100
committerTamara Dahlgren <dahlgren1@llnl.gov>2021-02-17 17:07:16 -0800
commit8e1b5f734f816fbe2ef52b653cc3e0df38142ef8 (patch)
tree123f1f3a98f073922da3cd6abf6593dfc8c8da23 /var
parentad84351c433dbf2d38321d5a40f5945d41e0a4b9 (diff)
downloadspack-8e1b5f734f816fbe2ef52b653cc3e0df38142ef8.tar.gz
spack-8e1b5f734f816fbe2ef52b653cc3e0df38142ef8.tar.bz2
spack-8e1b5f734f816fbe2ef52b653cc3e0df38142ef8.tar.xz
spack-8e1b5f734f816fbe2ef52b653cc3e0df38142ef8.zip
concretizer: treat conditional providers correctly (#20086)
refers #20040 This modification emits rules like: provides_virtual("netlib-lapack","blas") :- variant_value("netlib-lapack","external-blas","False"). for packages that provide virtual dependencies conditionally instead of a fact that doesn't account for the condition.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/conditional-provider/package.py18
-rw-r--r--var/spack/repos/builtin.mock/packages/v1-provider/package.py13
2 files changed, 31 insertions, 0 deletions
diff --git a/var/spack/repos/builtin.mock/packages/conditional-provider/package.py b/var/spack/repos/builtin.mock/packages/conditional-provider/package.py
new file mode 100644
index 0000000000..e95f2ad54c
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/conditional-provider/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2020 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)
+class ConditionalProvider(Package):
+ """Mimic the real netlib-lapack, that may be built on top of an
+ optimized blas.
+ """
+ homepage = "https://dev.null"
+
+ version('1.0')
+
+ variant('disable-v1', default=False, description='nope')
+
+ provides('v2')
+ provides('v1', when='~disable-v1')
+
+ depends_on('v1', when='+disable-v1')
diff --git a/var/spack/repos/builtin.mock/packages/v1-provider/package.py b/var/spack/repos/builtin.mock/packages/v1-provider/package.py
new file mode 100644
index 0000000000..46b7a99ac9
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/v1-provider/package.py
@@ -0,0 +1,13 @@
+# Copyright 2013-2020 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)
+class V1Provider(Package):
+ """Mimic the real netlib-lapack, that may be built on top of an
+ optimized blas.
+ """
+ homepage = "https://dev.null"
+
+ version('1.0')
+
+ provides('v1')