diff --git a/var/spack/repos/builtin/packages/range-v3/package.py b/var/spack/repos/builtin/packages/range-v3/package.py
index e8f4b6b06138744a60d2007d2c7771bf5af6144a..43e0ed87c6da80668b0350a03bf59d533ed50ef7 100644
--- a/var/spack/repos/builtin/packages/range-v3/package.py
+++ b/var/spack/repos/builtin/packages/range-v3/package.py
@@ -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 = [