diff --git a/Golden_Repo/c/CGAL/CGAL-4.13.1-gpsmpi-2020-Python-3.8.5.eb b/Golden_Repo/c/CGAL/CGAL-4.13.1-gpsmpi-2020-Python-3.8.5.eb new file mode 100644 index 0000000000000000000000000000000000000000..06d27d0c88b84c1fa2aa6ad4ba30af8c7d1c49d1 --- /dev/null +++ b/Golden_Repo/c/CGAL/CGAL-4.13.1-gpsmpi-2020-Python-3.8.5.eb @@ -0,0 +1,33 @@ +name = 'CGAL' +version = '4.13.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://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. + """ + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'gpsmpi', 'version': '2020'} +toolchainopts = {'strict': True} + +sources = [SOURCE_TAR_XZ] +source_urls = ['https://github.com/%(name)s/%(namelower)s/releases/download/releases/%(name)s-%(version)s/'] + +builddependencies = [ + ('CMake', '3.18.0'), + ('Eigen', '3.3.7'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.8.5'), + ('Boost', '1.74.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.0'), + ('OpenGL', '2020'), + ('Qt5', '5.14.2'), +] + +moduleclass = 'numlib' diff --git a/Golden_Repo/d/distributed/distributed-2.30.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/d/distributed/distributed-2.30.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb index 8fcf4a476aaa2078f73c1e5450461c9a9757b67b..db2ce11f77bc724288b5e9023aae9338264ec296 100644 --- a/Golden_Repo/d/distributed/distributed-2.30.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb +++ b/Golden_Repo/d/distributed/distributed-2.30.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb @@ -36,7 +36,7 @@ exts_list = [ 'modulename': 'heapdict', 'source_urls': ['https://pypi.python.org/packages/source/H/HeapDict'], }), - ('tornado', '5.0.2', { + ('tornado', '6.0.3', { 'source_urls': ['https://pypi.python.org/packages/source/t/tornado'], }), ('tblib', '1.7.0', { diff --git a/Golden_Repo/e/ecCodes/ecCodes-2.18.0-npsmpic-2020.eb b/Golden_Repo/e/ecCodes/ecCodes-2.18.0-npsmpic-2020.eb new file mode 100644 index 0000000000000000000000000000000000000000..a2a69fc74411acf50157efeb7ae4261bcab34f6b --- /dev/null +++ b/Golden_Repo/e/ecCodes/ecCodes-2.18.0-npsmpic-2020.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.18.0' + +homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home' +description = """ecCodes is a package developed by ECMWF which provides an application programming interface and + a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, + WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).""" + +site_contacts = 'a.ghasemi@fz-juelich.de' + +toolchain = {'name': 'npsmpic', 'version': '2020'} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] + +builddependencies = [('CMake', '3.18.0')] +dependencies = [ + ('netCDF', '4.7.4'), + ('JasPer', '2.0.19'), +] + +separate_build_dir = True + +configopts = "-DENABLE_NETCDF=ON -DENABLE_JPG=ON -DENABLE_PYTHON=OFF" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bufr_copy', 'bufr_dump', 'bufr_filter', 'bufr_ls', + 'codes_count', 'codes_info', 'codes_split_file', + 'grib_copy', 'grib_dump', 'grib_filter', 'grib_ls']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/hidden_deps.txt b/Golden_Repo/hidden_deps.txt index 963e00853f7c5bab64817480f9d5fafdaf13eccb..0018d1ac32ac1832d49b9546ae2ad327efc1c7a3 100644 --- a/Golden_Repo/hidden_deps.txt +++ b/Golden_Repo/hidden_deps.txt @@ -168,6 +168,7 @@ makedepend MATIO motif msgpack-c +muparserx NASM ncurses nettle @@ -212,8 +213,10 @@ SCons scrollkeeper Serf SIP +SoX S-Lang snappy +spdlog SQLite SWIG Szip diff --git a/Golden_Repo/jusuf_overlay/o/OpenMPI/OpenMPI-4.1.0rc1-GCC-9.3.0.eb b/Golden_Repo/jusuf_overlay/o/OpenMPI/OpenMPI-4.1.0rc1-GCC-9.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..ab139ab9b6585b6378b990ab154463b778a96764 --- /dev/null +++ b/Golden_Repo/jusuf_overlay/o/OpenMPI/OpenMPI-4.1.0rc1-GCC-9.3.0.eb @@ -0,0 +1,67 @@ +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.1.0rc1' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +osdependencies = [ + # needed for --with-verbs + ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), + # needed for --with-pmix + ('pmix-devel'), +] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.2.0'), + ('UCX', '1.9.0', '', SYSTEM), + ('CUDA', '11.0', '', SYSTEM), + ('libevent', '2.1.12'), +] + +configopts = '--enable-shared ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-verbs ' +configopts += '--with-libevent=$EBROOTLIBEVENT ' +configopts += '--without-orte ' +configopts += '--without-psm2 ' +configopts += '--disable-oshmem ' +configopts += '--with-cuda=$EBROOTCUDA ' +configopts += '--with-ime=/opt/ddn/ime ' +configopts += '--with-gpfs ' + +# to enable SLURM integration (site-specific) +configopts += '--with-slurm --with-pmix=external --with-libevent=external --with-ompi-pmix-rte' + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': ["bin/%s" % local_binfile for local_binfile in ["ompi_info", "opal_wrapper"]] + + ["lib/lib%s.%s" % (local_libfile, SHLIB_EXT) for local_libfile in local_libs] + + ["include/%s.h" % x for x in ["mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], + 'dirs': [], +} + +# Add a family for our naming scheme +modluafooter = ''' +family("mpi") +add_property("arch","gpu") +if not ( isloaded("mpi-settings") ) then + load("mpi-settings") +end +''' + +moduleclass = 'mpi' diff --git a/Golden_Repo/jusuf_overlay/o/OpenMPI/OpenMPI-4.1.0rc1-iccifort-2020.2.254-GCC-9.3.0.eb b/Golden_Repo/jusuf_overlay/o/OpenMPI/OpenMPI-4.1.0rc1-iccifort-2020.2.254-GCC-9.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..155e0c334d0fa886a3d2eaae3ba013e91cdf38d4 --- /dev/null +++ b/Golden_Repo/jusuf_overlay/o/OpenMPI/OpenMPI-4.1.0rc1-iccifort-2020.2.254-GCC-9.3.0.eb @@ -0,0 +1,67 @@ +easyblock = 'ConfigureMake' + +name = 'OpenMPI' +version = '4.1.0rc1' + +homepage = 'http://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +site_contacts = 'sc@fz-juelich.de' + +toolchain = {'name': 'iccifort', 'version': '2020.2.254-GCC-9.3.0'} + +source_urls = ['http://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] + +osdependencies = [ + # needed for --with-verbs + ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'), + # needed for --with-pmix + ('pmix-devel'), +] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.2.0'), + ('UCX', '1.9.0', '', SYSTEM), + ('CUDA', '11.0', '', SYSTEM), + ('libevent', '2.1.12'), +] + +configopts = '--enable-shared ' +configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support +configopts += '--with-ucx=$EBROOTUCX ' +configopts += '--with-verbs ' +configopts += '--with-libevent=$EBROOTLIBEVENT ' +configopts += '--without-orte ' +configopts += '--without-psm2 ' +configopts += '--disable-oshmem ' +configopts += '--with-cuda=$EBROOTCUDA ' +configopts += '--with-ime=/opt/ddn/ime ' +configopts += '--with-gpfs ' + +# to enable SLURM integration (site-specific) +configopts += '--with-slurm --with-pmix=external --with-libevent=external --with-ompi-pmix-rte' + +local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"] +sanity_check_paths = { + 'files': ["bin/%s" % local_binfile for local_binfile in ["ompi_info", "opal_wrapper"]] + + ["lib/lib%s.%s" % (local_libfile, SHLIB_EXT) for local_libfile in local_libs] + + ["include/%s.h" % x for x in ["mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], + 'dirs': [], +} + +# Add a family for our naming scheme +modluafooter = ''' +family("mpi") +add_property("arch","gpu") +if not ( isloaded("mpi-settings") ) then + load("mpi-settings") +end +''' + +moduleclass = 'mpi' diff --git a/Golden_Repo/jusuf_overlay/p/pscom/pscom-5.4-default.eb b/Golden_Repo/jusuf_overlay/p/pscom/pscom-5.4-default.eb new file mode 100644 index 0000000000000000000000000000000000000000..ad61598bad5a72d05eccb8a10061981b8bf5287f --- /dev/null +++ b/Golden_Repo/jusuf_overlay/p/pscom/pscom-5.4-default.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'pscom' +# Create drop-in replacement version that ensures over-riding behaviour +version = "5.4-default" +local_realversion = "5.4.7-1" +homepage = 'http://www.par-tec.com' +description = """ParaStation is a robust and efficient cluster middleware, consisting of a high-performance +communication layer (MPI) and a sophisticated management layer. +""" + +site_contacts = 'Damian Alvarez <d.alvarez@fz-juelich.de>' + +toolchain = SYSTEM + +source_urls = ['https://github.com/ParaStation/%(name)s/archive/'] +sources = ['%s.tar.gz' % local_realversion] + +builddependencies = [ + ('popt', '1.16'), + ('CUDA', '11.0'), + ('CMake', '3.18.0'), +] + +dependencies = [ + ('UCX', '1.9.0'), +] + +build_type = 'RelWithDebInfo' + +preconfigopts = 'export UCP_LDFLAGS="-L$EBROOTUCX/lib" && ' +preconfigopts += 'export CUDA_LDFLAGS="-L$EBROOTNVIDIA/lib64" &&' + +configopts = '-DCUDA_ENABLED=ON' + +sanity_check_paths = { + 'files': [ + 'include/%(name)s.h', + ('lib/libpscom.so', 'lib64/libpscom.so'), + ('lib/libpscom4ucp.so', 'lib64/libpscom4ucp.so'), + ('lib/libpscom4openib.so', 'lib64/libpscom4openib.so'), + ], + 'dirs': [], +} + +modextravars = { + 'PSCOMVERSION': '%s' % local_realversion, +} + +moduleclass = 'tools' diff --git a/Golden_Repo/juwelsbooster_overlay/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb b/Golden_Repo/juwelsbooster_overlay/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb new file mode 100644 index 0000000000000000000000000000000000000000..35a3b40805f3d2068ff0cc8d4ec8bedb40544b0f --- /dev/null +++ b/Golden_Repo/juwelsbooster_overlay/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb @@ -0,0 +1,168 @@ +# Installation command used: +# eb --include-easyblocks=$PWD/Custom_EasyBlocks/lammps.py,"$EASYBUILD_INCLUDE_EASYBLOCKS"\\ +# --mpi-cmd-template='echo %(nr_ranks)s && %(cmd)s' \\ +# Golden_Repo/l/LAMMPS/LAMMPS-22Oct2020-intel-para-2020-Python-3.8.5.eb +name = 'LAMMPS' +version = '24Dec2020' +versionsuffix = '-CUDA' + +homepage = 'https://lammps.sandia.gov/' +description = """LAMMPS is a classical molecular dynamics code, and an acronym +for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has +potentials for solid-state materials (metals, semiconductors) and soft matter +(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be +used to model atoms or, more generically, as a parallel particle simulator at +the atomic, meso, or continuum scale. LAMMPS runs on single processors or in +parallel using message-passing techniques and a spatial-decomposition of the +simulation domain. The code is designed to be easy to modify or extend with new +functionality. +""" + +site_contacts = 'a.kreuzer@fz-juelich.de' + +toolchain = {'name': 'gpsmkl', 'version': '2020'} +toolchainopts = {'openmp': True, 'cstd': 'c++11', 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [ + 'patch_%(version)s.tar.gz', + {'extract_cmd': 'cp %s %(builddir)s', 'filename': 'lammps_vs_yaff_test_single_point_energy.py'}, +] + +builddependencies = [ + ('CMake', '3.18.0'), + ('pkg-config', '0.29.2'), + ('archspec', '0.1.0', '-Python-%(pyver)s'), +] +dependencies = [ + ('CUDA', '11.0', '', SYSTEM), + ('Python', '3.8.5'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.5'), + ('netCDF', '4.7.4'), + ('GSL', '2.6'), + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('cURL', '7.71.1'), + ('HDF5', '1.10.6'), + ('tbb', '2020.3'), + ('PCRE', '8.44'), + ('libxml2', '2.9.10'), + ('FFmpeg', '4.3.1'), + ('Voro++', '0.4.6'), + ('kim-api', '2.1.3'), + ('Eigen', '3.3.7'), + ('yaff', '1.6.0', '-Python-%(pyver)s'), + ('PLUMED', '2.6.1'), + ('ScaFaCoS', '1.0.1'), + # See below for why this is not included + # ('VTK', '8.2.0', local_python_versionsuffix), +] + +# not enabled (yet), needs more work/additional dependencies: +# ADIOS - https://lammps.sandia.gov/doc/Build_extras.html#user-adios-package +# AWPMD - https://lammps.sandia.gov/doc/Build_extras.html#user-awpmd-package +# QMMM - https://lammps.sandia.gov/doc/Packages_details.html#pkg-user-qmmm +# QUIP - https://lammps.sandia.gov/doc/Build_extras.html#user-quip-package +# VTK - support is available in the foss version but currently fails to build for intel +# due to https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/746611 +# see https://github.com/lammps/lammps/issues/1964 for details +user_packages = [ + 'ATC', + 'BOCS', + 'CGDNA', + 'CGSDK', + 'COLVARS', + 'DIFFRACTION', + 'DPD', + 'DRUDE', + 'EFF', + 'FEP', + 'H5MD', + 'LB', + 'MANIFOLD', + 'MEAMC', + 'MESODPD', + 'MESONT', + 'MGPT', + 'MISC', + 'MOFFF', + 'MOLFILE', + 'NETCDF', + 'PHONON', + 'PLUMED', + 'PTM', + 'QTB', + 'REACTION', + 'REAXC', + 'SCAFACOS', + 'SDPD', + 'SMD', + 'SMTBQ', + 'SPH', + 'TALLY', + 'UEF', + 'YAFF', +] +enhance_sanity_check = True + +cuda_compute_capabilities = ['8.0'] + +# To use additional custom configuration options, use the 'configopts' easyconfig parameter +# See docs and lammps easyblock for more information. +# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options + +# Use the bfd linker for C++ (this will only be picked up when using Kokkos) +preconfigopts = 'export CXXFLAGS="-fuse-ld=bfd $CXXFLAGS" &&' +# docs require virtualenv (which we don't have) +configopts = ' -DBUILD_DOC=off -DPKG_USER-INTEL=off ' + +# auto-enabled by easyblock +# 'GPU' - if cuda package is present and kokkos is disabled +# 'KOKKOS' - if kokkos is enabled (by default) +# +# not enabled (yet), needs more work/additional dependencies: +# 'LATTE', - https://lammps.sandia.gov/doc/Build_extras.html#latte-package +# 'MSCG', - https://lammps.sandia.gov/doc/Build_extras.html#mscg-package +general_packages = [ + 'ASPHERE', + 'BODY', + 'CLASS2', + 'COLLOID', + 'COMPRESS', + 'CORESHELL', + 'DIPOLE', + 'GRANULAR', + 'KIM', + 'KSPACE', + 'MANYBODY', + 'MC', + 'MESSAGE', + 'MISC', + 'MLIAP', + 'MOLECULE', + 'MPIIO', + 'PERI', + 'POEMS', + 'PYTHON', + 'QEQ', + 'REPLICA', + 'RIGID', + 'SHOCK', + 'SNAP', + 'SPIN', + 'SRD', + 'VORONOI', +] + +# run short test case to make sure installation doesn't produce blatently incorrect results; +# this catches a problem where having the USER-INTEL package enabled causes trouble when installing with intel/2019b +# (requires an MPI context for intel/2020a) +# sanity_check_commands = ['cd %(builddir)s && %(mpi_cmd_prefix)s python lammps_vs_yaff_test_single_point_energy.py'] + +modluafooter = ''' +add_property("arch","gpu") +''' + +moduleclass = 'chem' diff --git a/Golden_Repo/m/muparserx/muparserx-4.0.8-GCCcore-9.3.0.eb b/Golden_Repo/m/muparserx/muparserx-4.0.8-GCCcore-9.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..dc018600889918cc69fa06356f921ea54aba1b04 --- /dev/null +++ b/Golden_Repo/m/muparserx/muparserx-4.0.8-GCCcore-9.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'muparserx' +version = '4.0.8' + +homepage = "https://github.com/beltoforion/muparserx" +description = """A C++ math parser library with array and string support. +""" + +site_contacts = 'j.goebbert@fz-juelich.de' + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/beltoforion/muparserx/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [ + ('CMake', '3.18.0'), + ('binutils', '2.34') +] + +sanity_check_paths = { + 'files': [], + 'dirs': [('include', 'lib64')] +} diff --git a/Golden_Repo/o/OpenAI-Gym/OpenAI-Gym-0.18.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/o/OpenAI-Gym/OpenAI-Gym-0.18.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb new file mode 100644 index 0000000000000000000000000000000000000000..d0f2aaf3150cf3807f4f9bb2593fc7a7b9c4f607 --- /dev/null +++ b/Golden_Repo/o/OpenAI-Gym/OpenAI-Gym-0.18.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'OpenAI-Gym' +version = '0.18.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://gym.openai.com' +description = "A toolkit for developing and comparing reinforcement learning algorithms." + +site_contacts = 'a.strube@fz-juelich.de' + +toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.18.0'), + ('SWIG', '4.0.2', versionsuffix), +] + +dependencies = [ + ('Python', '3.8.5'), + ('SciPy-Stack', '2020', versionsuffix), # for numpy, scipy + ('Pillow-SIMD', '7.0.0.post3', versionsuffix), + ('OpenCV', '4.5.0', versionsuffix), + ('scikit', '2020', versionsuffix), + ('XServer', '1.20.9'), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_SOURCE]} + +exts_list = [ + ('EasyProcess', '0.3', { + }), + ('PyVirtualDisplay', '2.0', { + }), + ('pyglet', '1.4.10', { + 'source_tmpl': 'pyglet-%(version)s.zip', + 'checksums': ['c57e3e18246f45e4d6bb3d29e39d128d6e72b05f4212b10353adc3ba260ceb65'], + }), + ('atari-py', '0.2.6', { + 'checksums': ['6249ad5079b0489e87eb44e65485bb1b07cc1b5af729f1ee52ece749503ceb1d'], + }), + ('box2d-py', '2.3.8', { + 'modulename': 'Box2D', + 'checksums': ['bdacfbbc56079bb317548efe49d3d5a86646885cc27f4a2ee97e4b2960921ab7'], + }), + ('gym', version, { + # can't use 'all', because 'mujoco' and 'robotics' extras require MuJoCo (which is not freely available); + # see https://github.com/openai/mujoco-py#install-mujoco + 'use_pip_extras': 'atari,box2d,classic_control', + 'checksums': ['a0dcd25c1373f3938f4cb4565f74f434fba6faefb73a42d09c9dddd0c08af53e'], + 'patches': ['video_recorder.patch'], + }), +] + +local_envs = ['algorithmic', 'atari', 'box2d', 'classic_control', 'toy_text'] +sanity_check_commands = ["python -c 'import gym.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/Golden_Repo/o/OpenAI-Gym/video_recorder.patch b/Golden_Repo/o/OpenAI-Gym/video_recorder.patch new file mode 100644 index 0000000000000000000000000000000000000000..39fdaeda124c9805b513bb00dc5d3ce962b2a8a7 --- /dev/null +++ b/Golden_Repo/o/OpenAI-Gym/video_recorder.patch @@ -0,0 +1,11 @@ +--- gym/gym-0.18.0/gym/wrappers/monitoring/video_recorder.py.orig 2021-02-15 16:53:44.341866890 +0100 ++++ gym/gym-0.18.0/gym/wrappers/monitoring/video_recorder.py 2021-02-15 16:54:31.089455521 +0100 +@@ -300,7 +300,7 @@ + if frame.dtype != np.uint8: + raise error.InvalidFrame("Your frame has data type {}, but we require uint8 (i.e. RGB values from 0-255).".format(frame.dtype)) + +- self.proc.stdin.write(frame.tobytes()) ++ self.proc.stdin.write(frame.tobytes()) + + def close(self): + self.proc.stdin.close() diff --git a/Golden_Repo/o/OpenCV/OpenCV-4.5.0-gcccoremkl-9.3.0-2020.2.254.eb b/Golden_Repo/o/OpenCV/OpenCV-4.5.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb similarity index 100% rename from Golden_Repo/o/OpenCV/OpenCV-4.5.0-gcccoremkl-9.3.0-2020.2.254.eb rename to Golden_Repo/o/OpenCV/OpenCV-4.5.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb diff --git a/Golden_Repo/o/OpenFOAM/OpenFOAM-6-SLURM.patch b/Golden_Repo/o/OpenFOAM/OpenFOAM-6-SLURM.patch new file mode 100644 index 0000000000000000000000000000000000000000..d1279153e18bea944d4f82b9fe165c4213ea5a22 --- /dev/null +++ b/Golden_Repo/o/OpenFOAM/OpenFOAM-6-SLURM.patch @@ -0,0 +1,33 @@ +# Change the mpirun command to "srun". +# As of writing, only the srun is supported at JSC supercomputers. +# Author: Metin Cakircali <m.cakircali@fz-juelich.de> + +diff -ru OpenFOAM-6-version-6_orig/bin/foamJob OpenFOAM-6-version-6/bin/foamJob +--- OpenFOAM-6-version-6_orig/bin/foamJob 2018-10-17 11:22:43.363505000 +0200 ++++ OpenFOAM-6-version-6/bin/foamJob 2018-10-17 12:12:27.565678000 +0200 +@@ -195,8 +195,8 @@ + # + # Find mpirun + # +- mpirun=$(findExec mpirun) || error "'mpirun' not found" +- mpiopts="-np $NPROCS" ++ mpirun=$(findExec srun) || error "'srun' not found" ++ mpiopts="-n $NPROCS" + + # + # Check if the machine ready to run parallel +diff -ru OpenFOAM-6-version-6_orig/bin/tools/RunFunctions OpenFOAM-6-version-6/bin/tools/RunFunctions +--- OpenFOAM-6-version-6_orig/bin/tools/RunFunctions 2018-10-17 11:22:43.319389000 +0200 ++++ OpenFOAM-6-version-6/bin/tools/RunFunctions 2018-10-17 11:24:49.276331000 +0200 +@@ -139,9 +139,9 @@ + else + echo "Running $APP_RUN in parallel on $PWD using $nProcs processes" + if [ "$LOG_APPEND" = "true" ]; then +- ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null >> log.$LOG_SUFFIX 2>&1 ) ++ ( srun -n $nProcs $APP_RUN -parallel "$@" < /dev/null >> log.$LOG_SUFFIX 2>&1 ) + else +- ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$LOG_SUFFIX 2>&1 ) ++ ( srun -n $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$LOG_SUFFIX 2>&1 ) + fi + fi + } diff --git a/Golden_Repo/o/OpenFOAM/OpenFOAM-6-cleanup.patch b/Golden_Repo/o/OpenFOAM/OpenFOAM-6-cleanup.patch new file mode 100644 index 0000000000000000000000000000000000000000..e8be7a70b145802e7cb694b51a8bcfb215954fb0 --- /dev/null +++ b/Golden_Repo/o/OpenFOAM/OpenFOAM-6-cleanup.patch @@ -0,0 +1,230 @@ +# This patch removes all need for the ThirdParty files of OpenFOAM: +# we use EB dependencies for everything. It adjusts the paths, variables, etc +# We also let the install dir, compiler, etc be set by EB. +# Lastly, we also fix a small compile issue in 'ptscotchDecomp.C' +# by Kenneth Hoste (HPC-UGent), based on patch for OpenFOAM 4.1 by Ward Poelmans <wpoely86@gmail.com> +diff -ru OpenFOAM-6-version-6_orig/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-6-version-6/applications/utilities/mesh/manipulation/setSet/Allwmake +--- OpenFOAM-6-version-6_orig/applications/utilities/mesh/manipulation/setSet/Allwmake 2018-10-17 11:22:35.628646000 +0200 ++++ OpenFOAM-6-version-6/applications/utilities/mesh/manipulation/setSet/Allwmake 2018-10-17 13:32:16.457222000 +0200 +@@ -7,18 +7,18 @@ + unset COMP_FLAGS LINK_FLAGS + + # Use readline if available +-if [ -f /usr/include/readline/readline.h ] ++if [ -f $EBROOTLIBREADLINE/include/readline/readline.h ] + then + echo " found <readline/readline.h> -- enabling readline support." + export COMP_FLAGS="-DHAS_READLINE" + + # readline may require ncurses +- if [ -f /usr/include/ncurses/ncurses.h ] ++ if [ -f $EBROOTNCURSES/include/ncurses/ncurses.h ] + then + echo " found <ncurses/ncurses.h> -- maybe required by readline." +- export LINK_FLAGS="-lreadline -lncurses" ++ export LINK_FLAGS="-L$EBROOTLIBREADLINE/lib -lreadline -L$EBROOTNCURSES -lncurses" + else +- export LINK_FLAGS="-lreadline" ++ export LINK_FLAGS="-L$EBROOTLIBREADLINE/lib -lreadline" + fi + fi + +diff -ru OpenFOAM-6-version-6_orig/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-6-version-6/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +--- OpenFOAM-6-version-6_orig/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2018-10-17 11:22:38.725154000 +0200 ++++ OpenFOAM-6-version-6/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2018-10-17 13:54:51.187898000 +0200 +@@ -14,8 +14,8 @@ + } + + # ensure CMake gets the correct C/C++ compilers +- [ -n "$WM_CC" ] && export CC="$WM_CC" +- [ -n "$WM_CXX" ] && export CXX="$WM_CXX" ++# [ -n "$WM_CC" ] && export CC="$WM_CC" ++# [ -n "$WM_CXX" ] && export CXX="$WM_CXX" + + wmake $targetType vtkPVblockMesh + wmake $targetType vtkPVFoam +diff -ru OpenFOAM-6-version-6_orig/etc/bashrc OpenFOAM-6-version-6/etc/bashrc +--- OpenFOAM-6-version-6_orig/etc/bashrc 2018-10-17 11:22:17.114079000 +0200 ++++ OpenFOAM-6-version-6/etc/bashrc 2018-10-17 13:27:12.688574823 +0200 +@@ -43,8 +43,8 @@ + # Please set to the appropriate path if the default is not correct. + # + [ "$BASH" -o "$ZSH_NAME" ] && \ +-export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ +-export FOAM_INST_DIR=$HOME/$WM_PROJECT ++#export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ ++#export FOAM_INST_DIR=$HOME/$WM_PROJECT + # export FOAM_INST_DIR=~$WM_PROJECT + # export FOAM_INST_DIR=/opt/$WM_PROJECT + # export FOAM_INST_DIR=/usr/local/$WM_PROJECT +diff -ru OpenFOAM-6-version-6_orig/etc/config.sh/CGAL OpenFOAM-6-version-6/etc/config.sh/CGAL +--- OpenFOAM-6-version-6_orig/etc/config.sh/CGAL 2018-10-17 11:22:17.102310000 +0200 ++++ OpenFOAM-6-version-6/etc/config.sh/CGAL 2018-10-17 13:35:41.440894000 +0200 +@@ -35,33 +35,8 @@ + # + #------------------------------------------------------------------------------ + +-boost_version=boost-system +-cgal_version=cgal-system +-#cgal_version=CGAL-4.10 +- +-thirdPartyPath=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-if [ "$boost_version" != "boost-system" ] +-then +- export BOOST_ARCH_PATH=$thirdPartyPath/$boost_version +- if [ -d "$BOOST_ARCH_PATH" ] +- then +- _foamAddLib $BOOST_ARCH_PATH/lib +- fi +-else +- unset BOOST_ARCH_PATH +-fi +- +-if [ "$cgal_version" != "cgal-system" ] +-then +- export CGAL_ARCH_PATH=$thirdPartyPath/$cgal_version +- if [ -d "$CGAL_ARCH_PATH" ] +- then +- _foamAddLib $CGAL_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH +- fi +-else +- unset CGAL_ARCH_PATH +-fi ++export CGAL_ARCH_PATH=$EBROOTCGAL ++export BOOST_ARCH_PATH=$EBROOTBOOST + + if [ "$FOAM_VERBOSE" -a "$PS1" ] + then +@@ -70,6 +45,4 @@ + echo " $cgal_version at $CGAL_ARCH_PATH" 1>&2 + fi + +-unset thirdPartyPath +- + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-6-version-6_orig/etc/config.sh/gperftools OpenFOAM-6-version-6/etc/config.sh/gperftools +--- OpenFOAM-6-version-6_orig/etc/config.sh/gperftools 2018-10-17 11:22:17.090970000 +0200 ++++ OpenFOAM-6-version-6/etc/config.sh/gperftools 2018-10-17 13:54:47.576302000 +0200 +@@ -29,13 +29,7 @@ + # + #------------------------------------------------------------------------------ + +-version=svn +-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-GPERFTOOLS_VERSION=gperftools-$version +-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION +- +-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH +-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH ++GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS ++GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-6-version-6_orig/etc/config.sh/metis OpenFOAM-6-version-6/etc/config.sh/metis +--- OpenFOAM-6-version-6_orig/etc/config.sh/metis 2018-10-17 11:22:17.089913000 +0200 ++++ OpenFOAM-6-version-6/etc/config.sh/metis 2018-10-17 13:54:53.260727000 +0200 +@@ -34,7 +34,7 @@ + # + #------------------------------------------------------------------------------ + +-export METIS_VERSION=metis-5.1.0 +-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION ++export METIS_VERSION=metis-$EBVERSIONMETIS ++export METIS_ARCH_PATH=$EBROOTMETIS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-6-version-6_orig/etc/config.sh/mpi OpenFOAM-6-version-6/etc/config.sh/mpi +--- OpenFOAM-6-version-6_orig/etc/config.sh/mpi 2017-07-25 18:43:40.000000000 +0200 ++++ OpenFOAM-6-version-6/etc/config.sh/mpi 2018-09-18 10:51:25.164160755 +0200 +@@ -249,6 +249,9 @@ + _foamAddPath $MPI_ARCH_PATH/bin64 + _foamAddLib $MPI_ARCH_PATH/lib64 + ;; ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; + *) + export FOAM_MPI=dummy + ;; +diff -ru OpenFOAM-6-version-6_orig/etc/config.sh/scotch OpenFOAM-6-version-6/etc/config.sh/scotch +--- OpenFOAM-6-version-6_orig/etc/config.sh/scotch 2018-10-17 11:22:17.074307000 +0200 ++++ OpenFOAM-6-version-6/etc/config.sh/scotch 2018-10-17 13:54:54.076619000 +0200 +@@ -37,7 +37,7 @@ + # + #------------------------------------------------------------------------------ + +-export SCOTCH_VERSION=scotch_6.0.6 +-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION ++export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH ++export SCOTCH_ARCH_PATH=$EBROOTSCOTCH + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-6-version-6_orig/etc/config.sh/settings OpenFOAM-6-version-6/etc/config.sh/settings +--- OpenFOAM-6-version-6_orig/etc/config.sh/settings 2018-10-17 11:22:17.081439000 +0200 ++++ OpenFOAM-6-version-6/etc/config.sh/settings 2018-10-17 13:54:56.013405000 +0200 +@@ -61,11 +61,11 @@ + 64) + WM_ARCH=linux64 + export WM_COMPILER_LIB_ARCH=64 +- export WM_CC='gcc' +- export WM_CXX='g++' +- export WM_CFLAGS='-m64 -fPIC' +- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' +- export WM_LDFLAGS='-m64' ++ export WM_CC=$CC ++ export WM_CXX=$CXX ++ export WM_CFLAGS=$CFLAGS ++ export WM_CXXFLAGS=$CXXFLAGS ++ export WM_LDFLAGS=$LDFLAGS + ;; + *) + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ +diff -ru OpenFOAM-6-version-6_orig/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-6-version-6/src/parallel/decompose/ptscotchDecomp/Make/options +--- OpenFOAM-6-version-6_orig/src/parallel/decompose/ptscotchDecomp/Make/options 2018-10-17 11:23:46.338261000 +0200 ++++ OpenFOAM-6-version-6/src/parallel/decompose/ptscotchDecomp/Make/options 2018-10-17 13:47:29.990948000 +0200 +@@ -4,9 +4,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(FOAM_SRC)/Pstream/mpi/lnInclude \ +- -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ +- -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ +@@ -14,5 +11,5 @@ + -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ + -lptscotch \ + -lptscotcherrexit \ +- -lscotch \ ++ -lscotch ${LINK_FLAGS} \ + -lrt +diff -ru OpenFOAM-6-version-6_orig/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C OpenFOAM-6-version-6/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C +--- OpenFOAM-6-version-6_orig/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2018-10-17 11:23:46.321728000 +0200 ++++ OpenFOAM-6-version-6/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2018-10-17 13:53:18.650845484 +0200 +@@ -31,10 +31,11 @@ + #include "SubField.H" + #include "PstreamGlobals.H" + ++#include <mpi.h> ++ + extern "C" + { + #include <stdio.h> +- #include <mpi.h> + #include "ptscotch.h" + } + +diff -ru OpenFOAM-6-version-6_orig/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-6-version-6/src/parallel/decompose/scotchDecomp/Make/options +--- OpenFOAM-6-version-6_orig/src/parallel/decompose/scotchDecomp/Make/options 2018-10-17 11:23:46.284785000 +0200 ++++ OpenFOAM-6-version-6/src/parallel/decompose/scotchDecomp/Make/options 2018-10-17 13:55:00.667330000 +0200 +@@ -8,7 +8,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ diff --git a/Golden_Repo/o/OpenFOAM/OpenFOAM-6-gpsmpi-2020.eb b/Golden_Repo/o/OpenFOAM/OpenFOAM-6-gpsmpi-2020.eb new file mode 100644 index 0000000000000000000000000000000000000000..b841de7639a35e578138939f39d562d8995b4939 --- /dev/null +++ b/Golden_Repo/o/OpenFOAM/OpenFOAM-6-gpsmpi-2020.eb @@ -0,0 +1,64 @@ +name = 'OpenFOAM' +version = '6' + +homepage = 'http://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. + +OpenFOAM %(version)s%(versionsuffix)s is installed in +$EBROOTOPENFOAM +and the corresponding module +OpenFOAM/%(version)s%(versionsuffix)s +provides settings to run its solvers and utilities. + +The full OpenFOAM environment can be initiated via +. $FOAM_BASH +""" +toolchain = {'name': 'gpsmpi', 'version': '2020'} +toolchainopts = {'opt': True, 'cstd': 'c++11'} + +# source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] + +sources = ['OpenFOAM-%(version)s-master.zip'] +patches = [ + 'OpenFOAM-%(version)s-cleanup.patch', + 'OpenFOAM-%(version)s-SLURM.patch' +] +checksums = [ + '1fabeca52d307e5cac1ab3785ed0b6888a6e13e21537e860519aad9168bca8ea', # OpenFOAM-6-master.zip + '450e6ddbfda9413cf67a66b5c585b80c24cfb716fa9bf0810830ea7fa2e93bf6', # OpenFOAM-6.0-cleanup.patch + '0c97373dd13403b0c3eee7e13118ae0bfe11a89bb0379be9e39c318e27c43a97' # OpenFOAM-6.0-SLURM.patch +] + +builddependencies = [ + ('CMake', '3.18.0'), + ('Bison', '3.6.4'), + ('flex', '2.6.4'), +] + +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', '4.13.1', '-Python-3.8.5'), + # ('ParaView', '5.6.0', '-Python-3.6.8') +] + +parallel = 8 + +prebuildopts = "export FOAMY_HEX_MESH=1 && " + + +modextravars = { + 'MPI_BUFFER_SIZE': '40000000' +} + +modloadmsg = "This module provides only a minimal environment to run %(name)s executables.\n" +modloadmsg += "The full environment can be initiated via:\n" +modloadmsg += ". $FOAM_BASH\n" + +moduleclass = 'cae' diff --git a/Golden_Repo/o/OpenFOAM/OpenFOAM-v1812-cleanup.patch b/Golden_Repo/o/OpenFOAM/OpenFOAM-v1812-cleanup.patch new file mode 100644 index 0000000000000000000000000000000000000000..bab3303dcade73980fbac604b47a0f4cb55aedc3 --- /dev/null +++ b/Golden_Repo/o/OpenFOAM/OpenFOAM-v1812-cleanup.patch @@ -0,0 +1,426 @@ +# - Replace the OpenFOAM third-party libraries with EASYBUILD variables. +# - Set install dir, compiler, etc using EASYBUILD +# +# authors: Ward Poelmans <wpoely86@gmail.com>, Kenneth Hoste (HPC-UGent), Mark Olesen <Mark.Olesen@esi-group.com>, +# Simon Branford (University of Birmingham) +--- OpenFOAM-v1912/etc/bashrc.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/bashrc 2020-01-06 19:13:09.39069861 +0000 +@@ -94,7 +94,7 @@ + # = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM | + # HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI + # Also possible to use INTELMPI-xyz etc and define your own wmake rule +-export WM_MPLIB=SYSTEMOPENMPI ++export WM_MPLIB=EASYBUILDMPI + + + #------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/CGAL.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/CGAL 2020-01-06 19:13:58.46916514 +0000 +@@ -41,33 +41,10 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-boost_version=boost_1_64_0 +-cgal_version=CGAL-4.9.1 +- +-export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version +-export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version ++##EasyBuild## settings ++export BOOST_ARCH_PATH="$EBROOTBOOST" ++export CGAL_ARCH_PATH="$EBROOTCGAL" + + # END OF (NORMAL) USER EDITABLE PART + #------------------------------------------------------------------------------ +-if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] +-then +- echo "Using boost ($boost_version) -> $BOOST_ARCH_PATH" 1>&2 +- echo "Using CGAL ($cgal_version) -> $CGAL_ARCH_PATH" 1>&2 +-fi +- +-if command -v _foamAddLibAuto > /dev/null 2>&1 # Normal sourcing (not makeCGAL) +-then +- _foamAddLibAuto $BOOST_ARCH_PATH lib$WM_COMPILER_LIB_ARCH +- _foamAddLibAuto $CGAL_ARCH_PATH lib$WM_COMPILER_LIB_ARCH +- +- # GMP/MPFR may have already been added with ThirdParty compiler, but cannot +- # be certain so add here. Any duplicates will be removed later. +- +- _foamAddLibAuto $GMP_ARCH_PATH # No fallback libdir +- _foamAddLibAuto $MPFR_ARCH_PATH # No fallback libdir + +- unset boost_version cgal_version +- +-fi +- +-#------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/FFTW.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/FFTW 2020-01-06 19:14:18.89030368 +0000 +@@ -33,23 +33,8 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-fftw_version=fftw-3.3.7 +-export FFTW_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$fftw_version ++##EasyBuild## settings ++export FFTW_ARCH_PATH="$EBROOTFFTW" + + # END OF (NORMAL) USER EDITABLE PART + #------------------------------------------------------------------------------ +-if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] +-then +- echo "Using fftw ($fftw_version) -> $FFTW_ARCH_PATH" 1>&2 +-fi +- +-if command -v _foamAddLibAuto > /dev/null 2>&1 # Normal sourcing (not makeFFTW) +-then +- +- _foamAddLibAuto $FFTW_ARCH_PATH lib$WM_COMPILER_LIB_ARCH +- +- unset fftw_version +- +-fi +- +-#------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/gperftools.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/gperftools 2020-01-06 19:14:52.90383440 +0000 +@@ -35,32 +35,8 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-gperftools_version=gperftools-2.5 +-GPERFTOOLS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$gperftools_version ++##EasyBuild## settings ++GPERFTOOLS_ARCH_PATH="$EBROOTGPERFTOOLS" + + # END OF (NORMAL) USER EDITABLE PART + #------------------------------------------------------------------------------ +-if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] +-then +- echo "Using gperftools ($gperftools_version) -> $GPERFTOOLS_ARCH_PATH" 1>&2 +-fi +- +-if command -v _foamAddLib > /dev/null 2>&1 # Normal sourcing +-then +- +- # If GPERFTOOLS_ARCH_PATH does not end with '-system' or '-none', +- # it is located within ThirdParty, or a central installation +- # outside of ThirdParty and must be added to the lib-path. +- +- ending="${GPERFTOOLS_ARCH_PATH##*-}" +- if [ "$ending" != none ] && [ "$ending" != system ] +- then +- _foamAddLib $GPERFTOOLS_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH +- _foamAddPath $GPERFTOOLS_ARCH_PATH/bin +- fi +- +- unset gperftools_version ending +- +-fi +- +-#------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/metis.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/metis 2020-01-06 19:14:21.70845195 +0000 +@@ -34,8 +34,9 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-METIS_VERSION=metis-5.1.0 +-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION ++##Easybuild## settings ++METIS_VERSION="metis-$EBVERSIONMETIS" ++[ -d "$METIS_ARCH_PATH" ] || METIS_ARCH_PATH="$METIS_ROOT" + + # END OF (NORMAL) USER EDITABLE PART + #------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/mpi.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/mpi 2020-01-06 19:12:41.54940690 +0000 +@@ -96,6 +96,10 @@ + _foamEtc -config mpi-user # <- Adjustments (optional) + ;; + ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; ++ + SYSTEMMPI) + export FOAM_MPI=mpi-system + _foamEtc -config mpi-system # <- Adjustments (optional) +--- OpenFOAM-v1912/etc/config.sh/paraview.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/paraview 2020-01-06 19:12:41.66878632 +0000 +@@ -51,7 +51,8 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-ParaView_VERSION=5.6.0 ++##Easybuild## settings ++ParaView_VERSION="$EBVERSIONPARAVIEW" + ParaView_QT=qt-system + cmake_version=cmake-system + +@@ -82,14 +83,6 @@ + esac + done + +-# ThirdParty cmake +-cmake="$archDir/$cmake_version" +-if [ -r "$cmake/bin/cmake" ] +-then +- # _foamAddPath not available when foamPV function is used +- PATH="$cmake/bin:$PATH" +-fi +- + case "$ParaView_VERSION" in + ('') + # empty - do nothing +@@ -105,6 +98,7 @@ + ;; + + (system) ++ unset PV_PLUGIN_PATH + eval "$($WM_PROJECT_DIR/bin/foamEtcFile -sh ${FOAM_CONFIG_NOUSER:+-mode=o} -config paraview-system)" + ;; + +@@ -125,7 +119,9 @@ + ;; + esac + +- export ParaView_DIR="$archDir/ParaView-$ParaView_VERSION" ++ ##Easybuild## settings ++ export ParaView_DIR="$EBROOTPARAVIEW" ++ unset PV_PLUGIN_PATH + + # Set paths if binaries are present + if [ -r "$ParaView_DIR" ] +@@ -133,48 +129,26 @@ + # The OpenFOAM plugin directory must be the first in PV_PLUGIN_PATH + # and have paraview-major.minor encoded in its name + export PV_PLUGIN_PATH="$FOAM_LIBBIN/paraview-$pv_api" +- + export PATH="$ParaView_DIR/bin:$PATH" +- pvLibDir="$ParaView_DIR/lib/paraview-$pv_api" +- #OBSOLETE? pvPython=$ParaView_DIR/Utilities/VTKPythonWrapping +- +- #OBSOLETE? # Python libraries as required +- #OBSOLETE? if [ -r $pvPython ] +- #OBSOLETE? then +- #OBSOLETE? export PYTHONPATH=$PYTHONPATH:${PYTHONPATH:+:}$pvPython:$pvLibDir +- #OBSOLETE? fi +- +- # QT libraries as required, and Qt5_DIR for the root directory. +- # Another possibility: "qtpaths --qt-version" +- qtDir="$archDir/$ParaView_QT" +- if [ -d "$qtDir" ] +- then +- case "$ParaView_QT" in +- (*-5*) +- export Qt5_DIR="$qtDir" +- ;; +- esac +- for qtLibDir in "$qtDir/lib$WM_COMPILER_LIB_ARCH" "$qtDir/lib" +- do +- if [ -d "$qtLibDir" ] +- then +- export LD_LIBRARY_PATH="$qtLibDir:$LD_LIBRARY_PATH" +- break +- fi +- done +- fi + + # ParaView libraries + # - 5.4 and earlier: lib/paraview-X.X +- # - 5.5 and later: lib/ +- case "$pv_api" in +- (5.[0-4]*) +- export LD_LIBRARY_PATH="$pvLibDir:$LD_LIBRARY_PATH" +- ;; +- (*) +- export LD_LIBRARY_PATH="$ParaView_DIR/lib:$LD_LIBRARY_PATH" +- ;; +- esac ++ # - 5.5 and later: lib/, but could also be lib64/ ++ for libDir in "lib$WM_COMPILER_LIB_ARCH" "lib" ++ do ++ pvLibDir="$libDir/paraview-$pv_api" ++ if [ -d "$ParaView_DIR/$pvLibDir" ] ++ then ++ case "$pv_api" in ++ (5.[0-4]*) ++ libDir="$pvLibDir" # Needs lib/paraview-X.X (not lib) ++ ;; ++ esac ++ export LD_LIBRARY_PATH="$ParaView_DIR/$libDir:$LD_LIBRARY_PATH" ++ break ++ fi ++ unset pvLibDir ++ done + + if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] + then +@@ -198,13 +172,13 @@ + + #------------------------------------------------------------------------------ + +-if command -v _foamAddLib > /dev/null 2>&1 # normal sourcing ++if command -v _foamAddLib >/dev/null # normal sourcing + then + unset ParaView_VERSION ParaView_QT + fi + +-unset archDir ++unset archDir libDir + unset cmake cmake_version +-unset pv_api pvLibDir pvPython qtDir qtLibDir ++unset pv_api pvLibDir pvPython qtDir + + #------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/scotch.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/scotch 2020-01-06 19:14:50.81742938 +0000 +@@ -31,8 +31,10 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-SCOTCH_VERSION=scotch_6.0.6 +-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION ++##Easybuild## settings ++export SCOTCH_VERSION="scotch_$EBVERSIONSCOTCH" ++export SCOTCH_ARCH_PATH="$EBROOTSCOTCH" ++[ -d "$SCOTCH_ARCH_PATH" ] || SCOTCH_ARCH_PATH="$SCOTCH_ROOT" + + # END OF (NORMAL) USER EDITABLE PART + #------------------------------------------------------------------------------ +--- OpenFOAM-v1912/etc/config.sh/vtk.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/etc/config.sh/vtk 2020-01-06 19:13:23.08425391 +0000 +@@ -31,46 +31,9 @@ + #------------------------------------------------------------------------------ + # USER EDITABLE PART: Changes made here may be lost with the next upgrade + +-vtk_version=VTK-8.2.0 +-mesa_version=mesa-17.1.1 +-mesa_llvm=none +- +-export VTK_DIR="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version" +-export MESA_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version" +-export LLVM_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH/$mesa_llvm" ++##Easybuild## settings ++export VTK_DIR="$EBROOTVTK" ++export MESA_ARCH_PATH="$EBROOTMESA" + + # END OF (NORMAL) USER EDITABLE PART + #------------------------------------------------------------------------------ +-if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] +-then +- echo "Using vtk" 1>&2 +- echo " vtk ($vtk_version) $VTK_DIR" 1>&2 +- echo " mesa ($mesa_version) $MESA_ARCH_PATH" 1>&2 +- echo " llvm ($mesa_llvm) $LLVM_ARCH_PATH" 1>&2 +-fi +- +-if command -v _foamAddLib > /dev/null 2>&1 # normal sourcing +-then +- +- # Set paths if binaries are present +- if [ -d "$VTK_DIR" ] +- then +- # Uses lib/ and not lib64/ +- _foamAddLib "$VTK_DIR/lib" +- else +- unset VTK_DIR +- fi +- +- if [ -d "$MESA_ARCH_PATH" ] +- then +- _foamAddLibAuto "$LLVM_ARCH_PATH" +- _foamAddLibAuto "$MESA_ARCH_PATH" +- else +- unset LLVM_ARCH_PATH +- unset MESA_ARCH_PATH +- fi +- +- unset vtk_version mesa_version mesa_llvm +-fi +- +-#------------------------------------------------------------------------------ +--- OpenFOAM-v1912/wmake/scripts/have_readline.orig 2020-01-06 19:07:23.000000000 +0000 ++++ OpenFOAM-v1912/wmake/scripts/have_readline 2020-01-06 19:15:54.77256611 +0000 +@@ -52,47 +52,52 @@ + # -> HAVE_LIBREADLINE, READLINE_INC_DIR, READLINE_LIB_DIR + have_readline() + { +- local header library static settings warn ++ local prefix header library incName libName settings warn + # warn="==> skip readline" + ++ # Expected location, include/library names ++ prefix="$EBROOTLIBREADLINE" ++ incName="readline/readline.h" ++ libName="libreadline" ++ ++ # ---------------------------------- ++ if isNone "$prefix" ++ then ++ [ -n "$warn" ] && echo "$warn (disabled)" ++ return 1 ++ elif hasAbsdir "$prefix" ++ then ++ header=$(findFirstFile "$prefix/include/$incName") ++ library="$(findExtLib $libName)" ++ elif isSystem "$prefix" ++ then ++ header=$(findFirstFile "/usr/local/include/$incName" "/usr/include/$incName") ++ prefix=$(sysPrefix "$header") ++ else ++ unset prefix ++ fi ++ # ---------------------------------- + +- # Header/library names +- header="readline/readline.h" +- library="libreadline$extLibso" +- +- # System only? +- header=$(findFirstFile /usr/local/include/$header /usr/include/$header) +- +- case "$header" in +- /usr/local/*) +- library=$(findFirstFile \ +- /usr/local/lib/$library \ +- /usr/local/lib$WM_COMPILER_LIB_ARCH/$library \ +- ) +- ;; +- +- *) +- library=$(findFirstFile \ +- /usr/lib/$library \ +- /usr/lib$WM_COMPILER_LIB_ARCH/$library \ +- ) +- ;; +- esac +- +- # Header found? ++ # Header + [ -n "$header" ] || { + [ -n "$warn" ] && echo "$warn (no header)" + return 2 + } + +- # Library found? +- [ -n "$library" ] || { +- [ -n "$warn" ] && echo "$warn (missing library)" ++ # Library ++ [ -n "$library" ] || library=$(findLibrary \ ++ "$prefix/lib/$libName" \ ++ "$prefix/lib$WM_COMPILER_LIB_ARCH/$libName" \ ++ ) || { ++ [ -n "$warn" ] && echo "$warn (no library)" + return 2 + } + +- header="${header%/*}" # Strip one-level (include/readline/...) ++ # ---------------------------------- ++ ++ header="${header%/*}" # Strip one-level (include/readline/...) + ++ # OK + export HAVE_LIBREADLINE=true + export READLINE_INC_DIR="${header%/*}" # Basename + export READLINE_LIB_DIR="${library%/*}" # Basename diff --git a/Golden_Repo/o/OpenFOAM/OpenFOAM-v1812-gpsmpi-2020.eb b/Golden_Repo/o/OpenFOAM/OpenFOAM-v1812-gpsmpi-2020.eb new file mode 100644 index 0000000000000000000000000000000000000000..bcf625e68d05b3d07e3d5173fa7405c0b172379e --- /dev/null +++ b/Golden_Repo/o/OpenFOAM/OpenFOAM-v1812-gpsmpi-2020.eb @@ -0,0 +1,68 @@ +name = 'OpenFOAM' +version = 'v1812' +versionsuffix = '_200312' + +homepage = 'https://www.openfoam.com/' +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. + +OpenFOAM %(version)s%(versionsuffix)s is installed in +$EBROOTOPENFOAM +and the corresponding module +OpenFOAM/%(version)s%(versionsuffix)s +provides settings to run its solvers and utilities. + +The full OpenFOAM environment can be initiated via +. $FOAM_BASH +""" + +toolchain = {'name': 'gpsmpi', 'version': '2020'} +toolchainopts = {'opt': True, 'cstd': 'c++17'} + +source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] +sources = ['%(name)s-%(version)s%(versionsuffix)s.tgz', 'ThirdParty-v1812.tgz'] +patches = [ + 'OpenFOAM-%(version)s-cleanup.patch', + ('ThirdParty-%(version)s-cleanup.patch', ".."), + # 'OpenFOAM-v1906-CGAL-4.14.1.patch', +] +checksums = [ + '925d2877c12740fab177a30fdcaa8899c262c15b90225f9c29d18a2d97532de0', # OpenFOAM-v1812_200312.tgz + 'f90a66d193f238528543bb4e007b43c90f246351aa9a7ea15ea8e7fe3b410498', # ThirdParty-v1812.tgz + '632c0888d476171823fbec00dd85c951897a49e86c6d44b7ae6fd010ddb4b066', # OpenFOAM-v1812-cleanup.patch + 'd37f3451d5716f1b989f999f46ed74a3e625ccbac78dfbc196203498e941b172', # ThirdParty-v1812-cleanup.patch + 'b986a573775fe108755790ef34529f2afd428be7c4c295fadb58fbe5ea058920', # OpenFOAM-v1906-CGAL-4.14.1.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', '4.13.1', '-Python-3.8.5'), + ('FFTW', '3.3.8'), + # ('ParaView', '5.6.0', '-Python-3.6.8'), +] + +builddependencies = [ + ('Bison', '3.6.4'), + ('CMake', '3.18.0'), + ('flex', '2.6.4'), +] + +parallel = 8 + +prebuildopts = 'export FOAMY_HEX_MESH=1 &&' + +modextravars = { + 'MPI_BUFFER_SIZE': '40000000' +} + +modloadmsg = "This module provides only a minimal environment to run %(name)s executables.\n" +modloadmsg += "The full environment can be initiated via:\n" +modloadmsg += ". $FOAM_BASH\n" + +moduleclass = 'cae' diff --git a/Golden_Repo/o/OpenFOAM/ThirdParty-v1812-cleanup.patch b/Golden_Repo/o/OpenFOAM/ThirdParty-v1812-cleanup.patch new file mode 100644 index 0000000000000000000000000000000000000000..45149ebc6d79d628de7da4e4bf5e5043da4f9424 --- /dev/null +++ b/Golden_Repo/o/OpenFOAM/ThirdParty-v1812-cleanup.patch @@ -0,0 +1,256 @@ +--- ThirdParty-v1812/Allwmake.orig 2020-08-19 14:45:23.238743000 +0200 ++++ ThirdParty-v1812/Allwmake 2020-08-31 12:19:28.638081685 +0200 +@@ -73,172 +73,6 @@ + + #------------------------------------------------------------------------------ + # Building scotch on different platforms is still a bit of a pain +- +-# Get SCOTCH_VERSION, SCOTCH_ARCH_PATH +-if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/scotch) +-then +- . $settings +-else +- echo +- echo "Error: no config.sh/scotch settings" +- echo +-fi +- +-echo +-echo ======================================== +-echo "Scotch decomposition ($SCOTCH_VERSION)" +-echo " $SCOTCH_ARCH_PATH" +- +-SCOTCH_SOURCE_DIR=$sourceBASE/$SCOTCH_VERSION +- +-# Needs generalizing, but works fairly well +-scotchMakefile=etc/makeFiles/scotch/Makefile.inc.OpenFOAM-"$(uname -s)".shlib +- +-[ -f $scotchMakefile ] || \ +- scotchMakefile=${scotchMakefile%/*}/Makefile.inc.OpenFOAM-Linux.shlib +- +-if [ -f $SCOTCH_ARCH_PATH/include/scotch.h \ +- -a -r $FOAM_EXT_LIBBIN/libscotch.$SO \ +- -a -r $FOAM_EXT_LIBBIN/libscotcherrexit.$SO ] +-then +- echo " scotch include: $SCOTCH_ARCH_PATH/include" +- echo " scotch library: $FOAM_EXT_LIBBIN" +-elif [ -d "$SCOTCH_SOURCE_DIR" ] +-then +-( +- # Older versions ok, but scotch-6.0.5a cannot build in parallel. +- # Force serial build +- export WM_NCOMPPROCS=1 +- echo "*** building scotch in serial ***" +- echo +- +- cd $SCOTCH_SOURCE_DIR/src || exit 1 +- export GIT_DIR=$SCOTCH_SOURCE_DIR/.git # Mask seeing our own git-repo +- rm -rf $SCOTCH_ARCH_PATH +- +- applyPatch $SCOTCH_VERSION .. # patch at parent-level +- +- prefixDIR=$SCOTCH_ARCH_PATH +- incDIR=$SCOTCH_ARCH_PATH/include +- libDIR=$FOAM_EXT_LIBBIN +- +- mkdir -p $prefixDIR 2>/dev/null +- mkdir -p $incDIR 2>/dev/null +- mkdir -p $libDIR 2>/dev/null +- +- # Makefile relative to this directory +- scotchMakefile=../../$scotchMakefile +- +- if [ -f $scotchMakefile ] +- then +- rm -f Makefile.inc +- ln -s $scotchMakefile Makefile.inc +- fi +- [ -f Makefile.inc ] || { +- echo " Error: scotch needs an appropriate Makefile.inc" +- exit 1 +- } +- +- export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC) +- export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc +- +- # Consistency for Intel-MPI and non-icc compilers +- [ -n "$I_MPI_CC" ] || export I_MPI_CC="${CC:-$WM_CC}" +- +- make realclean 2>/dev/null # Extra safety +- make -j $WM_NCOMPPROCS scotch \ +- && make \ +- prefix=$prefixDIR \ +- includedir=$incDIR \ +- libdir=$libDIR \ +- install +- +- make realclean 2>/dev/null || true # Failed cleanup is uncritical +-) || warnBuildIssues SCOTCH +-else +- warnNotFound SCOTCH +-fi +- +-# Build ptscotch if MPI (ThirdParty or system) is available +-# and normal scotch was built (has include and library) +-if [ "${FOAM_MPI:-dummy}" != dummy ] && \ +- [ -f $SCOTCH_ARCH_PATH/include/scotch.h \ +- -a -r $FOAM_EXT_LIBBIN/libscotch.$SO ] || \ +-{ +- # Report that the above tests failed and pass-through the failure +- echo +- echo " WARNING: skipping pt-scotch - no mpi or <scotch.h> not found" +- false +-} +-then +- echo +- echo ======================================== +- echo "pt-scotch decomposition ($SCOTCH_VERSION with $FOAM_MPI)" +- echo " $SCOTCH_ARCH_PATH" +- +- if [ -f $SCOTCH_ARCH_PATH/include/$FOAM_MPI/ptscotch.h \ +- -a -r $FOAM_EXT_LIBBIN/$FOAM_MPI/libptscotch.$SO \ +- -a -r $FOAM_EXT_LIBBIN/$FOAM_MPI/libptscotcherrexit.$SO ] +- then +- echo " ptscotch include: $SCOTCH_ARCH_PATH/include/$FOAM_MPI" +- echo " ptscotch library: $FOAM_EXT_LIBBIN/$FOAM_MPI" +- else +- ( +- # Older versions ok, but scotch-6.0.5a cannot build in parallel. +- # Force serial build +- export WM_NCOMPPROCS=1 +- echo "*** building pt-scotch in serial ***" +- +- cd $SCOTCH_SOURCE_DIR/src || exit 1 +- export GIT_DIR=$SCOTCH_SOURCE_DIR/.git # Mask seeing our own git-repo +- echo +- +- prefixDIR=$SCOTCH_ARCH_PATH +- incDIR=$SCOTCH_ARCH_PATH/include/$FOAM_MPI +- libDIR=$FOAM_EXT_LIBBIN/$FOAM_MPI +- +- mkdir -p $prefixDIR 2>/dev/null +- mkdir -p $incDIR 2>/dev/null +- mkdir -p $libDIR 2>/dev/null +- +- if [ -f $scotchMakefile ] +- then +- rm -f Makefile.inc +- ln -s $scotchMakefile Makefile.inc +- fi +- [ -f Makefile.inc ] || { +- echo " Error: ptscotch needs an appropriate Makefile.inc" +- exit 1 +- } +- +- export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC) +- export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc +- +- # Consistency for Intel-MPI and non-icc compilers +- [ -n "$I_MPI_CC" ] || export I_MPI_CC="${CC:-$WM_CC}" +- +- make realclean 2>/dev/null # Extra safety +- make -j $WM_NCOMPPROCS ptscotch \ +- && make \ +- prefix=$prefixDIR \ +- includedir=$incDIR \ +- libdir=$libDIR \ +- install +- +- make realclean 2>/dev/null || true # Failed cleanup is uncritical +- ) || warnBuildIssues PTSCOTCH +- fi +- +- # Verify existence of ptscotch include +- [ -f $SCOTCH_ARCH_PATH/include/$FOAM_MPI/ptscotch.h ] || { +- echo +- echo " WARNING: required include file 'ptscotch.h' not found!" +- } +-fi +- +-# Could now remove $SCOTCH_SOURCE_DIR/src/Makefile.inc +- +- + #------------------------------------------------------------------------------ + + echo +@@ -258,45 +92,44 @@ + fi + + #------------------------------------------------------------------------------ +-echo +-echo ======================================== +- ++#echo ++#echo ======================================== + # Get METIS_ARCH_PATH +-if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/metis) +-then +- . $settings +-fi +-if [ -n "$METIS_ARCH_PATH" ] +-then +- echo Metis decomposition +- ./makeMETIS -test "$METIS_ARCH_PATH" || \ +- ./makeMETIS || warnBuildIssues METIS +-else +- warnNotFound METIS # METIS is optional +-fi ++#if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/metis) ++#then ++# . $settings ++#fi ++#if [ -n "$METIS_ARCH_PATH" ] ++#then ++# echo Metis decomposition ++# ./makeMETIS -test "$METIS_ARCH_PATH" || \ ++# ./makeMETIS || warnBuildIssues METIS ++#else ++# warnNotFound METIS # METIS is optional ++#fi + + #------------------------------------------------------------------------------ +-echo +-echo ======================================== +-if [ -n "$CGAL_ARCH_PATH" ] +-then +- echo "CGAL/boost" +- ./makeCGAL -test "$CGAL_ARCH_PATH" "$BOOST_ARCH_PATH" || \ +- ./makeCGAL || warnBuildIssues CGAL +-else +- warnNotFound CGAL # CGAL is optional +-fi +- +-echo +-echo ======================================== +-if [ -n "$FFTW_ARCH_PATH" ] +-then +- echo FFTW +- ./makeFFTW -test "$FFTW_ARCH_PATH" || \ +- ./makeFFTW || warnBuildIssues FFTW +-else +- warnNotFound FFTW # FFTW is optional +-fi ++#echo ++#echo ======================================== ++#if [ -n "$CGAL_ARCH_PATH" ] ++#then ++# echo "CGAL/boost" ++# ./makeCGAL -test "$CGAL_ARCH_PATH" "$BOOST_ARCH_PATH" || \ ++# ./makeCGAL || warnBuildIssues CGAL ++#else ++# warnNotFound CGAL # CGAL is optional ++#fi ++ ++#echo ++#echo ======================================== ++#if [ -n "$FFTW_ARCH_PATH" ] ++#then ++# echo FFTW ++# ./makeFFTW -test "$FFTW_ARCH_PATH" || \ ++# ./makeFFTW || warnBuildIssues FFTW ++#else ++# warnNotFound FFTW # FFTW is optional ++#fi + + echo + echo ======================================== diff --git a/Golden_Repo/q/Qiskit/Qiskit-0.23.2-gpsmkl-2020-Python-3.8.5.eb b/Golden_Repo/q/Qiskit/Qiskit-0.23.5-gpsmkl-2020-Python-3.8.5.eb similarity index 74% rename from Golden_Repo/q/Qiskit/Qiskit-0.23.2-gpsmkl-2020-Python-3.8.5.eb rename to Golden_Repo/q/Qiskit/Qiskit-0.23.5-gpsmkl-2020-Python-3.8.5.eb index 63a6c00b663a0e36af60a5d7cceae825b305f74c..27e3663f6bf5236803eadd472e6608f42026d9b6 100644 --- a/Golden_Repo/q/Qiskit/Qiskit-0.23.2-gpsmkl-2020-Python-3.8.5.eb +++ b/Golden_Repo/q/Qiskit/Qiskit-0.23.5-gpsmkl-2020-Python-3.8.5.eb @@ -1,9 +1,9 @@ easyblock = 'PythonBundle' name = 'Qiskit' -version = '0.23.2' +version = '0.23.5' versionsuffix = '-Python-%(pyver)s' -local_aerver = '0.7.0' # version of qiskit-aer +local_aerver = '0.7.4' # version of qiskit-aer homepage = 'https://qiskit.org' description = """Qiskit is an open-source framework for working with noisy quantum computers @@ -29,6 +29,10 @@ dependencies = [ ('CVXOPT', '1.2.5', versionsuffix), ('h5py', '2.10.0', '-serial' + versionsuffix), ('PySCF', '1.7.1', versionsuffix), + ('pybind11', '2.5.0', versionsuffix), # for qiskit-aer + ('nlohmann-json', '3.9.1'), # for qiskit-aer + ('spdlog', '1.8.2'), # for qiskit-aer + ('muparserx', '4.0.8'), # for qiskit-aer ] local_common_opts = { @@ -36,6 +40,9 @@ local_common_opts = { 'req_py_minver': '0' } +# qiskit-aer must not use CONAN to install dependencies +modextravars = {'DISABLE_CONAN': 'YES'} + exts_default_options = { 'source_urls': [PYPI_SOURCE], 'use_pip': True, @@ -65,24 +72,31 @@ exts_list = [ ('pylatexenc', '1.5', dict(list(local_common_opts.items()) + [ ('checksums', [('sha256', 'ef2d5260c38e2cb4d2829e8b918914a558557820d4f57cb6588a81e827de2bb3')]), ])), - ('qiskit-terra', '0.16.0', dict(list(local_common_opts.items()) + [ + ('qiskit-terra', '0.16.4', dict(list(local_common_opts.items()) + [ ('patches', ['qiskit-terra-0.9.0_fix-qiskit-version-env.patch']), ('checksums', [( - # qiskit-terra-0.16.0.tar.gz - ('sha256', 'd0cba3aa7531a316429275ac11f3380c19c2014b376e3f9bac93f7037c1b426b'), + # qiskit-terra-0.16.4.tar.gz + ('sha256', '2322e7e8d5a208c649432304f494bf73c4a4ce2f852128125fbaf9dbed1c1538'), # qiskit-terra-0.9.0_fix-qiskit-version-env.patch ('sha256', 'a297f338a97f956513d849286087bab5508301e214054d07482efc90a5ab1b74'), )]), ('modulename', 'qiskit.qobj'), ])), + # retworkx installs `setuptools-rust`, if we do not + ('semantic_version', '2.8.5', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'd2cb2de0558762934679b9a104e82eca7af448c9f4974d1f3eeccff651df8a54')]), + ])), + ('setuptools-rust', '0.11.6', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'a5b5954909cbc5d66b914ee6763f81fa2610916041c7266105a469f504a7c4ca')]), + ])), ('retworkx', '0.7.2', dict(list(local_common_opts.items()) + [ ('checksums', [('sha256', '3fcd08031b743766935e01696c01545a24d1ef16c854333ba835c96a66eb76a9')]), ])), ('fastjsonschema', '2.14.5', dict(list(local_common_opts.items()) + [ ('checksums', [('sha256', 'afbc235655f06356e46caa80190512e4d9222abfaca856041be5a74c665fa094')]), ])), - ('qiskit-ignis', '0.5.0', dict(list(local_common_opts.items()) + [ - ('checksums', [('sha256', 'fd7d704bd37481e2c9e627bc00531afbb3123c376229ab0c4f89a12f64984ad3')]), + ('qiskit-ignis', '0.5.2', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'ca0eca5ad265388b1cd8914ceb31c50a6101f4b2de634553dcb2b5c9e122c840')]), ('modulename', 'qiskit.ignis'), ])), ('fastdtw', '0.3.4', dict(list(local_common_opts.items()) + [ @@ -106,11 +120,8 @@ exts_list = [ ('Quandl', '3.5.0', dict(list(local_common_opts.items()) + [ ('checksums', [('sha256', 'c3a9fc5ec1b585eeacd97531454e7795dde7a072c057f21335e5918cb905fc7e')]), ])), - ('jsonschema', '2.6.0', dict(list(local_common_opts.items()) + [ - ('checksums', [('sha256', '6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02')]), - ])), # part of Python module in version 3.0.1, but sanity check fails if package used from Python dependency - ('qiskit-aqua', '0.8.0', dict(list(local_common_opts.items()) + [ - ('checksums', [('a235aa92f6c71b885591d22f34b43876a466c7af6e1918c260d2640f1c459c7b')]), + ('qiskit-aqua', '0.8.2', dict(list(local_common_opts.items()) + [ + ('checksums', [('bea761485826bb3858b3b446571b944dd4c6689f81f16ad96ff8a317b35613c6')]), ('modulename', 'qiskit.aqua'), ])), ('websockets', '7.0', dict(list(local_common_opts.items()) + [ @@ -122,20 +133,20 @@ exts_list = [ ('requests_ntlm', '1.1.0', dict(list(local_common_opts.items()) + [ ('checksums', [('sha256', '9189c92e8c61ae91402a64b972c4802b2457ce6a799d658256ebf084d5c7eb71')]), ])), - ('nest-asyncio', '1.0.0', dict(list(local_common_opts.items()) + [ - ('source_tmpl', 'nest_asyncio-%(version)s.tar.gz'), - ('checksums', [('sha256', 'bd1cb7df2ea979e57d8ad02493ad85f9afbf1fcea3dfe34239da8c0dda98087e')]), + ('nest_asyncio', '1.4.3', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'eaa09ef1353ebefae19162ad423eef7a12166bcc63866f8bff8f3635353cd9fa')]), ])), - ('qiskit-ibmq-provider', '0.11.0', dict(list(local_common_opts.items()) + [ - ('checksums', [('sha256', '429012832bdc6eac4a4acb4e9e55b37fba5213794b960d98c68508e6bb096623')]), + ('qiskit-ibmq-provider', '0.11.1', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '7e8b93cf12963c46989fac6d1540346a9fb1bc8f5768b2d64e8b1c6714a9c0de')]), ('modulename', 'qiskit.providers.ibmq'), ])), ('qiskit-aer', local_aerver, dict(list(local_common_opts.items()) + [ - ('checksums', [('sha256', 'ed8d1836e16d2db8bcea8ce55a836705e2eeb05dd6d55f6c66a7641bcb95b49e')]), + ('checksums', [('sha256', '0fec1fa3d528cc8e9de13713cb243fe40a98c60dc27111b479f1df707d9c03a4')]), ('modulename', 'qiskit.providers.aer'), ])), + # (possible addition in future) qiskit-aer-gpu == qiskit-aer+CUDA ('qiskit', version, dict(list(local_common_opts.items()) + [ - ('checksums', [('sha256', '1593b142d64c9cb3c158ec20f2721006a09af831abf218b348775a2684218254')]), + ('checksums', [('sha256', '6529ef7738c85341fb1008c33ca84111a6bc1de3c9072aae36206848550d0091')]), ])), ] diff --git a/Golden_Repo/s/SoX/SoX-14.4.2-GCCcore-9.3.0.eb b/Golden_Repo/s/SoX/SoX-14.4.2-GCCcore-9.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..18a9acd580e17512f08f6b3fff7186aea426d971 --- /dev/null +++ b/Golden_Repo/s/SoX/SoX-14.4.2-GCCcore-9.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'SoX' +version = '14.4.2' + +homepage = 'https://sourceforge.net/projects/sox' +description = """SoX is the Swiss Army Knife of sound processing utilities. It can convert audio files + to other popular audio file types and also apply sound effects and filters during the conversion.""" + +site_contacts = 'a.strube@fz-juelich.de' + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c'] + +builddependencies = { + ('binutils', '2.34') +} + +sanity_check_paths = { + 'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h', + 'lib/libsox.a', 'lib/libsox.%s' % SHLIB_EXT, 'lib/pkgconfig/sox.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/s/spdlog/spdlog-1.8.2-GCCcore-9.3.0.eb b/Golden_Repo/s/spdlog/spdlog-1.8.2-GCCcore-9.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..ba5d0faeeb93c8025ccdc280286cfd3c80f9c751 --- /dev/null +++ b/Golden_Repo/s/spdlog/spdlog-1.8.2-GCCcore-9.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.8.2' + +homepage = "https://github.com/gabime/spdlog" +description = """Very fast, header-only/compiled, C++ logging library. +""" + +site_contacts = 'j.goebbert@fz-juelich.de' + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gabime/spdlog/archive/'] +sources = ['v%(version)s.tar.gz'] + +builddependencies = [ + ('CMake', '3.18.0'), + ('binutils', '2.34') +] + +sanity_check_paths = { + 'files': [], + 'dirs': [('include', 'lib64')] +} diff --git a/Golden_Repo/t/TensorFlow/TensorFlow-2.3.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/t/TensorFlow/TensorFlow-2.3.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb index 9a55c28c37c3eafc4ca9b2049a1237e2c1823d32..3a91cdbed7662d561c0cfe536ce5dabdd7586078 100644 --- a/Golden_Repo/t/TensorFlow/TensorFlow-2.3.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb +++ b/Golden_Repo/t/TensorFlow/TensorFlow-2.3.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb @@ -90,9 +90,6 @@ exts_list = [ ('google-auth-oauthlib', '0.4.1', { 'checksums': ['88d2cd115e3391eb85e1243ac6902e76e77c5fe438b7276b297fbe68015458dd'], }), - ('Werkzeug', '1.0.1', { - 'checksums': ['6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c'], - }), ('absl-py', '0.10.0', { 'modulename': 'absl', 'checksums': ['b20f504a7871a580be5268a18fbad48af4203df5d33dbc9272426cb806245a45'], diff --git a/Golden_Repo/t/torchaudio/torchaudio-0.7.2-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/t/torchaudio/torchaudio-0.7.2-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb new file mode 100644 index 0000000000000000000000000000000000000000..63cd0885e697808dfc24a73bdbfdb6f89fc32613 --- /dev/null +++ b/Golden_Repo/t/torchaudio/torchaudio-0.7.2-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'torchaudio' +version = '0.7.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/pytorch/audio' +description = """ Data manipulation and transformation for audio signal +processing, powered by PyTorch """ + +toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'} + +site_contacts = 'a.strube@fz-juelich.de' + +source_urls = ['https://github.com/pytorch/audio/archive'] +sources = ['v%(version)s.tar.gz'] + + +dependencies = [ + ('Python', '3.8.5'), + ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')), + ('PyTorch', '1.7.0', versionsuffix), + ('SoX', '14.4.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/Golden_Repo/x/XServer/XServer-1.20.9-GCCcore-9.3.0.eb b/Golden_Repo/x/XServer/XServer-1.20.9-GCCcore-9.3.0.eb index 50732d1291bf02a24ec300c53e8cb4710322bc96..17064282b0de7005fcc841dec6da3650fed4c621 100644 --- a/Golden_Repo/x/XServer/XServer-1.20.9-GCCcore-9.3.0.eb +++ b/Golden_Repo/x/XServer/XServer-1.20.9-GCCcore-9.3.0.eb @@ -45,6 +45,23 @@ dependencies = [ ('eudev', '3.2.9'), ] +local_font_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +# https://github.com/freedesktop/xorg-xserver/blob/master/meson_options.txt +local_xorg_configopts = "-D default_font_path=%(installdir)s/share/fonts/X11 " +local_xorg_configopts += "-D xorg=true " +local_xorg_configopts += "-D xvfb=true " +local_xorg_configopts += "-D xnest=true " +local_xorg_configopts += "-D xephyr=true " +local_xorg_configopts += "-D dmx=true " +local_xorg_configopts += "-D udev=true " +local_xorg_configopts += "-D glamor=true " +local_xorg_configopts += "-D systemd_logind=false " +# local_xorg_configopts += "-D suid_wrapper=true " +local_xorg_configopts += "-D xkb_dir=%(installdir)s/share/X11/xkb " +# local_xorg_configopts += "-D xkb_output_dir=/var/lib/xkb " + default_easyblock = 'ConfigureMake' default_component_specs = { @@ -53,19 +70,6 @@ default_component_specs = { } components = [ - ('xorg-server', version, { - 'easyblock': 'MesonNinja', - 'checksums': [('sha256', '067c348fe1a86a1924010354c1c7cf1eaa9e43866e48540aa56a465f2a341ddc')], - }), - ('xf86-video-dummy', '0.3.8', { - 'preconfigopts': 'PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%(installdir)s/lib/pkgconfig', - 'checksums': [('sha256', 'ee5ad51e80c8cc90d4c76ac3dec2269a3c769f4232ed418b29d60d618074631b')], - 'patches': [ - '0002-Constant-DPI.patch', - '0003-fix-pointer-limits.patch', - '0005-support-for-30-bit-depth-in-dummy-driver.patch' - ], - }), ('fontconfig-config', '1.0.0', { 'easyblock': 'Binary', 'source_urls': ['https://gitlab.version.fz-juelich.de/goebbert1/fontconfig-config/-/archive/v%(version)s/'], @@ -79,15 +83,17 @@ components = [ 'checksums': [('sha256', '68544c183d153f34105fa08573174650bfe643a6d750bd9da4accac399d375db')], # to activate this fontconfig you need to export FONTCONFIG_FILE=${EBROOTXSERVER}/config/fontconfig/fonts.conf }), - ('dejavu', '2.37', { - 'easyblock': 'Binary', - 'source_urls': [SOURCEFORGE_SOURCE], - 'sources': ['%(name)s-fonts-ttf-%(version)s.tar.bz2'], - 'extract_sources': True, - 'start_dir': 'dejavu-fonts-ttf-2.37', - 'install_cmd': ('install -v -d -m755 %(installdir)s/share/fonts/dejavu && ' - 'install -v -m644 ttf/*.ttf %(installdir)s/share/fonts/dejavu'), - 'checksums': [('sha256', 'fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7')], + ('mkfontscale', '1.2.1', { + 'source_urls': ['https://www.x.org/archive//individual/app/'], + 'checksums': ['e5b687029e44d0bd3ccd254a4da6a5cbfc40350aa8b43fcca16ef6e9b9bb9f22'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive//individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive//individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], }), ('font-util', '1.3.2', { 'source_urls': ['https://www.x.org/pub/individual/font/'], @@ -104,60 +110,113 @@ components = [ 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', '49525fa6f2c3f3b54f461b2e0649b0ac61af50c36bf40069355a25ced8ce2028')], }), + ('dejavu', '2.37', { + 'easyblock': 'Binary', + 'source_urls': [SOURCEFORGE_SOURCE], + 'sources': ['%(name)s-fonts-ttf-%(version)s.tar.bz2'], + 'extract_sources': True, + 'start_dir': 'dejavu-fonts-ttf-2.37', + 'install_cmd': ('install -v -d -m755 %(installdir)s/share/fonts/dejavu && ' + 'install -v -m644 ttf/*.ttf %(installdir)s/share/fonts/dejavu'), + 'checksums': [('sha256', 'fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7')], + 'preconfigopts': local_font_preconfigopts, + }), ('font-adobe-75dpi', '1.0.3', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', '61eb1fcfec89f7435cb92cd68712fbe4ba412ca562b1f5feec1f6daa1b8544f6')], + 'preconfigopts': local_font_preconfigopts, }), ('font-adobe-100dpi', '1.0.3', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', '97d9c1e706938838e4134d74f0836ae9d9ca6705ecb405c9a0ac8fdcbd9c2159')], + 'preconfigopts': local_font_preconfigopts, }), ('font-cursor-misc', '1.0.3', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', 'a0b146139363dd0a704c7265ff9cd9150d4ae7c0d248091a9a42093e1618c427')], + 'preconfigopts': local_font_preconfigopts, }), ('font-adobe-utopia-type1', '1.0.4', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', 'd9e86a8805b0fb78222409169d839a8531a1f5c7284ee117ff2a0af2e5016c3f')], + 'preconfigopts': local_font_preconfigopts, }), ('font-misc-misc', '1.1.2', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', '46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829')], + 'preconfigopts': local_font_preconfigopts, }), ('font-bh-ttf', '1.0.3', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', 'c583b4b968ffae6ea30d5b74041afeac83126682c490a9624b770d60d0e63d59')], + 'preconfigopts': local_font_preconfigopts, }), ('font-bh-type1', '1.0.3', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', 'd5602f1d749ccd31d3bc1bb6f0c5d77400de0e5e3ac5abebd2a867aa2a4081a4')], + 'preconfigopts': local_font_preconfigopts, }), ('font-ibm-type1', '1.0.3', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', '4509703e9e581061309cf4823bffd4a93f10f48fe192a1d8be1f183fd6ab9711')], + 'preconfigopts': local_font_preconfigopts, }), ('font-misc-ethiopic', '1.0.4', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', 'f7901250fb746815065cfe13a814d92260348fede28d61dcab0d05c5d8eafd54')], + 'preconfigopts': local_font_preconfigopts, }), ('font-xfree86-type1', '1.0.4', { 'source_urls': ['https://www.x.org/pub/individual/font/'], 'sources': ['%(name)s-%(version)s.tar.gz'], 'checksums': [('sha256', '02b3839ae79ba6a7750525bb3b0c281305664b95bf63b4a0baa230a277b4f928')], + 'preconfigopts': local_font_preconfigopts, + }), + ('xkbcomp', '1.4.4', { + 'source_urls': ['https://www.x.org/archive//individual/app/'], + 'checksums': ['159fba6b62ef4a3fb16ef7fc4eb4fc26f3888652471ceb604c495783dda020bc'], + }), + ('xkeyboard-config', '2.31', { + 'source_urls': ['https://www.x.org/archive//individual/data/xkeyboard-config/'], + 'checksums': ['5ac6b5b661aeb9d0ea84ad961cbbdd8fdf2503d6e8ca65ca1b1c5d9aea2ddc52'], + 'configopts': '--with-xkb-rules-symlink=xorg', + }), + ('xauth', '1.1', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['e9fce796c8c5c9368594b9e8bbba237fb54b6615f5fd60e8d0a5b3c52a92c5ef'], + }), + ('xorg-server', version, { + 'easyblock': 'MesonNinja', + 'patches': [('xvfb-run', '.')], + 'checksums': [ + ('sha256', '067c348fe1a86a1924010354c1c7cf1eaa9e43866e48540aa56a465f2a341ddc'), + ('sha256', 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8'), + ], + 'configopts': local_xorg_configopts, + }), + ('xf86-video-dummy', '0.3.8', { + 'preconfigopts': 'PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%(installdir)s/lib/pkgconfig', + 'checksums': [('sha256', 'ee5ad51e80c8cc90d4c76ac3dec2269a3c769f4232ed418b29d60d618074631b')], + 'patches': [ + '0002-Constant-DPI.patch', + '0003-fix-pointer-limits.patch', + '0005-support-for-30-bit-depth-in-dummy-driver.patch' + ], }), ('xterm', '362', { 'source_urls': ['http://invisible-mirror.net/archives/xterm/'], 'sources': ['%(name)s-%(version)s.tgz'], 'checksums': [('sha256', '1d4ffe226fa8f021859bbc3007788ff63a46a31242d9bd9a7bd7ebe24e81aca2')], + 'patches': ['xterm-cursesloc.patch'], 'configopts': " --with-app-defaults=${EBROOTX11}/app-defaults ", }), ] @@ -165,8 +224,12 @@ components = [ # we need to set the permissions our self to ensure no-one messes in this directory # FIXME: easybuild does not support this in 4.3.0 -> hence you have to do it manually skipsteps = ['permissions'] -postinstallcmds = ['chmod -R ugo-w %(installdir)s/config', # avoid that anyone ever writes here - apps love to use it - 'chmod -R ugo-w %(installdir)s/share'] +postinstallcmds = [ + 'chmod -R ugo-w %(installdir)s/config', + 'chmod -R ugo-w %(installdir)s/share', + 'cp -a %(builddir)s/xorg-server-%(version)s/xvfb-run %(installdir)s/bin/', + 'chmod u+x %(installdir)s/bin/xvfb-run', +] modextrapaths = {'XDG_CONFIG_DIRS': 'config'} @@ -174,10 +237,15 @@ modextrapaths = {'XDG_CONFIG_DIRS': 'config'} modextravars = {'FONTCONFIG_FILE': '%(installdir)s/config/fontconfig/fonts.conf'} sanity_check_paths = { - 'files': ['bin/Xorg', 'bin/Xvfb', + 'files': ['bin/Xorg', 'bin/Xvfb', 'bin/xvfb-run', 'lib/xorg/modules/drivers/dummy_drv.la', 'lib/xorg/modules/drivers/dummy_drv.so', 'bin/xterm'], 'dirs': [], } +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + moduleclass = 'vis' diff --git a/Golden_Repo/x/XServer/xterm-cursesloc.patch b/Golden_Repo/x/XServer/xterm-cursesloc.patch new file mode 100644 index 0000000000000000000000000000000000000000..033c2776b7838ae1907a69f31d75d7ce7d28175f --- /dev/null +++ b/Golden_Repo/x/XServer/xterm-cursesloc.patch @@ -0,0 +1,12 @@ +diff -Naur xterm-362.orig/xtermcap.h xterm-362/xtermcap.h +--- xterm-362.orig/xtermcap.h 2013-06-23 17:34:37.000000000 +0200 ++++ xterm-362/xtermcap.h 2021-02-16 14:00:48.976219215 +0100 +@@ -59,7 +59,7 @@ + #undef ERR /* workaround for glibc 2.1.3 */ + + #ifdef HAVE_NCURSES_CURSES_H +-#include <ncurses/curses.h> ++#include <curses.h> + #else + #include <curses.h> + #endif diff --git a/Golden_Repo/x/XServer/xvfb-run b/Golden_Repo/x/XServer/xvfb-run new file mode 100644 index 0000000000000000000000000000000000000000..237e0dfc5938430d50fe8d30fde1b6defa9c6e42 --- /dev/null +++ b/Golden_Repo/x/XServer/xvfb-run @@ -0,0 +1,194 @@ +#!/bin/sh + +# extracted from Debian package for xorg-server, +# via http://deb.debian.org/debian/pool/main/x/xorg-server/xorg-server_1.20.4-1.diff.gz + +# This script starts an instance of Xvfb, the "fake" X server, runs a command +# with that server available, and kills the X server when done. The return +# value of the command becomes the return value of this script. +# +# If anyone is using this to build a Debian package, make sure the package +# Build-Depends on xvfb and xauth. + +set -e + +PROGNAME=xvfb-run +SERVERNUM=99 +AUTHFILE= +ERRORFILE=/dev/null +XVFBARGS="-screen 0 1280x1024x24" +LISTENTCP="-nolisten tcp" +XAUTHPROTO=. + +# Query the terminal to establish a default number of columns to use for +# displaying messages to the user. This is used only as a fallback in the event +# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the +# script is running, and this cannot, only being calculated once.) +DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true +case "$DEFCOLUMNS" in + *[!0-9]*|'') DEFCOLUMNS=80 ;; +esac + +# Display a message, wrapping lines at the terminal width. +message () { + echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} +} + +# Display an error message. +error () { + message "error: $*" >&2 +} + +# Display a usage message. +usage () { + if [ -n "$*" ]; then + message "usage error: $*" + fi + cat <<EOF +Usage: $PROGNAME [OPTION ...] COMMAND +Run COMMAND (usually an X client) in a virtual X server environment. +Options: +-a --auto-servernum try to get a free server number, starting at + --server-num +-e FILE --error-file=FILE file used to store xauth errors and Xvfb + output (default: $ERRORFILE) +-f FILE --auth-file=FILE file used to store auth cookie + (default: ./.Xauthority) +-h --help display this usage message and exit +-n NUM --server-num=NUM server number to use (default: $SERVERNUM) +-l --listen-tcp enable TCP port listening in the X server +-p PROTO --xauth-protocol=PROTO X authority protocol name to use + (default: xauth command's default) +-s ARGS --server-args=ARGS arguments (other than server number and + "-nolisten tcp") to pass to the Xvfb server + (default: "$XVFBARGS") +EOF +} + +# Find a free server number by looking at .X*-lock files in /tmp. +find_free_servernum() { + # Sadly, the "local" keyword is not POSIX. Leave the next line commented in + # the hope Debian Policy eventually changes to allow it in /bin/sh scripts + # anyway. + #local i + + i=$SERVERNUM + while [ -f /tmp/.X$i-lock ]; do + i=$(($i + 1)) + done + echo $i +} + +# Clean up files +clean_up() { + if [ -e "$AUTHFILE" ]; then + XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1 + fi + if [ -n "$XVFB_RUN_TMPDIR" ]; then + if ! rm -r "$XVFB_RUN_TMPDIR"; then + error "problem while cleaning up temporary directory" + exit 5 + fi + fi + if [ -n "$XVFBPID" ]; then + kill "$XVFBPID" >>"$ERRORFILE" 2>&1 + fi +} + +# Parse the command line. +ARGS=$(getopt --options +ae:f:hn:lp:s:w: \ + --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \ + --name "$PROGNAME" -- "$@") +GETOPT_STATUS=$? + +if [ $GETOPT_STATUS -ne 0 ]; then + error "internal error; getopt exited with status $GETOPT_STATUS" + exit 6 +fi + +eval set -- "$ARGS" + +while :; do + case "$1" in + -a|--auto-servernum) SERVERNUM=$(find_free_servernum); AUTONUM="yes" ;; + -e|--error-file) ERRORFILE="$2"; shift ;; + -f|--auth-file) AUTHFILE="$2"; shift ;; + -h|--help) SHOWHELP="yes" ;; + -n|--server-num) SERVERNUM="$2"; shift ;; + -l|--listen-tcp) LISTENTCP="" ;; + -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;; + -s|--server-args) XVFBARGS="$2"; shift ;; + -w|--wait) shift ;; + --) shift; break ;; + *) error "internal error; getopt permitted \"$1\" unexpectedly" + exit 6 + ;; + esac + shift +done + +if [ "$SHOWHELP" ]; then + usage + exit 0 +fi + +if [ -z "$*" ]; then + usage "need a command to run" >&2 + exit 2 +fi + +if ! command -v xauth >/dev/null; then + error "xauth command not found" + exit 3 +fi + +# tidy up after ourselves +trap clean_up EXIT + +# If the user did not specify an X authorization file to use, set up a temporary +# directory to house one. +if [ -z "$AUTHFILE" ]; then + XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)" + AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority" + # Create empty file to avoid xauth warning + touch "$AUTHFILE" +fi + +# Start Xvfb. +MCOOKIE=$(mcookie) +tries=10 +while [ $tries -gt 0 ]; do + tries=$(( $tries - 1 )) + XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1 +add :$SERVERNUM $XAUTHPROTO $MCOOKIE +EOF + # handle SIGUSR1 so Xvfb knows to send a signal when it's ready to accept + # connections + trap : USR1 + (trap '' USR1; exec Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP -auth $AUTHFILE >>"$ERRORFILE" 2>&1) & + XVFBPID=$! + + wait || : + if kill -0 $XVFBPID 2>/dev/null; then + break + elif [ -n "$AUTONUM" ]; then + # The display is in use so try another one (if '-a' was specified). + SERVERNUM=$((SERVERNUM + 1)) + SERVERNUM=$(find_free_servernum) + continue + fi + error "Xvfb failed to start" >&2 + XVFBPID= + exit 1 +done + +# Start the command and save its exit status. +set +e +DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" +RETVAL=$? +set -e + +# Return the executed command's exit status. +exit $RETVAL + +# vim:set ai et sts=4 sw=4 tw=80: