diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py | 34 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/boost/package.py | 14 |
2 files changed, 41 insertions, 7 deletions
diff --git a/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py b/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py new file mode 100644 index 0000000000..74895cb7c0 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py @@ -0,0 +1,34 @@ +# Copyright 2013-2022 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 ConditionalValuesInVariant(Package): + """Package with conditional possible values in a variant""" + homepage = "https://dev.null" + + version('1.73.0') + version('1.72.0') + version('1.62.0') + version('1.60.0') + version('1.50.0') + + variant( + 'cxxstd', default='98', + values=( + '98', '11', '14', + # C++17 is not supported by Boost < 1.63.0. + conditional('17', when='@1.63.0:'), + # C++20/2a is not support by Boost < 1.73.0 + conditional('2a', when='@1.73.0:') + ), + multi=False, + description='Use the specified C++ standard when building.', + when='@1.60.0:' + ) + + variant( + 'staging', values=any_combination_of( + conditional('flexpath', 'dataspaces', when='@1.73.0:') + ), + description='Enable dataspaces and/or flexpath staging transports' + ) diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 3b5e83813a..9ac8584288 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -140,7 +140,13 @@ class Boost(Package): variant('cxxstd', default='98', - values=('98', '11', '14', '17', '2a'), + values=( + '98', '11', '14', + # C++17 is not supported by Boost < 1.63.0. + conditional('17', when='@1.63.0:'), + # C++20/2a is not support by Boost < 1.73.0 + conditional('2a', when='@1.73.0:') + ), multi=False, description='Use the specified C++ standard when building.') variant('debug', default=False, @@ -193,12 +199,6 @@ class Boost(Package): conflicts('cxxstd=98', when='+fiber') # Fiber requires >=C++11. conflicts('~context', when='+fiber') # Fiber requires Context. - # C++20/2a is not support by Boost < 1.73.0 - conflicts('cxxstd=2a', when='@:1.72') - - # C++17 is not supported by Boost<1.63.0. - conflicts('cxxstd=17', when='@:1.62') - conflicts('+taggedlayout', when='+versionedlayout') conflicts('+numpy', when='~python') |