easyconfigs-it4i/v/VTK/VTK-9.1.0-intel-2020b-Python-3.8.6.eb
easybuild 9e65728e88 new file: a/Automake/Automake-1.16.4.eb
new file:   b/BEEF/BEEF-0.1.1-intel-2020b.eb
	deleted:    b/Bison/Bison-3.0.4.eb
	new file:   b/BoltzTraP2/BoltzTraP2-20.7.1-intel-2020b-Python-3.8.6.eb
	new file:   c/CUDAcore/CUDAcore-11.6.0.eb
	new file:   f/Forge/Forge-21.1.3.eb
	deleted:    f/flex/flex-2.6.4.eb
	modified:   g/GROMACS/GROMACS-2020.4-fosscuda-2020b-PLUMED-2.7.0-patch.eb
	deleted:    m/M4/M4-1.4.17.eb
	deleted:    m/M4/M4-1.4.18.eb
	new file:   n/NVHPC/NVHPC-22.2.eb
	new file:   o/Octave/Octave-6.4.0-intel-2020b-without-X11.eb
	new file:   o/OpenMPI/OpenMPI-4.0.6-NVHPC-22.2-CUDA-11.6.0.eb
	new file:   o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0-v2.eb
	new file:   o/OpenMPI/OpenMPI-4.1.2-NVHPC-22.2-CUDA-11.6.0.eb
	new file:   o/OpenSSL/OpenSSL-1.1.eb
	new file:   p/Python/Python-3.9.6-GCCcore-11.2.0-NetKet.eb
	modified:   p/protobuf/protobuf-2.5.0.eb
	new file:   s/Singularity/Singularity-3.8.6.eb
	new file:   u/UCX/UCX-1.11.2-GCC-10.2.0-CUDA-11.6.0.eb
	new file:   u/UCX/UCX-1.11.2-NVHPC-22.2-CUDA-11.6.0.eb
	new file:   v/VTK/VTK-9.1.0-intel-2020b-Python-3.8.6.eb
	deleted:    z/zlib/zlib-1.2.11.eb
2022-03-04 13:15:08 +01:00

89 lines
3.5 KiB
Plaintext

##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA
# Authors:: Fotis Georgatos <fotis@cern.ch>
# License:: MIT/GPL
#
# This work implements a part of the HPCBIOS project and is a component of the policy:
# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html
##
easyblock = 'CMakeMake'
name = 'VTK'
version = '9.1.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://www.vtk.org'
description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for
3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several
interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization
algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques
such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation."""
toolchain = {'name': 'intel', 'version': '2020b'}
toolchainopts = {'usempi': True}
source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s']
sources = [
SOURCE_TAR_GZ,
'%(name)sData-%(version)s.tar.gz',
]
patches = [('vtk-version.egg-info', '.')]
builddependencies = [('CMake', '3.18.4')]
dependencies = [
('Python', '3.8.6'),
('SciPy-bundle', '2020.11'),
('XZ', '5.2.5'),
('libGLU', '9.0.1'),
('X11', '20201008'),
]
separate_build_dir = True
# OpenGL
configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT
configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT
configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include "
# Python
configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF "
# Other
configopts += "-DVTK_USE_MPI=ON "
configopts += "-DCMAKE_INSTALL_LIBDIR=lib"
preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && "
# Install a egg-info file so VTK is more python friendly, required for mayavi
local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info'
local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info'
postinstallcmds = [
'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest),
]
modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']}
local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x
for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']]
local_vtk_exec += ['vtkpython']
local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2']
sanity_check_paths = {
'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] +
['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs],
'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'],
}
sanity_check_commands = [
"python -c 'import %(namelower)s'",
"python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'",
# make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF),
# see https://gitlab.kitware.com/vtk/vtk/-/issues/17881
"ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT,
]
moduleclass = 'vis'