From e378d4ee342e2547da9f5902bd4a8cd8a4f02000 Mon Sep 17 00:00:00 2001
From: Denis Davydov <davydden@gmail.com>
Date: Thu, 21 Jun 2018 18:24:05 +0200
Subject: [PATCH] dealii: add msg= to conflicts statements (#8509)

---
 .../repos/builtin/packages/dealii/package.py  | 45 ++++++++++++-------
 1 file changed, 30 insertions(+), 15 deletions(-)

diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 2c1daab97c..8b56b9de8c 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -155,21 +155,36 @@ class Dealii(CMakePackage, CudaPackage):
     depends_on('trilinos@master+amesos+aztec+epetra+ifpack+ml+muelu+rol+sacado+teuchos~hypre~amesos2~ifpack2~intrepid2~kokkos~tpetra~zoltan2', when='+trilinos+mpi+int64+cuda')
 
     # check that the combination of variants makes sense
-    conflicts('^openblas+ilp64', when='@:8.5.1')
-    conflicts('^intel-mkl+ilp64', when='@:8.5.1')
-    conflicts('^intel-parallel-studio+mkl+ilp64', when='@:8.5.1')
-    conflicts('+assimp', when='@:8.5.1')
-    conflicts('+gmsh', when='@:8.5.1')
-    conflicts('+nanoflann', when='@:8.5.1')
-    conflicts('+scalapack', when='@:8.5.1')
-    conflicts('+sundials', when='@:8.5.1')
-    conflicts('+adol-c', when='@:8.5.1')
-    conflicts('+slepc', when='~petsc')
-    conflicts('+gsl',    when='@:8.4.2')
-    conflicts('+python', when='@:8.4.2')
-    for p in ['+arpack', '+hdf5', '+netcdf', '+p4est', '+petsc', '+scalapack',
-              '+slepc', '+trilinos']:
-        conflicts(p, when='~mpi')
+    # 64-bit BLAS:
+    for p in ['openblas', 'intel-mkl', 'intel-parallel-studio+mkl']:
+        conflicts('^{0}+ilp64'.format(p), when='@:8.5.1',
+                  msg='64bit BLAS is only supported from 9.0.0')
+
+    # interfaces added in 9.0.0:
+    for p in ['assimp', 'gmsh', 'nanoflann', 'scalapack', 'sundials',
+              'adol-c']:
+        conflicts('+{0}'.format(p), when='@:8.5.1',
+                  msg='The interface to {0} is supported from version 9.0.0 '
+                      'onwards. Please explicitly disable this variant '
+                      'via ~{0}'.format(p))
+
+    conflicts('+slepc', when='~petsc',
+              msg='It is not possible to enable slepc interfaces '
+                  'without petsc.')
+
+    # interfaces added in 8.5.0:
+    for p in ['gsl', 'python']:
+        conflicts('+{0}'.format(p), when='@:8.4.2',
+                  msg='The interface to {0} is supported from version 8.5.0 '
+                      'onwards. Please explicitly disable this variant '
+                      'via ~{0}'.format(p))
+
+    # MPI requirements:
+    for p in ['arpack', 'hdf5', 'netcdf', 'p4est', 'petsc', 'scalapack',
+              'slepc', 'trilinos']:
+        conflicts('+{0}'.format(p), when='~mpi',
+                  msg='To enable {0} it is necessary to build deal.II with '
+                      'MPI support enabled.'.format(p))
 
     def cmake_args(self):
         spec = self.spec
-- 
GitLab