Repository: spack/spack

Issue:
Installation issue: ParaView@master could not find the fmt external dependency 
### Steps to reproduce the issue

```console
$ spack install paraview@master
...
CMake Warning at VTK/CMake/vtkModule.cmake:4360 (find_package):
  By not providing "Findfmt.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "fmt", but
  CMake did not find one.

  Could not find a package configuration file provided by "fmt" with any of
  the following names:

    fmtConfig.cmake
    fmt-config.cmake

  Add the installation prefix of "fmt" to CMAKE_PREFIX_PATH or set "fmt_DIR"
  to a directory containing one of the above files.  If "fmt" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  VTK/CMake/vtkModule.cmake:4960 (vtk_module_find_package)
  VTK/CMake/vtkModule.cmake:4831 (vtk_module_third_party_external)
  VTK/ThirdParty/fmt/CMakeLists.txt:1 (vtk_module_third_party)


CMake Error at VTK/CMake/vtkModule.cmake:4366 (message):
  Could not find the fmt external dependency.
Call Stack (most recent call first):
  VTK/CMake/vtkModule.cmake:4960 (vtk_module_find_package)
  VTK/CMake/vtkModule.cmake:4831 (vtk_module_third_party_external)
  VTK/ThirdParty/fmt/CMakeLists.txt:1 (vtk_module_third_party)


-- Configuring incomplete, errors occurred!
```

### Information on your system

* **Spack:** 0.16.2-3894-229bcd9f03
* **Python:** 3.6.3
* **Platform:** linux-rhel7-broadwell
* **Concretizer:** original

### Additional information

@chuckatkins @danlipsa @vicentebolea 

### General information

- [X] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [X] I have run `spack maintainers <name-of-the-package>` and **@mentioned** any maintainers
- [ ] I have uploaded the build log and environment files
- [X] I have searched the issues of this repo and believe this is not a duplicate


Discussion:
@utkarshayachit Spack does have a package for `fmt`. I tried adding that as a dependency to paraview, but it failed with the default variant `cxxstd=11`. I am going to try `cxxstd=14` and see if that's better.

Do you have a preference on how to handle this? Should ParaView build `fmt`, or is the spack package preferred here? Thanks!
either is totally fine. thanks, ethan!

Resolving patch:
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -285,7 +285,9 @@ def nvariant_bool(feature):
         if spec.satisfies('@5.10:'):
             cmake_args.extend([
                 '-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF',
-                '-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF'
+                '-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF',
+                '-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF',
+                '-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF'
             ])
 
         if spec.satisfies('@:5.7') and spec['cmake'].satisfies('@3.17:'):


Test patch: