diff --git a/Custom_EasyBlocks/README.md b/Custom_EasyBlocks/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..7769f5d8f1f46a63cbb269372591a8c7305daed2
--- /dev/null
+++ b/Custom_EasyBlocks/README.md
@@ -0,0 +1,11 @@
+# Custom EasyBlocks
+
+Overview of the custom EasyBlocks.
+
+
+## Quantum ESPRESSO
+
+- __*added by*__ s.achilles
+- __*needed because*__ Installation with GCC 9.x required a change in the EasyBlock.
+- __*difference compared to upstream*__ Upstream EasyBlocks 4.3.3 reflects this change as well as support for GCC 10.
+- __*can be removed*__ when we upgread EasyBlocks 4.3.3+
diff --git a/Custom_EasyBlocks/nvhpc.py b/Custom_EasyBlocks/nvhpc.py
index e78fbf86409d1c5c604fd0178239378a1f28a9c2..a701a17c871e9f131dac416b74c02dfbab3d017d 100644
--- a/Custom_EasyBlocks/nvhpc.py
+++ b/Custom_EasyBlocks/nvhpc.py
@@ -1,6 +1,6 @@
 ##
 # Copyright 2015-2019 Bart Oldeman
-# Copyright 2016-2020 Forschungszentrum Juelich
+# Copyright 2016-2021 Forschungszentrum Juelich
 #
 # This file is triple-licensed under GPLv2 (see below), MIT, and
 # BSD three-clause licenses.
@@ -38,6 +38,7 @@ import fileinput
 import re
 import stat
 import sys
+import platform
 
 from easybuild.easyblocks.generic.packedbinary import PackedBinary
 from easybuild.framework.easyconfig import CUSTOM
@@ -90,12 +91,20 @@ class EB_NVHPC(PackedBinary):
         """Easyblock constructor, define custom class variables specific to NVHPC."""
         super(EB_NVHPC, self).__init__(*args, **kwargs)
 
-        # Potential improvement: get "Linux_x86_64" from easybuild.tools.systemtools' get_cpu_architecture()
-        self.nvhpc_install_subdir = os.path.join('Linux_x86_64', self.version)
+        # Ideally we should be using something like `easybuild.tools.systemtools.get_cpu_architecture` here, however,
+        # on `ppc64le` systems this function returns `POWER` instead of `ppc64le`. Since this path needs to reflect
+        # `arch` (https://easybuild.readthedocs.io/en/latest/version-specific/easyconfig_templates.html) the same
+        # procedure from `templates.py` was reused here:
+        architecture = 'Linux_%s' % platform.uname()[4]
+        self.nvhpc_install_subdir = os.path.join(architecture, self.version)
 
     def install_step(self):
         """Install by running install command."""
 
+        # EULA for NVHPC must be accepted via --accept-eula EasyBuild configuration option,
+        # or via 'accept_eula = True' in easyconfig file
+        # self.check_accepted_eula(more_info='https://docs.nvidia.com/hpc-sdk/eula/index.html')  # only supported in next EasyBuild release
+
         default_cuda_version = self.cfg['default_cuda_version']
         if default_cuda_version is None:
             module_cuda_version_full = get_software_version('CUDA')
