Paraview: Use 'UNIX Makefiles' instead of ninja as the CMake generator for XL (#29163)

* hypre: Add releases 2.21.0 and 2.22.0

* Revert "hypre: Add releases 2.21.0 and 2.22.0"

This reverts commit 8921cdb3ac.

* Address external linkage failures in elfutils 0.185:
  https://bugs.gentoo.org/794601
  https://sourceware.org/pipermail/elfutils-devel/2021q2/003862.html
Encountered while building within a Spack environment.

* Revert "Address external linkage failures in elfutils 0.185:"

This reverts commit 76b93e4504.

* paraview: The ninja generator has problems with XL and CCE

See https://gitlab.kitware.com/paraview/paraview/-/issues/21223

* paraview: Add variant to allow choice of cmake generator.
This will be necessary until problems with cmake+ninja on XL and
CCE builds can be resolved.

See https://gitlab.kitware.com/paraview/paraview/-/issues/21223

* paraview: ninja generator problems with XL/CCE
    By popular preference, abandon the idea of a special variant
    and select the generator based on compiler.

* Greg Becker suggested using the dedicated "generator" method to
pass the choice of makefile generator to cmake.

* paraview: The build errors I saw before with paraview%cce + ninja
have not reappeared in subsequent testing, so I'm dropping it from this
PR. If they re-occur I'll report the issue separately to KitWare.
This commit is contained in:
QuellynSnead 2022-03-02 09:26:31 -07:00 committed by GitHub
parent a94f11a2b2
commit e6dcd382ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -106,7 +106,6 @@ class Paraview(CMakePackage, CudaPackage):
depends_on('cmake@3.3:', type='build')
generator = 'Ninja'
depends_on('ninja', type='build')
# Workaround for
@ -220,6 +219,14 @@ class Paraview(CMakePackage, CudaPackage):
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
patch('vtk-adios2-module-no-kit.patch', when='@5.8:5.10')
@property
def generator(self):
# https://gitlab.kitware.com/paraview/paraview/-/issues/21223
if self.spec.satisfies('%xl') or self.spec.satisfies('%xl_r'):
return "Unix Makefiles"
else:
return "Ninja"
def url_for_version(self, version):
_urlfmt = 'http://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.{3}'
"""Handle ParaView version-based custom URLs."""