|
|
@@ -56,7 +56,7 @@ class Visit(CMakePackage):
|
|
|
|
############################
|
|
|
|
############################
|
|
|
|
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
|
|
|
|
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
|
|
|
|
git = "https://github.com/visit-dav/visit.git"
|
|
|
|
git = "https://github.com/visit-dav/visit.git"
|
|
|
|
url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
|
|
|
|
url = "https://github.com/visit-dav/visit/releases/download/v3.2.1/visit3.2.1.tar.gz"
|
|
|
|
|
|
|
|
|
|
|
|
tags = ['radiuss']
|
|
|
|
tags = ['radiuss']
|
|
|
|
|
|
|
|
|
|
|
@@ -67,6 +67,7 @@ class Visit(CMakePackage):
|
|
|
|
executables = ['^visit$']
|
|
|
|
executables = ['^visit$']
|
|
|
|
|
|
|
|
|
|
|
|
version('develop', branch='develop')
|
|
|
|
version('develop', branch='develop')
|
|
|
|
|
|
|
|
version('3.2.1', sha256='779d59564c63f31fcbfeff24b14ddd6ac941b3bb7d671d31765a770d193f02e8')
|
|
|
|
version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
|
|
|
|
version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
|
|
|
|
version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
|
|
|
|
version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
|
|
|
|
version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
|
|
|
|
version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
|
|
|
@@ -82,7 +83,7 @@ class Visit(CMakePackage):
|
|
|
|
variant('hdf5', default=True, description='Enable HDF5 file format')
|
|
|
|
variant('hdf5', default=True, description='Enable HDF5 file format')
|
|
|
|
variant('silo', default=True, description='Enable Silo file format')
|
|
|
|
variant('silo', default=True, description='Enable Silo file format')
|
|
|
|
variant('python', default=True, description='Enable Python support')
|
|
|
|
variant('python', default=True, description='Enable Python support')
|
|
|
|
variant('mpi', default=True, description='Enable parallel engine')
|
|
|
|
variant('mpi', default=False, description='Enable parallel engine')
|
|
|
|
|
|
|
|
|
|
|
|
patch('spack-changes-3.1.patch', when="@3.1.0:,develop")
|
|
|
|
patch('spack-changes-3.1.patch', when="@3.1.0:,develop")
|
|
|
|
patch('spack-changes-3.0.1.patch', when="@3.0.1")
|
|
|
|
patch('spack-changes-3.0.1.patch', when="@3.0.1")
|
|
|
@@ -177,19 +178,46 @@ class Visit(CMakePackage):
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# =====================================
|
|
|
|
# =====================================
|
|
|
|
|
|
|
|
|
|
|
|
depends_on('cmake@3.0:', type='build')
|
|
|
|
depends_on('cmake@3.14.7', type='build')
|
|
|
|
# https://github.com/visit-dav/visit/issues/3498
|
|
|
|
# https://github.com/visit-dav/visit/issues/3498
|
|
|
|
depends_on('vtk@8.1.0:8.1+opengl2~python', when='~python @3.0:3,develop')
|
|
|
|
# The vtk_compiler_visibility patch fixes a bug where
|
|
|
|
depends_on('vtk@8.1.0:8.1+opengl2+python', when='+python @3.0:3,develop')
|
|
|
|
# VTKGenerateExportHeader.cmake fails to recognize gcc versions 10.0
|
|
|
|
|
|
|
|
# or greater.
|
|
|
|
|
|
|
|
# The vtk_rendering_opengl2_x11 patch adds include directories to
|
|
|
|
|
|
|
|
# Rendering/OpenGL2/CMakeLists.txt for systems that don't have the
|
|
|
|
|
|
|
|
# system X libraries and include files installed.
|
|
|
|
|
|
|
|
# The vtk_wrapping_python_x11 patch adds include directories to
|
|
|
|
|
|
|
|
# Wrapping/Python/CMakelists.txt for systems that don't have the
|
|
|
|
|
|
|
|
# system X libraries and include files installed.
|
|
|
|
|
|
|
|
depends_on('vtk@8.1.0+opengl2+osmesa~python',
|
|
|
|
|
|
|
|
patches=[patch('vtk_compiler_visibility.patch'),
|
|
|
|
|
|
|
|
patch('vtk_rendering_opengl2_x11.patch'),
|
|
|
|
|
|
|
|
patch('vtk_wrapping_python_x11.patch'),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
when='~python @3.2:,develop')
|
|
|
|
|
|
|
|
depends_on('vtk@8.1.0+opengl2+osmesa+python',
|
|
|
|
|
|
|
|
patches=[patch('vtk_compiler_visibility.patch'),
|
|
|
|
|
|
|
|
patch('vtk_rendering_opengl2_x11.patch'),
|
|
|
|
|
|
|
|
patch('vtk_wrapping_python_x11.patch'),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
when='+python @3.2:,develop')
|
|
|
|
depends_on('glu', when='platform=linux')
|
|
|
|
depends_on('glu', when='platform=linux')
|
|
|
|
depends_on('vtk@6.1.0~opengl2', when='@:2')
|
|
|
|
depends_on('vtk+python', when='+python @3.2:,develop')
|
|
|
|
depends_on('vtk+python', when='+python @3.0:,develop')
|
|
|
|
|
|
|
|
depends_on('vtk~mpi', when='~mpi')
|
|
|
|
depends_on('vtk~mpi', when='~mpi')
|
|
|
|
depends_on('vtk+qt', when='+gui')
|
|
|
|
depends_on('vtk+qt', when='+gui')
|
|
|
|
depends_on('qt+gui@4.8.6:4', when='+gui @:2')
|
|
|
|
# VisIt doesn't work with later versions of qt.
|
|
|
|
depends_on('qt+gui@5.10:', when='+gui @3.0:,develop')
|
|
|
|
depends_on('qt+gui@5.14.2:', when='+gui @3.2:,develop')
|
|
|
|
depends_on('qwt', when='+gui')
|
|
|
|
depends_on('qwt', when='+gui')
|
|
|
|
depends_on('python@2.6:2.8', when='+python')
|
|
|
|
# python@3.8 doesn't work with VisIt.
|
|
|
|
|
|
|
|
depends_on('python@3.7', when='+python')
|
|
|
|
|
|
|
|
# llvm@12.0.1, @11.1.0, @10.0.1 fail in build phase with gcc 6.1.0.
|
|
|
|
|
|
|
|
# llvm@9.0.1 fails in cmake phase with gcc 6.1.0.
|
|
|
|
|
|
|
|
depends_on('llvm@6:8', when='^mesa')
|
|
|
|
|
|
|
|
depends_on('mesa+glx', when='^mesa')
|
|
|
|
|
|
|
|
depends_on('mesa-glu', when='^mesa')
|
|
|
|
|
|
|
|
# VisIt doesn't build with hdf5@1.12 and hdf5@1.10 produces files that
|
|
|
|
|
|
|
|
# are incompatible with hdf5@1.8.
|
|
|
|
|
|
|
|
depends_on('hdf5@1.8', when='+hdf5')
|
|
|
|
# VisIt uses Silo's 'ghost zone' data structures, which are only available
|
|
|
|
# VisIt uses Silo's 'ghost zone' data structures, which are only available
|
|
|
|
# in v4.10+ releases: https://wci.llnl.gov/simulation/computer-codes/silo/releases/release-notes-4.10
|
|
|
|
# in v4.10+ releases: https://wci.llnl.gov/simulation/computer-codes/silo/releases/release-notes-4.10
|
|
|
|
depends_on('silo@4.10:+shared', when='+silo')
|
|
|
|
depends_on('silo@4.10:+shared', when='+silo')
|
|
|
@@ -200,13 +228,9 @@ class Visit(CMakePackage):
|
|
|
|
depends_on('mpi', when='+mpi')
|
|
|
|
depends_on('mpi', when='+mpi')
|
|
|
|
depends_on('adios2', when='+adios2')
|
|
|
|
depends_on('adios2', when='+adios2')
|
|
|
|
|
|
|
|
|
|
|
|
conflicts('+adios2', when='@:2')
|
|
|
|
|
|
|
|
conflicts('+hdf5', when='~gui @:2')
|
|
|
|
|
|
|
|
conflicts('+silo', when='~gui @:2')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
root_cmakelists_dir = 'src'
|
|
|
|
root_cmakelists_dir = 'src'
|
|
|
|
|
|
|
|
|
|
|
|
@when('@3.0.0:3,develop')
|
|
|
|
@when('@3.0.0:,develop')
|
|
|
|
def patch(self):
|
|
|
|
def patch(self):
|
|
|
|
# Some of VTK's targets don't create explicit libraries, so there is no
|
|
|
|
# Some of VTK's targets don't create explicit libraries, so there is no
|
|
|
|
# 'vtktiff'. Instead, replace with the library variable defined from
|
|
|
|
# 'vtktiff'. Instead, replace with the library variable defined from
|
|
|
@@ -235,6 +259,7 @@ def cmake_args(self):
|
|
|
|
'-DVISIT_USE_GLEW=OFF',
|
|
|
|
'-DVISIT_USE_GLEW=OFF',
|
|
|
|
'-DCMAKE_CXX_FLAGS=' + ' '.join(cxx_flags),
|
|
|
|
'-DCMAKE_CXX_FLAGS=' + ' '.join(cxx_flags),
|
|
|
|
'-DCMAKE_C_FLAGS=' + ' '.join(cc_flags),
|
|
|
|
'-DCMAKE_C_FLAGS=' + ' '.join(cc_flags),
|
|
|
|
|
|
|
|
'-DVISIT_CONFIG_SITE=NONE',
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
# Provide the plugin compilation environment so as to extend VisIt
|
|
|
|
# Provide the plugin compilation environment so as to extend VisIt
|
|
|
@@ -266,6 +291,12 @@ def cmake_args(self):
|
|
|
|
args.append('-DVISIT_SERVER_COMPONENTS_ONLY=ON')
|
|
|
|
args.append('-DVISIT_SERVER_COMPONENTS_ONLY=ON')
|
|
|
|
args.append('-DVISIT_ENGINE_ONLY=ON')
|
|
|
|
args.append('-DVISIT_ENGINE_ONLY=ON')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if '^mesa' in spec:
|
|
|
|
|
|
|
|
args.append(
|
|
|
|
|
|
|
|
'-DVISIT_LLVM_DIR:PATH={0}'.format(spec['llvm'].prefix))
|
|
|
|
|
|
|
|
args.append(
|
|
|
|
|
|
|
|
'-DVISIT_MESAGL_DIR:PATH={0}'.format(spec['mesa'].prefix))
|
|
|
|
|
|
|
|
|
|
|
|
if '+hdf5' in spec:
|
|
|
|
if '+hdf5' in spec:
|
|
|
|
args.append(
|
|
|
|
args.append(
|
|
|
|
'-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix))
|
|
|
|
'-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix))
|
|
|
|