diff --git a/Custom_EasyBlocks/vmd.py b/Custom_EasyBlocks/vmd.py
new file mode 100644
index 0000000000000000000000000000000000000000..6f8a38e280cc45ea093c9592c62b7ae8e0d5cb14
--- /dev/null
+++ b/Custom_EasyBlocks/vmd.py
@@ -0,0 +1,232 @@
+##
+# Copyright 2009-2020 Ghent University
+# Copyright 2015-2020 Stanford University
+#
+# This file is part of EasyBuild,
+# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
+# with support of Ghent University (http://ugent.be/hpc),
+# the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en),
+# the Hercules foundation (http://www.herculesstichting.be/in_English)
+# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
+#
+# https://github.com/easybuilders/easybuild
+#
+# EasyBuild is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation v2.
+#
+# EasyBuild is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
+##
+"""
+EasyBuild support for VMD, implemented as an easyblock
+
+@author: Stephane Thiell (Stanford University)
+@author: Kenneth Hoste (HPC-UGent)
+"""
+import os
+
+from distutils.version import LooseVersion
+from easybuild.easyblocks.generic.configuremake import ConfigureMake
+from easybuild.easyblocks.generic.pythonpackage import det_pylibdir
+from easybuild.tools.build_log import EasyBuildError
+from easybuild.tools.filetools import change_dir, copy_file, extract_file
+from easybuild.tools.run import run_cmd
+from easybuild.tools.modules import get_software_root, get_software_version
+import easybuild.tools.environment as env
+import easybuild.tools.toolchain as toolchain
+
+
+class EB_VMD(ConfigureMake):
+    """Easyblock for building and installing VMD"""
+
+    def __init__(self, *args, **kwargs):
+        """Initialize VMD-specific variables."""
+        super(EB_VMD, self).__init__(*args, **kwargs)
+        # source tarballs contains a 'plugins' and 'vmd-<version>' directory
+        self.vmddir = os.path.join(self.builddir, '%s-%s' % (self.name.lower(), self.version))
+        self.surf_dir = os.path.join(self.vmddir, 'lib', 'surf')
+        self.stride_dir = os.path.join(self.vmddir, 'lib', 'stride')
+
+    def extract_step(self):
+        """Custom extract step for VMD."""
+        super(EB_VMD, self).extract_step()
+
+        if LooseVersion(self.version) >= LooseVersion("1.9.3"):
+            change_dir(self.surf_dir)
+            srcdir = extract_file('surf.tar.Z', os.getcwd(), change_into_dir=False)
+            change_dir(srcdir)
+
+    def configure_step(self):
+        """
+        Configure VMD for building.
+        """
+        # make sure required dependencies are available
+        deps = {}
+        for dep in ['FLTK', 'OpenGL', 'netCDF', 'Python', 'Tcl', 'Tk']:
+            deps[dep] = get_software_root(dep)
+            if deps[dep] is None:
+                raise EasyBuildError("Required dependency %s is missing", dep)
+
+        # optional dependencies
+        for dep in ['ACTC', 'CUDA', 'OptiX']:
+            deps[dep] = get_software_root(dep)
+
+        # specify Tcl/Tk locations & libraries
+        tclinc = os.path.join(deps['Tcl'], 'include')
+        tcllib = os.path.join(deps['Tcl'], 'lib')
+        env.setvar('TCL_INCLUDE_DIR', tclinc)
+        env.setvar('TCL_LIBRARY_DIR', tcllib)
+
+        env.setvar('TK_INCLUDE_DIR', os.path.join(deps['Tk'], 'include'))
+        env.setvar('TK_LIBRARY_DIR', os.path.join(deps['Tk'], 'lib'))
+
+        tclshortver = '.'.join(get_software_version('Tcl').split('.')[:2])
+        self.cfg.update('buildopts', 'TCLLDFLAGS="-ltcl%s"' % tclshortver)
+
+        # Netcdf locations
+        netcdfinc = os.path.join(deps['netCDF'], 'include')
+        netcdflib = os.path.join(deps['netCDF'], 'lib')
+
+        # Python locations
+        pymajver = get_software_version('Python').split('.')[0]
+        out, ec = run_cmd("python -c 'import sysconfig; print(sysconfig.get_path(\"include\"))'", simple=False)
+        if ec:
+            raise EasyBuildError("Failed to determine Python include path: %s", out)
+        else:
+            env.setvar('PYTHON_INCLUDE_DIR', out.strip())
+        pylibdir = det_pylibdir()
+        python_libdir = os.path.join(deps['Python'], os.path.dirname(pylibdir))
+        env.setvar('PYTHON_LIBRARY_DIR', python_libdir)
+        out, ec = run_cmd("python%s-config --libs" % pymajver, simple=False)
+        if ec:
+            raise EasyBuildError("Failed to determine Python library name: %s", out)
+        else:
+            env.setvar('PYTHON_LIBRARIES', out.strip())
+
+        # numpy include location, easiest way to determine it is via numpy.get_include()
+        out, ec = run_cmd("python -c 'import numpy; print(numpy.get_include())'", simple=False)
+        if ec:
+            raise EasyBuildError("Failed to determine numpy include directory: %s", out)
+        else:
+            env.setvar('NUMPY_INCLUDE_DIR', out.strip())
+
+        # compiler commands
+        self.cfg.update('buildopts', 'CC="%s"' % os.getenv('CC'))
+        self.cfg.update('buildopts', 'CCPP="%s"' % os.getenv('CXX'))
+
+        # plugins need to be built first (see http://www.ks.uiuc.edu/Research/vmd/doxygen/compiling.html)
+        change_dir(os.path.join(self.builddir, 'plugins'))
+        cmd = ' '.join([
+            'make',
+            'LINUXAMD64',
+            "TCLINC='-I%s'" % tclinc,
+            "TCLLIB='-L%s'" % tcllib,
+            "TCLLDFLAGS='-ltcl%s'" % tclshortver,
+            "NETCDFINC='-I%s'" % netcdfinc,
+            "NETCDFLIB='-L%s'" % netcdflib,
+            self.cfg['buildopts'],
+        ])
+        run_cmd(cmd, log_all=True, simple=False)
+
+        # create plugins distribution
+        plugindir = os.path.join(self.vmddir, 'plugins')
+        env.setvar('PLUGINDIR', plugindir)
+        self.log.info("Generating VMD plugins in %s", plugindir)
+        run_cmd("make distrib %s" % self.cfg['buildopts'], log_all=True, simple=False)
+
+        # explicitely mention whether or not we're building with CUDA/OptiX support
+        if deps['CUDA']:
+            self.log.info("Building with CUDA %s support", get_software_version('CUDA'))
+            if deps['OptiX']:
+                self.log.info("Building with Nvidia OptiX %s support", get_software_version('OptiX'))
+            else:
+                self.log.warn("Not building with Nvidia OptiX support!")
+        else:
+            self.log.warn("Not building with CUDA nor OptiX support!")
+
+        # see http://www.ks.uiuc.edu/Research/vmd/doxygen/configure.html
+        # LINUXAMD64: Linux 64-bit
+        # LP64: build VMD as 64-bit binary
+        # IMD: enable support for Interactive Molecular Dynamics (e.g. to connect to NAMD for remote simulations)
+        # PTHREADS: enable support for POSIX threads
+        # COLVARS: enable support for collective variables (related to NAMD/LAMMPS)
+        # NOSILENT: verbose build command
+        # FLTK: enable the standard FLTK GUI
+        # TK: enable TK to support extension GUI elements
+        # OPENGL: enable OpenGL
+        self.cfg.update(
+            'configopts', "LINUXAMD64 LP64 IMD PTHREADS COLVARS NOSILENT FLTK TK OPENGL", allow_duplicate=False)
+
+        # add additional configopts based on available dependencies
+        for key in deps:
+            if deps[key]:
+                if key == 'Mesa' or key == 'OpenGL':
+                    self.cfg.update('configopts', "OPENGL MESA", allow_duplicate=False)
+                elif key == 'OptiX':
+                    self.cfg.update('configopts', "LIBOPTIX", allow_duplicate=False)
+                elif key == 'Python':
+                    self.cfg.update('configopts', "PYTHON NUMPY", allow_duplicate=False)
+                else:
+                    self.cfg.update('configopts', key.upper(), allow_duplicate=False)
+
+        # configure for building with Intel compilers specifically
+        if self.toolchain.comp_family() == toolchain.INTELCOMP:
+            self.cfg.update('configopts', 'ICC', allow_duplicate=False)
+
+        # specify install location using environment variables
+        env.setvar('VMDINSTALLBINDIR', os.path.join(self.installdir, 'bin'))
+        env.setvar('VMDINSTALLLIBRARYDIR', os.path.join(self.installdir, 'lib'))
+
+        # configure in vmd-<version> directory
+        change_dir(self.vmddir)
+        run_cmd("%s ./configure %s" % (self.cfg['preconfigopts'], self.cfg['configopts']))
+
+        # change to 'src' subdirectory, ready for building
+        change_dir(os.path.join(self.vmddir, 'src'))
+
+    def build_step(self):
+        """Custom build step for VMD."""
+        super(EB_VMD, self).build_step()
+
+        self.have_stride = False
+        # Build Surf, which is part of VMD as of VMD version 1.9.3
+        if LooseVersion(self.version) >= LooseVersion("1.9.3"):
+            change_dir(self.surf_dir)
+            surf_build_cmd = 'make CC="%s" OPT="%s"' % (os.environ['CC'], os.environ['CFLAGS'])
+            run_cmd(surf_build_cmd)
+            # Build Stride if it was downloaded
+            if os.path.exists(os.path.join(self.stride_dir, 'Makefile')):
+                change_dir(self.stride_dir)
+                self.have_stride = True
+                stride_build_cmd = 'make CC="%s" CFLAGS="%s"' % (os.environ['CC'], os.environ['CFLAGS'])
+                run_cmd(stride_build_cmd)
+            else:
+                self.log.info("Stride has not been downloaded and/or unpacked.")
+
+    def install_step(self):
+        """Custom build step for VMD."""
+
+        # Install must also be done in 'src' subdir
+        change_dir(os.path.join(self.vmddir, 'src'))
+        super(EB_VMD, self).install_step()
+
+        if LooseVersion(self.version) >= LooseVersion("1.9.3"):
+            surf_bin = os.path.join(self.surf_dir, 'surf')
+            copy_file(surf_bin, os.path.join(self.installdir, 'lib', 'surf_LINUXAMD64'))
+            if self.have_stride:
+                stride_bin = os.path.join(self.stride_dir, 'stride')
+                copy_file(stride_bin, os.path.join(self.installdir, 'lib', 'stride_LINUXAMD64'))
+
+    def sanity_check_step(self):
+        """Custom sanity check for VMD."""
+        custom_paths = {
+            'files': ['bin/vmd'],
+            'dirs': ['lib'],
+        }
+        super(EB_VMD, self).sanity_check_step(custom_paths=custom_paths)
diff --git a/Golden_Repo/a/ACTC/ACTC-1.1-GCCcore-9.3.0.eb b/Golden_Repo/a/ACTC/ACTC-1.1-GCCcore-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..0fadef8caee1892531f945a1893cf8de6c34ffea
--- /dev/null
+++ b/Golden_Repo/a/ACTC/ACTC-1.1-GCCcore-9.3.0.eb
@@ -0,0 +1,37 @@
+easyblock = 'MakeCp'
+
+name = 'ACTC'
+version = '1.1'
+
+homepage = 'https://sourceforge.net/projects/actc'
+description = "ACTC converts independent triangles into triangle strips or fans."
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = [SOURCEFORGE_SOURCE]
+sources = [SOURCELOWER_TAR_GZ]
+checksums = ['3a1303291629b9de6008c3c9d7b020a4b854802408fb3f8222ec492808c8b44d']
+
+builddependencies = [('binutils', '2.34')]
+
+buildopts = 'CC="$CC" CFLAGS="$CFLAGS"'
+
+files_to_copy = [
+    (['tcsample', 'tctest', 'tctest2'], 'bin'),
+    (['tc.h'], 'include/ac'),
+    (['libactc.a'], 'lib'),
+    'COPYRIGHT', 'manual.html', 'prims.gif', 'README',
+]
+
+sanity_check_paths = {
+    'files': ['bin/tctest', 'bin/tctest2', 'bin/tcsample', 'include/ac/tc.h', 'lib/libactc.a',
+              'COPYRIGHT', 'manual.html', 'prims.gif', 'README'],
+    'dirs': [],
+}
+
+modextrapaths = {'CPATH': 'include/ac'}
+
+moduleclass = 'lib'
diff --git a/Golden_Repo/a/AMBER/AMBER-20-gpsmpi-2020.eb b/Golden_Repo/a/AMBER/AMBER-20-gpsmpi-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..383b3a7b9c89af37452ca8da9bc9838595a61346
--- /dev/null
+++ b/Golden_Repo/a/AMBER/AMBER-20-gpsmpi-2020.eb
@@ -0,0 +1,76 @@
+easyblock = 'CMakeMake'
+
+name = 'AMBER'
+version = '20'
+
+homepage = 'http://ambermd.org'
+description = """
+AMBER: 'Assisted Model Building with Energy Refinement' is a set of molecular
+mechanics force fields and a package of molecular simulation programs.
+
+Citation:
+D.A. Case, K. Belfon, I.Y. Ben-Shalom, S.R. Brozell, D.S. Cerutti,
+T.E. Cheatham, III, V.W.D. Cruzeiro, T.A. Darden, R.E. Duke, G. Giambasu,
+M.K. Gilson, H. Gohlke, A.W. Goetz, R. Harris, S. Izadi, S.A. Izmailov,
+K. Kasavajhala, A. Kovalenko, R. Krasny, T. Kurtzman, T.S. Lee, S. LeGrand,
+P. Li, C. Lin, J. Liu, T. Luchko, R. Luo, V. Man, K.M. Merz, Y. Miao,
+O. Mikhailovskii, G. Monard, H. Nguyen, A. Onufriev, F.Pan, S. Pantano,
+R. Qi, D.R. Roe, A. Roitberg, C. Sagui, S. Schott-Verdugo, J. Shen,
+C. Simmerling, N.R.Skrynnikov, J. Smith, J. Swails, R.C. Walker, J. Wang,
+L. Wilson, R.M. Wolf, X. Wu, Y. Xiong, Y. Xue, D.M. York
+and P.A. Kollman (2020),
+AMBER 2020, University of California, San Francisco.
+"""
+
+site_contacts = 'Sandipan Mohanty <s.mohanty@fz-juelich.de>'
+
+toolchain = {'name': 'gpsmpi', 'version': '2020'}
+toolchainopts = {'pic': True}
+
+builddependencies = [
+    ('CMake', '3.18.0'),
+    ('binutils', '2.34',),
+]
+dependencies = [
+    ('CMake', '3.18.0'),
+    ('FFTW', '3.3.8'),
+    ('Python', '3.8.5'),
+    ('flex', '2.6.4', '', True),
+]
+
+sources = [
+    'AmberTools20.tar.bz2',
+    'Amber20.tar.bz2',
+]
+
+separate_build_dir = True
+local_build_mpi_parts = "TRUE"
+local_build_cuda_parts = "TRUE"
+
+preconfigopts = "CC=gcc && CXX=g++ && COMPILER=GNU "
+preconfigopts += " && cd %(builddir)s/amber20_src && "
+preconfigopts += " ./update_amber --update && cd ../easybuild_obj && "
+
+configopts = "-DCOMPILER=GNU -DCHECK_UPDATES=OFF -DAPPLY_UPDATES=OFF "
+configopts += " -DINSTALL_TESTS=TRUE  -DMPI=%s " % local_build_mpi_parts
+configopts += " -DDOWNLOAD_MINICONDA=TRUE -DMINICONDA_USE_PY3=TRUE "
+configopts += " -DCUDA=%s " % local_build_cuda_parts
+
+modextravars = {
+    'AMBERHOME': '%(installdir)s/',
+}
+
+modluafooter = '''
+add_property("arch","gpu")
+'''
+
+group = "amber"
+
+modloadmsg = '''
+The access to this software is restricted to members of the group "amber".
+The JSC has a site licence for academic users. If you would like to get
+access please see:
+"http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/Chemistry/AmberConfirmationOfLicence.html"
+'''
+
+moduleclass = 'bio'
diff --git a/Golden_Repo/b/Boost.Python/Boost.Python-1.74.0-GCCcore-9.3.0-nompi.eb b/Golden_Repo/b/Boost.Python/Boost.Python-1.74.0-GCCcore-9.3.0-nompi.eb
new file mode 100644
index 0000000000000000000000000000000000000000..abc7d80c552d19c4b64c9a01c1545fc1cbfa95ee
--- /dev/null
+++ b/Golden_Repo/b/Boost.Python/Boost.Python-1.74.0-GCCcore-9.3.0-nompi.eb
@@ -0,0 +1,27 @@
+easyblock = 'EB_Boost'
+
+name = 'Boost.Python'
+version = '1.74.0'
+versionsuffix = '-nompi'
+
+homepage = 'https://boostorg.github.io/python'
+description = """Boost.Python is a C++ library which enables seamless interoperability between C++
+ and the Python programming language."""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://dl.bintray.com/boostorg/release/%(version)s/source/']
+sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))]
+patches = ['Boost-1.71.0_fix-Python3.patch']
+
+dependencies = [
+    ('Boost', version, versionsuffix),
+    ('Python', '3.8.5')
+]
+
+only_python_bindings = True
+
+moduleclass = 'lib'
diff --git a/Golden_Repo/b/Boost/Boost-1.74.0-GCCcore-9.3.0-nompi.eb b/Golden_Repo/b/Boost/Boost-1.74.0-GCCcore-9.3.0-nompi.eb
new file mode 100644
index 0000000000000000000000000000000000000000..eed7d1cf0088cb7726ef423a886160ff08350220
--- /dev/null
+++ b/Golden_Repo/b/Boost/Boost-1.74.0-GCCcore-9.3.0-nompi.eb
@@ -0,0 +1,32 @@
+name = 'Boost'
+version = '1.74.0'
+versionsuffix = '-nompi'
+
+homepage = 'https://www.boost.org/'
+description = """Boost provides free peer-reviewed portable C++ source libraries."""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+toolchainopts = {'pic': True, 'cstd': 'c++11'}
+
+source_urls = ['https://dl.bintray.com/boostorg/release/%(version)s/source/']
+sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
+
+builddependencies = [
+    ('binutils', '2.34'),
+]
+
+dependencies = [
+    ('bzip2', '1.0.8'),
+    ('zlib', '1.2.11'),
+    ('XZ', '5.2.5'),
+    ('ICU', '67.1'),
+]
+
+configopts = '--without-libraries=python'
+
+# do not build boost_mpi
+boost_mpi = False
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/c/CMake/CMake-3.18.0.eb b/Golden_Repo/c/CMake/CMake-3.18.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..71cfad55d538d6ed6f1d981b4d20f11aa74be75f
--- /dev/null
+++ b/Golden_Repo/c/CMake/CMake-3.18.0.eb
@@ -0,0 +1,38 @@
+easyblock = 'ConfigureMake'
+
+name = 'CMake'
+version = '3.18.0'
+
+homepage = 'http://www.cmake.org'
+description = """CMake, the cross-platform, open-source build system.
+ CMake is a family of tools designed to build, test and package software.
+"""
+
+site_contacts = 'a.strube@fz-juelich.de'
+
+toolchain = SYSTEM
+
+source_urls = ['http://www.cmake.org/files/v%(version_major_minor)s']
+sources = [SOURCELOWER_TAR_GZ]
+
+configopts = '-- -DCMAKE_USE_OPENSSL=1 -DCMAKE_PREFIX_PATH=$EBROOTNCURSES'
+
+builddependencies = [
+    ('binutils', '2.34'),
+]
+
+dependencies = [
+    ('ncurses', '6.2'),
+    # OS dependency should be preferred if the os version is more recent then this version,
+    # it's nice to have an up to date openssl for security reasons
+    # ('OpenSSL', '1.0.1p'),
+]
+
+osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')]
+
+sanity_check_paths = {
+    'files': ["bin/%s" % x for x in ['cmake', 'cpack', 'ctest']],
+    'dirs': [],
+}
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/c/CVXOPT/CVXOPT-1.2.1-fix-setup-py.patch b/Golden_Repo/c/CVXOPT/CVXOPT-1.2.1-fix-setup-py.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5975c4bb3289692195062ef9c552f1b6d2373f75
--- /dev/null
+++ b/Golden_Repo/c/CVXOPT/CVXOPT-1.2.1-fix-setup-py.patch
@@ -0,0 +1,128 @@
+# Patches the setup.py to use EB settings for BLAS/LAPACK, FFTW, etc
+# original by wpoely86@gmail.com, ported to v1.2.1 by Kenneth Hoste (HPC-UGent)
+--- cvxopt-1.2.1/setup.py.orig	2018-08-30 19:54:12.000000000 +0200
++++ cvxopt-1.2.1/setup.py	2018-10-02 16:28:57.252340779 +0200
+@@ -91,9 +91,11 @@
+ LAPACK_LIB = os.environ.get("CVXOPT_LAPACK_LIB",LAPACK_LIB)
+ BLAS_LIB_DIR = os.environ.get("CVXOPT_BLAS_LIB_DIR",BLAS_LIB_DIR)
+ BLAS_EXTRA_LINK_ARGS = os.environ.get("CVXOPT_BLAS_EXTRA_LINK_ARGS",BLAS_EXTRA_LINK_ARGS)
++FFTW_EXTRA_LINK_ARGS = os.environ.get("CVXOPT_FFTW_EXTRA_LINK_ARGS",'')
+ if type(BLAS_LIB) is str: BLAS_LIB = BLAS_LIB.strip().split(';')
+ if type(LAPACK_LIB) is str: LAPACK_LIB = LAPACK_LIB.strip().split(';')
+-if type(BLAS_EXTRA_LINK_ARGS) is str: BLAS_EXTRA_LINK_ARGS = BLAS_EXTRA_LINK_ARGS.strip().split(';')
++if type(BLAS_EXTRA_LINK_ARGS) is str: BLAS_EXTRA_LINK_ARGS = BLAS_EXTRA_LINK_ARGS.strip().split(' ')
++if type(FFTW_EXTRA_LINK_ARGS) is str: FFTW_EXTRA_LINK_ARGS = FFTW_EXTRA_LINK_ARGS.strip().split(' ')
+ BUILD_GSL = int(os.environ.get("CVXOPT_BUILD_GSL",BUILD_GSL))
+ GSL_LIB_DIR = os.environ.get("CVXOPT_GSL_LIB_DIR",GSL_LIB_DIR)
+ GSL_INC_DIR = os.environ.get("CVXOPT_GSL_INC_DIR",GSL_INC_DIR)
+@@ -126,7 +128,7 @@
+ # optional modules
+ 
+ if BUILD_GSL:
+-    gsl = Extension('gsl', libraries = M_LIB + ['gsl'] + BLAS_LIB,
++    gsl = Extension('gsl', libraries = M_LIB + ['gsl'],
+         include_dirs = [ GSL_INC_DIR ],
+         library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ],
+         define_macros = GSL_MACROS,
+@@ -135,11 +137,11 @@
+     extmods += [gsl];
+ 
+ if BUILD_FFTW:
+-    fftw = Extension('fftw', libraries = ['fftw3'] + BLAS_LIB,
++    fftw = Extension('fftw',
+         include_dirs = [ FFTW_INC_DIR ],
+         library_dirs = [ FFTW_LIB_DIR, BLAS_LIB_DIR ],
+         define_macros = FFTW_MACROS,
+-        extra_link_args = BLAS_EXTRA_LINK_ARGS,
++        extra_link_args = BLAS_EXTRA_LINK_ARGS + FFTW_EXTRA_LINK_ARGS,
+         sources = ['src/C/fftw.c'] )
+     extmods += [fftw];
+ 
+@@ -151,7 +153,7 @@
+     extmods += [glpk];
+ 
+ if BUILD_DSDP:
+-    dsdp = Extension('dsdp', libraries = ['dsdp'] + LAPACK_LIB + BLAS_LIB,
++    dsdp = Extension('dsdp', libraries = ['dsdp'],
+         include_dirs = [ DSDP_INC_DIR ],
+         library_dirs = [ DSDP_LIB_DIR, BLAS_LIB_DIR ],
+         extra_link_args = BLAS_EXTRA_LINK_ARGS,
+@@ -160,19 +162,19 @@
+ 
+ # Required modules
+ 
+-base = Extension('base', libraries = M_LIB + LAPACK_LIB + BLAS_LIB,
++base = Extension('base',
+     library_dirs = [ BLAS_LIB_DIR ],
+     define_macros = MACROS,
+     extra_link_args = BLAS_EXTRA_LINK_ARGS,
+     sources = ['src/C/base.c','src/C/dense.c','src/C/sparse.c'])
+ 
+-blas = Extension('blas', libraries = BLAS_LIB,
++blas = Extension('blas',
+     library_dirs = [ BLAS_LIB_DIR ],
+     define_macros = MACROS,
+     extra_link_args = BLAS_EXTRA_LINK_ARGS,
+     sources = ['src/C/blas.c'] )
+ 
+-lapack = Extension('lapack', libraries = LAPACK_LIB + BLAS_LIB,
++lapack = Extension('lapack',
+     library_dirs = [ BLAS_LIB_DIR ],
+     define_macros = MACROS,
+     extra_link_args = BLAS_EXTRA_LINK_ARGS,
+@@ -180,9 +182,10 @@
+ 
+ if not SUITESPARSE_SRC_DIR:
+     umfpack = Extension('umfpack',
+-        libraries = ['umfpack','cholmod','amd','colamd','suitesparseconfig'] + LAPACK_LIB + BLAS_LIB + RT_LIB,
++        libraries = ['umfpack','cholmod','amd','colamd','suitesparseconfig'] + RT_LIB,
+         include_dirs = [SUITESPARSE_INC_DIR],
+         library_dirs = [SUITESPARSE_LIB_DIR, BLAS_LIB_DIR],
++        extra_link_args = BLAS_EXTRA_LINK_ARGS,
+         sources = ['src/C/umfpack.c'])
+ else:
+     umfpack = Extension('umfpack',
+@@ -193,7 +196,6 @@
+             SUITESPARSE_SRC_DIR + '/SuiteSparse_config' ],
+         library_dirs = [ BLAS_LIB_DIR ],
+         define_macros = MACROS + [('NTIMER', '1'), ('NCHOLMOD', '1')],
+-        libraries = LAPACK_LIB + BLAS_LIB,
+         extra_compile_args = UMFPACK_EXTRA_COMPILE_ARGS,
+         extra_link_args = BLAS_EXTRA_LINK_ARGS,
+         sources = [ 'src/C/umfpack.c',
+@@ -206,14 +208,13 @@
+ 
+ if not SUITESPARSE_SRC_DIR:
+     cholmod = Extension('cholmod',
+-        libraries = ['cholmod','colamd','amd','suitesparseconfig'] + LAPACK_LIB + BLAS_LIB + RT_LIB,
++        libraries = ['cholmod','colamd','amd','suitesparseconfig'] + RT_LIB,
+         include_dirs = [SUITESPARSE_INC_DIR],
+         library_dirs = [SUITESPARSE_LIB_DIR, BLAS_LIB_DIR],
+         sources = [ 'src/C/cholmod.c' ])
+ else:
+     cholmod = Extension('cholmod',
+         library_dirs = [ BLAS_LIB_DIR ],
+-        libraries = LAPACK_LIB + BLAS_LIB,
+         include_dirs = [ SUITESPARSE_SRC_DIR + '/CHOLMOD/Include',
+             SUITESPARSE_SRC_DIR + '/COLAMD',
+             SUITESPARSE_SRC_DIR + '/AMD/Include',
+@@ -235,17 +236,18 @@
+         libraries = ['amd','suitesparseconfig'] + RT_LIB,
+         include_dirs = [SUITESPARSE_INC_DIR],
+         library_dirs = [SUITESPARSE_LIB_DIR],
++        extra_link_args = BLAS_EXTRA_LINK_ARGS,
+         sources = ['src/C/amd.c'])
+ else:
+     amd = Extension('amd',
+         include_dirs = [SUITESPARSE_SRC_DIR + '/AMD/Include',
+             SUITESPARSE_SRC_DIR + '/SuiteSparse_config' ],
+         define_macros = MACROS + [('NTIMER', '1')],
++        extra_link_args = BLAS_EXTRA_LINK_ARGS,
+         sources = [ 'src/C/amd.c', SUITESPARSE_SRC_DIR + '/SuiteSparse_config/SuiteSparse_config.c'] +
+         glob(SUITESPARSE_SRC_DIR + '/AMD/Source/*.c') )
+ 
+ misc_solvers = Extension('misc_solvers',
+-    libraries = LAPACK_LIB + BLAS_LIB,
+     library_dirs = [ BLAS_LIB_DIR ],
+     define_macros = MACROS,
+     extra_link_args = BLAS_EXTRA_LINK_ARGS,
diff --git a/Golden_Repo/c/CVXOPT/CVXOPT-1.2.5-gpsmkl-2020-Python-3.8.5.eb b/Golden_Repo/c/CVXOPT/CVXOPT-1.2.5-gpsmkl-2020-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..59c5d190ee45a32124b9c7c25bb585ddb3210892
--- /dev/null
+++ b/Golden_Repo/c/CVXOPT/CVXOPT-1.2.5-gpsmkl-2020-Python-3.8.5.eb
@@ -0,0 +1,46 @@
+easyblock = 'PythonPackage'
+
+name = 'CVXOPT'
+version = '1.2.5'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'http://cvxopt.org'
+description = """CVXOPT is a free software package for convex optimization based on the Python programming language.
+ Its main purpose is to make the development of software for convex optimization applications straightforward by
+ building on Python's extensive standard library and on the strengths of Python as a high-level programming language.
+"""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+toolchainopts = {'pic': True, 'usempi': True}
+
+source_urls = [PYPI_LOWER_SOURCE]
+sources = [SOURCELOWER_TAR_GZ]
+patches = ['CVXOPT-1.2.1-fix-setup-py.patch']
+checksums = [
+    '94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72',  # cvxopt-1.2.5.tar.gz
+    '85d8475098895e9af45f330489a712b5b944489c5fb4a6c67f59bef8fed4303d',  # CVXOPT-1.2.1-fix-setup-py.patch
+]
+
+builddependencies = [
+    ('binutils', '2.34'),
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SuiteSparse', '5.7.1', '-CUDA'),
+    ('GSL', '2.6'),
+]
+
+download_dep_fail = True
+use_pip = True
+
+preinstallopts = 'CVXOPT_BUILD_FFTW=1 CVXOPT_BUILD_GSL=1 CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBLAPACK" '
+preinstallopts += 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT" CVXOPT_SUITESPARSE_SRC_DIR=$EBROOTSUITESPARSE'
+
+installopts = ' --no-binary cvxopt'
+
+sanity_check_commands = ['nosetests']
+
+moduleclass = 'math'
diff --git a/Golden_Repo/c/Cirq/Cirq-0.9.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/c/Cirq/Cirq-0.9.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..f8bfa5a865f9e90e564222fd8cfe871843b905c3
--- /dev/null
+++ b/Golden_Repo/c/Cirq/Cirq-0.9.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
@@ -0,0 +1,99 @@
+easyblock = 'PythonBundle'
+
+name = 'Cirq'
+version = '0.9.1'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://github.com/quantumlib/cirq'
+description = """A python framework for creating, editing,
+and invoking Noisy Intermediate Scale Quantum (NISQ) circuits."""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+toolchainopts = {'pic': True}
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix),
+    ('protobuf', '3.12.4'),
+    ('texlive', '20200406'),
+]
+
+local_common_opts = {
+    'req_py_majver': '3',
+    'req_py_minver': '0'
+}
+
+exts_default_options = {
+    'download_dep_fail': True,
+    'source_urls': [PYPI_SOURCE],
+    'use_pip': True,
+    'use_pip_for_deps': False,
+    'sanity_pip_check': True,
+}
+
+exts_list = [
+    ('cachetools', '4.1.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'bbaa39c3dede00175df2dc2b03d0cf18dd2d32a7de7beb68072d13043c9edb20')]),
+    ])),
+    ('pyasn1-modules', '0.2.8', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e')]),
+    ])),
+    ('rsa', '4.6', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa')]),
+    ])),
+    ('google-auth', '1.23.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '5176db85f1e7e837a646cd9cede72c3c404ccf2e3373d9ee14b2db88febad440')]),
+        ('modulename', 'google.auth'),
+    ])),
+    ('googleapis-common-protos', '1.52.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '560716c807117394da12cecb0a54da5a451b5cf9866f1d37e9a5e2329a665351')]),
+        ('modulename', 'googleapiclient')
+    ])),
+    ('grpcio', '1.33.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '21265511880056d19ce4f809ce3fbe2a3fa98ec1fc7167dbdf30a80d3276202e')]),
+        ('modulename', 'grpc')
+    ])),
+    ('google-api-core', '1.23.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '1bb3c485c38eacded8d685b1759968f6cf47dd9432922d34edb90359eaa391e2')]),
+        ('modulename', 'google'),
+    ])),
+    ('httplib2', '0.18.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '8af66c1c52c7ffe1aa5dc4bcd7c769885254b0756e6e69f953c7f0ab49a70ba3')]),
+    ])),
+    ('uritemplate', '3.0.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae')]),
+    ])),
+    ('google-auth-httplib2', '0.0.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '8d092cc60fb16517b12057ec0bba9185a96e3b7169d86ae12eae98e645b7bc39')]),
+    ])),
+    ('google-api-python-client', '1.12.5', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '1892cd490d164e5ec2f2168dc3b4fa0af68f36ca15a88b91bca1826b3d4f2829')]),
+        ('modulename', 'googleapiclient'),
+    ])),
+    ('typing_extensions', '3.7.4.3', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c')]),
+    ])),
+    ('sortedcontainers', '2.2.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '4e73a757831fc3ca4de2859c422564239a31d8213d09a2a666e375807034d2ba')]),
+    ])),
+    ('networkx', '2.5', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '7978955423fbc9639c10498878be59caf99b44dc304c2286162fd24b458c1602')]),
+    ])),
+    ('freezegun', '0.3.15', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'e2062f2c7f95cc276a834c22f1a17179467176b624cc6f936e8bc3be5535ad1b')]),
+    ])),
+    ('protobuf', '3.12.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'c99e5aea75b6f2b29c8d8da5bdc5f5ed8d9a5b4f15115c8316a3f0a850f94656')]),
+        ('modulename', 'google.protobuf')
+    ])),
+    ('cirq', version, dict(list(local_common_opts.items()) + [
+        ('source_tmpl', 'cirq-%(version)s-py3-none-any.whl'),
+        ('checksums', [('sha256', 'd900b861f2132a673b511b22ec80955cedec34c1bfa95d8f39cdc1eab5309242')]),
+        ('use_pip', True),
+        ('unpack_sources', False),
+    ])),
+]
+
+moduleclass = 'quantum'
diff --git a/Golden_Repo/d/DWave/DWave-3.2.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/d/DWave/DWave-3.2.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..6fb629051b036b532cd2a692ea05a1f66b20e56d
--- /dev/null
+++ b/Golden_Repo/d/DWave/DWave-3.2.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
@@ -0,0 +1,139 @@
+easyblock = 'PythonBundle'
+
+name = 'DWave'
+version = '3.2.0'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://docs.ocean.dwavesys.com'
+description = """Ocean software is a suite of tools D-Wave Systems for solving hard problems with quantum computers."""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+toolchainopts = {'pic': True}
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix),
+    ('Boost.Python', '1.74.0', '-nompi'),
+    ('protobuf', '3.13.0'),
+]
+
+local_common_opts = {
+    'req_py_majver': '3',
+    'req_py_minver': '0'
+}
+
+exts_default_options = {
+    'source_urls': [PYPI_SOURCE],
+    'use_pip': True,
+    'sanity_pip_check': True,
+    'download_dep_fail': True,
+    'use_pip_for_deps': False,
+}
+
+exts_list = [
+    ('plucky', '0.4.3', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '5bc75d43ae6b40f1b7ba42000b37e4934fa6bd2d6a6cd4e47461f803a404c194')]),
+    ])),
+    ('homebase', '1.0.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '9ee008df4298b420852d815e6df488822229c4bd8d571bcd0a454e04232c635e')]),
+    ])),
+    ('dwave-cloud-client', '0.8.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '5472aa523311380bdb5b4e659d127d4fc7acdef73e03234df23890972be2fca3')]),
+        ('modulename', 'dwave.cloud'),
+    ])),
+    ('dwave_networkx', '0.8.8', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '9d6bb1f93d89511aeaa191319da9970e48134a4dccecff59c972e8f1f3107387')]),
+        ('modulename', 'dwave_networkx'),
+    ])),
+    ('dwave-system', '1.3.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'ec1283592211016b30587c67837b23898a74b809de6d715447ff2822798b26f1')]),
+        ('modulename', 'dwave.system'),
+    ])),
+    ('dwave-qbsolv', '0.3.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'aca74f909748cd02d3e59647ae6c81585dd75afcf53a19fa116580c7c7873782')]),
+        ('modulename', 'dwave_qbsolv'),
+    ])),
+    ('dwave-hybrid', '0.6.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'd8b195dabe9e630c31bb9e3362d1cb6d3fab933b94d175719cd3771e346d5934')]),
+        ('modulename', 'hybrid'),
+    ])),
+    ('dwave-neal', '0.5.7', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '86da2141f81ade1e69d595a9840222a45c47b19577c037ef3d4988b5463c26f8')]),
+        ('modulename', 'neal'),
+    ])),
+    ('dimod', '0.9.13', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'a9ab210a2737199b824191089e71fa669b2760b168d0f7ad5aaa7fddcada933f')]),
+    ])),
+    ('dwavebinarycsp', '0.1.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'bf2000c2738df2b3924470f080e73c42e7246b5137fdedc7a2627d5e08479bdf')]),
+    ])),
+    ('fasteners', '0.16', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'c995d8c26b017c5d6a6de9ad29a0f9cdd57de61ae1113d28fac26622b06a0933')]),
+    ])),
+    ('minorminer', '0.2.5', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '3a521099ec64c99295ae8205b08da29c06aad81d3be74fb27a58d22e220a2a33')]),
+    ])),
+    ('penaltymodel', '0.16.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'e2d9e94154a675b33db59dadb9856ee4c8bc1aee1647c664df1b17bc53b04f2a')]),
+    ])),
+    ('penaltymodel-cache', '0.4.3', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '93b76ba83e9b39bca705c341b5e925f4ff5841c20f3e5fac962304656f1ec66e')]),
+        ('modulename', 'penaltymodel.cache')
+    ])),
+    ('penaltymodel-lp', '0.1.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '044ec3a12f78003b044c05b66e9597131bcbb47d775db03dba2d1dc45d2f0efb')]),
+        ('modulename', 'penaltymodel.lp')
+    ])),
+    ('protobuf', '3.13.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '6a82e0c8bb2bf58f606040cc5814e07715b2094caeba281e2e7d0b0e2e397db5')]),
+        ('modulename', 'google.protobuf')
+    ])),
+    ('ortools', '8.0.8283', dict(list(local_common_opts.items()) + [
+        ('source_tmpl', 'ortools-8.0.8283-cp38-cp38-manylinux1_x86_64.whl'),
+        ('checksums', [('sha256', '31020d0b46c8e4ff7d920803c3bb5cbfc5630d319b9b46f70de8d18f9456e9c9')]),
+        ('unpack_sources', False),
+    ])),
+    ('penaltymodel-mip', '0.2.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'c3471a8f10107b163ab0035125fe861a3c55808e7656db9ed524451667ff1e38')]),
+        ('modulename', 'penaltymodel.mip')
+    ])),
+    ('wrapt', '1.12.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7')]),
+    ])),
+    ('Deprecated', '1.2.10', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '525ba66fb5f90b07169fdd48b6373c18f1ee12728ca277ca44567a367d9d7f74')]),
+    ])),
+    ('pyqubo', '1.0.7', dict(list(local_common_opts.items()) + [
+        ('source_tmpl', 'pyqubo-1.0.7-cp38-cp38-manylinux1_x86_64.whl'),
+        ('checksums', [('sha256', '79dfd9a7f2f75a216838e357959b321d55ced7cdf4559037a4704d2f2927f6ba')]),
+        ('unpack_sources', False),
+    ])),
+    ('importlib_resources', '1.0.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'd3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078')]),
+    ])),
+    ('dwave-inspector', '0.2.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'b596e3cc0055e373e0955b402e1ee43998e0ceb2968e09eeb8a194c67b080e38')]),
+        ('modulename', 'dwave.inspector'),
+    ])),
+    ('dwave-tabu', '0.3.1', dict(list(local_common_opts.items()) + [
+        ('source_tmpl', 'dwave_tabu-0.3.1-cp38-cp38-manylinux1_x86_64.whl'),
+        ('checksums', [('sha256', '6a57c6e0c6d6dce912d36c2c183a2a841c1f2830fab7434ddb912e5200d7dc2f')]),
+        ('unpack_sources', False),
+        ('modulename', 'tabu'),
+    ])),
+    ('dwave-greedy', '0.1.2', dict(list(local_common_opts.items()) + [
+        ('source_tmpl', 'dwave_greedy-0.1.2-cp38-cp38-manylinux1_x86_64.whl'),
+        ('checksums', [('sha256', '88cdb3897159880d02b6e5880285b2b5a5295c3a725ce7c990ce4e72c21724ac')]),
+        ('unpack_sources', False),
+        ('modulename', 'greedy'),
+    ])),
+    ('dwave-ocean-sdk', version, dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'a8a5e0acbd7483f62f65beb6f2fdb397d5370e20df949434521cae0635d954e9')]),
+        ('skipsteps', ['sanitycheck']),
+        ('modulename', 'dwave.system'),  # just a fake for sanity-check
+    ])),
+]
+
+moduleclass = 'quantum'
diff --git a/Golden_Repo/d/darshan-runtime/darshan-runtime-3.2.1-gpsmpi-2020.eb b/Golden_Repo/d/darshan-runtime/darshan-runtime-3.2.1-gpsmpi-2020.eb
index 53a8d1318053189272ff024b9c965b91810f41a5..e691c5c2f9da15b733a0722effdb5c67b0f80305 100644
--- a/Golden_Repo/d/darshan-runtime/darshan-runtime-3.2.1-gpsmpi-2020.eb
+++ b/Golden_Repo/d/darshan-runtime/darshan-runtime-3.2.1-gpsmpi-2020.eb
@@ -44,7 +44,8 @@ sources = ['ftp://ftp.mcs.anl.gov/pub/darshan/releases/darshan-%s.tar.gz' % vers
 
 local_subpath = 'darshan-runtime'
 preconfigopts = 'cd %s;' % local_subpath
-configopts = '--with-mem-align=8 --with-log-path-by-env=DARSHAN_LOG_PATH --with-jobid-env=SLURM_JOBID CC=mpicc'
+configopts = '--with-mem-align=8 --with-log-path-by-env=DARSHAN_LOG_PATH '
+configopts += ' --with-jobid-env=SLURM_JOBID CC=mpicc --enable-hdf5-mod=$EBROOTHDF5'
 
 prebuildopts = 'cd %s;' % local_subpath
 
@@ -55,4 +56,9 @@ sanity_check_paths = {
     'dirs': []
 }
 
+dependencies = [
+    ("HDF5", "1.10.6"),
+]
+
+
 moduleclass = 'lib'
diff --git a/Golden_Repo/d/darshan-util/darshan-util-3.2.1-gpsmpi-2020.eb b/Golden_Repo/d/darshan-util/darshan-util-3.2.1-gpsmpi-2020.eb
index a228a573ff435ddd531a61ff0b65f132b9463848..632405aa38966531ce2d859f66b52b01aa23e5fe 100644
--- a/Golden_Repo/d/darshan-util/darshan-util-3.2.1-gpsmpi-2020.eb
+++ b/Golden_Repo/d/darshan-util/darshan-util-3.2.1-gpsmpi-2020.eb
@@ -47,6 +47,8 @@ prebuildopts = 'cd %s;' % local_subpath
 
 preinstallopts = 'cd %s;' % local_subpath
 
+configopts = '--enable-hdf5-mod=$EBROOTHDF5'
+
 sanity_check_paths = {
     'files': ["bin/darshan-job-summary.pl"],
     'dirs': []
@@ -55,6 +57,7 @@ sanity_check_paths = {
 dependencies = [
     ("gnuplot", "5.2.8"),
     ("Perl", "5.32.0"),
+    ("HDF5", "1.10.6"),
 ]
 
 moduleclass = 'lib'
diff --git a/Golden_Repo/g/GL2PS/GL2PS-1.4.2-GCCcore-9.3.0.eb b/Golden_Repo/g/GL2PS/GL2PS-1.4.2-GCCcore-9.3.0.eb
index e119f41fbb7dd6c66e1aaf6380c178645976bdf0..1f453c453d90f32cb550e97257595ac5af3c3e3f 100644
--- a/Golden_Repo/g/GL2PS/GL2PS-1.4.2-GCCcore-9.3.0.eb
+++ b/Golden_Repo/g/GL2PS/GL2PS-1.4.2-GCCcore-9.3.0.eb
@@ -17,6 +17,7 @@ sources = [SOURCELOWER_TGZ]
 builddependencies = [
     ('binutils', '2.34'),
     ('CMake', '3.18.0'),
+    ('texinfo', '6.7'),
 ]
 
 dependencies = [
diff --git a/Golden_Repo/g/GROMACS/GROMACS-2020.4-plumed-gpsmkl-2020.eb b/Golden_Repo/g/GROMACS/GROMACS-2020.4-plumed-gpsmkl-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..8cdf15c34e5df6bafcff5b49cdcca2ea357e53fb
--- /dev/null
+++ b/Golden_Repo/g/GROMACS/GROMACS-2020.4-plumed-gpsmkl-2020.eb
@@ -0,0 +1,70 @@
+##
+# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
+#
+# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC,
+#                                 Ghent University / The Francis Crick Institute
+# Authors::
+# * Wiktor Jurkowski <wiktor.jurkowski@gmail.com>
+# * Fotis Georgatos <fotis@cern.ch>
+# * George Tsouloupas <g.tsouloupas@cyi.ac.cy>
+# * Kenneth Hoste <kenneth.hoste@ugent.be>
+# * Adam Huffman <adam.huffman@crick.ac.uk>
+# License::   MIT/GPL
+##
+
+name = 'GROMACS'
+version = '2020.4'
+versionsuffix = '-plumed'
+
+homepage = 'http://www.gromacs.org'
+description = """
+GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations
+of motion for systems with hundreds to millions of particles. It is primarily designed for
+biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions,
+but since GROMACS is extremely fast at calculating the non-bonded interactions (that usually
+dominate simulations) many groups are also using it for research on non-biological systems, e.g.
+polymers.
+
+Documentation
+=============
+Use `gmx` to execute GROMACS commands on a single node, for example, to prepare your run. Use
+`gmx_mpi mdrun` in your job scripts with `srun`. The user documentation of GROMACS can be found at
+http://manual.gromacs.org/documentation/current/user-guide/index.html.
+
+"""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+toolchainopts = {'openmp': True, 'usempi': True}
+
+source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/']
+sources = [SOURCELOWER_TAR_GZ]
+
+builddependencies = [
+    ('CMake', '3.18.0'),
+    ('libxml2', '2.9.10')
+]
+
+
+dependencies = [
+    ('PLUMED', '2.7.0'),
+    ('CUDA', '11.0', '', True),
+]
+
+configopts = '-DCMAKE_PREFIX_PATH=$EBROOTHWLOC -DMPIEXEC_MAX_NUMPROCS="24" '
+configopts += '-DMKL_LIBRARIES="${MKLROOT}/lib/intel64/libmkl_intel_ilp64.so;'
+configopts += '${MKLROOT}/lib/intel64/libmkl_sequential.so;${MKLROOT}/lib/intel64/libmkl_core.so" '
+configopts += '-DGMX_CUDA_TARGET_SM="60;70;80" '
+
+mpiexec = 'srun'
+mpiexec_numproc_flag = '"--gres=gpu:1 -n"'
+mpi_numprocs = '24'
+
+runtest = False
+
+modluafooter = '''
+add_property("arch","gpu")
+'''
+
+moduleclass = 'bio'
diff --git a/Golden_Repo/h/HDF5/HDF5-1.10.6-ipsmpi-2020-mt.eb b/Golden_Repo/h/HDF5/HDF5-1.10.6-ipsmpi-2020-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..0853cd5096a183fa24f8ce6020093643d4214d84
--- /dev/null
+++ b/Golden_Repo/h/HDF5/HDF5-1.10.6-ipsmpi-2020-mt.eb
@@ -0,0 +1,25 @@
+name = 'HDF5'
+version = '1.10.6'
+
+homepage = 'http://www.hdfgroup.org/HDF5/'
+description = """HDF5 is a unique technology suite that makes possible the management of
+ extremely large and complex data collections.
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'optarch': True, 'pic': True, 'usempi': True}
+
+source_urls = [
+    'https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major)s.%(version_minor)s/hdf5-%(version)s/src'
+]
+sources = [SOURCELOWER_TAR_GZ]
+checksums = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa']
+
+dependencies = [
+    ('zlib', '1.2.11'),
+    ('Szip', '2.1.1'),
+]
+
+moduleclass = 'data'
diff --git a/Golden_Repo/h/h5py/h5py-2.10.0-ipsmpi-2020-mt-Python-3.8.5.eb b/Golden_Repo/h/h5py/h5py-2.10.0-ipsmpi-2020-mt-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..23f284c3ad78cbc851273f254db1f99c4ac239bc
--- /dev/null
+++ b/Golden_Repo/h/h5py/h5py-2.10.0-ipsmpi-2020-mt-Python-3.8.5.eb
@@ -0,0 +1,43 @@
+easyblock = "PythonPackage"
+
+name = 'h5py'
+version = '2.10.0'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'http://www.h5py.org/'
+description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library,
+ version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous
+ amounts of data.
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'usempi': True}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+req_py_majver = 3
+req_py_minver = 0
+
+# to really use mpi enabled hdf5 we now seem to need a configure step
+prebuildopts = 'export LDSHARED="$CC -shared" &&  python setup.py configure --mpi --hdf5=$EBROOTHDF5 && '
+
+builddependencies = [
+    ('pkgconfig', '1.5.1', versionsuffix),
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),  # numpy required
+    ('mpi4py', '3.0.3', versionsuffix),  # required for MPI support
+    ('HDF5', '1.10.6'),
+]
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/'],
+}
+
+moduleclass = 'data'
diff --git a/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9d04b48dea0557deaf3e779f78ca2508183b340c
--- /dev/null
+++ b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
@@ -0,0 +1,98 @@
+easyblock = 'PythonBundle'
+
+name = 'PyTorch-Geometric'
+version = '1.6.3'
+local_pytorch_ver = '1.7.0'
+versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_ver
+
+homepage = 'https://github.com/rusty1s/pytorch_geometric'
+description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch."
+
+site_contacts = 't.breuer@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+
+local_pysuff = '-Python-%(pyver)s'
+dependencies = [
+    ('Python', '3.8.5'),
+    ('PyTorch', local_pytorch_ver, local_pysuff),
+    ('numba', '0.51.1', local_pysuff),
+    ('h5py', '2.10.0', '-serial%s' % local_pysuff),
+    ('scikit', '2020', local_pysuff),
+    ('torchvision', '0.8.1', local_pysuff),
+    ('trimesh', '3.8.11', local_pysuff),
+    ('METIS', '5.1.0', '-IDX64'),
+]
+
+use_pip = True
+
+# this is a bundle of Python packages
+exts_defaultclass = 'PythonPackage'
+exts_download_dep_fail = True
+exts_default_options = {'source_urls': [PYPI_SOURCE]}
+
+exts_list = [
+    ('gdist', '1.0.3', {
+        'source_urls': ['https://pypi.python.org/packages/source/g/gdist'],
+        'modulename': 'gdist',
+    }),
+    ('rdflib', '5.0.0', {
+        'checksums': ['78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155'],
+        'modulename': 'rdflib',
+    }),
+    ('googledrivedownloader', '0.4', {
+        'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'],
+        'modulename': 'google_drive_downloader',
+    }),
+    ('plyfile', '0.7.2', {
+        'checksums': ['59a25845d00a51098e6c9147c3c96ce89ad97395e256a4fabb4aed7cf7db5541'],
+    }),
+    ('torch_scatter', '2.0.5', {
+        'patches': ['torch_scatter-2.0.5-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '2.0.5.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/'],
+    }),
+    ('torch_sparse', '0.6.8', {
+        'patches': ['torch_sparse-0.6.8-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'preinstallopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'source_tmpl': '0.6.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/'],
+    }),
+    ('torch_cluster', '1.5.8', {
+        'patches': ['torch_cluster-1.5.8-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.5.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/'],
+    }),
+    ('torch_spline_conv', '1.2.0', {
+        'patches': ['torch_spline_conv-1.2.0-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.2.0.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive'],
+    }),
+    ('ase', '3.21.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/a/ase'],
+        'modulename': 'ase',
+    }),
+    ('python-louvain', '0.15', {
+        'source_urls': ['https://pypi.python.org/packages/source/p/python-louvain'],
+        'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'],
+        'modulename': 'community',
+    }),
+    ('tqdm', '4.56.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/t/tqdm'],
+        'modulename': 'tqdm',
+    }),
+    ('torch_geometric', version, {
+        'checksums': ['347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1'],
+    }),
+]
+
+sanity_pip_check = True
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..25bbf0ec24a03461821a0b38e4ef043efcb052d0
--- /dev/null
+++ b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:10:11.609352000 +0100
++++ setup.py	2021-01-20 10:10:37.525550350 +0100
+@@ -39,7 +39,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..94ae43ed4ef1a4d0788e0d08a0564b8978868506
--- /dev/null
+++ b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 09:53:22.085271000 +0100
++++ setup.py	2021-01-20 09:53:54.835241801 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1a4f2d0fbc9e83c52a46f82dd5abfc6bdf00af82
--- /dev/null
+++ b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:07:15.518446000 +0100
++++ setup.py	2021-01-20 10:07:51.389877000 +0100
+@@ -53,7 +53,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+         if sys.platform == 'win32':
diff --git a/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e0a3e0ccf186aef0a4c22892b79ae0db810f351c
--- /dev/null
+++ b/Golden_Repo/hdfml_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:12:33.326687000 +0100
++++ setup.py	2021-01-20 10:12:51.492198482 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/hidden_deps.txt b/Golden_Repo/hidden_deps.txt
index 74c6b3e597f0de59005ed1b80327342ce36c69c5..963e00853f7c5bab64817480f9d5fafdaf13eccb 100644
--- a/Golden_Repo/hidden_deps.txt
+++ b/Golden_Repo/hidden_deps.txt
@@ -1,5 +1,6 @@
 adwaita-icon-theme
 ant
+ACTC
 ANTLR
 APR
 APR-util
@@ -18,7 +19,6 @@ cairo
 cling
 configurable-http-proxy
 Coreutils
-CubeLib
 CubeWriter
 CUSP
 damageproto
@@ -172,6 +172,7 @@ NASM
 ncurses
 nettle
 nsync
+nlohmann-json
 NLopt
 nodejs
 nsync
diff --git a/Golden_Repo/j/JUBE/JUBE-2.4.1.eb b/Golden_Repo/j/JUBE/JUBE-2.4.1.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9bfcf98a893774c196fc39d78abbf2bbb1ca8075
--- /dev/null
+++ b/Golden_Repo/j/JUBE/JUBE-2.4.1.eb
@@ -0,0 +1,33 @@
+easyblock = "VersionIndependentPythonPackage"
+
+name = "JUBE"
+version = "2.4.1"
+
+homepage = "https://www.fz-juelich.de/jsc/jube"
+description = """The JUBE benchmarking environment provides a script based
+framework to easily create benchmark sets, run those sets on different
+computer systems and evaluate the results.
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = SYSTEM
+
+source_urls = ['https://apps.fz-juelich.de/jsc/jube/jube2/download.php?file=']
+sources = [SOURCE_TAR_GZ]
+checksums = ['d5d4a33fd339c7cd721a2836998605b9e492455c7bf755c64c7fd45e07be9016']
+
+options = {'modulename': 'jube2'}
+
+sanity_check_paths = {
+    'files': ['bin/jube'],
+    'dirs': [],
+}
+
+modextrapaths = {
+    'JUBE_INCLUDE_PATH': 'platform/slurm'
+}
+
+modluafooter = 'execute {cmd=\'eval "$(jube complete)"\',modeA={"load"}}'
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/j/JupyterKernel-PyQuantum/JupyterKernel-PyQuantum-1.1-2020.2.5-gcccoremkl-9.3.0-2020.2.254.eb b/Golden_Repo/j/JupyterKernel-PyQuantum/JupyterKernel-PyQuantum-1.1-2020.2.5-gcccoremkl-9.3.0-2020.2.254.eb
new file mode 100644
index 0000000000000000000000000000000000000000..e4e966a70fe9e0bc9ad5809c6bfddbcb32946f59
--- /dev/null
+++ b/Golden_Repo/j/JupyterKernel-PyQuantum/JupyterKernel-PyQuantum-1.1-2020.2.5-gcccoremkl-9.3.0-2020.2.254.eb
@@ -0,0 +1,141 @@
+easyblock = 'Binary'
+
+name = 'JupyterKernel-PyQuantum'
+version = '1.1'
+local_cirqver = '0.9.1'
+local_dwavever = '3.2.0'
+local_pyquilver = '2.27.0'
+local_qiskitver = '0.23.2'
+local_jupyterver = '2020.2.5'
+versionsuffix = '-' + local_jupyterver
+
+local_pysuffix = '-Python-%(pyver)s'
+
+homepage = 'https://www.fz-juelich.de'
+description = """
+Kernel for quantum computing in Jupyter.
+Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across
+dozens of programming languages.
+"""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+toolchainopts = {'pic': True}
+
+sources = [
+    ('logo-128x128.png'),
+    ('logo-32x32.png'),
+    ('logo-64x64.png'),
+]
+
+builddependencies = [
+    ('Cirq', local_cirqver, local_pysuffix),  # ensure it is available
+    ('DWave', local_dwavever, local_pysuffix),  # ensure it is available
+    ('PyQuil', local_pyquilver, local_pysuffix),  # ensure it is available
+    # ('Qiskit', local_qiskitver, local_pysuffix, ('gpsmkl', '2020')),  # ensure it is available
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('Jupyter', local_jupyterver, local_pysuffix),
+]
+
+local_kernel_dir = 'pyquantum'
+local_kernel_name = 'PyQuantum-%s' % version
+
+modextrapaths = {
+    'JUPYTER_PATH': ['share/jupyter'],  # add search path for kernelspecs
+}
+
+# Ensure that the user-specific $HOME/.local/share/jupyter is first entry in JUPYTHER_PATH
+modluafooter = """
+prepend_path("JUPYTER_PATH", pathJoin(os.getenv("HOME"), ".local/share/jupyter"))
+"""
+
+postinstallcmds = [
+    (
+        '{ cat >> %%(builddir)s/env.sh; } << \'EOF\'\n'
+        'export KERNEL_DIR=%s\n'
+        'export KERNEL_NAME=%s\n'
+        'EOF'
+    ) % (local_kernel_dir, local_kernel_name),
+    'source %%(builddir)s/env.sh && python -m ipykernel install --name=%s --prefix=%%(installdir)s' % local_kernel_dir,
+
+    # write logo image
+    (
+        'source %%(builddir)s/env.sh && '
+        '    cp %%(builddir)s/logo-32x32.png %%(installdir)s/share/jupyter/kernels/%s/logo-32x32.png'
+    ) % (local_kernel_dir),
+    (
+        'source %%(builddir)s/env.sh && '
+        '    cp %%(builddir)s/logo-64x64.png %%(installdir)s/share/jupyter/kernels/%s/logo-64x64.png'
+    ) % (local_kernel_dir),
+    (
+        'source %%(builddir)s/env.sh && '
+        '    cp %%(builddir)s/logo-128x128.png %%(installdir)s/share/jupyter/kernels/%s/logo-128x128.png'
+    ) % (local_kernel_dir),
+
+    # write kernel.sh
+    (
+        '{ source %%(builddir)s/env.sh && '
+        '  cat > %%(installdir)s/share/jupyter/kernels/%s/kernel.sh; } << \'EOF\'\n'
+        '#!/bin/bash \n'
+        '\n'
+        '# Load required modules \n'
+        'module purge \n'
+        'module use $OTHERSTAGES \n'
+        'module load Stages/2020 \n'
+        'module load GCC/9.3.0 \n'
+        'module load ParaStationMPI \n'
+        'module load Python/%%(pyver)s \n'
+        'module load Jupyter/%s%s \n'
+        '\n'
+        'module load Cirq/%s%s \n'
+        'module load DWave/%s%s \n'
+        'module load PyQuil/%s%s \n'
+        'module load Qiskit/%s%s \n'
+        '\n'
+        'exec python -m ipykernel $@\n'
+        'EOF'
+    ) % (local_kernel_dir,
+         local_jupyterver, local_pysuffix,
+         local_cirqver, local_pysuffix,
+         local_dwavever, local_pysuffix,
+         local_pyquilver, local_pysuffix,
+         local_qiskitver, local_pysuffix),
+    'source %(builddir)s/env.sh && chmod +x %(installdir)s/share/jupyter/kernels/${KERNEL_DIR}/kernel.sh',
+
+    # write kernel.json
+    (
+        '{ source %%(builddir)s/env.sh && '
+        '  cat > %%(installdir)s/share/jupyter/kernels/%s/kernel.json; } << \'EOF\'\n'
+        '{ \n'
+        '  "argv": [ \n'
+        '    "%%(installdir)s/share/jupyter/kernels/%s/kernel.sh", \n'
+        '    "-m", \n'
+        '    "ipykernel_launcher", \n'
+        '    "-f", \n'
+        '    "{connection_file}" \n'
+        '  ], \n'
+        '  "display_name": "%s", \n'
+        '  "language": "python", \n'
+        '  "name": "%s" \n'
+        '}\n'
+        'EOF'
+    ) % (local_kernel_dir, local_kernel_dir, local_kernel_name, local_kernel_name),
+]
+
+# specify that Bundle easyblock should run a full sanity check, rather than just trying to load the module
+# full_sanity_check = True
+sanity_check_paths = {
+    'files': [
+        'share/jupyter/kernels/%s/kernel.sh' % local_kernel_dir,
+        'share/jupyter/kernels/%s/kernel.json' % local_kernel_dir,
+    ],
+    'dirs': [
+        'share/jupyter/kernels/',
+    ],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/j/JupyterProxy-XpraHTML5/jupyter_xprahtml5_proxy-launch_xpra.patch b/Golden_Repo/j/JupyterProxy-XpraHTML5/jupyter_xprahtml5_proxy-launch_xpra.patch
index 329d2ac2728fc42991d54a2f7a74e9c081fc50b0..100eb76f25e5ae2400283077f9e3e73d4c485680 100644
--- a/Golden_Repo/j/JupyterProxy-XpraHTML5/jupyter_xprahtml5_proxy-launch_xpra.patch
+++ b/Golden_Repo/j/JupyterProxy-XpraHTML5/jupyter_xprahtml5_proxy-launch_xpra.patch
@@ -15,7 +15,7 @@ diff -Naur jupyter-xprahtml5-proxy.orig/jupyter_xprahtml5_proxy/share/launch_xpr
 +module load Stages/2020
 +module load GCCcore/.9.3.0
 +module load xpra/4.0.4-Python-3.8.5
-+module load jsc-xdg-menu/.2020.3
++module load jsc-xdg-menu/.2020.4
 +
 +if ! command -v xterm &> /dev/null
 +then
diff --git a/Golden_Repo/j/jsc-xdg-menu/jsc-xdg-menu-2020.3-GCCcore-9.3.0.eb b/Golden_Repo/j/jsc-xdg-menu/jsc-xdg-menu-2020.4-GCCcore-9.3.0.eb
similarity index 87%
rename from Golden_Repo/j/jsc-xdg-menu/jsc-xdg-menu-2020.3-GCCcore-9.3.0.eb
rename to Golden_Repo/j/jsc-xdg-menu/jsc-xdg-menu-2020.4-GCCcore-9.3.0.eb
index d9875106b5accd47d845d29b3042869316644928..f5467ffa095fbb1e4a2ab1032a9f9555fc3aa365 100644
--- a/Golden_Repo/j/jsc-xdg-menu/jsc-xdg-menu-2020.3-GCCcore-9.3.0.eb
+++ b/Golden_Repo/j/jsc-xdg-menu/jsc-xdg-menu-2020.4-GCCcore-9.3.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'Binary'
 
 name = 'jsc-xdg-menu'
-version = '2020.3'
+version = '2020.4'
 
 homepage = ''
 description = """setup JSC`s desktop menu"""
@@ -12,7 +12,7 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
 
 source_urls = ['https://gitlab.version.fz-juelich.de/goebbert1/jsc-xdg-menu/-/archive/%(version)s/']
 sources = ['%(name)s-%(version)s.tar.gz']
-checksums = [('sha256', 'be1ff06bd04fc098fc00a46019ea9404a1867b4d5d72db750874a44a8565f069')],
+checksums = [('sha256', '866afc04be7a8b7068baca0323a0ed88c6bbccf793fd9b3f4f686e6ebc244548')],
 
 extract_sources = True,
 install_cmd = 'cp -a %(builddir)s/%(name)s-%(version)s/* %(installdir)s/'
diff --git a/Golden_Repo/jurecadc_overlay/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb b/Golden_Repo/jurecadc_overlay/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb
new file mode 100644
index 0000000000000000000000000000000000000000..35a3b40805f3d2068ff0cc8d4ec8bedb40544b0f
--- /dev/null
+++ b/Golden_Repo/jurecadc_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/jurecadc_overlay/n/NAG/NAG-Mark27-intel-para-2020.eb b/Golden_Repo/jurecadc_overlay/n/NAG/NAG-Mark27-intel-para-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..34da5890eab080d10cf68180bf56589467f18733
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/n/NAG/NAG-Mark27-intel-para-2020.eb
@@ -0,0 +1,58 @@
+easyblock = 'Tarball'
+
+name = 'NAG'
+version = 'Mark27'
+
+
+homepage = 'http://www.nag.com/numeric/numerical_libraries.asp'
+description = """NAG (Numerical Algorithms Group) Library Mark 27
+(Fortran-, C and AD-Library). NAG Library Mark 27 offers hundreds
+of user-callable routines to solve mathematical and statistical problems.
+
+To enhance the performance, the BLAS and LAPACK routines of the MKL are used.
+
+The complete documentation is available online with
+
+https://www.nag.co.uk/numeric/nl/nagdoc_latest
+"""
+
+usage = """
+The library is licensed. The necessary licence is provided through the
+environment variable NAG_KUSARI_FILE. By default the resource manager exports
+all variables to the compute nodes, if you disable this behaviour you will need
+to make the environment variable known to the compute nodes by adding:
+
+  --exports=NAG_KUSARI_FILE
+
+in the srun statement.
+
+To see, how to compile and link a program, please call:
+
+ nag_example -help
+
+Compiling and linking can be done in the following manner:
+
+ifort -I$EBROOTNAG/nag_interface_blocks driver.f -L$MKLPATH\
+ -lnag -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
+"""
+
+examples = """To see how to use a special NAG routine please call the script nag_example, e.g.:
+
+ nag_example e04ucf
+
+An example program and the input data (if necessary) are copied to the current
+directory. The example program is compiled, linked and executed.
+"""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'intel-para', 'version': '2020'}
+sources = [SOURCELOWER_TAR_GZ]
+
+modextravars = {
+    'NAG_KUSARI_FILE': '/p/software/jurecadc/licenses/NAG/nll6i27db.lic',
+}
+
+modluafooter = 'setenv("MKLPATH", pathJoin(os.getenv("MKLROOT"),"lib/intel64"))'
+
+moduleclass = 'numlib'
diff --git a/Golden_Repo/jurecadc_overlay/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb b/Golden_Repo/jurecadc_overlay/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b9dbd75dd8d1cbd62799493f7774344ff89c6b2f
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb
@@ -0,0 +1,85 @@
+name = 'NVHPC'
+version = '20.11'
+local_gccver = '9.3.0'
+versionsuffix = '-GCC-%s' % local_gccver
+
+homepage = 'https://developer.nvidia.com/hpc-sdk/'
+description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
+site_contacts = 'a.herten@fz-juelich.de'
+
+toolchain = SYSTEM
+
+# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html)
+# accept_eula = True
+source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
+local_tarball_tmpl = 'nvhpc_2020_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
+sources = [local_tarball_tmpl % '%(arch)s']
+checksums = [
+    {
+        local_tarball_tmpl % 'x86_64':
+            'c80fc26e5ba586696f7030f03054c1aaca0752a891c7923faf47eb23b66857ec',
+        local_tarball_tmpl % 'ppc64le':
+            '99e5a5437e82f3914e0fe81feb761a5b599a3fe8b31f3c2cac8ae47e8cdc7b0f'
+    }
+]
+
+local_gccver = '9.3.0'
+dependencies = [
+    ('GCCcore', local_gccver),
+    ('binutils', '2.34', '', ('GCCcore', local_gccver)),
+    ('CUDA', '11.0', '', SYSTEM),
+    # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
+    ('numactl', '2.0.13', '', SYSTEM)
+]
+
+module_add_cuda = False
+cuda_compute_capabilities = "8.0"
+
+# specify default CUDA version that should be used by NVHPC
+# should match one of the CUDA versions that are included with this NVHPC version
+# (see install_components/Linux_x86_64/20.7/cuda/)
+# for NVHPC 20.7, those are: 11.0, 10.2, 10.1;
+# this version can be tweaked from the EasyBuild command line with
+# --try-amend=default_cuda_version="10.2" (for example)
+default_cuda_version = '11.0'
+
+# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
+# The following list gives examples for the easyconfig
+#
+# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
+# 1) Bundled CUDA
+#    If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
+#      default_cuda_version = "11.0"
+#    in this easyconfig file; alternatively, it can be specified through the command line during installation with
+#      --try-amend=default_cuda_version="10.2"
+# 2) CUDA provided via EasyBuild
+#    Use CUDAcore as a dependency, for example
+#      dependencies = [('CUDAcore', '11.0.2')]
+#    The parameter default_cuda_version still can be set as above.
+#    If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
+#
+# Define a NVHPC-default Compute Capability
+#   cuda_compute_capabilities = "8.0"
+# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
+# Only single values supported, not lists of values!
+#
+# Options to add/remove things to/from environment module (defaults shown)
+#   module_byo_compilers = False  # Remove compilers from PATH (Bring-your-own compilers)
+#   module_nvhpc_own_mpi = False  # Add NVHPC's own pre-compiled OpenMPI
+#   module_add_math_libs = False  # Add NVHPC's math libraries (which should be there from CUDA anyway)
+#   module_add_profilers = False  # Add NVHPC's NVIDIA Profilers
+#   module_add_nccl = False       # Add NVHPC's NCCL library
+#   module_add_nvshmem = False    # Add NVHPC's NVSHMEM library
+#   module_add_cuda = False       # Add NVHPC's bundled CUDA
+
+# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
+moduleclass = 'compiler'
+
+# We use a HMNS, so let's enforce a unique compiler
+modluafooter = '''
+family("compiler")
+add_property("arch","gpu")
+'''
+
+# Always do a recursive unload on compilers
+recursive_module_unload = True
diff --git a/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9577412ca9bafb7c907f3e0d16d9c94cd2dbf8b5
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
@@ -0,0 +1,94 @@
+easyblock = 'PythonBundle'
+
+name = 'PyTorch-Geometric'
+version = '1.6.3'
+local_pytorch_ver = '1.7.0'
+versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_ver
+
+homepage = 'https://github.com/rusty1s/pytorch_geometric'
+description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch."
+
+site_contacts = 't.breuer@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+
+local_pysuff = '-Python-%(pyver)s'
+dependencies = [
+    ('Python', '3.8.5'),
+    ('PyTorch', local_pytorch_ver, local_pysuff),
+    ('numba', '0.51.1', local_pysuff),
+    ('h5py', '2.10.0', '-serial%s' % local_pysuff),
+    ('scikit', '2020', local_pysuff),
+    ('torchvision', '0.8.1', local_pysuff),
+    ('trimesh', '3.8.11', local_pysuff),
+    ('METIS', '5.1.0', '-IDX64'),
+]
+
+use_pip = True
+
+# this is a bundle of Python packages
+exts_defaultclass = 'PythonPackage'
+exts_download_dep_fail = True
+exts_default_options = {'source_urls': [PYPI_SOURCE]}
+
+exts_list = [
+    ('gdist', '1.0.3', {
+        'source_urls': ['https://pypi.python.org/packages/source/g/gdist'],
+        'modulename': 'gdist',
+    }),
+    ('googledrivedownloader', '0.4', {
+        'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'],
+        'modulename': 'google_drive_downloader',
+    }),
+    ('plyfile', '0.7.2', {
+        'checksums': ['59a25845d00a51098e6c9147c3c96ce89ad97395e256a4fabb4aed7cf7db5541'],
+    }),
+    ('torch_scatter', '2.0.5', {
+        'patches': ['torch_scatter-2.0.5-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '2.0.5.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/'],
+    }),
+    ('torch_sparse', '0.6.8', {
+        'patches': ['torch_sparse-0.6.8-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'preinstallopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'source_tmpl': '0.6.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/'],
+    }),
+    ('torch_cluster', '1.5.8', {
+        'patches': ['torch_cluster-1.5.8-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.5.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/'],
+    }),
+    ('torch_spline_conv', '1.2.0', {
+        'patches': ['torch_spline_conv-1.2.0-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.2.0.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive'],
+    }),
+    ('ase', '3.21.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/a/ase'],
+        'modulename': 'ase',
+    }),
+    ('python-louvain', '0.15', {
+        'source_urls': ['https://pypi.python.org/packages/source/p/python-louvain'],
+        'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'],
+        'modulename': 'community',
+    }),
+    ('tqdm', '4.56.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/t/tqdm'],
+        'modulename': 'tqdm',
+    }),
+    ('torch_geometric', version, {
+        'checksums': ['347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1'],
+    }),
+]
+
+sanity_pip_check = True
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_80.patch b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c80da06e0469c2c613424a4df95950c022c60895
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:10:11.609352000 +0100
++++ setup.py	2021-01-20 10:10:37.525550350 +0100
+@@ -39,7 +39,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_80.patch b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ec5521c3024f876be8c5f6999256757e7d0631ec
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 09:53:22.085271000 +0100
++++ setup.py	2021-01-20 09:53:54.835241801 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_80.patch b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5439544a81cb588a07218faeb89272c07d9b2595
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:07:15.518446000 +0100
++++ setup.py	2021-01-20 10:07:51.389877000 +0100
+@@ -53,7 +53,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+         if sys.platform == 'win32':
diff --git a/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_80.patch b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a3ae24b363e5bce2e2937c14301af194bd14cc14
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:12:33.326687000 +0100
++++ setup.py	2021-01-20 10:12:51.492198482 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/jurecadc_overlay/p/pscom/pscom-5.4.6-1.eb b/Golden_Repo/jurecadc_overlay/p/pscom/pscom-5.4.6-1.eb
new file mode 100644
index 0000000000000000000000000000000000000000..db3e6a6b9c6ae94ec1c2932c37d1fc9346b23e96
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/pscom/pscom-5.4.6-1.eb
@@ -0,0 +1,47 @@
+easyblock = 'ConfigureMake'
+
+name = 'pscom'
+version = "5.4.6-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
+
+sources = ['%%(name)s-%s_gw.tar.bz2' % version]
+
+builddependencies = [
+    # Fails with binutils 2.34
+    ('binutils', '2.32'),
+    ('popt', '1.16'),
+    ('CUDA', '11.0'),
+]
+
+dependencies = [
+    ('UCX', '1.8.1'),
+]
+
+preconfigopts = 'export UCP_LDFLAGS="-L$EBROOTUCX/lib" && '
+preconfigopts += 'export CUDA_LDFLAGS="-L$EBROOTNVIDIA/lib64" &&'
+
+configopts = '--enable-cuda --enable-ucp'
+
+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'),
+        ('lib/libpscom4gateway.so', 'lib64/libpscom4gateway.so'),
+    ],
+    'dirs': [],
+}
+
+modextravars = {
+    'PSCOMVERSION': '%s' % version,
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/jurecadc_overlay/p/pscom/pscom-5.4.7-1.eb b/Golden_Repo/jurecadc_overlay/p/pscom/pscom-5.4.7-1.eb
new file mode 100644
index 0000000000000000000000000000000000000000..438dcc3ca66da9503b122867d800b7faf64469e3
--- /dev/null
+++ b/Golden_Repo/jurecadc_overlay/p/pscom/pscom-5.4.7-1.eb
@@ -0,0 +1,48 @@
+easyblock = 'CMakeMake'
+
+name = 'pscom'
+version = "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
+
+sources = ['%%(name)s-%s_gw.tar.bz2' % version]
+
+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'),
+        ('lib/libpscom4gateway.so', 'lib64/libpscom4gateway.so'),
+    ],
+    'dirs': [],
+}
+
+modextravars = {
+    'PSCOMVERSION': '%s' % version,
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/jusuf_overlay/n/NAG/NAG-Mark27-intel-para-2020.eb b/Golden_Repo/jusuf_overlay/n/NAG/NAG-Mark27-intel-para-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9e3009c95c63a919d35fe1dad6dccb89f2f86368
--- /dev/null
+++ b/Golden_Repo/jusuf_overlay/n/NAG/NAG-Mark27-intel-para-2020.eb
@@ -0,0 +1,58 @@
+easyblock = 'Tarball'
+
+name = 'NAG'
+version = 'Mark27'
+
+
+homepage = 'http://www.nag.com/numeric/numerical_libraries.asp'
+description = """NAG (Numerical Algorithms Group) Library Mark 27
+(Fortran-, C and AD-Library). NAG Library Mark 27 offers hundreds
+of user-callable routines to solve mathematical and statistical problems.
+
+To enhance the performance, the BLAS and LAPACK routines of the MKL are used.
+
+The complete documentation is available online with
+
+https://www.nag.co.uk/numeric/nl/nagdoc_latest
+"""
+
+usage = """
+The library is licensed. The necessary licence is provided through the
+environment variable NAG_KUSARI_FILE. By default the resource manager exports
+all variables to the compute nodes, if you disable this behaviour you will need
+to make the environment variable known to the compute nodes by adding:
+
+  --exports=NAG_KUSARI_FILE
+
+in the srun statement.
+
+To see, how to compile and link a program, please call:
+
+ nag_example -help
+
+Compiling and linking can be done in the following manner:
+
+ifort -I$EBROOTNAG/nag_interface_blocks driver.f -L$MKLPATH\
+ -lnag -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
+"""
+
+examples = """To see how to use a special NAG routine please call the script nag_example, e.g.:
+
+ nag_example e04ucf
+
+An example program and the input data (if necessary) are copied to the current
+directory. The example program is compiled, linked and executed.
+"""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'intel-para', 'version': '2020'}
+sources = [SOURCELOWER_TAR_GZ]
+
+modextravars = {
+    'NAG_KUSARI_FILE': '/p/software/jusuf/licenses/NAG/nll6i27db.lic',
+}
+
+modluafooter = 'setenv("MKLPATH", pathJoin(os.getenv("MKLROOT"),"lib/intel64"))'
+
+moduleclass = 'numlib'
diff --git a/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9d04b48dea0557deaf3e779f78ca2508183b340c
--- /dev/null
+++ b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
@@ -0,0 +1,98 @@
+easyblock = 'PythonBundle'
+
+name = 'PyTorch-Geometric'
+version = '1.6.3'
+local_pytorch_ver = '1.7.0'
+versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_ver
+
+homepage = 'https://github.com/rusty1s/pytorch_geometric'
+description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch."
+
+site_contacts = 't.breuer@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+
+local_pysuff = '-Python-%(pyver)s'
+dependencies = [
+    ('Python', '3.8.5'),
+    ('PyTorch', local_pytorch_ver, local_pysuff),
+    ('numba', '0.51.1', local_pysuff),
+    ('h5py', '2.10.0', '-serial%s' % local_pysuff),
+    ('scikit', '2020', local_pysuff),
+    ('torchvision', '0.8.1', local_pysuff),
+    ('trimesh', '3.8.11', local_pysuff),
+    ('METIS', '5.1.0', '-IDX64'),
+]
+
+use_pip = True
+
+# this is a bundle of Python packages
+exts_defaultclass = 'PythonPackage'
+exts_download_dep_fail = True
+exts_default_options = {'source_urls': [PYPI_SOURCE]}
+
+exts_list = [
+    ('gdist', '1.0.3', {
+        'source_urls': ['https://pypi.python.org/packages/source/g/gdist'],
+        'modulename': 'gdist',
+    }),
+    ('rdflib', '5.0.0', {
+        'checksums': ['78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155'],
+        'modulename': 'rdflib',
+    }),
+    ('googledrivedownloader', '0.4', {
+        'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'],
+        'modulename': 'google_drive_downloader',
+    }),
+    ('plyfile', '0.7.2', {
+        'checksums': ['59a25845d00a51098e6c9147c3c96ce89ad97395e256a4fabb4aed7cf7db5541'],
+    }),
+    ('torch_scatter', '2.0.5', {
+        'patches': ['torch_scatter-2.0.5-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '2.0.5.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/'],
+    }),
+    ('torch_sparse', '0.6.8', {
+        'patches': ['torch_sparse-0.6.8-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'preinstallopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'source_tmpl': '0.6.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/'],
+    }),
+    ('torch_cluster', '1.5.8', {
+        'patches': ['torch_cluster-1.5.8-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.5.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/'],
+    }),
+    ('torch_spline_conv', '1.2.0', {
+        'patches': ['torch_spline_conv-1.2.0-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.2.0.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive'],
+    }),
+    ('ase', '3.21.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/a/ase'],
+        'modulename': 'ase',
+    }),
+    ('python-louvain', '0.15', {
+        'source_urls': ['https://pypi.python.org/packages/source/p/python-louvain'],
+        'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'],
+        'modulename': 'community',
+    }),
+    ('tqdm', '4.56.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/t/tqdm'],
+        'modulename': 'tqdm',
+    }),
+    ('torch_geometric', version, {
+        'checksums': ['347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1'],
+    }),
+]
+
+sanity_pip_check = True
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..25bbf0ec24a03461821a0b38e4ef043efcb052d0
--- /dev/null
+++ b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:10:11.609352000 +0100
++++ setup.py	2021-01-20 10:10:37.525550350 +0100
+@@ -39,7 +39,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..94ae43ed4ef1a4d0788e0d08a0564b8978868506
--- /dev/null
+++ b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 09:53:22.085271000 +0100
++++ setup.py	2021-01-20 09:53:54.835241801 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1a4f2d0fbc9e83c52a46f82dd5abfc6bdf00af82
--- /dev/null
+++ b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:07:15.518446000 +0100
++++ setup.py	2021-01-20 10:07:51.389877000 +0100
+@@ -53,7 +53,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+         if sys.platform == 'win32':
diff --git a/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e0a3e0ccf186aef0a4c22892b79ae0db810f351c
--- /dev/null
+++ b/Golden_Repo/jusuf_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:12:33.326687000 +0100
++++ setup.py	2021-01-20 10:12:51.492198482 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwels_overlay/n/nvidia-driver/nvidia-driver-default.eb b/Golden_Repo/juwels_overlay/n/nvidia-driver/nvidia-driver-default.eb
index 25770af0831d6fa2377c2cd946d98df5e324a217..4606bd345167e79e6690a45a391f96a9957d48b7 100644
--- a/Golden_Repo/juwels_overlay/n/nvidia-driver/nvidia-driver-default.eb
+++ b/Golden_Repo/juwels_overlay/n/nvidia-driver/nvidia-driver-default.eb
@@ -1,6 +1,6 @@
 name = 'nvidia-driver'
 version = 'default'
-realversion = '450.80.02'
+realversion = '460.32.03'
 
 homepage = 'https://developer.nvidia.com/cuda-toolkit'
 description = """This is a set of libraries normally installed by the NVIDIA driver installer."""
diff --git a/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9d04b48dea0557deaf3e779f78ca2508183b340c
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
@@ -0,0 +1,98 @@
+easyblock = 'PythonBundle'
+
+name = 'PyTorch-Geometric'
+version = '1.6.3'
+local_pytorch_ver = '1.7.0'
+versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_ver
+
+homepage = 'https://github.com/rusty1s/pytorch_geometric'
+description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch."
+
+site_contacts = 't.breuer@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+
+local_pysuff = '-Python-%(pyver)s'
+dependencies = [
+    ('Python', '3.8.5'),
+    ('PyTorch', local_pytorch_ver, local_pysuff),
+    ('numba', '0.51.1', local_pysuff),
+    ('h5py', '2.10.0', '-serial%s' % local_pysuff),
+    ('scikit', '2020', local_pysuff),
+    ('torchvision', '0.8.1', local_pysuff),
+    ('trimesh', '3.8.11', local_pysuff),
+    ('METIS', '5.1.0', '-IDX64'),
+]
+
+use_pip = True
+
+# this is a bundle of Python packages
+exts_defaultclass = 'PythonPackage'
+exts_download_dep_fail = True
+exts_default_options = {'source_urls': [PYPI_SOURCE]}
+
+exts_list = [
+    ('gdist', '1.0.3', {
+        'source_urls': ['https://pypi.python.org/packages/source/g/gdist'],
+        'modulename': 'gdist',
+    }),
+    ('rdflib', '5.0.0', {
+        'checksums': ['78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155'],
+        'modulename': 'rdflib',
+    }),
+    ('googledrivedownloader', '0.4', {
+        'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'],
+        'modulename': 'google_drive_downloader',
+    }),
+    ('plyfile', '0.7.2', {
+        'checksums': ['59a25845d00a51098e6c9147c3c96ce89ad97395e256a4fabb4aed7cf7db5541'],
+    }),
+    ('torch_scatter', '2.0.5', {
+        'patches': ['torch_scatter-2.0.5-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '2.0.5.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/'],
+    }),
+    ('torch_sparse', '0.6.8', {
+        'patches': ['torch_sparse-0.6.8-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'preinstallopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'source_tmpl': '0.6.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/'],
+    }),
+    ('torch_cluster', '1.5.8', {
+        'patches': ['torch_cluster-1.5.8-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.5.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/'],
+    }),
+    ('torch_spline_conv', '1.2.0', {
+        'patches': ['torch_spline_conv-1.2.0-sm_70.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.2.0.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive'],
+    }),
+    ('ase', '3.21.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/a/ase'],
+        'modulename': 'ase',
+    }),
+    ('python-louvain', '0.15', {
+        'source_urls': ['https://pypi.python.org/packages/source/p/python-louvain'],
+        'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'],
+        'modulename': 'community',
+    }),
+    ('tqdm', '4.56.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/t/tqdm'],
+        'modulename': 'tqdm',
+    }),
+    ('torch_geometric', version, {
+        'checksums': ['347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1'],
+    }),
+]
+
+sanity_pip_check = True
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..25bbf0ec24a03461821a0b38e4ef043efcb052d0
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:10:11.609352000 +0100
++++ setup.py	2021-01-20 10:10:37.525550350 +0100
+@@ -39,7 +39,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..94ae43ed4ef1a4d0788e0d08a0564b8978868506
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 09:53:22.085271000 +0100
++++ setup.py	2021-01-20 09:53:54.835241801 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1a4f2d0fbc9e83c52a46f82dd5abfc6bdf00af82
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:07:15.518446000 +0100
++++ setup.py	2021-01-20 10:07:51.389877000 +0100
+@@ -53,7 +53,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+         if sys.platform == 'win32':
diff --git a/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e0a3e0ccf186aef0a4c22892b79ae0db810f351c
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_70.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:12:33.326687000 +0100
++++ setup.py	2021-01-20 10:12:51.492198482 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_70,code=sm_70', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwels_overlay/u/UCX/UCX-1.8.1.eb b/Golden_Repo/juwels_overlay/u/UCX/UCX-1.8.1.eb
new file mode 100644
index 0000000000000000000000000000000000000000..740e9d2e3d5f84bb1f22280bac5c90f32d8f4e33
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/u/UCX/UCX-1.8.1.eb
@@ -0,0 +1,68 @@
+easyblock = 'ConfigureMake'
+
+name = 'UCX'
+version = '1.8.1'
+
+homepage = 'http://www.openucx.org'
+
+description = """Unified Communication X
+An open-source production grade communication framework for data centric
+and high-performance applications
+"""
+
+site_contacts = 'Damian Alvarez <d.alvarez@fz-juelich.de>'
+
+toolchain = SYSTEM
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
+sources = ['%(namelower)s-%(version)s.tar.gz']
+
+builddependencies = [
+    ('binutils', '2.34'),
+    ('pkg-config', '0.29.2'),
+]
+
+osdependencies = [
+    # needed for --with-verbs
+    ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'),
+]
+
+dependencies = [
+    ('numactl', '2.0.13'),
+    ('CUDA', '11.0'),
+]
+
+configopts = '--with-verbs '  # Build OpenFabrics support
+configopts += '--without-java '
+configopts += '--disable-doxygen-doc '
+
+configopts += '--enable-optimizations '  # Enable machine-specific optimizations, default: NO
+# configopts += '--enable-tuning '       # Enable parameter tuning in run-time, default: NO
+# configopts += '--enable-mt '           # Enable thread support in UCP and UCT, default: NO
+configopts += '--disable-debug '
+configopts += '--disable-logging '
+configopts += '--disable-assertions '
+configopts += '--disable-params-check '
+configopts += '--disable-dependency-tracking '
+configopts += '--with-cuda=$EBROOTCUDA '
+
+configopts += '--enable-cma '           # Enable Cross Memory Attach
+
+configopts += '--with-rc '              # Compile with IB Reliable Connection support
+configopts += '--with-ud '              # Compile with IB Unreliable Datagram support
+configopts += '--with-dc '              # Compile with IB Dynamic Connection support
+configopts += '--with-mlx5-dv '         # Compile with mlx5 Direct Verbs support
+configopts += '--with-ib-hw-tm '        # Compile with IB Tag Matching support
+configopts += '--with-dm '              # Compile with Device Memory support
+configopts += '--without-cm '           # Disable IB CM
+
+configopts += '--with-avx '             # Compile with AVX
+configopts += '--with-gdrcopy '         # Compile with GDRCopy
+
+sanity_check_paths = {
+    'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
+    'dirs': ['include', 'lib', 'share']
+}
+
+moduleclass = 'system'
diff --git a/Golden_Repo/juwels_overlay/u/UCX/UCX-1.9.0.eb b/Golden_Repo/juwels_overlay/u/UCX/UCX-1.9.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..be5e7d345e87b84378bcbf8af348c6888b20c666
--- /dev/null
+++ b/Golden_Repo/juwels_overlay/u/UCX/UCX-1.9.0.eb
@@ -0,0 +1,68 @@
+easyblock = 'ConfigureMake'
+
+name = 'UCX'
+version = '1.9.0'
+
+homepage = 'http://www.openucx.org'
+
+description = """Unified Communication X
+An open-source production grade communication framework for data centric
+and high-performance applications
+"""
+
+site_contacts = 'Damian Alvarez <d.alvarez@fz-juelich.de>'
+
+toolchain = SYSTEM
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s']
+sources = ['%(namelower)s-%(version)s.tar.gz']
+
+builddependencies = [
+    ('binutils', '2.34'),
+    ('pkg-config', '0.29.2'),
+]
+
+osdependencies = [
+    # needed for --with-verbs
+    ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel'),
+]
+
+dependencies = [
+    ('numactl', '2.0.13'),
+    ('CUDA', '11.0'),
+]
+
+configopts = '--with-verbs '  # Build OpenFabrics support
+configopts += '--without-java '
+configopts += '--disable-doxygen-doc '
+
+configopts += '--enable-optimizations '  # Enable machine-specific optimizations, default: NO
+# configopts += '--enable-tuning '       # Enable parameter tuning in run-time, default: NO
+configopts += '--enable-mt '           # Enable thread support in UCP and UCT, default: NO
+configopts += '--disable-debug '
+configopts += '--disable-logging '
+configopts += '--disable-assertions '
+configopts += '--disable-params-check '
+configopts += '--disable-dependency-tracking '
+configopts += '--with-cuda=$EBROOTCUDA '
+
+configopts += '--enable-cma '           # Enable Cross Memory Attach
+
+configopts += '--with-rc '              # Compile with IB Reliable Connection support
+configopts += '--with-ud '              # Compile with IB Unreliable Datagram support
+configopts += '--with-dc '              # Compile with IB Dynamic Connection support
+configopts += '--with-mlx5-dv '         # Compile with mlx5 Direct Verbs support
+configopts += '--with-ib-hw-tm '        # Compile with IB Tag Matching support
+configopts += '--with-dm '              # Compile with Device Memory support
+configopts += '--without-cm '           # Disable IB CM
+
+configopts += '--with-avx '             # Compile with AVX
+configopts += '--with-gdrcopy '         # Compile with GDRCopy
+
+sanity_check_paths = {
+    'files': ['bin/ucx_info', 'bin/ucx_perftest', 'bin/ucx_read_profile'],
+    'dirs': ['include', 'lib', 'share']
+}
+
+moduleclass = 'system'
diff --git a/Golden_Repo/juwelsbooster_overlay/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb b/Golden_Repo/juwelsbooster_overlay/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b9dbd75dd8d1cbd62799493f7774344ff89c6b2f
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb
@@ -0,0 +1,85 @@
+name = 'NVHPC'
+version = '20.11'
+local_gccver = '9.3.0'
+versionsuffix = '-GCC-%s' % local_gccver
+
+homepage = 'https://developer.nvidia.com/hpc-sdk/'
+description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
+site_contacts = 'a.herten@fz-juelich.de'
+
+toolchain = SYSTEM
+
+# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html)
+# accept_eula = True
+source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
+local_tarball_tmpl = 'nvhpc_2020_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
+sources = [local_tarball_tmpl % '%(arch)s']
+checksums = [
+    {
+        local_tarball_tmpl % 'x86_64':
+            'c80fc26e5ba586696f7030f03054c1aaca0752a891c7923faf47eb23b66857ec',
+        local_tarball_tmpl % 'ppc64le':
+            '99e5a5437e82f3914e0fe81feb761a5b599a3fe8b31f3c2cac8ae47e8cdc7b0f'
+    }
+]
+
+local_gccver = '9.3.0'
+dependencies = [
+    ('GCCcore', local_gccver),
+    ('binutils', '2.34', '', ('GCCcore', local_gccver)),
+    ('CUDA', '11.0', '', SYSTEM),
+    # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
+    ('numactl', '2.0.13', '', SYSTEM)
+]
+
+module_add_cuda = False
+cuda_compute_capabilities = "8.0"
+
+# specify default CUDA version that should be used by NVHPC
+# should match one of the CUDA versions that are included with this NVHPC version
+# (see install_components/Linux_x86_64/20.7/cuda/)
+# for NVHPC 20.7, those are: 11.0, 10.2, 10.1;
+# this version can be tweaked from the EasyBuild command line with
+# --try-amend=default_cuda_version="10.2" (for example)
+default_cuda_version = '11.0'
+
+# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
+# The following list gives examples for the easyconfig
+#
+# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
+# 1) Bundled CUDA
+#    If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
+#      default_cuda_version = "11.0"
+#    in this easyconfig file; alternatively, it can be specified through the command line during installation with
+#      --try-amend=default_cuda_version="10.2"
+# 2) CUDA provided via EasyBuild
+#    Use CUDAcore as a dependency, for example
+#      dependencies = [('CUDAcore', '11.0.2')]
+#    The parameter default_cuda_version still can be set as above.
+#    If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
+#
+# Define a NVHPC-default Compute Capability
+#   cuda_compute_capabilities = "8.0"
+# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
+# Only single values supported, not lists of values!
+#
+# Options to add/remove things to/from environment module (defaults shown)
+#   module_byo_compilers = False  # Remove compilers from PATH (Bring-your-own compilers)
+#   module_nvhpc_own_mpi = False  # Add NVHPC's own pre-compiled OpenMPI
+#   module_add_math_libs = False  # Add NVHPC's math libraries (which should be there from CUDA anyway)
+#   module_add_profilers = False  # Add NVHPC's NVIDIA Profilers
+#   module_add_nccl = False       # Add NVHPC's NCCL library
+#   module_add_nvshmem = False    # Add NVHPC's NVSHMEM library
+#   module_add_cuda = False       # Add NVHPC's bundled CUDA
+
+# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
+moduleclass = 'compiler'
+
+# We use a HMNS, so let's enforce a unique compiler
+modluafooter = '''
+family("compiler")
+add_property("arch","gpu")
+'''
+
+# Always do a recursive unload on compilers
+recursive_module_unload = True
diff --git a/Golden_Repo/juwelsbooster_overlay/n/nvidia-driver/nvidia-driver-default.eb b/Golden_Repo/juwelsbooster_overlay/n/nvidia-driver/nvidia-driver-default.eb
index 25770af0831d6fa2377c2cd946d98df5e324a217..4606bd345167e79e6690a45a391f96a9957d48b7 100644
--- a/Golden_Repo/juwelsbooster_overlay/n/nvidia-driver/nvidia-driver-default.eb
+++ b/Golden_Repo/juwelsbooster_overlay/n/nvidia-driver/nvidia-driver-default.eb
@@ -1,6 +1,6 @@
 name = 'nvidia-driver'
 version = 'default'
