update visit package with 3.1.1 release and add comments (#16498)
This commit is contained in:
parent
7b8e5c8999
commit
8671ac6a1a
@ -8,10 +8,44 @@
|
||||
|
||||
class Visit(CMakePackage):
|
||||
"""VisIt is an Open Source, interactive, scalable, visualization,
|
||||
animation and analysis tool."""
|
||||
animation and analysis tool. See comments in VisIt's package.py
|
||||
for tips about building VisIt with spack.
|
||||
"""
|
||||
############################
|
||||
# Suggestions for building:
|
||||
############################
|
||||
# cyrush note:
|
||||
#
|
||||
# Out of the box, VisIt's python 2 requirement will cause
|
||||
# spack spec constraint errors due Qt + Mesa build
|
||||
# dependencies.
|
||||
#
|
||||
# You can avoid this using:
|
||||
#
|
||||
# linux:
|
||||
# spack install visit ^python+shared ^glib@2.56.3 ^py-setuptools@44.1.0
|
||||
#
|
||||
# macOS:
|
||||
# spack install visit ^python+shared ^glib@2.56.3 ^py-setuptools@44.1.0 \
|
||||
# ^qt~framework
|
||||
#
|
||||
# Rpath issues undermine qwt (not qt) when a build as a framework
|
||||
# VisIt's osxfixup resolves this for us in other cases,
|
||||
# but we can't use osxfixup with spack b/c it will undermine other libs.
|
||||
#
|
||||
# Even with these changes, VisIt's Python CLI does not work on macOS,
|
||||
# there is a linking issue related to OpenSSL.
|
||||
# (dyld: Symbol not found: _GENERAL_NAME_free - which comes from OpenSSL)
|
||||
#
|
||||
############################
|
||||
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
|
||||
url = "https://portal.nersc.gov/project/visit/releases/3.0.1/visit3.0.1.tar.gz"
|
||||
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"
|
||||
|
||||
maintainers = ['cyrush']
|
||||
|
||||
version('develop', branch='develop')
|
||||
version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
|
||||
version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
|
||||
version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
|
||||
version('2.13.0', sha256='716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f')
|
||||
@ -28,19 +62,109 @@ class Visit(CMakePackage):
|
||||
variant('python', default=True, description='Enable Python support')
|
||||
variant('mpi', default=True, description='Enable parallel engine')
|
||||
|
||||
patch('spack-changes.patch')
|
||||
patch('spack-changes-3.1.patch', when="@3.1.0:,develop")
|
||||
patch('spack-changes-3.0.1.patch', when="@3.0.1")
|
||||
patch('nonframework-qwt.patch', when='^qt~framework platform=darwin')
|
||||
patch('parallel-hdf5.patch', when='+hdf5+mpi')
|
||||
|
||||
#############################################
|
||||
# Full List of dependencies from build_visit
|
||||
#############################################
|
||||
# cyrush note:
|
||||
# I added these here to give folks details
|
||||
# to help eventually build up to full
|
||||
# support for visit
|
||||
#############################################
|
||||
# =====================================
|
||||
# core:
|
||||
# =====================================
|
||||
# cmake (build)
|
||||
# vtk
|
||||
# qt
|
||||
# qwt
|
||||
# python
|
||||
# mpi
|
||||
#
|
||||
# =====================================
|
||||
# rendering (optional):
|
||||
# =====================================
|
||||
# icet
|
||||
# vtk-m
|
||||
# vtk-h
|
||||
# llvm
|
||||
# mesagl
|
||||
# osmesa
|
||||
# tbb
|
||||
# embree
|
||||
# ispc
|
||||
# ospray
|
||||
#
|
||||
# =====================================
|
||||
# python modules:
|
||||
# =====================================
|
||||
# numpy
|
||||
# pillow
|
||||
# mpi4py
|
||||
# seedme
|
||||
# sphinx (build, docs)
|
||||
# sphinx rtd theme (build, docs)
|
||||
# pyqt (visit support deprecated)
|
||||
# pyside (note: we want pyside 2)
|
||||
#
|
||||
# =====================================
|
||||
# testing related:
|
||||
# =====================================
|
||||
# p7zip (build, test)
|
||||
#
|
||||
# =====================================
|
||||
# io libs:
|
||||
# =====================================
|
||||
# adios
|
||||
# adios2
|
||||
# advio
|
||||
# boost
|
||||
# boxlib
|
||||
# cfitsio
|
||||
# cgns
|
||||
# conduit
|
||||
# damaris
|
||||
# fastbit
|
||||
# fastquery
|
||||
# gdal
|
||||
# h5part
|
||||
# hdf4
|
||||
# hdf5
|
||||
# mdsplus
|
||||
# mfem
|
||||
# mili
|
||||
# moab
|
||||
# mxml
|
||||
# nektarpp
|
||||
# netcdf
|
||||
# openexr
|
||||
# pidx
|
||||
# silo
|
||||
# stripack
|
||||
# szip
|
||||
# tbb
|
||||
# uintah
|
||||
# xdmf
|
||||
# xercesc
|
||||
# xsd
|
||||
# zlib
|
||||
#
|
||||
# =====================================
|
||||
|
||||
depends_on('cmake@3.0:', type='build')
|
||||
# https://github.com/visit-dav/visit/issues/3498
|
||||
depends_on('vtk@8.1.0:8.1.999+opengl2', when='@3.0:3.0.1')
|
||||
depends_on('vtk@8.1.0:8.1.999+opengl2~python', when='~python @3.0:3.999,develop')
|
||||
depends_on('vtk@8.1.0:8.1.999+opengl2+python', when='+python @3.0:3.999,develop')
|
||||
depends_on('vtk@6.1.0~opengl2', when='@:2.999')
|
||||
depends_on('vtk+python', when='+python @3.0:')
|
||||
depends_on('vtk+python', when='+python @3.0:,develop')
|
||||
depends_on('vtk~mpi', when='~mpi')
|
||||
depends_on('vtk+qt', when='+gui')
|
||||
depends_on('qt@4.8.6:4.999', when='+gui @:2.999')
|
||||
depends_on('qt@5.10:', when='+gui @3.0:')
|
||||
depends_on('qt@5.10:', when='+gui @3.0:,develop')
|
||||
depends_on('qwt', when='+gui')
|
||||
depends_on('python@2.6:2.8', when='+python')
|
||||
# VisIt uses Silo's 'ghost zone' data structures, which are only available
|
||||
@ -59,7 +183,7 @@ class Visit(CMakePackage):
|
||||
|
||||
root_cmakelists_dir = 'src'
|
||||
|
||||
@when('@3.0.0:3.0.1')
|
||||
@when('@3.0.0:3.999,develop')
|
||||
def patch(self):
|
||||
# Some of VTK's targets don't create explicit libraries, so there is no
|
||||
# 'vtktiff'. Instead, replace with the library variable defined from
|
||||
@ -90,8 +214,20 @@ def cmake_args(self):
|
||||
'-DCMAKE_C_FLAGS=' + ' '.join(cc_flags),
|
||||
]
|
||||
|
||||
if spec.satisfies('@3.1:'):
|
||||
args.append('-DFIXUP_OSX=OFF')
|
||||
|
||||
if '+python' in spec:
|
||||
args.append('-DVISIT_PYTHON_SCRIPTING=ON')
|
||||
# keep this off, we have an openssl + python linking issue
|
||||
# that appears in spack
|
||||
args.append('-DVISIT_PYTHON_FILTERS=OFF')
|
||||
args.append('-DPYTHON_DIR:PATH={0}'.format(spec['python'].home))
|
||||
else:
|
||||
args.append('-DVISIT_PYTHON_SCRIPTING=OFF')
|
||||
# keep this off, we have an openssl + python linking issue
|
||||
# that appears in spack
|
||||
args.append('-DVISIT_PYTHON_FILTERS=OFF')
|
||||
|
||||
if '+gui' in spec:
|
||||
qt_bin = spec['qt'].prefix.bin
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- a/src/CMakeLists.txt 2019-08-11 17:06:04.000000000 -0400
|
||||
+++ b/src/CMakeLists.txt 2019-08-11 17:06:20.000000000 -0400
|
||||
@@ -459,6 +459,7 @@
|
||||
cmake_policy(SET CMP0033 OLD)
|
||||
cmake_policy(SET CMP0057 NEW)
|
||||
cmake_policy(SET CMP0062 NEW)
|
||||
+ cmake_policy(SET CMP0068 NEW)
|
||||
IF(WIN32)
|
||||
# don't automatically link with qtmain
|
||||
cmake_policy(SET CMP0020 OLD)
|
||||
|
Loading…
Reference in New Issue
Block a user