From 98db3c889240136b8e39bb140034a1aebc8de3fd Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 8 Jan 2021 12:31:56 +0100 Subject: [PATCH 1/3] {cae}[foss/2020b] OpenFOAM v8, ParaView v5.8.1, CGAL v5.2 --- .../c/CGAL/CGAL-5.2-gompi-2020b.eb | 38 ++++++++++++ .../o/OpenFOAM/OpenFOAM-8-foss-2020b.eb | 39 +++++++++++++ .../ParaView/ParaView-5.8.1-foss-2020b-mpi.eb | 58 +++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb create mode 100644 easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb create mode 100644 easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb new file mode 100644 index 00000000000..c03d9e13b12 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb @@ -0,0 +1,38 @@ +name = 'CGAL' +version = '5.2' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['744c86edb6e020ab0238f95ffeb9cf8363d98cde17ebb897d3ea93dac4145923'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Eigen', '3.3.8'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.8.6'), + ('Boost', '1.74.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.0'), + ('Mesa', '20.2.1'), + ('libGLU', '9.0.1'), + ('Qt5', '5.14.2'), +] + +configopts = "-DCGAL_HEADER_ONLY=OFF " +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb new file mode 100644 index 00000000000..58ae8e587ce --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb @@ -0,0 +1,39 @@ +name = 'OpenFOAM' +version = '8' + +homepage = 'https://www.openfoam.org/' +description = """OpenFOAM is a free, open source CFD software package. + OpenFOAM has an extensive range of features to solve anything from complex fluid flows + involving chemical reactions, turbulence and heat transfer, + to solid dynamics and electromagnetics.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = [ + 'OpenFOAM-%(version)s-cleanup.patch', +] +checksums = [ + '94ba11cbaaa12fbb5b356e01758df403ac8832d69da309a5d79f76f42eb008fc', # version-8.tar.gz + 'e3fac8049611ee109f07eb5b0ed4b1526782a21b3f12435e03529d56c8483b9f', # OpenFOAM-8-cleanup.patch +] + +dependencies = [ + ('libreadline', '8.0'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '5.2'), + ('ParaView', '5.8.1', '-mpi'), +] + +builddependencies = [ + ('Bison', '3.7.1'), + ('CMake', '3.18.4'), + ('flex', '2.6.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb new file mode 100644 index 00000000000..da07b6c453e --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb @@ -0,0 +1,58 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.8.1' +versionsuffix = '-mpi' + +homepage = "https://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +local_download_suffix = 'download.php?submit=Download&version=v%(version_major_minor)s&type=source&os=all&downloadFile=' +source_urls = ['https://www.paraview.org/paraview-downloads/%s' % local_download_suffix] +sources = ["ParaView-v%(version)s.tar.xz"] +checksums = ['7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('XZ', '5.2.5'), + ('HDF5', '1.10.7'), + ('netCDF', '4.7.4'), + ('libGLU', '9.0.1'), + ('X11', '20201008'), + ('Mesa', '20.2.1'), + ('Qt5', '5.14.2'), + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.1'), + ('Szip', '2.1.1'), +] + +builddependencies = [('CMake', '3.18.4')] + +separate_build_dir = True + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' +configopts += '-DVTK_OPENGL_HAS_OSMESA=ON ' + +sanity_check_paths = { + 'files': ['bin/paraview', 'bin/pvpython'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['python -c "import paraview"'] + +modextrapaths = {'PYTHONPATH': ['lib64/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' From c36658fa5a325faf04d9621d5b77999cdbcb380d Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 8 Jan 2021 23:21:48 +0100 Subject: [PATCH 2/3] don't configure ParaView 5.8.1 with OSMESA support --- .../easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb index da07b6c453e..4d1f402364b 100644 --- a/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.8.1-foss-2020b-mpi.eb @@ -44,7 +44,6 @@ configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' # OpenGL & Mesa configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' -configopts += '-DVTK_OPENGL_HAS_OSMESA=ON ' sanity_check_paths = { 'files': ['bin/paraview', 'bin/pvpython'], From a71940400e31a65db3afc95c278425c046658515 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 19 Feb 2021 14:03:33 +0100 Subject: [PATCH 3/3] add missing gnuplot dependency for OpenFOAM 8 with foss/2020b --- easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb index 58ae8e587ce..5129ca3258c 100644 --- a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b.eb @@ -28,6 +28,7 @@ dependencies = [ ('SCOTCH', '6.1.0'), ('CGAL', '5.2'), ('ParaView', '5.8.1', '-mpi'), + ('gnuplot', '5.4.1'), ] builddependencies = [