-realversion = '450.80.02'
+realversion = '460.32.03'
 
 homepage = 'https://developer.nvidia.com/cuda-toolkit'
 description = """This is a set of libraries normally installed by the NVIDIA driver installer."""
diff --git a/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9577412ca9bafb7c907f3e0d16d9c94cd2dbf8b5
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5-PyTorch-1.7.0.eb
@@ -0,0 +1,94 @@
+easyblock = 'PythonBundle'
+
+name = 'PyTorch-Geometric'
+version = '1.6.3'
+local_pytorch_ver = '1.7.0'
+versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_ver
+
+homepage = 'https://github.com/rusty1s/pytorch_geometric'
+description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch."
+
+site_contacts = 't.breuer@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+
+local_pysuff = '-Python-%(pyver)s'
+dependencies = [
+    ('Python', '3.8.5'),
+    ('PyTorch', local_pytorch_ver, local_pysuff),
+    ('numba', '0.51.1', local_pysuff),
+    ('h5py', '2.10.0', '-serial%s' % local_pysuff),
+    ('scikit', '2020', local_pysuff),
+    ('torchvision', '0.8.1', local_pysuff),
+    ('trimesh', '3.8.11', local_pysuff),
+    ('METIS', '5.1.0', '-IDX64'),
+]
+
+use_pip = True
+
+# this is a bundle of Python packages
+exts_defaultclass = 'PythonPackage'
+exts_download_dep_fail = True
+exts_default_options = {'source_urls': [PYPI_SOURCE]}
+
+exts_list = [
+    ('gdist', '1.0.3', {
+        'source_urls': ['https://pypi.python.org/packages/source/g/gdist'],
+        'modulename': 'gdist',
+    }),
+    ('googledrivedownloader', '0.4', {
+        'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'],
+        'modulename': 'google_drive_downloader',
+    }),
+    ('plyfile', '0.7.2', {
+        'checksums': ['59a25845d00a51098e6c9147c3c96ce89ad97395e256a4fabb4aed7cf7db5541'],
+    }),
+    ('torch_scatter', '2.0.5', {
+        'patches': ['torch_scatter-2.0.5-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '2.0.5.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/'],
+    }),
+    ('torch_sparse', '0.6.8', {
+        'patches': ['torch_sparse-0.6.8-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'preinstallopts': 'FORCE_CUDA=1 WITH_METIS=1',
+        'source_tmpl': '0.6.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/'],
+    }),
+    ('torch_cluster', '1.5.8', {
+        'patches': ['torch_cluster-1.5.8-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.5.8.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/'],
+    }),
+    ('torch_spline_conv', '1.2.0', {
+        'patches': ['torch_spline_conv-1.2.0-sm_80.patch'],
+        'prebuildopts': 'FORCE_CUDA=1',
+        'preinstallopts': 'FORCE_CUDA=1',
+        'source_tmpl': '1.2.0.tar.gz',
+        'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive'],
+    }),
+    ('ase', '3.21.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/a/ase'],
+        'modulename': 'ase',
+    }),
+    ('python-louvain', '0.15', {
+        'source_urls': ['https://pypi.python.org/packages/source/p/python-louvain'],
+        'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'],
+        'modulename': 'community',
+    }),
+    ('tqdm', '4.56.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/t/tqdm'],
+        'modulename': 'tqdm',
+    }),
+    ('torch_geometric', version, {
+        'checksums': ['347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1'],
+    }),
+]
+
+sanity_pip_check = True
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_80.patch b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c80da06e0469c2c613424a4df95950c022c60895
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_cluster-1.5.8-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:10:11.609352000 +0100
++++ setup.py	2021-01-20 10:10:37.525550350 +0100
+@@ -39,7 +39,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_80.patch b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ec5521c3024f876be8c5f6999256757e7d0631ec
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_scatter-2.0.5-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 09:53:22.085271000 +0100
++++ setup.py	2021-01-20 09:53:54.835241801 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_80.patch b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5439544a81cb588a07218faeb89272c07d9b2595
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_sparse-0.6.8-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:07:15.518446000 +0100
++++ setup.py	2021-01-20 10:07:51.389877000 +0100
+@@ -53,7 +53,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+         if sys.platform == 'win32':
diff --git a/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_80.patch b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_80.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a3ae24b363e5bce2e2937c14301af194bd14cc14
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/p/PyTorch-Geometric/torch_spline_conv-1.2.0-sm_80.patch
@@ -0,0 +1,11 @@
+--- setup_orig.py	2021-01-20 10:12:33.326687000 +0100
++++ setup.py	2021-01-20 10:12:51.492198482 +0100
+@@ -26,7 +26,7 @@
+         define_macros += [('WITH_CUDA', None)]
+         nvcc_flags = os.getenv('NVCC_FLAGS', '')
+         nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ')
+-        nvcc_flags += ['-arch=sm_35', '--expt-relaxed-constexpr']
++        nvcc_flags += ['-gencode=arch=compute_80,code=sm_80', '--expt-relaxed-constexpr']
+         extra_compile_args['nvcc'] = nvcc_flags
+ 
+     extensions_dir = osp.join(osp.dirname(osp.abspath(__file__)), 'csrc')
diff --git a/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.8.1.eb b/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.8.1.eb
index df14257476b2a77486b622bf5d35c9ed4795803a..740e9d2e3d5f84bb1f22280bac5c90f32d8f4e33 100644
--- a/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.8.1.eb
+++ b/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.8.1.eb
@@ -55,6 +55,7 @@ configopts += '--with-dc '              # Compile with IB Dynamic Connection sup
 configopts += '--with-mlx5-dv '         # Compile with mlx5 Direct Verbs support
 configopts += '--with-ib-hw-tm '        # Compile with IB Tag Matching support
 configopts += '--with-dm '              # Compile with Device Memory support
+configopts += '--without-cm '           # Disable IB CM
 
 configopts += '--with-avx '             # Compile with AVX
 configopts += '--with-gdrcopy '         # Compile with GDRCopy
diff --git a/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.9.0.eb b/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.9.0.eb
index cdf6510cf9b9cd517a3d306120d6215db617c86c..be5e7d345e87b84378bcbf8af348c6888b20c666 100644
--- a/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.9.0.eb
+++ b/Golden_Repo/juwelsbooster_overlay/u/UCX/UCX-1.9.0.eb
@@ -55,6 +55,7 @@ configopts += '--with-dc '              # Compile with IB Dynamic Connection sup
 configopts += '--with-mlx5-dv '         # Compile with mlx5 Direct Verbs support
 configopts += '--with-ib-hw-tm '        # Compile with IB Tag Matching support
 configopts += '--with-dm '              # Compile with Device Memory support
+configopts += '--without-cm '           # Disable IB CM
 
 configopts += '--with-avx '             # Compile with AVX
 configopts += '--with-gdrcopy '         # Compile with GDRCopy
