range-v3 package: Add notes, conflicts and doc dependencies. (#10887)

* record conflicts with compiler versions which don't provide
  required c++ standard support
* add doxygen (build) dependency
* add note that range-v3 is header-only as of 0.3.6 and update
  package description
This commit is contained in:
Chris Green 2019-03-25 20:10:01 -05:00 committed by Peter Scheibel
parent a4bf8de09b
commit 17da285cfb

View File

@ -7,7 +7,11 @@
class RangeV3(CMakePackage):
"""Range library for C++11/14/17"""
"""Range v3 forms the basis of a proposal to add range support to the
standard library (N4128: Ranges for the Standard Library). It also will
be the reference implementation for an upcoming Technical
Specification. These are the first steps toward turning ranges into an
international standard."""
homepage = "https://github.com/ericniebler/range-v3"
url = "https://github.com/ericniebler/range-v3/archive/0.3.6.tar.gz"
@ -25,13 +29,24 @@ class RangeV3(CMakePackage):
version('0.2.1', sha256='25d5e3dad8052d668873e960bd78f068bebfba3bd28a278f805ea386f9438790')
version('0.2.0', sha256='49b1a62a7a36dab582521c8034d8e736a8922af664d007c1529d3162b1294331')
# Note that as of 0.3.6 range is a header-only library so it is not
# necessary to match standards with packages using this
# one. Eventually range-v3 will be obsoleted by the C++ standard.
variant('cxxstd',
default='11',
values=('11', '14', '17'),
multi=False,
description='Use the specified C++ standard when building.')
# Known compiler conflicts. Your favorite compiler may also conflict
# depending on its C++ standard support.
conflicts('%clang@:3.6.1')
conflicts('%gcc@:4.9.0')
conflicts('%gcc@:5.2.0', when='cxxstd=14')
conflicts('%gcc@:5.99.99', when='cxxstd=17')
depends_on('cmake@3.6:', type='build')
depends_on('doxygen+graphviz', type='build')
def cmake_args(self):
args = [