diff --git a/Golden_Repo/juwelsbooster_overlay/v/Vampir/Vampir-9.9.0.eb b/Golden_Repo/juwelsbooster_overlay/v/Vampir/Vampir-9.9.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..42676131160b2e95bb2f113cdc4eb5d25854c707
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/v/Vampir/Vampir-9.9.0.eb
@@ -0,0 +1,40 @@
+# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild
+# Copyright:: Copyright 2013 Juelich Supercomputing Centre, Germany
+# Authors::   Bernd Mohr <b.mohr@fz-juelich.de>
+# License::   New BSD
+#
+# This work is based from experiences from the UNITE project
+# http://apps.fz-juelich.de/unite/
+##
+easyblock = 'Binary'
+
+name = "Vampir"
+version = "9.9.0"
+local_archsuffix = "-linux-x86_64"
+
+homepage = 'http://www.vampir.eu'
+description = """The VAMPIR software tool provides an easy-to-use framework that enables
+developers to quickly display and analyze arbitrary program behavior at any level of detail.
+The tool suite implements optimized event analysis algorithms and customizable displays that
+enable fast and interactive rendering of very complex performance monitoring data.
+
+"""
+
+site_contacts = ['Michael Knobloch <m.knobloch@fz-juelich.de>', 'Software Analysis and Tools <swat@fz-juelich.de>']
+
+toolchain = SYSTEM
+
+sources = ['vampir-%s%s-setup.sh' % (version, local_archsuffix)]
+
+install_cmd = './vampir-%(version)s-linux-x86_64-setup.sh --silent --instdir=%(installdir)s'
+
+sanity_check_paths = {
+    'files': ["bin/vampir", "doc/vampir-manual.pdf"],
+    'dirs': []
+}
+
+modextravars = {
+    'VAMPIR_LICENSE': '/p/software/juwelsbooster/licenses/vampir/vampir.license',
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/juwelsbooster_overlay/v/VampirServer/VampirServer-9.9.0-gpsmpi-2020.eb b/Golden_Repo/juwelsbooster_overlay/v/VampirServer/VampirServer-9.9.0-gpsmpi-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..239a857fd6b511eda9c07f2907c3a5537f988b48
--- /dev/null
+++ b/Golden_Repo/juwelsbooster_overlay/v/VampirServer/VampirServer-9.9.0-gpsmpi-2020.eb
@@ -0,0 +1,61 @@
+# This is an easyconfig file for EasyBuild, see https://github.com/hpcugent/easybuild
+# Copyright:: Copyright 2013 Juelich Supercomputing Centre, Germany
+# Authors::   Bernd Mohr <b.mohr@fz-juelich.de>
+# License::   New BSD
+#
+# This work is based from experiences from the UNITE project
+# http://apps.fz-juelich.de/unite/
+##
+easyblock = 'Binary'
+
+name = "VampirServer"
+version = "9.9.0"
+
+homepage = 'http://www.vampir.eu'
+description = """The VAMPIR software tool provides an easy-to-use framework that enables
+developers to quickly display and analyze arbitrary program behavior at any level of detail.
+The tool suite implements optimized event analysis algorithms and customizable displays that
+enable fast and interactive rendering of very complex performance monitoring data.
+"""
+
+usage = """
+To start VampirServer
+module load Vampir VampirServer
+vampir &
+BATCH_OPT="--account=<budget> --partition=<partition>" vampirserver start -n 4 mpi
+(note server + port + server_id)
+- Use it
+Vampir GUI-> open other -> remote file -> server + port
+- To stop VampirServer
+vampirserver stop <server_id>
+"""
+
+site_contacts = ['Michael Knobloch <m.knobloch@fz-juelich.de>', 'Software Analysis and Tools <swat@fz-juelich.de>']
+
+toolchain = {'name': 'gpsmpi', 'version': '2020'}
+
+toolchainopts = {"usempi": True}
+
+sources = ['vampirserver-%s-linux-x86_64-setup.sh' % (version)]
+
+install_cmd = ('./vampirserver-%(version)s-linux-x86_64-setup.sh --silent --instdir=%(installdir)s '
+               '&& %(installdir)s/bin/vampirserver config --silent')
+
+sanity_check_paths = {
+    'files': ["bin/vampirserver", "doc/vampirserver-manual.pdf"],
+    'dirs': []
+}
+
+# Remove Cray-specific 'ap' launcher,
+# use SLURM launcher as MPI launcher and default
+postinstallcmds = [
+    'rm %(installdir)s/etc/server/launcher/ap',
+    '''sed -i s/'BATCH_OPT=""'/'#BATCH_OPT=""'/g %(installdir)s/etc/server/launcher/custom/slurm''',
+    'cp %(installdir)s/etc/server/launcher/custom/slurm %(installdir)s/etc/server/launcher/mpi',
+]
+
+modextravars = {
+    'VAMPIR_LICENSE': '/p/software/juwelsbooster/licenses/vampir/vampir.license',
+}
+
+moduleclass = 'perf'
diff --git a/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb b/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020-CUDA.eb
new file mode 100644
index 0000000000000000000000000000000000000000..9c542791db07c5be762008ee87596fe7d80461cc
--- /dev/null
+++ b/Golden_Repo/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 = ['7.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/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020.eb b/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..49797ab28bdc54178c5f1b68512a695fdcb589c5
--- /dev/null
+++ b/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-gpsmkl-2020.eb
@@ -0,0 +1,158 @@
+# 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'
+
+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 = [
+    ('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
+
+# 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
+
+# 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']
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-intel-para-2020.eb b/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-intel-para-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..652bd42b756c9e5ad170969b2fe66d098a3e959e
--- /dev/null
+++ b/Golden_Repo/l/LAMMPS/LAMMPS-24Dec2020-intel-para-2020.eb
@@ -0,0 +1,158 @@
+# 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'
+
+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': 'intel-para', '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 = [
+    ('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
+
+# 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
+
+# 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']
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/m/METIS/METIS-5.1.0-GCCcore-9.3.0-IDX64.eb b/Golden_Repo/m/METIS/METIS-5.1.0-GCCcore-9.3.0-IDX64.eb
new file mode 100644
index 0000000000000000000000000000000000000000..6f09fd0acd3edc23729604f2686b74268ddbb138
--- /dev/null
+++ b/Golden_Repo/m/METIS/METIS-5.1.0-GCCcore-9.3.0-IDX64.eb
@@ -0,0 +1,31 @@
+name = 'METIS'
+version = '5.1.0'
+versionsuffix = '-IDX64'
+
+homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/metis/overview'
+description = """METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes,
+and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the
+multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.
+"""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+toolchainopts = {'pic': True}
+
+sources = [SOURCELOWER_TAR_GZ]
+source_urls = [
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis',
+    'http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD',
+]
+
+patches = ['METIS-5.1.0-IDX64.patch']
+
+builddependencies = [
+    ('binutils', '2.34'),
+    ('CMake', '3.18.0')
+]
+
+configopts = ['', 'shared=1']
+
+moduleclass = 'math'
diff --git a/Golden_Repo/m/METIS/METIS-5.1.0-IDX64.patch b/Golden_Repo/m/METIS/METIS-5.1.0-IDX64.patch
new file mode 100644
index 0000000000000000000000000000000000000000..70816692329c2a4083b45f4abb2bc782b31cacb3
--- /dev/null
+++ b/Golden_Repo/m/METIS/METIS-5.1.0-IDX64.patch
@@ -0,0 +1,11 @@
+--- include/metis_orig.h	2021-01-20 15:05:51.807203000 +0100
++++ include/metis.h	2021-01-20 15:07:06.391591000 +0100
+@@ -30,7 +30,7 @@
+  GCC does provides these definitions in stdint.h, but it may require some
+  modifications on other architectures.
+ --------------------------------------------------------------------------*/
+-#define IDXTYPEWIDTH 32
++#define IDXTYPEWIDTH 64
+ 
+ 
+ /*--------------------------------------------------------------------------
diff --git a/Golden_Repo/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb b/Golden_Repo/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..31b0fc972fdf0a710b9e9ef9a70020a681e6d60d
--- /dev/null
+++ b/Golden_Repo/n/NVHPC/NVHPC-20.11-GCC-9.3.0.eb
@@ -0,0 +1,85 @@
+name = 'NVHPC'
+version = '20.11'
+local_gccver = '9.3.0'
+versionsuffix = '-GCC-%s' % local_gccver
+
+homepage = 'https://developer.nvidia.com/hpc-sdk/'
+description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)"""
+site_contacts = 'a.herten@fz-juelich.de'
+
+toolchain = SYSTEM
+
+# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html)
+# accept_eula = True
+source_urls = ['https://developer.download.nvidia.com/hpc-sdk/%(version)s/']
+local_tarball_tmpl = 'nvhpc_2020_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz'
+sources = [local_tarball_tmpl % '%(arch)s']
+checksums = [
+    {
+        local_tarball_tmpl % 'x86_64':
+            'c80fc26e5ba586696f7030f03054c1aaca0752a891c7923faf47eb23b66857ec',
+        local_tarball_tmpl % 'ppc64le':
+            '99e5a5437e82f3914e0fe81feb761a5b599a3fe8b31f3c2cac8ae47e8cdc7b0f'
+    }
+]
+
+local_gccver = '9.3.0'
+dependencies = [
+    ('GCCcore', local_gccver),
+    ('binutils', '2.34', '', ('GCCcore', local_gccver)),
+    ('CUDA', '11.0', '', SYSTEM),
+    # This is necessary to avoid cases where just libnuma.so.1 is present in the system and -lnuma fails
+    ('numactl', '2.0.13', '', SYSTEM)
+]
+
+module_add_cuda = False
+cuda_compute_capabilities = "7.0"
+
+# specify default CUDA version that should be used by NVHPC
+# should match one of the CUDA versions that are included with this NVHPC version
+# (see install_components/Linux_x86_64/20.7/cuda/)
+# for NVHPC 20.7, those are: 11.0, 10.2, 10.1;
+# this version can be tweaked from the EasyBuild command line with
+# --try-amend=default_cuda_version="10.2" (for example)
+default_cuda_version = '11.0'
+
+# NVHPC EasyBlock supports some features, which can be set via CLI or this easyconfig.
+# The following list gives examples for the easyconfig
+#
+# NVHPC needs CUDA to work. Two options are available: 1) Use NVHPC-bundled CUDA, 2) use system CUDA
+# 1) Bundled CUDA
+#    If no easybuild dependency to CUDA is present, the bundled CUDA is taken. A version needs to be specified with
+#      default_cuda_version = "11.0"
+#    in this easyconfig file; alternatively, it can be specified through the command line during installation with
+#      --try-amend=default_cuda_version="10.2"
+# 2) CUDA provided via EasyBuild
+#    Use CUDAcore as a dependency, for example
+#      dependencies = [('CUDAcore', '11.0.2')]
+#    The parameter default_cuda_version still can be set as above.
+#    If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA)
+#
+# Define a NVHPC-default Compute Capability
+#   cuda_compute_capabilities = "8.0"
+# Can also be specified on the EasyBuild command line via --cuda-compute-capabilities=8.0
+# Only single values supported, not lists of values!
+#
+# Options to add/remove things to/from environment module (defaults shown)
+#   module_byo_compilers = False  # Remove compilers from PATH (Bring-your-own compilers)
+#   module_nvhpc_own_mpi = False  # Add NVHPC's own pre-compiled OpenMPI
+#   module_add_math_libs = False  # Add NVHPC's math libraries (which should be there from CUDA anyway)
+#   module_add_profilers = False  # Add NVHPC's NVIDIA Profilers
+#   module_add_nccl = False       # Add NVHPC's NCCL library
+#   module_add_nvshmem = False    # Add NVHPC's NVSHMEM library
+#   module_add_cuda = False       # Add NVHPC's bundled CUDA
+
+# this bundle serves as a compiler-only toolchain, so it should be marked as compiler (important for HMNS)
+moduleclass = 'compiler'
+
+# We use a HMNS, so let's enforce a unique compiler
+modluafooter = '''
+family("compiler")
+add_property("arch","gpu")
+'''
+
+# Always do a recursive unload on compilers
+recursive_module_unload = True
diff --git a/Golden_Repo/n/nano/nano-5.5-GCCcore-9.3.0.eb b/Golden_Repo/n/nano/nano-5.5-GCCcore-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..4d0344e37406e862cb7db74b883065368d263ad0
--- /dev/null
+++ b/Golden_Repo/n/nano/nano-5.5-GCCcore-9.3.0.eb
@@ -0,0 +1,27 @@
+easyblock = 'ConfigureMake'
+
+name = 'nano'
+version = '5.5'
+
+homepage = 'https://www.nano-editor.org/'
+description = """GNU nano is a small and friendly text editor. Besides basic text editing, nano
+offers features like undo/redo, syntax coloring, interactive search-and-replace,
+auto-indentation, line numbers, word completion, file locking, backup files, and
+internationalization support."""
+
+
+site_contacts = 'a.strube@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+
+source_urls = [GNU_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+builddependencies = [('binutils', '2.34')]
+
+sanity_check_paths = {
+    'files': ['bin/nano'],
+    'dirs': ['bin', 'share'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-ipsmpi-2020-mt.eb b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-ipsmpi-2020-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..4f62c13c0aa41434335bcea0a16950cadb2c689e
--- /dev/null
+++ b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-ipsmpi-2020-mt.eb
@@ -0,0 +1,28 @@
+easyblock = 'ConfigureMake'
+
+name = 'netCDF-C++4'
+version = '4.3.1'
+
+homepage = 'http://www.unidata.ucar.edu/software/netcdf/'
+description = """NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc']
+
+dependencies = [('netCDF', '4.7.4')]
+
+sanity_check_paths = {
+    'files': ['include/netcdf', 'lib/libnetcdf_c++4.a', 'lib/libnetcdf_c++4.%s' % SHLIB_EXT],
+    'dirs': [],
+}
+
+moduleclass = 'data'
diff --git a/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-ipsmpi-2020-mt.eb b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-ipsmpi-2020-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..fefcf3167349fa45ceced87f6db55d69db231140
--- /dev/null
+++ b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-ipsmpi-2020-mt.eb
@@ -0,0 +1,24 @@
+name = 'netCDF-Fortran'
+version = '4.5.3'
+
+homepage = 'http://www.unidata.ucar.edu/software/netcdf/'
+description = """NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'pic': True}
+
+source_urls = [
+    'ftp://ftp.unidata.ucar.edu/pub/netcdf/',
+    'ftp://ftp.unidata.ucar.edu/pub/netcdf/old',
+]
+sources = [SOURCELOWER_TAR_GZ]
+checksums = ['123a5c6184336891e62cf2936b9f2d1c54e8dee299cfd9d2c1a1eb05dd668a74']
+
+dependencies = [('netCDF', '4.7.4')]
+
+moduleclass = 'data'
diff --git a/Golden_Repo/n/netCDF/netCDF-4.7.4-ipsmpi-2020-mt.eb b/Golden_Repo/n/netCDF/netCDF-4.7.4-ipsmpi-2020-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..00e98ec126e2fd33ca9cb892bd195fc30ec71d08
--- /dev/null
+++ b/Golden_Repo/n/netCDF/netCDF-4.7.4-ipsmpi-2020-mt.eb
@@ -0,0 +1,44 @@
+name = 'netCDF'
+version = '4.7.4'
+
+homepage = 'http://www.unidata.ucar.edu/software/netcdf/'
+description = """NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'pic': True, 'usempi': True}
+
+source_urls = ['https://github.com/Unidata/netcdf-c/archive/']
+sources = ['v%s.tar.gz' % (version)]
+checksums = ['99930ad7b3c4c1a8e8831fb061cb02b2170fc8e5ccaeda733bd99c3b9d31666b']
+
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('cURL', '7.71.1'),
+    ('Szip', '2.1.1'),
+    ('parallel-netcdf', '1.12.1')
+]
+
+builddependencies = [
+    ('CMake', '3.18.0'),
+    ('Doxygen', '1.8.18'),
+]
+
+# make sure both static and shared libs are built
+configopts = [
+    "-DCURL_LIBRARY=$EBROOTCURL/lib/libcurl.so -DCURL_INCLUDE_DIR=$EBROOTCURL/include " +
+    "-DENABLE_PNETCDF=ON -DBUILD_SHARED_LIBS=ON",
+    "-DCURL_LIBRARY=$EBROOTCURL/lib/libcurl.so -DCURL_INCLUDE_DIR=$EBROOTCURL/include " +
+    "-DENABLE_PNETCDF=ON -DBUILD_SHARED_LIBS=OFF",
+]
+
+sanity_check_paths = {
+    'files': ["include/netcdf_mem.h", "include/netcdf_par.h"],
+    'dirs': [],
+}
+
+moduleclass = 'data'
diff --git a/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.4-ipsmpi-2020-mt-Python-3.8.5.eb b/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.4-ipsmpi-2020-mt-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b7debd8155dada2b671127446263e5aafaf7462f
--- /dev/null
+++ b/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.4-ipsmpi-2020-mt-Python-3.8.5.eb
@@ -0,0 +1,44 @@
+easyblock = 'PythonBundle'
+
+name = 'netcdf4-python'
+version = '1.5.4'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://unidata.github.io/netcdf4-python/'
+description = """Python/numpy interface to netCDF."""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'usempi': True}
+
+source_urls = ['https://github.com/Unidata/netcdf4-python/archive/']
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('netCDF', '4.7.4'),
+    ('mpi4py', '3.0.3', versionsuffix),
+]
+
+use_pip = True
+sanity_pip_check = True
+runtest = False  # mpirun problems
+skipsteps = ['sanitycheck']  # mpirun problems
+
+exts_default_options = {'source_urls': [PYPI_SOURCE]}
+
+exts_list = [
+    ('cftime', '1.2.1', {
+        'checksums': ['ab5d5076f7d3e699758a244ada7c66da96bae36e22b9e351ce0ececc36f0a57f'],
+    }),
+    (name, version, {
+        'source_tmpl': 'netCDF4-%(version)s.tar.gz',
+        'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'],
+        'checksums': ['941de6f3623b6474ecb4d043be5990690f7af4cf0d593b31be912627fe5aad03'],
+    }),
+]
+
+fix_python_shebang_for = ['bin/*']
+
+moduleclass = 'data'
diff --git a/Golden_Repo/n/nlohmann-json/nlohmann-json-3.9.1-GCCcore-9.3.0.eb b/Golden_Repo/n/nlohmann-json/nlohmann-json-3.9.1-GCCcore-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b740fe842b438eef851c04d8f36c9d96a033ed76
--- /dev/null
+++ b/Golden_Repo/n/nlohmann-json/nlohmann-json-3.9.1-GCCcore-9.3.0.eb
@@ -0,0 +1,26 @@
+easyblock = 'CMakeMake'
+
+name = 'nlohmann-json'
+version = '3.9.1'
+
+homepage = "https://github.com/nlohmann/json"
+description = """JSON for modern C++ by Niels Lohmann
+"""
+
+site_contacts = 'h.zilken@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/nlohmann/json/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/OpenGL/OpenGL-2020-GCCcore-9.3.0.eb b/Golden_Repo/o/OpenGL/OpenGL-2020-GCCcore-9.3.0.eb
index cc6cebec4d0ad532c109dd61d97c5be277a37360..721d44504c721e52e00b21c0be71f4ccfe8f9505 100644
--- a/Golden_Repo/o/OpenGL/OpenGL-2020-GCCcore-9.3.0.eb
+++ b/Golden_Repo/o/OpenGL/OpenGL-2020-GCCcore-9.3.0.eb
@@ -165,18 +165,26 @@ postinstallcmds = [
     'cd %(installdir)s/lib && ln -sf ${EBROOTNVIDIA}/lib64/libGLESv1_CM_nvidia.so.1 .',
     'cd %(installdir)s/lib && ln -sf ${EBROOTNVIDIA}/lib64/libGLESv2_nvidia.so.2 .',
     # EGL vendor ICDs
-    'echo "{"                                               >  %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json',
-    'echo "  \"file_format_version\" : \"1.0.0\","          >> %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json',
-    'echo "  \"ICD\" : {"                                   >> %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json',
-    'echo "      \"library_path\" : \"libEGL_nvidia.so.0\"" >> %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json',
-    'echo "  }"                                             >> %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json',
-    'echo "}"                                               >> %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json',
-    'echo "{"                                               >  %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json',
-    'echo "  \"file_format_version\" : \"1.0.0\","          >> %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json',
-    'echo "  \"ICD\" : {"                                   >> %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json',
-    'echo "      \"library_path\" : \"libEGL_mesa.so.0\""   >> %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json',
-    'echo "  }"                                             >> %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json',
-    'echo "}"                                             >> %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json',
+    (
+        '{ cat > %(installdir)s/share/glvnd/egl_vendor.d/10_nvidia.json; } << \'EOF\'\n'
+        '{\n'
+        '  \"file_format_version\" : \"1.0.0\",\n'
+        '  \"ICD\" : {\n'
+        '     \"library_path\" : \"libEGL_nvidia.so.0\"\n'
+        '  }\n'
+        '}\n'
+        'EOF'
+    ),
+    (
+        '{ cat > %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json; } << \'EOF\'\n'
+        '{\n'
+        '  \"file_format_version\" : \"1.0.0\",\n'
+        '  \"ICD\" : {\n'
+        '     \"library_path\" : \"libEGL_mesa.so.0\"\n'
+        '  }\n'
+        '}\n'
+        'EOF'
+    ),
     # correct pkg-config of GLEW
     'sed -i "/^libdir=/c\libdir=\${exec_prefix}\/lib" %(installdir)s/lib/pkgconfig/glew.pc',
     'sed -i "/^prefix=/c\prefix=%(installdir)s"       %(installdir)s/lib/pkgconfig/glew.pc',
diff --git a/Golden_Repo/o/OptiX/OptiX-6.5.0.eb b/Golden_Repo/o/OptiX/OptiX-6.5.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..6232d58d8cf24e397ff21ada5b873c4d69284119
--- /dev/null
+++ b/Golden_Repo/o/OptiX/OptiX-6.5.0.eb
@@ -0,0 +1,33 @@
+##
+# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
+# Authors::   Stephane Thiell <sthiell@stanford.edu>
+##
+easyblock = 'Binary'
+
+name = 'OptiX'
+version = '6.5.0'
+
+homepage = 'https://developer.nvidia.com/optix'
+description = """OptiX is NVIDIA SDK for easy ray tracing performance.
+ It provides a simple framework for accessing the GPU’s massive ray tracing
+ power using state-of-the-art GPU algorithms."""
+
+toolchain = SYSTEM
+
+# Registration required. Download links:
+# https://developer.nvidia.com/designworks/optix/download
+# https://developer.nvidia.com/designworks/optix/downloads/legacy
+sources = ['NVIDIA-OptiX-SDK-%(version)s-linux64.sh']
+checksums = ['eca09e617a267e18403ecccc715c5bc3a88729b81589a828fcb696435100a62e']
+
+install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s"
+
+sanity_check_paths = {
+    'files': ["include/optix.h", "include/optix_cuda.h", "lib64/liboptix.%s" % SHLIB_EXT,
+              "lib64/liboptixu.%s" % SHLIB_EXT],
+    'dirs': []
+}
+
+modextravars = {'OPTIX_HOME': '%(installdir)s'}
+
+moduleclass = 'vis'
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-complex.eb b/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-complex.eb
index 9f538ad515db6c2bb54e6234dd1862eff727766b..f7513363252d5d9a3d4c6c75706ec3694ba30b10 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-complex.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-complex.eb
@@ -18,7 +18,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'gpsmkl', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -26,17 +26,18 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('METIS', '5.1.0'),
+    ('ParMETIS', '4.0.3'),
+]
+
 download_deps_static = [
-    'metis',
-    'parmetis',
     'spooles',
     'superlu',
     'superlu_dist',
@@ -44,9 +45,11 @@ download_deps_static = [
     'chaco',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
 configopts += '--with-scalar-type=complex '
 
+shared_libs = 1
+
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/seq/aij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-int8.eb b/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-int8.eb
index 8ff3938d0468003b87c601e4b286adc9beb0a061..b617483ebaf045773ad2c7a8d51db065000044e4 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-int8.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020-int8.eb
@@ -18,7 +18,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'gpsmkl', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -26,14 +26,15 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+]
+
 download_deps_static = [
     'hypre',
     'metis',
@@ -42,9 +43,11 @@ download_deps_static = [
     'superlu_dist',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
 configopts += '--with-64-bit-indices=1 '
 
+shared_libs = 1
+
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/seq/aij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020.eb b/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020.eb
index 48b295308ab12289e97ed058236414a7070b39aa..0fb1c75f9ca629a159592f669601ac481b9d0a5e 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-gpsmkl-2020.eb
@@ -17,7 +17,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'gpsmkl', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -25,18 +25,19 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('METIS', '5.1.0'),
+    ('ParMETIS', '4.0.3'),
+]
+
 download_deps_static = [
     'hypre',
-    'metis',
-    'parmetis',
     'spooles',
     'superlu',
     'superlu_dist',
@@ -47,7 +48,9 @@ download_deps_static = [
     'parms',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
+
+shared_libs = 1
 
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-complex.eb b/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-complex.eb
index a0073052eda3bae85c34e7842f03ba7535143eb0..ccee623724abefa6313540894776f71c4c88fcae 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-complex.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-complex.eb
@@ -18,7 +18,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'intel', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -26,17 +26,18 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('METIS', '5.1.0'),
+    ('ParMETIS', '4.0.3'),
+]
+
 download_deps_static = [
-    'metis',
-    'parmetis',
     'spooles',
     'superlu',
     'superlu_dist',
@@ -44,9 +45,11 @@ download_deps_static = [
     'chaco',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
 configopts += '--with-scalar-type=complex '
 
+shared_libs = 1
+
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/seq/aij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-int8.eb b/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-int8.eb
index b49b8fcbfc0157ea4ef7ace4f49864e4a620163d..0d6b33e1e16016c22782c15f7fadc0f0319c7bf9 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-int8.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020-int8.eb
@@ -18,7 +18,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'intel', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -26,14 +26,15 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+]
+
 download_deps_static = [
     'hypre',
     'metis',
@@ -42,9 +43,11 @@ download_deps_static = [
     'superlu_dist',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
 configopts += '--with-64-bit-indices=1 '
 
+shared_libs = 1
+
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/seq/aij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020.eb b/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020.eb
index 5fbc54325f778b447ddcbaecc65ee720d123f795..fbcbb0d5d56e63d24bde89890c3383fc7c2623da 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-intel-2020.eb
@@ -17,7 +17,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'intel', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -25,18 +25,19 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('METIS', '5.1.0'),
+    ('ParMETIS', '4.0.3'),
+]
+
 download_deps_static = [
     'hypre',
-    'metis',
-    'parmetis',
     'spooles',
     'superlu',
     'superlu_dist',
@@ -47,7 +48,9 @@ download_deps_static = [
     'parms',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
+
+shared_libs = 1
 
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-complex.eb b/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-complex.eb
index 17b28ea1452895296412a711418ee765814500d4..692b7bd1419f126d6a68d99d679dd0bd612b5952 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-complex.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-complex.eb
@@ -18,7 +18,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'intel-para', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -26,17 +26,18 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('METIS', '5.1.0'),
+    ('ParMETIS', '4.0.3'),
+]
+
 download_deps_static = [
-    'metis',
-    'parmetis',
     'spooles',
     'superlu',
     'superlu_dist',
@@ -44,9 +45,11 @@ download_deps_static = [
     'chaco',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
 configopts += '--with-scalar-type=complex '
 
+shared_libs = 1
+
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/seq/aij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-int8.eb b/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-int8.eb
index e1cc4a0b47899180e91a89558e80036c023362d5..45748e19859d74c75350e80bce4b5dfafff364fe 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-int8.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020-int8.eb
@@ -18,7 +18,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'intel-para', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -26,14 +26,15 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+]
+
 download_deps_static = [
     'hypre',
     'metis',
@@ -42,9 +43,11 @@ download_deps_static = [
     'superlu_dist',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
 configopts += '--with-64-bit-indices=1 '
 
+shared_libs = 1
+
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/seq/aij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020.eb b/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020.eb
index 93e674d974fe2f6b379685d2405086aee669d950..e5045ace6debeb196d4b8e69aae2090d548565a5 100644
--- a/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020.eb
+++ b/Golden_Repo/p/PETSc/PETSc-3.14-intel-para-2020.eb
@@ -17,7 +17,7 @@ site_contacts = 'I. Gutheil (i.gutheil@fz-juelich.de)'
 
 toolchain = {'name': 'intel-para', 'version': '2020'}
 
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'pic': True}
 
 source_urls = ['http://ftp.mcs.anl.gov/pub/petsc/release-snapshots']
 sources = ['petsc-lite-%s.tar.gz' % version]
@@ -25,18 +25,19 @@ sources = ['petsc-lite-%s.tar.gz' % version]
 builddependencies = [
     ('CMake', '3.18.0')
 ]
-dependencies = [
-    ('HDF5', '1.10.6'),
-]
 
 download_deps = [
     'triangle',
 ]
 
+dependencies = [
+    ('HDF5', '1.10.6'),
+    ('METIS', '5.1.0'),
+    ('ParMETIS', '4.0.3'),
+]
+
 download_deps_static = [
     'hypre',
-    'metis',
-    'parmetis',
     'spooles',
     'superlu',
     'superlu_dist',
@@ -47,7 +48,9 @@ download_deps_static = [
     'parms',
 ]
 
-configopts = '--with-large-file-io --with-cxx-dialect=C++11 --with-pic=0 -fPIC '
+configopts = '--with-large-file-io --with-cxx-dialect=C++11 '
+
+shared_libs = 1
 
 postinstallcmds = [
     'cp %(builddir)s/petsc-%(version)s.0/src/mat/impls/aij/mpi/mpiaij.h %(installdir)s/include/petsc/private/',
diff --git a/Golden_Repo/p/PLUMED/PLUMED-2.7.0-gpsmpi-2020.eb b/Golden_Repo/p/PLUMED/PLUMED-2.7.0-gpsmpi-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..bcc374e01dc40cf599a9ac9db1b1b36effa9a958
--- /dev/null
+++ b/Golden_Repo/p/PLUMED/PLUMED-2.7.0-gpsmpi-2020.eb
@@ -0,0 +1,46 @@
+# Built with EasyBuild version 4.3.1 on 2021-01-09_13-02-25
+# by Ward Poelmans <wpoely86@gmail.com>
+
+easyblock = 'ConfigureMake'
+
+name = 'PLUMED'
+version = '2.7.0'
+
+homepage = 'http://www.plumed.org'
+description = """PLUMED is an open source library for free energy calculations in molecular systems
+which works together with some of the most popular molecular dynamics engines. Free energy
+calculations can be performed as a function of many order parameters with a particular  focus on
+biological problems, using state of the art methods such as metadynamics, umbrella sampling and
+Jarzynski-equation based steered MD. The software, written in C++, can be easily interfaced with
+both Fortran and C/C++ codes.
+"""
+
+site_contacts = 'sc@fz-juelich.de'
+
+toolchain = {'name': 'gpsmpi', 'version': '2020'}
+toolchainopts = {'usempi': 'True'}
+
+source_urls = ['https://github.com/plumed/plumed2/archive/']
+sources = ['v%(version)s.tar.gz']
+
+dependencies = [
+    ('zlib', '1.2.11'),
+    ('GSL', '2.6'),
+    ('libmatheval', '1.1.11'),
+]
+
+preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" '
+configopts = ' --exec-prefix=%(installdir)s --enable-gsl --enable-modules=all'
+prebuildopts = 'source sourceme.sh && '
+
+sanity_check_paths = {
+    'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT],
+    'dirs': ['lib/plumed']
+}
+
+modextrapaths = {
+    'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT,
+    'PLUMED_ROOT': 'lib/plumed',
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/p/ParaView/ParaView-5.8.1-EGL-gpsmkl-2020-Python-3.8.5.eb b/Golden_Repo/p/ParaView/ParaView-5.8.1-EGL-gpsmkl-2020-Python-3.8.5.eb
index 8341237f04adef6034d8bc1c6b8f5c83f073af1a..ba726fd4171c4d3041f3103f0cd66aa37a9fb3ed 100644
--- a/Golden_Repo/p/ParaView/ParaView-5.8.1-EGL-gpsmkl-2020-Python-3.8.5.eb
+++ b/Golden_Repo/p/ParaView/ParaView-5.8.1-EGL-gpsmkl-2020-Python-3.8.5.eb
@@ -34,6 +34,7 @@ patches = [
 
 builddependencies = [
     ('CMake', '3.18.0'),
+    ('git', '2.28.0'),
 ]
 
 dependencies = [
@@ -56,6 +57,7 @@ dependencies = [
     ('netCDF-C++4', '4.3.1'),
     ('netCDF-Fortran', '4.5.3'),
     ('mpi4py', '3.0.3', '-Python-%(pyver)s'),
+    ('nlohmann-json', '3.9.1'),  # for ParFlow plugin
     # ('VTK', '8.2.0', '-Python-%(pyver)s', ('gcccoremkl', '8.3.0-2019.3.199')),
     # ('VTKm','1.1.0','-AVX2'),
     ('Qt5', '5.14.2'),
@@ -67,6 +69,10 @@ dependencies = [
 separate_build_dir = True
 # parallel = 24
 
+# ensure we do not use a too advanced GL-version at config/build-time, which might not be available at run-time
+preconfigopts = "export __EGL_VENDOR_LIBRARY_FILENAMES=${EBROOTOPENGL}/share/glvnd/egl_vendor.d/50_mesa.json && "
+prebuildopts = "export __EGL_VENDOR_LIBRARY_FILENAMES=${EBROOTOPENGL}/share/glvnd/egl_vendor.d/50_mesa.json && "
+
 ########################################################################################
 # check ParaView Superbuild options                                                    #
 # https://gitlab.kitware.com/paraview/paraview-superbuild/tree/master                  #
@@ -228,8 +234,7 @@ configopts += '-DModule_vtkFiltersSelection=ON '
 configopts += '-DModule_vtkFiltersTopology=ON '
 
 # --- coupling --- #
-configopts += '-DPARAVIEW_USE_VISITBRIDGE=ON '
-configopts += '-DPARAVIEW_ENABLE_CATALYST=ON '
+# configopts += '-DPARAVIEW_ENABLE_CATALYST=ON '  # variable is obsolete and no longer has any effect
 
 # --- development & testing --- #
 configopts += '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON '
@@ -261,7 +266,14 @@ configopts += '-DNETCDF_CXX_ROOT=$EBROOTNETCDFMINCPLUSPLUS '
 configopts += '-DNETCDF_F77_ROOT=$EBROOTNETCDFMINFORTRAN '
 configopts += '-DNETCDF_F90_ROOT=$EBROOTNETCDFMINFORTRAN '
 
-# --- ParaView Plugins --- #
+# --- ParaView Extra-Reader --- #
+configopts += '-DPARAVIEW_PLUGIN_ENABLE_ParFlow=ON '
+
+configopts += '-DPARAVIEW_ENABLE_VISITBRIDGE=ON '
+configopts += '-DVISIT_BUILD_READER_Nek5000=ON '
+# configopts += '-DVISIT_BUILD_READER_Boxlib3D=ON '  # req. external dependency
+# configopts += '-DVISIT_BUILD_READER_Mili=ON '  # req. external dependency
+# configopts += '-DVISIT_BUILD_READER_Silo=ON '  # req. external dependency
 
 # --- ParaView Plugin Autoload --- #
 # configopts += '-DPARAVIEW_AUTOLOAD_PLUGIN_AnalyzeNIfTIIO=ON '
@@ -321,9 +333,9 @@ postinstallcmds = ['python -m compileall %(installdir)s/lib64/python3.6/site-pac
 
 modextravars = {'CUDA_VISIBLE_DEVICES': '0,1'}
 
-# OpenSWR fully supports OpenGL 3.0 and most of 3.3, but ParaView requires 3.2 -> clame to fully support 3.2
-modextravars = {'MESA_GL_VERSION_OVERRIDE': '3.2'}
-# modextravars = {'MESA_GLSL_VERSION_OVERRIDE': '??'} 
+# OpenSWR fully supports OpenGL 3.0 and most of 3.3, but ParaView requires 3.3 -> clame to fully support 3.3
+modextravars = {'MESA_GL_VERSION_OVERRIDE': '3.3'}
+modextravars = {'MESA_GLSL_VERSION_OVERRIDE': '330'}
 
 modextravars = {
     #  OpenMP will choose an optimum number of threads by default, which is usually the number of cores
diff --git a/Golden_Repo/p/ParaView/ParaView-5.8.1-gpsmkl-2020-Python-3.8.5.eb b/Golden_Repo/p/ParaView/ParaView-5.8.1-gpsmkl-2020-Python-3.8.5.eb
index 378ba622d637c755656b341054645af283876380..ee76609fb6a4922bf545a5327d72f0b8244e8abc 100644
--- a/Golden_Repo/p/ParaView/ParaView-5.8.1-gpsmkl-2020-Python-3.8.5.eb
+++ b/Golden_Repo/p/ParaView/ParaView-5.8.1-gpsmkl-2020-Python-3.8.5.eb
@@ -34,6 +34,7 @@ patches = [
 
 builddependencies = [
     ('CMake', '3.18.0'),
+    ('git', '2.28.0'),
 ]
 
 dependencies = [
@@ -56,6 +57,7 @@ dependencies = [
     ('netCDF-C++4', '4.3.1'),
     ('netCDF-Fortran', '4.5.3'),
     ('mpi4py', '3.0.3', '-Python-%(pyver)s'),
+    ('nlohmann-json', '3.9.1'),  # for ParFlow plugin
     # ('VTK', '8.2.0', '-Python-%(pyver)s', ('gcccoremkl', '8.3.0-2019.3.199')),
     # ('VTKm','1.1.0','-AVX2'),
     ('Qt5', '5.14.2'),
@@ -228,8 +230,7 @@ configopts += '-DModule_vtkFiltersSelection=ON '
 configopts += '-DModule_vtkFiltersTopology=ON '
 
 # --- coupling --- #
-configopts += '-DPARAVIEW_USE_VISITBRIDGE=ON '
-configopts += '-DPARAVIEW_ENABLE_CATALYST=ON '
+# configopts += '-DPARAVIEW_ENABLE_CATALYST=ON '  # variable is obsolete and no longer has any effect
 
 # --- development & testing --- #
 configopts += '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON '
@@ -261,7 +262,15 @@ configopts += '-DNETCDF_CXX_ROOT=$EBROOTNETCDFMINCPLUSPLUS '
 configopts += '-DNETCDF_F77_ROOT=$EBROOTNETCDFMINFORTRAN '
 configopts += '-DNETCDF_F90_ROOT=$EBROOTNETCDFMINFORTRAN '
 
-# --- ParaView Plugins --- #
+# --- ParaView Extra-Reader --- #
+configopts += '-DPARAVIEW_PLUGIN_ENABLE_ParFlow=ON '
+
+# https://gitlab.kitware.com/paraview/visitbridge/-/blob/master/databases/CMakeLists.txt
+configopts += '-DPARAVIEW_ENABLE_VISITBRIDGE=ON '
+configopts += '-DVISIT_BUILD_READER_Nek5000=ON '
+# configopts += '-DVISIT_BUILD_READER_Boxlib3D=ON '  # req. external dependency
+# configopts += '-DVISIT_BUILD_READER_Mili=ON '  # req. external dependency
+# configopts += '-DVISIT_BUILD_READER_Silo=ON '  # req. external dependency
 
 # --- ParaView Plugin Autoload --- #
 # configopts += '-DPARAVIEW_AUTOLOAD_PLUGIN_AnalyzeNIfTIIO=ON '
@@ -321,9 +330,9 @@ postinstallcmds = ['python -m compileall %(installdir)s/lib64/python3.6/site-pac
 
 modextravars = {'CUDA_VISIBLE_DEVICES': '0,1'}
 
-# OpenSWR fully supports OpenGL 3.0 and most of 3.3, but ParaView requires 3.2 -> clame to fully support 3.2
-modextravars = {'MESA_GL_VERSION_OVERRIDE': '3.2'}
-# modextravars = {'MESA_GLSL_VERSION_OVERRIDE': '??'} 
+# OpenSWR fully supports OpenGL 3.0 and most of 3.3, but ParaView requires 3.3 -> clame to fully support 3.3
+modextravars = {'MESA_GL_VERSION_OVERRIDE': '3.3'}
+modextravars = {'MESA_GLSL_VERSION_OVERRIDE': '330'}
 
 modextravars = {
     #  OpenMP will choose an optimum number of threads by default, which is usually the number of cores
diff --git a/Golden_Repo/p/PyCUDA/PyCUDA-2020.1-GCCcore-9.3.0.Python-3.8.5.eb b/Golden_Repo/p/PyCUDA/PyCUDA-2020.1-GCCcore-9.3.0.Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..bc5baf32c7650dcc907b88f9c5491049de33438b
--- /dev/null
+++ b/Golden_Repo/p/PyCUDA/PyCUDA-2020.1-GCCcore-9.3.0.Python-3.8.5.eb
@@ -0,0 +1,52 @@
+easyblock = 'PythonBundle'
+
+name = 'PyCUDA'
+version = '2020.1'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://pypi.python.org/pypi/pycuda/'
+description = """
+PyCUDA lets you access Nvidia‘s CUDA parallel computation API from Python.
+"""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+
+source_urls = [PYPI_LOWER_SOURCE]
+
+builddependencies = [
+    ('binutils', '2.34')
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('Boost.Python', '1.74.0', '-nompi'),
+    ('CUDA', '11.0', '', SYSTEM),
+]
+
+local_prebuildopts = "./configure.py --cuda-root=$EBROOTCUDA --boost-inc-dir=$EBROOTBOOST/include/boost/ "
+local_prebuildopts += "--boost-lib-dir=$EBROOTBOOST/lib/ --no-use-shipped-boost "
+local_prebuildopts += "--boost-python-libname=boost_python38 && "
+
+use_pip = True
+sanity_pip_check = True
+
+exts_default_options = {
+    'source_urls': [PYPI_LOWER_SOURCE],
+    'source_tmpl': SOURCELOWER_TAR_GZ,
+}
+
+exts_list = [
+    ('pytools', '2020.4.4', {
+        'checksums': ['3645ed839cf4d79cb4bf030f37ddaeecd7fe5e2d6698438cc36c24a1d5168809'],
+    }),
+    (name, version, {
+        'prebuildopts': local_prebuildopts,
+        'use_pip': False,
+        'checksums': ['effa3b99b55af67f3afba9b0d1b64b4a0add4dd6a33bdd6786df1aa4cc8761a5'],
+    }),
+]
+
+moduleclass = 'lang'
diff --git a/Golden_Repo/p/PyQuil/PyQuil-2.27.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/p/PyQuil/PyQuil-2.27.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..1a850b9db0b4a67057f3f13c71afdee1b83053c7
--- /dev/null
+++ b/Golden_Repo/p/PyQuil/PyQuil-2.27.0-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
@@ -0,0 +1,94 @@
+easyblock = 'PythonBundle'
+
+name = 'PyQuil'
+version = '2.27.0'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://github.com/quantumlib/cirq'
+description = """PyQuil is a library for generating and executing Quil programs on the Rigetti Forest platform."""
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+toolchainopts = {'pic': True}
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', '-Python-%(pyver)s'),
+]
+
+local_common_opts = {
+    'req_py_majver': '3',
+    'req_py_minver': '0'
+}
+
+exts_default_options = {
+    'source_urls': [PYPI_SOURCE],
+    'use_pip': True,
+    'use_pip_for_deps':  False,
+    'download_dep_fail': True,
+    'sanity_pip_check': True,
+}
+
+exts_list = [
+    # testing
+    ('typing_extensions', '3.7.4.3', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c')]),
+    ])),
+    ('typed_ast', '1.4.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a')]),
+    ])),
+    ('mypy_extensions', '0.4.3', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8')]),
+    ])),
+    ('mypy', '0.790', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975')]),
+    ])),
+    ('requests-mock', '1.8.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'e68f46844e4cee9d447150343c9ae875f99fa8037c6dcf5f15bf1fe9ab43d226')]),
+    ])),
+    ('pytest-cov', '2.10.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '47bd0ce14056fdd79f93e1713f88fad7bdcc583dcd7783da86ef2f085a0bb88e')]),
+    ])),
+    ('pytest-timeout', '1.4.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '20b3113cf6e4e80ce2d403b6fb56e9e1b871b510259206d40ff8d609f48bda76')]),
+    ])),
+    ('pytest-asyncio', '0.14.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '9882c0c6b24429449f5f969a5158b528f39bde47dc32e85b9f0403965017e700')]),
+    ])),
+    ('pytest-rerunfailures', '9.1.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '1cb11a17fc121b3918414eb5eaf314ee325f2e693ac7cb3f6abf7560790827f2')]),
+    ])),
+    # pyquil application
+    ('python-rapidjson', '0.9.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1')]),
+        ('modulename', 'rapidjson'),
+    ])),
+    ('ruamel.yaml', '0.16.5', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408')]),
+    ])),
+    ('ruamel.yaml.clib', '0.1.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'cee86ecc893a6a8ecaa7c6a9c2d06f75f614176210d78a5f155f8e78d6989509')]),
+        ('modulename', 'ruamel.yaml'),  # fake to make sanitycheck shut-up
+    ])),
+    ('rpcq', '3.7.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'd4695048f874aa255764336fa1965f6fc1ea001a31e28681bbbef708cac531e1')]),
+    ])),
+    ('antlr4-python3-runtime', '4.7.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b')]),
+        ('modulename', 'antlr4'),
+    ])),
+    ('lark', '0.11.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'f2c6ed79ae128a89714bbaa4a6ecb61b6eec84d1b5d63b9195ad461762f96298')]),
+    ])),
+    ('pyquil', version, dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '9082bbb58d1c104303d5e3890c81063f802edb5570c47d9f0176ae9df06f4081')]),
+    ])),
+    # addon
+    ('contextvars', '2.3', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '2341042e1c03a271813e07dba29b6b60fa85c1005ea5ed1638a076cf50b4d625')]),
+    ])),
+    ('immutables', '0.6', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '63023fa0cceedc62e0d1535cd4ca7a1f6df3120a6d8e5c34e89037402a6fd809')]),
+    ])),
+]
+
+moduleclass = 'quantum'
diff --git a/Golden_Repo/p/PySCF/PySCF-1.7.1-GCC-9.3.0-Python-3.8.5.eb b/Golden_Repo/p/PySCF/PySCF-1.7.1-GCC-9.3.0-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..545f9160eece8aeea351aa96833c01fe7476fe12
--- /dev/null
+++ b/Golden_Repo/p/PySCF/PySCF-1.7.1-GCC-9.3.0-Python-3.8.5.eb
@@ -0,0 +1,51 @@
+easyblock = 'CMakeMakeCp'
+
+name = 'PySCF'
+version = '1.7.1'  # last version which requires libxc<5
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'http://www.pyscf.org'
+description = "PySCF is an open-source collection of electronic structure modules powered by Python."
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'GCC', 'version': '9.3.0'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/pyscf/pyscf/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['23ccf6d8bb6a15fe7035e04e6ab00783a069bf38556873c71a6fb672b6159636']
+
+builddependencies = [
+    ('CMake', '3.18.0')
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('h5py', '2.10.0', '-serial' + versionsuffix),
+    ('qcint', '3.0.19', '', ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('libxc', '4.3.4'),  # no gcccore*-version available - only in toolchain GCC
+    ('XCFun', '20190127', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+]
+
+start_dir = 'pyscf/lib'
+
+separate_build_dir = True
+
+configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF"
+
+prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && "
+
+files_to_copy = ['pyscf']
+
+sanity_check_paths = {
+    'files': ['pyscf/__init__.py'],
+    'dirs': ['pyscf/data', 'pyscf/lib'],
+}
+
+sanity_check_commands = ["python -c 'import pyscf'"]
+
+modextrapaths = {'PYTHONPATH': ''}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/p/Python/Python-3.8.5-GCCcore-9.3.0.eb b/Golden_Repo/p/Python/Python-3.8.5-GCCcore-9.3.0.eb
index 887e2ca8917ecf95bdc0ddee9bf0c39736089596..dc57e8d9b9b957121986e18d05a1b9d8352669f5 100644
--- a/Golden_Repo/p/Python/Python-3.8.5-GCCcore-9.3.0.eb
+++ b/Golden_Repo/p/Python/Python-3.8.5-GCCcore-9.3.0.eb
@@ -91,9 +91,6 @@ exts_list = [
             'paycheck-1.0.2_setup-open-README-utf8.patch',
         ],
     }),
-    ('argparse', '1.4.0', {
-        'source_urls': ['https://pypi.python.org/packages/source/a/argparse/'],
-    }),
     ('pbr', '5.4.5', {
         'source_urls': ['https://pypi.python.org/packages/source/p/pbr/'],
     }),
@@ -442,6 +439,19 @@ exts_list = [
     ('hypothesis', '4.44.2', {
         'source_urls': ['https://pypi.python.org/packages/source/h/hypothesis/'],
     }),
+    ('coverage', '5.1', {
+        'source_urls': ['https://pypi.python.org/packages/source/c/coverage/'],
+        'checksums': [('sha256', 'f90bfc4ad18450c80b024036eaf91e4a246ae287701aaa88eaebebf150868052')],
+    }),
+    ('msgpack', '0.6.2', {
+        'source_urls': ['https://pypi.python.org/packages/source/m/msgpack/'],
+        'checksums': [('sha256', 'ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830')],
+    }),
+    ('pyzmq', '18.1.0', {
+        'modulename': 'zmq',
+        'source_urls': ['https://pypi.python.org/packages/source/p/pyzmq/'],
+        'checksums': [('sha256', '93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3')],
+    }),
 ]
 
 local_grako_egginfo_path = '%(installdir)s/lib/python3.8/site-packages/'
diff --git a/Golden_Repo/p/parallel-netcdf/parallel-netcdf-1.12.1-ipsmpi-2020-mt.eb b/Golden_Repo/p/parallel-netcdf/parallel-netcdf-1.12.1-ipsmpi-2020-mt.eb
new file mode 100644
index 0000000000000000000000000000000000000000..8d70a88ed8a72f0be41151ecf08955beb082f066
--- /dev/null
+++ b/Golden_Repo/p/parallel-netcdf/parallel-netcdf-1.12.1-ipsmpi-2020-mt.eb
@@ -0,0 +1,34 @@
+easyblock = 'ConfigureMake'
+
+name = 'parallel-netcdf'
+version = '1.12.1'
+
+homepage = 'http://trac.mcs.anl.gov/projects/parallel-netcdf'
+description = """PnetCDF is a library providing high-performance parallel I/O while still maintaining file-format
+compatibility with  Unidata's NetCDF, specifically the formats of CDF-1 and CDF-2.
+
+Although NetCDF supports parallel I/O starting from version 4, the files must be in HDF5 format. PnetCDF is currently
+the only choice for carrying out parallel I/O on files that are in classic formats
+"""
+
+site_contacts = 's.luehrs@fz-juelich.de'
+
+toolchain = {'name': 'ipsmpi', 'version': '2020-mt'}
+toolchainopts = {'usempi': True, 'pic': True}
+
+source_urls = ['https://parallel-netcdf.github.io/Release/']
+sources = ['pnetcdf-%(version)s.tar.gz']
+checksums = ['56f5afaa0ddc256791c405719b6436a83b92dcd5be37fe860dea103aee8250a2']
+
+configopts = '--enable-shared'
+
+builddependencies = [
+    ('M4', '1.4.18'),
+]
+
+sanity_check_paths = {
+    'files': ['include/pnetcdf.h', 'include/pnetcdf.inc', 'include/pnetcdf.mod', 'lib/libpnetcdf.a'],
+    'dirs': [],
+}
+
+moduleclass = 'data'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..26e81b6aba0dfd5cf1e81c87516d0561069a4515
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-Python-3.8.5.eb
@@ -0,0 +1,31 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14'),
+]
+
+download_dep_fail = True
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-complex-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-complex-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..7da6e1763cd413c40d151fc2db3c63dec6610ae1
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-complex-Python-3.8.5.eb
@@ -0,0 +1,32 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+local_pysuffix = '-Python-%(pyver)s'
+versionsuffix = '-complex%s' % local_pysuffix
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', local_pysuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14', '-complex'),
+]
+
+download_dep_fail = True
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-int8-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-int8-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..dd85b79d19d2c7034e91dccfebdf1e99c36e7567
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-gpsmkl-2020-int8-Python-3.8.5.eb
@@ -0,0 +1,32 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+local_pysuffix = '-Python-%(pyver)s'
+versionsuffix = '-int8%s' % local_pysuffix
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', local_pysuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14', '-int8'),
+]
+
+download_dep_fail = True
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..5fea091afe6ee5b1b41624b0c76ee2535900e4f8
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-Python-3.8.5.eb
@@ -0,0 +1,33 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'intel', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14'),
+]
+
+download_dep_fail = True
+
+prebuildopts = 'export LDSHARED="-shared" && '
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-complex-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-complex-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..41cba2130dedc7763db20baf38bff36995fe5165
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-complex-Python-3.8.5.eb
@@ -0,0 +1,34 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+local_pysuffix = '-Python-%(pyver)s'
+versionsuffix = '-complex%s' % local_pysuffix
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'intel', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', local_pysuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14', '-complex'),
+]
+
+download_dep_fail = True
+
+prebuildopts = 'export LDSHARED="-shared" && '
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-int8-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-int8-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..d51b817291e1d542e08ab0d116d5731067c60904
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-2020-int8-Python-3.8.5.eb
@@ -0,0 +1,34 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+local_pysuffix = '-Python-%(pyver)s'
+versionsuffix = '-int8%s' % local_pysuffix
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'intel', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', local_pysuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14', '-int8'),
+]
+
+download_dep_fail = True
+
+prebuildopts = 'export LDSHARED="-shared" && '
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..5e0d44859d605291c2f7b1e8940e37e3497ec9a8
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-Python-3.8.5.eb
@@ -0,0 +1,33 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'intel-para', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14'),
+]
+
+download_dep_fail = True
+
+prebuildopts = 'export LDSHARED="-shared" && '
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-complex-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-complex-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..3380115332843bffc48fe7331ac41f3503599f84
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-complex-Python-3.8.5.eb
@@ -0,0 +1,34 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+local_pysuffix = '-Python-%(pyver)s'
+versionsuffix = '-complex%s' % local_pysuffix
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'intel-para', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', local_pysuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14', '-complex'),
+]
+
+download_dep_fail = True
+
+prebuildopts = 'export LDSHARED="-shared" && '
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-int8-Python-3.8.5.eb b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-int8-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..f6f9fb27ea07c62f26f921d238a29bbd8ead000a
--- /dev/null
+++ b/Golden_Repo/p/petsc4py/petsc4py-3.13.0-intel-para-2020-int8-Python-3.8.5.eb
@@ -0,0 +1,34 @@
+easyblock = 'PythonPackage'
+
+name = 'petsc4py'
+version = '3.13.0'
+local_pysuffix = '-Python-%(pyver)s'
+versionsuffix = '-int8%s' % local_pysuffix
+
+homepage = 'https://bitbucket.org/petsc/petsc4py'
+description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation."
+
+toolchain = {'name': 'intel-para', 'version': '2020'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', local_pysuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('PETSc', '3.14', '-int8'),
+]
+
+download_dep_fail = True
+
+prebuildopts = 'export LDSHARED="-shared" && '
+
+req_py_majver = 3
+req_py_minver = 0
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/protobuf/protobuf-3.12.4-GCCcore-9.3.0.eb b/Golden_Repo/p/protobuf/protobuf-3.12.4-GCCcore-9.3.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..10036260ba2e005739d3ab34f3e60346f90d0047
--- /dev/null
+++ b/Golden_Repo/p/protobuf/protobuf-3.12.4-GCCcore-9.3.0.eb
@@ -0,0 +1,36 @@
+easyblock = 'CMakeMake'
+
+name = 'protobuf'
+version = '3.12.4'
+
+homepage = 'https://github.com/google/protobuf/'
+description = """Google Protocol Buffers"""
+
+site_contacts = 'a.strube@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '9.3.0'}
+
+source_urls = ['https://github.com/google/protobuf/archive/v%(version)s/']
+sources = ['%(name)s-%(version)s_jsc.tar.gz']
+checksums = ['512e5a674bf31f8b7928a64d8adf73ee67b8fe88339ad29adaa3b84dbaa570d8']
+
+# This tarball contains gmock and gtest, which are otherwise downloaded by autogen.sh
+builddependencies = [
+    ('binutils', '2.34'),
+    ('CMake', '3.18.0'),
+]
+
+dependencies = [
+    ('zlib', '1.2.11'),
+]
+
+start_dir = 'cmake'
+
+configopts = '-Dprotobuf_BUILD_TESTS=OFF -DBUILD_SHARED_LIBS=ON'
+
+sanity_check_paths = {
+    'files': ['bin/protoc', 'lib64/libprotobuf.%s' % SHLIB_EXT],
+    'dirs': [],
+}
+
+moduleclass = 'devel'
diff --git a/Golden_Repo/p/pscom/pscom-5.4.6-1.eb b/Golden_Repo/p/pscom/pscom-5.4.6-1.eb
new file mode 100644
index 0000000000000000000000000000000000000000..a0a61bfda8223ba64e84cc94be72c7a7d67ee37d
--- /dev/null
+++ b/Golden_Repo/p/pscom/pscom-5.4.6-1.eb
@@ -0,0 +1,47 @@
+easyblock = 'ConfigureMake'
+
+name = 'pscom'
+version = "5.4.6-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' % version]
+
+builddependencies = [
+    # Fails with binutils 2.34
+    ('binutils', '2.32'),
+    ('popt', '1.16'),
+    ('CUDA', '11.0'),
+]
+
+dependencies = [
+    ('UCX', '1.8.1'),
+]
+
+preconfigopts = 'export UCP_LDFLAGS="-L$EBROOTUCX/lib" && '
+preconfigopts += 'export CUDA_LDFLAGS="-L$EBROOTNVIDIA/lib64" &&'
+
+configopts = '--enable-cuda --enable-ucp'
+
+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' % version,
+}
+
+moduleclass = 'tools'
diff --git a/Golden_Repo/p/pscom/pscom-5.4.7-1.eb b/Golden_Repo/p/pscom/pscom-5.4.7-1.eb
new file mode 100644
index 0000000000000000000000000000000000000000..05b339ecce26accee7c60c30b0d1c73c588c5299
--- /dev/null
+++ b/Golden_Repo/p/pscom/pscom-5.4.7-1.eb
@@ -0,0 +1,48 @@
+easyblock = 'CMakeMake'
+
+name = 'pscom'
+version = "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 = ['%%(name)s-%s.tar.bz2' % version]
+
+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' % version,
+}
+
+moduleclass = 'tools'
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.2-gpsmkl-2020-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..63a6c00b663a0e36af60a5d7cceae825b305f74c
--- /dev/null
+++ b/Golden_Repo/q/Qiskit/Qiskit-0.23.2-gpsmkl-2020-Python-3.8.5.eb
@@ -0,0 +1,147 @@
+easyblock = 'PythonBundle'
+
+name = 'Qiskit'
+version = '0.23.2'
+versionsuffix = '-Python-%(pyver)s'
+local_aerver = '0.7.0'  # version of qiskit-aer
+
+homepage = 'https://qiskit.org'
+description = """Qiskit is an open-source framework for working with noisy quantum computers
+ at the level of pulses, circuits, and algorithms."""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+toolchainopts = {'pic': True}
+
+builddependencies = [
+    ('binutils', '2.34'),
+    ('CMake', '3.18.0'),
+    ('Ninja', '1.10.0'),
+    ('pkg-config', '0.29.2'),
+    ('Rust', '1.47.0'),
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('scikit', '2020', versionsuffix, ('gcccoremkl', '9.3.0-2020.2.254')),
+    ('CVXOPT', '1.2.5', versionsuffix),
+    ('h5py', '2.10.0', '-serial' + versionsuffix),
+    ('PySCF', '1.7.1', versionsuffix),
+]
+
+local_common_opts = {
+    'req_py_majver': '3',
+    'req_py_minver': '0'
+}
+
+exts_default_options = {
+    'source_urls': [PYPI_SOURCE],
+    'use_pip': True,
+    'sanity_pip_check': False,  # DISABLED: because 'pip check' does not find pyscf (not installed with pip)
+    'download_dep_fail': True,
+    'use_pip_for_deps': False,
+}
+
+exts_list = [
+    ('python_constraint', '1.4.0', dict(list(local_common_opts.items()) + [
+        ('source_tmpl', 'python-constraint-%(version)s.tar.bz2'),
+        ('checksums', [('sha256', '501d6f17afe0032dfc6ea6c0f8acc12e44f992733f00e8538961031ef27ccb8e')]),
+        ('modulename', 'constraint'),
+    ])),
+    ('dill', '0.3.1.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '42d8ef819367516592a825746a18073ced42ca169ab1f5f4044134703e7a049c')]),
+    ])),
+    ('arrow', '0.15.5', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '5390e464e2c5f76971b60ffa7ee29c598c7501a294bc9f5e6dadcb251a5d027b')]),
+    ])),
+    ('marshmallow', '2.20.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'a339159e422a055269f5625df51fbdc7fb20512cfffa08451cd5727783ddca39')]),
+    ])),
+    ('marshmallow-polyfield', '3.2', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '72980cb9a43a7c750580b4b08e9d01a8cbd583e1f59360f1924a1ed60f065a4c')]),
+    ])),
+    ('pylatexenc', '1.5', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'ef2d5260c38e2cb4d2829e8b918914a558557820d4f57cb6588a81e827de2bb3')]),
+    ])),
+    ('qiskit-terra', '0.16.0', 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.9.0_fix-qiskit-version-env.patch
+            ('sha256', 'a297f338a97f956513d849286087bab5508301e214054d07482efc90a5ab1b74'),
+        )]),
+        ('modulename', 'qiskit.qobj'),
+    ])),
+    ('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')]),
+        ('modulename', 'qiskit.ignis'),
+    ])),
+    ('fastdtw', '0.3.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '2350fa6ec36bcad186eaf81f46eff35181baf04e324f522de8aeb43d0243f64f')]),
+    ])),
+    ('dlx', '1.0.4', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'ef75bc9d590216ebde7d4811f9ae6b2d6c6dc2a54772d94ae13384dc517a5aae')]),
+    ])),
+    ('docloud', '1.0.375', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '996d55407498fd01e6c6c480f367048f92255e9ca9db0e9ea19aaef91328a441')]),
+    ])),
+    ('docplex', '2.10.154', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '34a36ff25dd44b72cfe76e01dd0658eb7a451b0c3a52ef9f98e8e38fed83d537')]),
+    ])),
+    ('joblib', '0.14.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '0630eea4f5664c463f23fbf5dcfc54a2bc6168902719fa8e19daf033022786c8')]),
+    ])),
+    ('inflection', '0.3.1', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '18ea7fb7a7d152853386523def08736aa8c32636b047ade55f7578c4edeb16ca')]),
+    ])),
+    ('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')]),
+        ('modulename', 'qiskit.aqua'),
+    ])),
+    ('websockets', '7.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '08e3c3e0535befa4f0c4443824496c03ecc25062debbcf895874f8a0b4c97c9f')]),
+    ])),
+    ('ntlm-auth', '1.4.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '350f2389c8ee5517f47db55a36ac2f8efc9742a60a678d6e2caa92385bdcaa9a')]),
+    ])),
+    ('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')]),
+    ])),
+    ('qiskit-ibmq-provider', '0.11.0', dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '429012832bdc6eac4a4acb4e9e55b37fba5213794b960d98c68508e6bb096623')]),
+        ('modulename', 'qiskit.providers.ibmq'),
+    ])),
+    ('qiskit-aer', local_aerver, dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', 'ed8d1836e16d2db8bcea8ce55a836705e2eeb05dd6d55f6c66a7641bcb95b49e')]),
+        ('modulename', 'qiskit.providers.aer'),
+    ])),
+    ('qiskit', version, dict(list(local_common_opts.items()) + [
+        ('checksums', [('sha256', '1593b142d64c9cb3c158ec20f2721006a09af831abf218b348775a2684218254')]),
+    ])),
+]
+
+postinstallcmds = [
+    # qiskit/providers/aer/VERSION.txt does not get installed, but is required by qiskit/providers/aer/version.py
+    "echo %s > %%(installdir)s/lib/python%%(pyshortver)s/site-packages/qiskit/providers/aer/VERSION.txt" % local_aerver,
+]
+
+moduleclass = 'quantum'
diff --git a/Golden_Repo/q/Qiskit/qiskit-terra-0.9.0_fix-qiskit-version-env.patch b/Golden_Repo/q/Qiskit/qiskit-terra-0.9.0_fix-qiskit-version-env.patch
new file mode 100644
index 0000000000000000000000000000000000000000..677563a70f8ed223cd9a5cef16c9ab3239d66395
--- /dev/null
+++ b/Golden_Repo/q/Qiskit/qiskit-terra-0.9.0_fix-qiskit-version-env.patch
@@ -0,0 +1,13 @@
+also include $LD_LIBRARY_PATH in environment where "python -m pip freeze" is run on 'import qiskit'
+author: Kenneth Hoste (HPC-UGent)
+--- qiskit-terra-0.9.0.orig/qiskit/version.py	2019-08-22 15:34:00.000000000 +0200
++++ qiskit-terra-0.9.0/qiskit/version.py	2019-09-15 18:27:39.760817000 +0200
+@@ -28,7 +28,7 @@
+ def _minimal_ext_cmd(cmd):
+     # construct minimal environment
+     env = {}
+-    for k in ['SYSTEMROOT', 'PATH']:
++    for k in ['SYSTEMROOT', 'PATH', 'LD_LIBRARY_PATH']:
+         v = os.environ.get(k)
+         if v is not None:
+             env[k] = v
diff --git a/Golden_Repo/q/qcint/qcint-3.0.19-gcccoremkl-9.3.0-2020.2.254.eb b/Golden_Repo/q/qcint/qcint-3.0.19-gcccoremkl-9.3.0-2020.2.254.eb
new file mode 100644
index 0000000000000000000000000000000000000000..5add7ac736284cb05330f9a981d98e1de974970e
--- /dev/null
+++ b/Golden_Repo/q/qcint/qcint-3.0.19-gcccoremkl-9.3.0-2020.2.254.eb
@@ -0,0 +1,34 @@
+easyblock = 'CMakeMake'
+
+name = 'qcint'
+version = '3.0.19'
+
+homepage = 'http://wiki.sunqm.net/libcint'
+description = """libcint is an open source library for analytical Gaussian integrals.
+qcint is an optimized libcint branch for the x86-64 platform."""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+toolchainopts = {'optarch': False, 'noopt': True}  # FIXME failing tests
+
+source_urls = ['https://github.com/sunqm/qcint/archive/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['b46354becc284be4638d09e26b2002bf73a2be53c1653c6a6755bfb7778202e5']
+
+builddependencies = [
+    ('CMake', '3.18.0'),
+]
+
+separate_build_dir = True
+
+configopts = "-DENABLE_EXAMPLE=0 -DENABLE_TEST=0"
+
+buildopts = "VERBOSE=1"
+
+sanity_check_paths = {
+    'files': ['include/cint.h', 'lib/libcint.%s' % SHLIB_EXT],
+    'dirs': [],
+}
+
+moduleclass = 'lib'
diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gompi-2020.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gompi-2020.eb
index 3e0381e73e87961db4f17a478bec19b9c0962ad8..fc975a91d2c3ad3770d92d318f080cf961bb5cd6 100644
--- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gompi-2020.eb
+++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gompi-2020.eb
@@ -8,6 +8,7 @@ description = 'I/O forwarding for SIONlib'
 site_contacts = 'Benedikt Steinbusch <b.steinbusch@fz-juelich.de>'
 
 toolchain = {'name': 'gompi', 'version': '2020'}
+toolchainopts = {'pic': True}
 
 dependencies = [('Boost', '1.74.0')]
 
diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gpsmpi-2020.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gpsmpi-2020.eb
index 3514bceacd43025d26137662d38e98617b3caeea..a457fe20ffee2f7cd10cde8804df3c415fba67e6 100644
--- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gpsmpi-2020.eb
+++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-gpsmpi-2020.eb
@@ -8,6 +8,7 @@ description = 'I/O forwarding for SIONlib'
 site_contacts = 'Benedikt Steinbusch <b.steinbusch@fz-juelich.de>'
 
 toolchain = {'name': 'gpsmpi', 'version': '2020'}
+toolchainopts = {'pic': True}
 
 dependencies = [('Boost', '1.74.0')]
 
diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iimpi-2020.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iimpi-2020.eb
index 5f53e28ba2d293b5372cb116beffe87625672e39..1c4d7f5f4c069bbe5335c5dcd3c14e51a1f30b0d 100644
--- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iimpi-2020.eb
+++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iimpi-2020.eb
@@ -8,6 +8,7 @@ description = 'I/O forwarding for SIONlib'
 site_contacts = 'Benedikt Steinbusch <b.steinbusch@fz-juelich.de>'
 
 toolchain = {'name': 'iimpi', 'version': '2020'}
+toolchainopts = {'pic': True}
 
 dependencies = [('Boost', '1.73.0')]
 
diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iompi-2020.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iompi-2020.eb
index ce23055477c4b1617d5ee92d3675533757e1c588..6b2ebcd4c9b61bec2e2bdee56dd43b8153b5226b 100644
--- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iompi-2020.eb
+++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-iompi-2020.eb
@@ -8,6 +8,7 @@ description = 'I/O forwarding for SIONlib'
 site_contacts = 'Benedikt Steinbusch <b.steinbusch@fz-juelich.de>'
 
 toolchain = {'name': 'iompi', 'version': '2020'}
+toolchainopts = {'pic': True}
 
 dependencies = [('Boost', '1.73.0')]
 
diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-ipsmpi-2020.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-ipsmpi-2020.eb
index dcc3d4a1d3c1f5c2cd0ce098bb7ec06a517a76a4..b1ad7c1ae4478f251e6746c7117621d97fb87e22 100644
--- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-ipsmpi-2020.eb
+++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.0-ipsmpi-2020.eb
@@ -8,6 +8,7 @@ description = 'I/O forwarding for SIONlib'
 site_contacts = 'Benedikt Steinbusch <b.steinbusch@fz-juelich.de>'
 
 toolchain = {'name': 'ipsmpi', 'version': '2020'}
+toolchainopts = {'pic': True}
 
 dependencies = [('Boost', '1.73.0')]
 
diff --git a/Golden_Repo/s/scikit/scikit-2020-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/s/scikit/scikit-2020-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
index 5f6e5ba9b5be130b5ce1f6866d37e7bbb97febda..b8d05baaac42b4d9466180d326fdcca01e6dd7e5 100644
--- a/Golden_Repo/s/scikit/scikit-2020-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
+++ b/Golden_Repo/s/scikit/scikit-2020-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
@@ -16,6 +16,7 @@ dependencies = [
     ('Python', '3.8.5'),
     ('dask', '2.22.0', versionsuffix),
     ('SciPy-Stack', version, versionsuffix),
+    ('CMake', '3.18.0'),
 ]
 
 # this is a bundle of Python packages
@@ -45,6 +46,15 @@ exts_list = [
         'source_urls': ['https://pypi.python.org/packages/source/s/scikit-image'],
         'modulename': 'skimage',
     }),
+    ('distro', '1.5.0', {
+        'source_urls': ['https://pypi.python.org/packages/source/d/distro'],
+        'checksums': [('sha256', '0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92')],
+    }),
+    ('scikit-build', '0.11.1', {
+        'source_urls': ['https://pypi.python.org/packages/source/s/scikit-build'],
+        'checksums': [('sha256', 'da40dfd69b2456fad1349a894b90180b43712152b8a85d2a00f4ae2ce8ac9a5c')],
+        'modulename': 'skbuild',
+    }),
 ]
 
 sanity_check_paths = {
diff --git a/Golden_Repo/t/torchvision/torchvision-0.8.1-gcccoremkl-9.3.0-2020.2.254-GPU-Python-3.8.5.eb b/Golden_Repo/t/torchvision/torchvision-0.8.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
similarity index 100%
rename from Golden_Repo/t/torchvision/torchvision-0.8.1-gcccoremkl-9.3.0-2020.2.254-GPU-Python-3.8.5.eb
rename to Golden_Repo/t/torchvision/torchvision-0.8.1-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
diff --git a/Golden_Repo/v/VMD/VMD-1.9.3_plugins.patch b/Golden_Repo/v/VMD/VMD-1.9.3_plugins.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f4cf63549263fd9462ccfefa556b6508369e9a25
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.3_plugins.patch
@@ -0,0 +1,29 @@
+Fix hard coded compiler, flags and tcl lib version for plugins
+
+Ake Sandgren, 20190823
+--- plugins/Make-arch.orig	2016-10-21 23:34:39.000000000 +0200
++++ plugins/Make-arch	2019-08-23 10:45:51.403545042 +0200
+@@ -337,17 +337,17 @@
+ 	"ARCH = LINUXAMD64" \
+ 	"COPTO = -fPIC -m64 -o " \
+ 	"LOPTO = -fPIC -m64 -lstdc++ -o " \
+-	"CC = gcc" \
+-	"CXX = g++" \
++	"CC = $(CC)" \
++	"CXX = $(CXX)" \
+ 	"DEF = -D" \
+-	"CCFLAGS = -m64 -O2 -fPIC -Wall" \
+-	"CXXFLAGS = -m64 -O2 -fPIC -Wall" \
+-	"TCLLDFLAGS = -ltcl8.5 -ldl" \
++	"CCFLAGS = $(CFLAGS)" \
++	"CXXFLAGS = $(CXXFLAGS)" \
++	"TCLLDFLAGS = $(TCLLDFLAGS)" \
+ 	"NETCDFLDFLAGS = -lnetcdf " \
+ 	"AR = ar" \
+ 	"NM = nm -p" \
+ 	"RANLIB = touch" \
+-	"SHLD = gcc -shared"
++	"SHLD = $(CC) -shared"
+ 
+ LINUXCARMA:
+ 	$(MAKE) dynlibs staticlibs bins \
diff --git a/Golden_Repo/v/VMD/VMD-1.9.3_stride_MAX_AT_IN_RES.patch b/Golden_Repo/v/VMD/VMD-1.9.3_stride_MAX_AT_IN_RES.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9011384eff52af2075f6d7977d0b0de7e5bad400
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.3_stride_MAX_AT_IN_RES.patch
@@ -0,0 +1,15 @@
+Increase number of atoms allowed per residues as per stride README from VMD
+
+Åke Sandgren, 2017-05-02
+diff -ru vmd-1.9.3.orig/lib/stride/stride.h vmd-1.9.3/lib/stride/stride.h
+--- vmd-1.9.3.orig/lib/stride/stride.h	2017-05-02 13:47:26.484463970 +0200
++++ vmd-1.9.3/lib/stride/stride.h	2017-05-02 13:47:43.748279797 +0200
+@@ -40,7 +40,7 @@
+ #define MAX_BOND                  100
+ #define MAX_ASSIGN                500
+ #define MAX_INFO                  1000
+-#define MAX_AT_IN_RES             75
++#define MAX_AT_IN_RES             100
+ #define MAX_AT_IN_HETERORES       200
+ #define MAXRESDNR                 6
+ #define MAXRESACC                 6 
diff --git a/Golden_Repo/v/VMD/VMD-1.9.3_stride_Makefile.patch b/Golden_Repo/v/VMD/VMD-1.9.3_stride_Makefile.patch
new file mode 100644
index 0000000000000000000000000000000000000000..036430db8ffe77867d6e4ebf20fc57e422ff95f3
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.3_stride_Makefile.patch
@@ -0,0 +1,37 @@
+Make stride use CC, CFLAGS and LDFLAGS from EB.
+
+Åke Sandgren, 2017-05-02
+diff -ru vmd-1.9.3.orig/lib/stride/Makefile vmd-1.9.3/lib/stride/Makefile
+--- vmd-1.9.3.orig/lib/stride/Makefile	2003-04-08 14:03:14.000000000 +0200
++++ vmd-1.9.3/lib/stride/Makefile	2017-05-02 13:46:01.973365383 +0200
+@@ -1,13 +1,14 @@
+ #FLAGS = -lm -L/usr/pub/lib -lefence -o
+ #CC = cc -O2 -fullwarn -TENV:large_GOT
+ #CC = cc -g -Wall
+-CC = gcc -O2  # at least for SunOS
++#CC = gcc -O2  # at least for SunOS
+ #CC = cc -g
+ 
+ #CC = cc -O2 -fullwarn
+ 
+ #CC = cc -O2
+-FLAGS = -lm  -o
++#FLAGS = -lm  -o
++LIBS = -lm
+ 
+ SOURCE = stride.c splitstr.c rdpdb.c initchn.c geometry.c thr2one.c one2thr.c filename.c tolostr.c strutil.c place_h.c hbenergy.c memory.c helix.c sheet.c rdmap.c phipsi.c command.c molscr.c die.c hydrbond.c mergepat.c fillasn.c escape.c p_jrnl.c p_rem.c p_atom.c p_helix.c p_sheet.c p_turn.c p_ssbond.c p_expdta.c p_model.c p_compnd.c report.c nsc.c area.c ssbond.c chk_res.c chk_atom.c turn.c pdbasn.c dssp.c outseq.c chkchain.c elem.c measure.c asngener.c p_endmdl.c stred.c contact_order.c contact_map.c
+ 
+@@ -15,12 +16,9 @@
+ 
+ BINDIR = .
+ 
+-.c.o: 
+-	$(CC) -c $< -o $@
+-
+ 
+ stride : $(OBJECT)
+-	$(CC) $(OBJECT) $(FLAGS)  $(BINDIR)/stride${ARCH}
++	$(CC) $(LDFLAGS) $(OBJECT) $(LIBS) -o stride
+ 
+ $(OBJECT) : stride.h protot.h
+ 
diff --git a/Golden_Repo/v/VMD/VMD-1.9.3_surf_Makefile.patch b/Golden_Repo/v/VMD/VMD-1.9.3_surf_Makefile.patch
new file mode 100644
index 0000000000000000000000000000000000000000..93f430a64a158b7c7ca07cfee06a7e00b5251307
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.3_surf_Makefile.patch
@@ -0,0 +1,112 @@
+Fix surf Makefile.
+Use CC, CFLAGS, etc from EB.
+Drop bad make depend lines.
+
+Åke Sandgren, 2017-05-02
+diff -ru vmd-1.9.3.orig/lib/surf/Makefile vmd-1.9.3/lib/surf/Makefile
+--- vmd-1.9.3.orig/lib/surf/Makefile	1994-03-22 16:44:20.000000000 +0100
++++ vmd-1.9.3/lib/surf/Makefile	2017-05-02 13:41:51.911991381 +0200
+@@ -1,12 +1,7 @@
+ # Compilation flags
+-#CC	    = cc
+-CC	    = cc
+ INCLUDE     = -I. 
+-#LINCLUDE    = -lcurses -ltermcap -lm
+-LINCLUDE    = -lm
+-OPT_CFLAGS  = -O2 $(FLAGS) $(INCLUDE)
+-#CFLAGS	    = -g $(FLAGS) $(INCLUDE)
+-CFLAGS	    = -O2 $(FLAGS) $(INCLUDE)
++LIBS    = -lm
++CFLAGS	    = $(OPT) $(INCLUDE)
+ 
+ # These are the user object files in the application
+ SRCS        = surf.c io.c compute.c dual.c utils.c lp.c chull.c tessel_cases.c \
+@@ -18,7 +13,7 @@
+ 
+ # make objects
+ surf: $(OBJS) Makefile 
+-	$(CC) $(CFLAGS) $(OBJS) -o surf $(LINCLUDE)
++	$(CC) $(LDFLAGS) $(OBJS) -o surf $(LIBS)
+ 
+ lint:
+ 	lint $(INCLUDE) $(SRCS)
+@@ -30,9 +25,6 @@
+ 	tar -cvf surf.tar README *.[hc] Makefile
+ 	compress surf.tar
+ 
+-.c.o: 
+-	$(CC) $(CFLAGS) -c $*.c
+-
+ 
+ # make depend makes the proper include file dependencies.  You _could_ run
+ # it on a sun4, but there's a bug in the SunOS version of sed that causes
+@@ -61,48 +53,3 @@
+ 	@ echo '  ' >> Makefile
+ 
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+-  
+- 
+-# DO NOT DELETE THIS LINE -- make depend depends on it.
+-
+-surf.o: surf.h /usr/include/stdio.h /usr/include/math.h /usr/include/stdlib.h
+-surf.o: /usr/include/sgidefs.h /usr/include/string.h /usr/include/sys/time.h
+-surf.o: linalg.h
+-io.o: surf.h /usr/include/stdio.h /usr/include/math.h /usr/include/stdlib.h
+-io.o: /usr/include/sgidefs.h /usr/include/string.h /usr/include/sys/time.h
+-io.o: linalg.h
+-compute.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-compute.o: /usr/include/stdlib.h /usr/include/sgidefs.h /usr/include/string.h
+-compute.o: /usr/include/sys/time.h linalg.h chull.h dual.h
+-dual.o: surf.h /usr/include/stdio.h /usr/include/math.h /usr/include/stdlib.h
+-dual.o: /usr/include/sgidefs.h /usr/include/string.h /usr/include/sys/time.h
+-dual.o: linalg.h dual.h chull.h
+-utils.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-utils.o: /usr/include/stdlib.h /usr/include/sgidefs.h /usr/include/string.h
+-utils.o: /usr/include/sys/time.h linalg.h
+-lp.o: surf.h /usr/include/stdio.h /usr/include/math.h /usr/include/stdlib.h
+-lp.o: /usr/include/sgidefs.h /usr/include/string.h /usr/include/sys/time.h
+-lp.o: linalg.h
+-chull.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-chull.o: /usr/include/stdlib.h /usr/include/sgidefs.h /usr/include/string.h
+-chull.o: /usr/include/sys/time.h linalg.h chull.h
+-tessel_cases.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-tessel_cases.o: /usr/include/stdlib.h /usr/include/sgidefs.h
+-tessel_cases.o: /usr/include/string.h /usr/include/sys/time.h linalg.h dual.h
+-tessel_patches.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-tessel_patches.o: /usr/include/stdlib.h /usr/include/sgidefs.h
+-tessel_patches.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
+-tessel_convex.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-tessel_convex.o: /usr/include/stdlib.h /usr/include/sgidefs.h
+-tessel_convex.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
+-tessel_concave.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-tessel_concave.o: /usr/include/stdlib.h /usr/include/sgidefs.h
+-tessel_concave.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
+-tessel_torus.o: surf.h /usr/include/stdio.h /usr/include/math.h
+-tessel_torus.o: /usr/include/stdlib.h /usr/include/sgidefs.h
+-tessel_torus.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
+-  
+-# DEPENDENCIES MUST END AT END OF FILE
+-# IF YOU PUT STUFF HERE IT WILL GO AWAY
+-# see make depend above
+-  
+diff -ru vmd-1.9.3.orig/lib/surf/surf.c vmd-1.9.3/lib/surf/surf.c
+--- vmd-1.9.3.orig/lib/surf/surf.c	1994-03-21 10:33:00.000000000 +0100
++++ vmd-1.9.3/lib/surf/surf.c	2017-05-02 13:41:51.911991381 +0200
+@@ -7,7 +7,7 @@
+ #define	EXTERN	
+ #include "surf.h"
+ 
+-void
++int
+ main(ac,av)
+ int	ac;
+ char*	av[];
+@@ -56,6 +56,8 @@
+    if (Write_Option == 2) output_dataset();
+ 
+    if (Write_Option) end_output_dataset();
++
++   return(0);
+ }
+ 
+ 
diff --git a/Golden_Repo/v/VMD/VMD-1.9.3_surf_bad_printfs.patch b/Golden_Repo/v/VMD/VMD-1.9.3_surf_bad_printfs.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9b9db3889bf08c48fb6a469303e1db1423d2b734
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.3_surf_bad_printfs.patch
@@ -0,0 +1,74 @@
+Fix some bad printfs in surf.
+
+Åke Sandgren, 2017-05-02
+diff -ru vmd-1.9.3.orig/lib/surf/chull.c vmd-1.9.3/lib/surf/chull.c
+--- vmd-1.9.3.orig/lib/surf/chull.c	1994-03-19 06:50:54.000000000 +0100
++++ vmd-1.9.3/lib/surf/chull.c	2017-05-02 13:44:07.046582827 +0200
+@@ -378,7 +378,7 @@
+ print_out( v )
+ struct tvertex *v;
+ {
+-	fprintf( stderr, "\nAdding vertex %6x :\n", v );
++	fprintf( stderr, "\nAdding vertex %6p :\n", v );
+ 	print_verts();
+ 	print_edges();
+ 	print_fs();
+@@ -398,11 +398,11 @@
+ 	temp = vertices;
+ 	fprintf (stderr, "Vertex List\n");
+ 	if (vertices) do {
+-            fprintf(stderr,"  addr %6x\t", vertices );
++            fprintf(stderr,"  addr %6p\t", vertices );
+             fprintf(stderr,"(%g,%g,%g)",vertices->v[X],
+                     vertices->v[Y], vertices->v[Z] );
+             fprintf(stderr,"   active:%3d", vertices->active );
+-            fprintf(stderr,"   duplicate:%5x", vertices->duplicate );
++            fprintf(stderr,"   duplicate:%5p", vertices->duplicate );
+             fprintf(stderr,"   mark:%2d\n", vertices->mark );
+             vertices = vertices->next;
+             } while ( vertices != temp );
+@@ -424,13 +424,13 @@
+ 	temp = edges;
+ 	fprintf (stderr, "Edge List\n");
+ 	if (edges) do {
+-            fprintf( stderr, "  addr: %6x\t", edges );
++            fprintf( stderr, "  addr: %6p\t", edges );
+             fprintf( stderr, "adj: ");
+             for (i=0; i<3; ++i) 
+-                 fprintf( stderr, "%6x", edges->adjface[i] );
++                 fprintf( stderr, "%6p", edges->adjface[i] );
+             fprintf( stderr, "  endpts:");
+             for (i=0; i<2; ++i) 
+-                 fprintf( stderr, "%8x", edges->endpts[i]);
++                 fprintf( stderr, "%8p", edges->endpts[i]);
+             fprintf( stderr, "  del:%3d\n", edges->deleted );
+             edges = edges->next; 
+             } while (edges != temp );
+@@ -452,13 +452,13 @@
+ 	temp = faces;
+ 	fprintf (stderr, "Face List\n");
+ 	if (faces) do {
+-            fprintf(stderr, "  addr: %6x\t", faces );
++            fprintf(stderr, "  addr: %6p\t", faces );
+             fprintf(stderr, "  edges:");
+             for( i=0; i<3; ++i )
+-                 fprintf(stderr, "%6x", faces->edg[i] );
++                 fprintf(stderr, "%6p", faces->edg[i] );
+             fprintf(stderr, "  vert:");
+             for ( i=0; i<3; ++i)
+-                  fprintf(stderr, "%6x", faces->vert[i] );
++                  fprintf(stderr, "%6p", faces->vert[i] );
+             fprintf(stderr, "  vis: %d\n", faces->visible );
+             faces= faces->next;
+             } while ( faces != temp );
+@@ -552,8 +552,8 @@
+                 temp_v = temp_v->next;
+                 } while ( temp_v != vertices );
+              do {                           
+-                printf("3%5d%6d%6d\n", temp_f->vert[0]->vnum,
+-                        temp_f->vert[1]->vnum, temp_f->vert[2]->vnum );
++                printf("3%5d%6d%6d\n", temp_f->vert[0]->vnum[0],
++                        temp_f->vert[1]->vnum[0], temp_f->vert[2]->vnum[0] );
+                 temp_f = temp_f->next;
+                 } while ( temp_f != faces );
+ }
diff --git a/Golden_Repo/v/VMD/VMD-1.9.4a43-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/v/VMD/VMD-1.9.4a43-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..839bad4007e6dd32bd43c473e50d48310a5f9a92
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.4a43-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
@@ -0,0 +1,66 @@
+name = 'VMD'
+version = '1.9.4a43'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://www.ks.uiuc.edu/Research/vmd'
+description = """VMD is a molecular visualization program for displaying, animating,
+and analyzing large biomolecular systems using 3-D graphics and built-in scripting."""
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+
+source_urls = [
+    'https://www.ks.uiuc.edu/Research/vmd/vmd-1.9.4/files/alpha/',
+    'https://www.ks.uiuc.edu/Research/vmd/vmd-%(version)s/files/final',
+    'http://webclu.bio.wzw.tum.de/stride/'
+]
+sources = [
+    'vmd-%(version)s.src.tar.gz',
+    {'filename': 'stride.tar.gz', 'extract_cmd': "tar -C vmd-%(version)s/lib/stride -xf %s"},
+]
+patches = [
+    ('VMD-1.9.3_plugins.patch'),
+    ('VMD-1.9.3_surf_Makefile.patch', 'vmd-%(version)s'),
+    ('VMD-1.9.3_surf_bad_printfs.patch', 'vmd-%(version)s'),
+    ('VMD-1.9.3_stride_Makefile.patch', 'vmd-%(version)s'),
+    ('VMD-1.9.3_stride_MAX_AT_IN_RES.patch', 'vmd-%(version)s'),
+    ('VMD-%(version)s_configure.patch', 'vmd-%(version)s'),
+    ('VMD-%(version)s_extra_colors.patch', 'vmd-%(version)s'),
+]
+checksums = [
+    '84323b2c34db8ce5739372dd6e225ef1fa1dc5c4b82d3810d55923a653b1bdc0',  # vmd-1.9.4a43.src.tar.gz
+    '51a8bc2988bb184bd08216124f61725225bb1a6f563bdf8cd35154cb5d621c1a',  # stride.tar.gz
+    '85760d6ae838e2b09801e34b36b484532383f7aaf2e8634b3ef808002a92baa3',  # VMD-1.9.3_plugins.patch
+    'd5cfa88064b7cffbc75accd69707d4e45fda974e8127de9ab606fdad501bd68a',  # VMD-1.9.3_surf_Makefile.patch
+    'f3c2a8c155e38db8e644cee6a01f6beaea5988e72ac74cde26b71670b151cc34',  # VMD-1.9.3_surf_bad_printfs.patch
+    'eb194ac0d8c086b73f87b29f7d732687f902431b1cdfa139c090401fefdee51e',  # VMD-1.9.3_stride_Makefile.patch
+    'eff1ca00cec637a6c8a156b2fb038e078d1835ba0eb15a571ed820bca5a866d9',  # VMD-1.9.3_stride_MAX_AT_IN_RES.patch
+    'b2735cd79a4a2ecb9e1f0a1b974b3bc7dd6615ed375b69e155ec8481347e1fcf',  # VMD-1.9.4_configure.patch
+    '253eba282b570eb00e4764f46f77fd5ca898d10360d5707dd50ad1f14615af80',  # VMD-1.9.4_extra_colors.patch
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+    ('SciPy-Stack', '2020', versionsuffix),
+    ('Tcl', '8.6.10'),
+    ('Tk', '8.6.10'),
+    ('FLTK', '1.3.5'),
+    ('X11', '20200222'),
+    ('fontconfig', '2.13.92'),
+    ('OpenGL', '2020'),
+    ('netCDF', '4.7.4', '-serial'),
+    ('FFmpeg', '4.3.1'),
+    ('ImageMagick', '7.0.10-25'),
+    ('ACTC', '1.1'),
+    ('OptiX', '6.5.0', '', SYSTEM),
+    ('zlib', '1.2.11'),
+    ('libpng', '1.6.37'),
+    ('CUDA', '11.0', '', SYSTEM),
+]
+
+prebuildopts = ' NVCC_GENCODE="-gencode=arch=compute_70,code=sm_70 \
+                               -gencode=arch=compute_75,code=sm_75 \
+                               -gencode=arch=compute_80,code=sm_80"'
+
+moduleclass = 'vis'
diff --git a/Golden_Repo/v/VMD/VMD-1.9.4a43_configure.patch b/Golden_Repo/v/VMD/VMD-1.9.4a43_configure.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d42835b7a8c8d983eeacea58c09a87c72f68cb62
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.4a43_configure.patch
@@ -0,0 +1,205 @@
+--- configure.orig	2020-12-31 17:02:47.266221000 +0100
++++ configure	2021-01-02 17:45:22.669512696 +0100
+@@ -493,17 +493,18 @@
+ 
+ $arch_cc          = "cc";
+ $arch_ccpp        = "CC";
+-$arch_nvcc        = "/usr/local/cuda-10.2/bin/nvcc";
++$arch_nvcc        = "nvcc";
+ $arch_nvccflags   = "-lineinfo --ptxas-options=-v " . 
+-                    "-gencode arch=compute_30,code=compute_30 " .
+-                    "-gencode arch=compute_30,code=sm_35 " .
+-                    "-gencode arch=compute_30,code=sm_37 " .
+                     "-gencode arch=compute_50,code=compute_50 " .
+                     "-gencode arch=compute_50,code=sm_50 " .
+                     "-gencode arch=compute_60,code=compute_60 " .
+                     "-gencode arch=compute_60,code=sm_60 " .
+                     "-gencode arch=compute_70,code=compute_70 " .
+                     "-gencode arch=compute_70,code=sm_70 " .
++                    "-gencode arch=compute_75,code=compute_75 " .
++                    "-gencode arch=compute_75,code=sm_75 " .
++                    "-gencode arch=compute_80,code=compute_80 " .
++                    "-gencode arch=compute_80,code=sm_80 " .
+                     "--ftz=true ";
+ #                    "-gencode arch=compute_75,code=sm_75 " .
+ $arch_gcc         = "gcc";
+@@ -629,17 +630,17 @@
+ # location of Mesa library and include files; basically does the same
+ # as OpenGL.  This is based on the default instructions from the Mesa
+ # README; the include files should by default be in /usr/local/include/GL.
+-$mesa_dir         = "$vmd_library_dir/Mesa";
++$mesa_dir         = $ENV{'EBROOTOPENGL'};
+ $mesa_include     = "-I$mesa_dir/include";
+ $mesa_library     = "-L$mesa_dir/lib_$config_arch";
+ #$mesa_libs        = "-lMesaGL -lMesaGLU"; 
+-$mesa_libs        = "-lMesaGL"; 
++$mesa_libs        = "-lGL -lGLU"; 
+ $mesa_defines     = "-DUSELINEAXES -DVMDMESA -DVMDOPENGL";
+ @mesa_cc          = ();
+ @mesa_cu          = ();
+-@mesa_ccpp        = @opengl_ccpp;
+-@mesa_h           = @opengl_h;
+-@mesa_extra       = @opengl_extra;
++@mesa_ccpp        = ();
++@mesa_h           = ();
++@mesa_extra       = ();
+ 
+ 
+ #
+@@ -714,10 +715,10 @@
+ 
+ ################ FLTK GUI
+ $fltk_defines     = "-DVMDGUI -DVMDFLTK";
+-$fltk_dir         = "$vmd_library_dir/fltk";
++$fltk_dir         = $ENV{'EBROOTFLTK'};
+ $fltk_include     = "-I$fltk_dir/include";
+ $fltk_library     = "-L$fltk_dir/$config_arch";
+-$fltk_libs        = "-lfltk -lX11";
++$fltk_libs        = "-lfltk -L$ENV{'EBROOTFONTCONFIG'}/lib -lfontconfig -lX11 -lXrender -lXft -lXfixes -lXcursor -lXinerama";
+ #@fltk_cc          = ('forms_ui.c');
+ @fltk_cu          = ();
+ @fltk_ccpp        = ( 'ColorFltkMenu.C',
+@@ -759,7 +760,6 @@
+ $stock_tcl_include_dir=$ENV{"TCL_INCLUDE_DIR"} || "$vmd_library_dir/tcl/include";
+ $stock_tcl_library_dir=$ENV{"TCL_LIBRARY_DIR"} || "$vmd_library_dir/tcl/lib_$config_arch";
+ 
+-
+ # location of Tk (for TK option)
+ #$stock_tk_include_dir=$ENV{"TK_INCLUDE_DIR"} || "/usr/local/include";
+ #$stock_tk_library_dir=$ENV{"TK_LIBRARY_DIR"} || "/usr/local/lib";
+@@ -777,8 +777,8 @@
+ if ($config_tk) { $tcl_include .= " -I$stock_tk_include_dir"; }
+ $tcl_library      = "-L$stock_tcl_library_dir";
+ if ($config_tk) { $tcl_library .= " -L$stock_tk_library_dir"; }
+-$tcl_libs         = "-ltcl8.5";  
+-if ($config_tk) { $tcl_libs = "-ltk8.5 -lX11 " . $tcl_libs; }
++$tcl_libs         = "-ltcl8.6";  
++if ($config_tk) { $tcl_libs = "-ltk8.6 -lX11 " . $tcl_libs; }
+ 
+ @tcl_cc           = ();
+ @tcl_cu           = ();
+@@ -942,7 +942,7 @@
+ #   This option enables the use of CUDA GPU acceleration functions.
+ #######################
+ $cuda_defines     = "-DVMDCUDA -DMSMPOT_CUDA";
+-$cuda_dir         = "/usr/local/cuda-10.2";
++$cuda_dir         = "$ENV{'CUDA_HOME'}";
+ $cuda_include     = "";
+ $cuda_library     = "";
+ $cuda_libs        = "-Wl,-rpath -Wl,\$\$ORIGIN/ -lcudart_static -lrt";
+@@ -1151,7 +1151,7 @@
+ # $liboptix_dir         = "/usr/local/encap/NVIDIA-OptiX-SDK-5.0.1-linux64";
+ # $liboptix_dir         = "/usr/local/encap/NVIDIA-OptiX-SDK-5.1.0-linux64";
+ # $liboptix_dir         = "/usr/local/encap/NVIDIA-OptiX-SDK-6.0.0-linux64";
+-$liboptix_dir         = "/usr/local/encap/NVIDIA-OptiX-SDK-6.5.0-linux64";
++$liboptix_dir         = "$ENV{'EBROOTOPTIX'}";
+ # $liboptix_dir         = "/usr/local/encap/NVIDIA-OptiX-SDK-7.0.0-linux64";
+ 
+ # NCSA Blue Waters
+@@ -1306,7 +1306,7 @@
+   die "LIBPNG option requires ZLIB!";
+ }
+ $libpng_defines     = "-DVMDLIBPNG";
+-$libpng_dir         = "/Projects/vmd/vmd/lib/libpng";
++$libpng_dir         = "$ENV{'EBROOTLIBPNG'}";
+ $libpng_include     = "-I$libpng_dir/include";
+ $libpng_library     = "-L$libpng_dir/lib_$config_arch";
+ $libpng_libs        = "-lpng16";
+@@ -1334,7 +1334,7 @@
+ # OPTIONAL COMPONENT: Data compresssion library 
+ # This may be commented out if not required.
+ $zlib_defines     = "-DVMDZLIB";
+-$zlib_dir         = "/Projects/vmd/vmd/lib/zlib";
++$zlib_dir         = "$ENV{'EBROOTZLIB'}";
+ $zlib_include     = "-I$zlib_dir/include";
+ $zlib_library     = "-L$zlib_dir/lib_$config_arch";
+ $zlib_libs        = "-lz";
+@@ -1525,7 +1525,7 @@
+ #   primitives.
+ #######################
+ $actc_defines     = "-DVMDACTC";
+-$actc_dir         = "$vmd_library_dir/actc";
++$actc_dir         = "$ENV{'EBROOTACTC'}";
+ $actc_include     = "-I$actc_dir/include";
+ $actc_library     = "-L$actc_dir/lib_$config_arch";
+ $actc_libs        = "-lactc";
+@@ -1540,7 +1540,7 @@
+ # OPTIONAL COMPONENT: NetCDF I/O Library (Used by cdfplugin)
+ #######################
+ $netcdf_defines     = "";
+-$netcdf_dir         = "$vmd_library_dir/netcdf";
++$netcdf_dir         = "$ENV{'EBROOTNETCDF'}";
+ $netcdf_include     = "-I$netcdf_dir/include";
+ $netcdf_library     = "-L$netcdf_dir/lib_$config_arch";
+ $netcdf_libs        = "-lnetcdf";
+@@ -1593,18 +1593,18 @@
+ # If left blank, standard system  directories will be searched.
+ #$stock_python_include_dir=$ENV{"PYTHON_INCLUDE_DIR"} || "/usr/local/include";
+ #$stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "/usr/local/lib";
+-$stock_python_include_dir=$ENV{"PYTHON_INCLUDE_DIR"} || "$vmd_library_dir/python/lib_$config_arch/include/python2.5";
+-$stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/config";
++$stock_python_include_dir=$ENV{'PYTHON_INCLUDE_DIR'} || "$vmd_library_dir/python/lib_$config_arch/include/python2.5";
++$stock_python_library_dir=$ENV{'PYTHON_LIBRARY_DIR'} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/config";
+ 
+ #$stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "/usr/local/include";
+ #$stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "/usr/local/lib";
+-$stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "$vmd_library_dir/numpy/lib_$config_arch/include";
+-$stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/site-packages/numpy/core/include";
++$stock_numpy_include_dir=$ENV{'NUMPY_INCLUDE_DIR'} || "$vmd_library_dir/numpy/lib_$config_arch/include";
++$stock_numpy_library_dir="$ENV{'NUMPY_INCLUDE_DIR'}/../lib" || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/site-packages/numpy/core/include";
+ 
+ $python_defines     = "-DVMDPYTHON";
+ $python_include     = "-I$stock_python_include_dir -I$stock_numpy_include_dir -I$stock_numpy_library_dir";
+ $python_library     = "-L$stock_python_library_dir";
+-$python_libs        = "-lpython2.5 -lpthread";
++$python_libs        = "-lpython3.8 -lpthread";
+ @python_h           = ('PythonTextInterp.h',
+                        'VMDTkinterMenu.h',
+ 		       'py_commands.h',
+@@ -2513,7 +2513,7 @@
+ 
+     if ($config_cuda) {
+       $arch_nvccflags   .= " --machine 64 -O3 $cuda_include";
+-      $cuda_library     = "-L/usr/local/cuda-10.2/lib64";
++      $cuda_library     = "-L$ENV{'EBROOTCUDA'}/lib64";
+     }
+ 
+     $arch_lex		= "flex"; # has problems with vendor lex
+@@ -2522,8 +2522,8 @@
+     # override code probably date back to RHEL4.x or earlier, and
+     # they likely serve no useful purpose going forward.
+     if (!$config_opengl_dispatch) {
+-      $opengl_dep_libs	= "-L/usr/X11R6/lib64 -lGL -lX11";
+-      $mesa_libs          = "-lMesaGL -L/usr/X11R6/lib64 -lXext -lX11";
++      $opengl_dep_libs	= "-L$ENV{'EBROOTOPENGL'}/lib -lGL -L$ENV{'EBROOTX11'}/lib -lX11";
++      $mesa_libs          = "-lGL -lGLU -L$ENV{'EBROOTX11'}/lib -lXext -lX11";
+     }
+ 
+     # this is to make tcl happy
+@@ -2551,7 +2551,7 @@
+ 
+   $arch_nvcc     = "/usr/local/cuda/bin/nvcc";
+   $arch_nvccflags   = "--ptxas-options=-v " .
+-                    "-gencode arch=compute_30,code=compute_30 " .
++                    "-gencode arch=compute_50,code=compute_50 " .
+                     "-gencode arch=compute_70,code=compute_70 " .
+                     "--ftz=true ";
+   $cuda_library     = "-L/usr/local/cuda/lib64";
+@@ -2913,7 +2913,7 @@
+   
+       # Only generate code for SM 7.0 on Summit
+       $arch_nvccflags   = "--ptxas-options=-v " .
+-                      "-gencode arch=compute_30,code=compute_30 " .
++                      "-gencode arch=compute_50,code=compute_50 " .
+                       "-gencode arch=compute_70,code=sm_70 " .
+                       "--ftz=true ";
+       $arch_nvccflags   .= " --machine 64 -O3 $cuda_include";
+@@ -3541,7 +3541,7 @@
+ 
+ .cu.ptx:
+ 	\$(ECHO) "Compiling " \$< " --> " \$*.ptx " ..."; \\
+-	\$(NVCC) \$(DEFINES) --use_fast_math $liboptix_include -gencode arch=compute_30,code=compute_30 -ptx \$< $arch_coptout$vmd_arch_dir/\$\@
++	\$(NVCC) \$(DEFINES) --use_fast_math $liboptix_include -gencode arch=compute_60,code=compute_60 -ptx \$< $arch_coptout$vmd_arch_dir/\$\@
+ 
+ .y.o:
+ 
diff --git a/Golden_Repo/v/VMD/VMD-1.9.4a43_extra_colors.patch b/Golden_Repo/v/VMD/VMD-1.9.4a43_extra_colors.patch
new file mode 100644
index 0000000000000000000000000000000000000000..26e9ba954dbbbb816975a947d97c4d1a69ca1f95
--- /dev/null
+++ b/Golden_Repo/v/VMD/VMD-1.9.4a43_extra_colors.patch
@@ -0,0 +1,46 @@
+Add some additional colors, e.g. to allow for color blind compatible rendering.
+Bob Dröge, 2020-06-23
+--- src/Scene.C.orig	2020-06-23 09:37:41.000000000 +0200
++++ src/Scene.C		2020-06-23 09:40:59.000000000 +0200
+@@ -63,7 +63,10 @@
+  ,"yellow2",  "yellow3",   "green2",    "green3",
+   "cyan2",    "cyan3",     "blue2",     "blue3",
+   "violet",   "violet2",   "magenta",   "magenta2",  
+-  "red2",     "red3",      "orange2",   "orange3"
++  "red2",     "red3",      "orange2",   "orange3",
++  "matisse", "flamenco", "forest_green", "punch",
++  "wisteria", "spicy_mix", "orchid", "gray2",
++  "lime_pie", "java"
+ #endif
+ 
+ };
+@@ -89,7 +92,17 @@
+    0.27f, 0.00f, 0.98f,  0.45f, 0.00f, 0.90f, // violet
+    0.90f, 0.00f, 0.90f,  1.00f, 0.00f, 0.66f, // magenta
+    0.98f, 0.00f, 0.23f,  0.81f, 0.00f, 0.00f, // red
+-   0.89f, 0.35f, 0.00f,  0.96f, 0.72f, 0.00f  // orange
++   0.89f, 0.35f, 0.00f,  0.96f, 0.72f, 0.00f, // orange
++   0.1f, 0.5f, 0.7f, // MPL1, matisse
++   1.0f, 0.5f, 0.1f, // MPL2, flamenco
++   0.2f, 0.6f, 0.2f, // MPL3, forest green
++   0.8f, 0.2f, 0.2f, // MPL4, punch
++   0.6f, 0.4f, 0.7f, // MPL5, wisteria
++   0.5f, 0.3f, 0.3f, // MPL6, spicy mix
++   0.9f, 0.5f, 0.8f, // MPL7, orchid
++   0.5f, 0.5f, 0.5f, // MPL8, gray
++   0.7f, 0.7f, 0.1f, // MPL9, key lime pie
++   0.1f, 0.7f, 0.8f // MPL10, java
+ #endif
+ 
+ };
+--- src/Scene.h.orig	2020-06-23 09:37:45.000000000 +0200
++++ src/Scene.h		2020-06-23 09:42:21.000000000 +0200
+@@ -37,7 +37,7 @@
+ #define DISP_LIGHTS 4
+ 
+ // total number of colors defined here
+-#define REGCLRS         33
++#define REGCLRS         43
+ #define EXTRACLRS       1
+ #define VISCLRS         (REGCLRS - EXTRACLRS)
+ #define MAPCLRS         1024    
diff --git a/Golden_Repo/w/Wannier90/Wannier90-3.1.0-gomkl-2020.eb b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-gomkl-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..6b1ddb87637ff8ff7f1e4e776be5bbd60afc6572
--- /dev/null
+++ b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-gomkl-2020.eb
@@ -0,0 +1,34 @@
+easyblock = 'MakeCp'
+
+name = 'Wannier90'
+version = '3.1.0'
+
+homepage = 'http://www.wannier.org'
+description = """A tool for obtaining maximally-localised Wannier functions"""
+
+site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>'
+
+toolchain = {'name': 'gomkl', 'version': '2020'}
+toolchainopts = {'usempi': True}
+
+github_account = 'wannier-developers'
+source_urls = [GITHUB_LOWER_SOURCE]
+sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}]
+patches = ['Wannier90_3x_ignore_makeinc.patch']
+checksums = [
+    '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254',  # wannier90-3.1.0.tar.gz
+    '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e',  # Wannier90_3x_ignore_makeinc.patch
+]
+
+buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" '
+buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" '
+buildopts += 'COMMS=mpi'
+
+files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')]
+
+sanity_check_paths = {
+    'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'],
+    'dirs': []
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/w/Wannier90/Wannier90-3.1.0-gpsmkl-2020.eb b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-gpsmkl-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..955ab3844e43db3417515778632707acfef08e51
--- /dev/null
+++ b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-gpsmkl-2020.eb
@@ -0,0 +1,34 @@
+easyblock = 'MakeCp'
+
+name = 'Wannier90'
+version = '3.1.0'
+
+homepage = 'http://www.wannier.org'
+description = """A tool for obtaining maximally-localised Wannier functions"""
+
+site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>'
+
+toolchain = {'name': 'gpsmkl', 'version': '2020'}
+toolchainopts = {'usempi': True}
+
+github_account = 'wannier-developers'
+source_urls = [GITHUB_LOWER_SOURCE]
+sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}]
+patches = ['Wannier90_3x_ignore_makeinc.patch']
+checksums = [
+    '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254',  # wannier90-3.1.0.tar.gz
+    '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e',  # Wannier90_3x_ignore_makeinc.patch
+]
+
+buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" '
+buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" '
+buildopts += 'COMMS=mpi'
+
+files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')]
+
+sanity_check_paths = {
+    'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'],
+    'dirs': []
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/w/Wannier90/Wannier90-3.1.0-intel-2020.eb b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-intel-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..1213466adf65bed0950c52590671b837f6f58bc2
--- /dev/null
+++ b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-intel-2020.eb
@@ -0,0 +1,34 @@
+easyblock = 'MakeCp'
+
+name = 'Wannier90'
+version = '3.1.0'
+
+homepage = 'http://www.wannier.org'
+description = """A tool for obtaining maximally-localised Wannier functions"""
+
+site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>'
+
+toolchain = {'name': 'intel', 'version': '2020'}
+toolchainopts = {'usempi': True}
+
+github_account = 'wannier-developers'
+source_urls = [GITHUB_LOWER_SOURCE]
+sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}]
+patches = ['Wannier90_3x_ignore_makeinc.patch']
+checksums = [
+    '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254',  # wannier90-3.1.0.tar.gz
+    '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e',  # Wannier90_3x_ignore_makeinc.patch
+]
+
+buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" '
+buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" '
+buildopts += 'COMMS=mpi'
+
+files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')]
+
+sanity_check_paths = {
+    'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'],
+    'dirs': []
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/w/Wannier90/Wannier90-3.1.0-intel-para-2020.eb b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-intel-para-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..93b6bcf45d566c79db0de340af4e758cf82eba07
--- /dev/null
+++ b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-intel-para-2020.eb
@@ -0,0 +1,34 @@
+easyblock = 'MakeCp'
+
+name = 'Wannier90'
+version = '3.1.0'
+
+homepage = 'http://www.wannier.org'
+description = """A tool for obtaining maximally-localised Wannier functions"""
+
+site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>'
+
+toolchain = {'name': 'intel-para', 'version': '2020'}
+toolchainopts = {'usempi': True}
+
+github_account = 'wannier-developers'
+source_urls = [GITHUB_LOWER_SOURCE]
+sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}]
+patches = ['Wannier90_3x_ignore_makeinc.patch']
+checksums = [
+    '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254',  # wannier90-3.1.0.tar.gz
+    '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e',  # Wannier90_3x_ignore_makeinc.patch
+]
+
+buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" '
+buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" '
+buildopts += 'COMMS=mpi'
+
+files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')]
+
+sanity_check_paths = {
+    'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'],
+    'dirs': []
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/w/Wannier90/Wannier90-3.1.0-iomkl-2020.eb b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-iomkl-2020.eb
new file mode 100644
index 0000000000000000000000000000000000000000..101aab8efba103fd4c316b0ff9fc48a862c430fc
--- /dev/null
+++ b/Golden_Repo/w/Wannier90/Wannier90-3.1.0-iomkl-2020.eb
@@ -0,0 +1,34 @@
+easyblock = 'MakeCp'
+
+name = 'Wannier90'
+version = '3.1.0'
+
+homepage = 'http://www.wannier.org'
+description = """A tool for obtaining maximally-localised Wannier functions"""
+
+site_contacts = 'Sebastian Achilles <s.achilles@fz-juelich.de>'
+
+toolchain = {'name': 'iomkl', 'version': '2020'}
+toolchainopts = {'usempi': True}
+
+github_account = 'wannier-developers'
+source_urls = [GITHUB_LOWER_SOURCE]
+sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}]
+patches = ['Wannier90_3x_ignore_makeinc.patch']
+checksums = [
+    '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254',  # wannier90-3.1.0.tar.gz
+    '561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e',  # Wannier90_3x_ignore_makeinc.patch
+]
+
+buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" '
+buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" '
+buildopts += 'COMMS=mpi'
+
+files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')]
+
+sanity_check_paths = {
+    'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'],
+    'dirs': []
+}
+
+moduleclass = 'chem'
diff --git a/Golden_Repo/w/Wannier90/Wannier90_3x_ignore_makeinc.patch b/Golden_Repo/w/Wannier90/Wannier90_3x_ignore_makeinc.patch
new file mode 100644
index 0000000000000000000000000000000000000000..03ccb352edc33ed8b351513c6f2fce7dd2189b53
--- /dev/null
+++ b/Golden_Repo/w/Wannier90/Wannier90_3x_ignore_makeinc.patch
@@ -0,0 +1,32 @@
+avoid including make.inc, which contains hardcoding settings we don't need/want
+author: J-M Beuken
+diff -Nru wannier90-3.0.0.orig/src/Makefile.2 wannier90-3.0.0/src/Makefile.2
+--- wannier90-3.0.0.orig/src/Makefile.2	2019-06-26 22:47:08.067494977 +0200
++++ wannier90-3.0.0/src/Makefile.2	2019-06-26 22:47:35.313193842 +0200
+@@ -2,7 +2,7 @@
+ #  Should be no need to change below this line
+ #
+ 
+-include ../../make.inc
++#include ../../make.inc
+ 
+ # Contains definition of OBJS, OBJSLIB, OBJS_POST, LIBRARY, DYNLIBRARY
+ include ../Makefile.header
+diff -Nru wannier90-3.0.0.orig/utility/w90pov/Makefile wannier90-3.0.0/utility/w90pov/Makefile
+--- wannier90-3.0.0.orig/utility/w90pov/Makefile	2019-06-26 22:47:08.148494082 +0200
++++ wannier90-3.0.0/utility/w90pov/Makefile	2019-06-26 23:02:34.442673824 +0200
+@@ -1,4 +1,4 @@
+-include ../../make.inc
++#include ../../make.inc
+ 
+ SRC=src
+ OBJ=obj
+diff -Nru wannier90-3.0.0.orig/utility/w90vdw/Makefile wannier90-3.0.0/utility/w90vdw/Makefile
+--- wannier90-3.0.0.orig/utility/w90vdw/Makefile	2019-06-26 22:47:08.153494027 +0200
++++ wannier90-3.0.0/utility/w90vdw/Makefile	2019-06-26 23:03:01.118385092 +0200
+@@ -1,4 +1,4 @@
+-include ../../make.inc
++#include ../../make.inc
+ 
+ w90vdw.x: w90vdw.f90
+ 	$(F90) $(FCOPTS) $< -o $@
diff --git a/Golden_Repo/x/XCFun/XCFun-20190127-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb b/Golden_Repo/x/XCFun/XCFun-20190127-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
new file mode 100644
index 0000000000000000000000000000000000000000..88365a887ccd7205de0c4cdb960dea453292f965
--- /dev/null
+++ b/Golden_Repo/x/XCFun/XCFun-20190127-gcccoremkl-9.3.0-2020.2.254-Python-3.8.5.eb
@@ -0,0 +1,39 @@
+easyblock = 'CMakeMake'
+
+name = 'XCFun'
+version = '20190127'
+local_commit = 'a486a3f'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'http://dftlibs.org/xcfun/'
+description = """ XCFun is a library of DFT exchange-correlation (XC) functionals.
+ It is based on automatic differentiation and can therefore generate arbitrary order
+ derivatives of these functionals. """
+
+toolchain = {'name': 'gcccoremkl', 'version': '9.3.0-2020.2.254'}
+toolchainopts = {'pic': True}
+
+site_contacts = 'j.goebbert@fz-juelich.de'
+
+source_urls = ['https://github.com/dftlibs/xcfun/archive/']
+sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}]
+checksums = ['afde6dbbc8c2167e986a9a3d41716e7e2f0981d7ede8106065c6309588460972']
+
+builddependencies = [
+    ('CMake', '3.18.0')
+]
+
+dependencies = [
+    ('Python', '3.8.5'),
+]
+
+separate_build_dir = True
+
+sanity_check_paths = {
+    'files': ['lib/libxcfun.a', 'lib/libxcfun.%s' % SHLIB_EXT],
+    'dirs': ['include/XCFun']
+}
+
+modextrapaths = {'CPATH': 'include/XCFun'}
+
+moduleclass = 'tools'
diff --git a/bin/ebw b/bin/ebw
new file mode 100755
index 0000000000000000000000000000000000000000..0f3516266d00637e46583bd1fd6e2200ef5d649d
--- /dev/null
+++ b/bin/ebw
@@ -0,0 +1,70 @@
+#!/bin/env python3
+
+import distutils.spawn
+import os
+import re
+import subprocess
+import sys
+
+def get_eb_basepaths(eb_path):
+    dirs = os.listdir(eb_path)
+    f_dirs = []
+    for d in dirs:
+        if os.path.isdir(os.path.join(eb_path, d)):
+            if 'overlay' in d:
+                f_dirs = f_dirs + get_eb_basepaths(os.path.join(eb_path, d))
+            else:
+                f_dirs.append(os.path.join(eb_path, d))
+    return f_dirs
+
+dirs = get_eb_basepaths((os.path.join("/p/fastdata/zam/swmanage/EasyBuild", os.getenv("STAGE"), "Golden_Repo")))
+pkgs_w_dash = []
+for d in dirs:
+    pkgs = [p for p in os.listdir(d) if os.path.isdir(os.path.join(d, p))]
+    for p in pkgs:
+        if '-' in p and p not in pkgs_w_dash:
+            pkgs_w_dash.append(p)
+
+if not distutils.spawn.find_executable("eb"):
+    print("Failed to execute the 'eb' command! Is it in the $PATH?")
+    sys.exit()
+
+if len(sys.argv) < 2:
+    print("This is an EasyBuild wrapper to automatically hide packages that are listed as hidden dependencies")
+    sys.exit()
+
+hidden_pkgs = os.getenv("EASYBUILD_HIDE_DEPS").split(',')
+
+pkgs = []
+pkgs_to_hide = []
+opts = []
+
+args = sys.argv[1:]
+
+for i in args:
+    if re.search("\.eb$", i):
+        ec = i.split('/')[-1]
+        name = None
+        for j in pkgs_w_dash:
+            if re.search("^%s" % j.replace('++', '\+\+'), ec):
+                name = j
+                break
+        if not name:
+            name = ec.split('-')[0].split('.')[0]
+
+        if name in hidden_pkgs:
+            print("Hidding %s" % name)
+            pkgs_to_hide += [i]
+        else:
+            pkgs += [i]
+    else:
+        opts += [i]
+
+if len(pkgs_to_hide) > 0:
+    print(['eb']+pkgs_to_hide+opts+['--hidden'])
+    os.system(' '.join(['eb'] + pkgs_to_hide + opts + ['--hidden']))
+
+
+if len(pkgs) > 0:
+    print(['eb']+pkgs+opts)
+    os.system(' '.join(['eb'] + pkgs + opts))