diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 95ab4a6c50465de2cd8fba342e01b19f12787f34..d49d5a22b5de0015541ee1a4d4d05a124c75d5c1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ default: tags: [ public-docker ] - image: $CI_REGISTRY/easybuild-docker/easybuild-docker/centos8-eb-test:latest + image: $CI_REGISTRY/easybuild-docker/easybuild-docker/rocky8-eb-test:latest workflow: rules: @@ -15,6 +15,7 @@ workflow: check_style: script: + - ml --version && which -a eb && eb --version && eb --show-system-info - export SYSTEMNAME="juwelsbooster" # Make this the default for packages like NVHPC - export EASYBUILD_INCLUDE_EASYBLOCKS="$CI_PROJECT_DIR/Custom_EasyBlocks/*.py,$CI_PROJECT_DIR/Custom_EasyBlocks/generic/*.py" - export EASYBUILD_INCLUDE_MODULE_NAMING_SCHEMES="$CI_PROJECT_DIR/Custom_MNS/*.py" diff --git a/Custom_EasyBlocks/README.md b/Custom_EasyBlocks/README.md index 6598a6a759dfead38a2f8443d1b7b2abf83f8ea2..2cb183eb877a8ac09ad88ac0437504ef5a75d77e 100644 --- a/Custom_EasyBlocks/README.md +++ b/Custom_EasyBlocks/README.md @@ -2,6 +2,13 @@ Overview of the custom EasyBlocks. +## allinea + +- __*added by*__ s.achilles +- __*needed because*__ we need to allow multiple license files +- __*difference compared to upstream*__ the aforementioned parameter +- __*can not be removed*__ at least until that option is merged upstream + ## MPICH - __*added by*__ d.alvarez @@ -53,3 +60,15 @@ Overview of the custom EasyBlocks. - __*needed because*__ we offer more functionality compared to upstream - __*difference compared to upstream*__ upstream has not yet an EasyBlock for julia, juliabundle and juliapackage - __*can not be removed*__ once merged with upstream + +## VMD +- __*added by*__ j.goebbert +- __*needed because*__ we replaced the Mesa module by our own OpenGL module compared to upstream +- __*difference compared to upstream*__ upstream checks for Mesa inside the easyblock +- __*can not be removed*__ once upstream uses our OpenGL module + +## GROMACS +- __*added_by*__ j.meinke +- __*needed because*__ want to use easyconfig parameters to determine CUDA capability. +- __*difference compared to upstream*__ upstream doesn't have such a feature +- __*can not be removed*__ until merged upstream diff --git a/Custom_EasyBlocks/allinea.py b/Custom_EasyBlocks/allinea.py new file mode 100644 index 0000000000000000000000000000000000000000..ac5a7370e25aca07c11cd7f979225c5c15ef47f5 --- /dev/null +++ b/Custom_EasyBlocks/allinea.py @@ -0,0 +1,127 @@ +## +# Copyright 2013-2021 Ghent 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://www.vscentrum.be), +# Flemish Research Foundation (FWO) (http://www.fwo.be/en) +# 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 building and installing Allinea tools, implemented as an easyblock + +@author: Kenneth Hoste (Ghent University) +@author: Sebastian Achilles (Forschungszentrum Juelich GmbH) +""" +import os +import shutil +import stat + +from easybuild.easyblocks.generic.binary import Binary +from easybuild.framework.easyblock import EasyBlock +from easybuild.framework.easyconfig import CUSTOM +from easybuild.tools.build_log import EasyBuildError +from easybuild.tools.filetools import adjust_permissions, copy_file +from easybuild.tools.py2vs3 import string_type + + +class EB_Allinea(Binary): + """Support for building/installing Allinea.""" + + @staticmethod + def extra_options(extra_vars=None): + """Define extra easyconfig parameters specific to Allinea.""" + extra = Binary.extra_options(extra_vars) + extra.update({ + 'templates': [[], "List of templates.", CUSTOM], + 'sysconfig': [None, "system.config file to install.", CUSTOM], + }) + return extra + + def extract_step(self): + """Extract Allinea installation files.""" + EasyBlock.extract_step(self) + + def configure_step(self): + """No configuration for Allinea.""" + # ensure a license file is specified + if self.cfg['license_file'] is None: + raise EasyBuildError("No license file specified.") + + def build_step(self): + """No build step for Allinea.""" + pass + + def install_step(self): + """Install Allinea using install script.""" + + if self.cfg['install_cmd'] is None: + self.cfg['install_cmd'] = "./textinstall.sh --accept-licence %s" % self.installdir + + super(EB_Allinea, self).install_step() + + # copy license file + # allow to copy multiple licenses + lic_path = os.path.join(self.installdir, 'licences') + licenses = self.cfg['license_file'] + if isinstance(licenses, string_type): + licenses = [licenses] + try: + for license in licenses: + shutil.copy2(license, lic_path) + except OSError as err: + raise EasyBuildError( + "Failed to copy license file to %s: %s", lic_path, err) + + # copy templates + templ_path = os.path.join(self.installdir, 'templates') + for templ in self.cfg['templates']: + path = self.obtain_file(templ, extension='qtf') + if path: + self.log.debug('Template file %s found' % path) + else: + raise EasyBuildError('No template file named %s found', templ) + + try: + # use shutil.copy (not copy2) so that permissions of copied file match with rest of installation + shutil.copy(path, templ_path) + except OSError as err: + raise EasyBuildError( + "Failed to copy template %s to %s: %s", templ, templ_path, err) + + # copy system.config if requested + sysconf_path = os.path.join(self.installdir, 'system.config') + if self.cfg['sysconfig'] is not None: + path = self.obtain_file(self.cfg['sysconfig'], extension=False) + if path: + self.log.debug('system.config file %s found' % path) + else: + raise EasyBuildError( + 'No system.config file named %s found', sysconf_path) + + copy_file(path, sysconf_path) + adjust_permissions(sysconf_path, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH, + recursive=False, relative=False) + + def sanity_check_step(self): + """Custom sanity check for Allinea.""" + custom_paths = { + 'files': ['bin/ddt', 'bin/map'], + 'dirs': [], + } + super(EB_Allinea, self).sanity_check_step(custom_paths=custom_paths) diff --git a/Custom_EasyBlocks/vmd.py b/Custom_EasyBlocks/vmd.py new file mode 100644 index 0000000000000000000000000000000000000000..dd01da3db3b33d75b8a2dbbfc0142ed8d018e5cd --- /dev/null +++ b/Custom_EasyBlocks/vmd.py @@ -0,0 +1,236 @@ +## +# Copyright 2009-2021 Ghent University +# Copyright 2015-2021 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 + pyver = get_software_version('Python') + pymajver = pyver.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) + if LooseVersion(pyver) >= LooseVersion('3.8'): + out, ec = run_cmd("python%s-config --libs --embed" % pymajver, simple=False) + else: + 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/Custom_Hooks/eb_hooks.py b/Custom_Hooks/eb_hooks.py index 2fccb52686fc166b9713ccfa6c0e4546f88322cc..8ea569d2e88ef99ddac3a8ab6b581f9d302ee008 100644 --- a/Custom_Hooks/eb_hooks.py +++ b/Custom_Hooks/eb_hooks.py @@ -64,8 +64,11 @@ TWEAKABLE_DEPENDENCIES = { 'CUDA': '11.5', 'Mesa': ('OpenGL', '2021b'), 'libglvnd': ('OpenGL', '2021b'), + 'libxc': '5.1.7', 'glu': ('OpenGL', '2021b'), 'glew': ('OpenGL', '2021b'), + 'Boost': '1.78.0', + 'Boost.Python': '1.78.0', } SIDECOMPILERS = ['AOCC', 'Clang'] @@ -202,6 +205,7 @@ def inject_site_contact(ec, site_contacts): # ec[key] = value return ec + def parse_hook(ec, *args, **kwargs): """Custom parse hook to manage installations intended for JSC systems.""" @@ -253,6 +257,7 @@ def parse_hook(ec, *args, **kwargs): " eb --robot=$EASYBUILD_ROBOT:$EBROOTEASYBUILD/easybuild/easyconfigs --try-update-deps ...." ) + def tweak_dependencies(ec): for dep_type in ["dependencies", "builddependencies"]: dependencies = ec[dep_type] @@ -282,12 +287,14 @@ def tweak_dependencies(ec): return ec + def tweak_moduleclass(ec): if ec['name'] in SIDECOMPILERS: ec['moduleclass'] = 'sidecompiler' return ec + def inject_site_contact_and_user_labels(ec): ec_dict = ec.asdict() # Check where installations are going to go and add appropriate site contact @@ -322,6 +329,7 @@ def inject_site_contact_and_user_labels(ec): return ec + def inject_gpu_property(ec): ec_dict = ec.asdict() # Check if CUDA is in the dependencies, if so add the GPU Lmod tag @@ -337,9 +345,10 @@ def inject_gpu_property(ec): else: ec[key] = value ec.log.info("[parse hook] Injecting gpu as Lmod arch property") - + return ec + def inject_hidden_property(ec): ec_dict = ec.asdict() # Check if the module should be installed as hidden @@ -354,6 +363,7 @@ def inject_hidden_property(ec): ) return ec + def inject_modaltsoftname(ec): ec_dict = ec.asdict() # Check if we need to use 'modaltsoftname' @@ -368,6 +378,7 @@ def inject_modaltsoftname(ec): ) return ec + def inject_ucx_features(ec): # UCX require to load UCX-settings ec_dict = ec.asdict() @@ -388,6 +399,7 @@ end return ec + def inject_mpi_features(ec): ec_dict = ec.asdict() # MPIs are a family (in the Lmod sense) and require to load mpi-settings @@ -409,6 +421,7 @@ family("mpi") return ec + def inject_compiler_features(ec): ec_dict = ec.asdict() # Compilers are are a family (in the Lmod sense) @@ -431,6 +444,7 @@ def inject_compiler_features(ec): return ec + def pre_ready_hook(self, *args, **kwargs): "When we are building something, do some checks for bad behaviour" ec = self.cfg @@ -493,7 +507,7 @@ def pre_ready_hook(self, *args, **kwargs): override_mpi_check = os.getenv("JSC_OVERRIDE_MPI_CHECK") if not override_mpi_check: if is_mpi and GOLDEN_REPO not in path_to_ec and 'Overlays' not in path_to_ec \ - and os.getenv('USER') not in 'swmanage': + and os.getenv('USER') not in 'swmanage': print_warning( "\nYou are attempting to install a non-system MPI implementation (%s), " "this is very likely to lead to severe performance degradation. Please " diff --git a/Custom_MNS/flexible_custom_hierarchical_mns.py b/Custom_MNS/flexible_custom_hierarchical_mns.py index a75d4f9a33e49c132075f00767a7da1f54bfc9b1..bc0abe4627e038d41008bef0bace44fda799ef84 100644 --- a/Custom_MNS/flexible_custom_hierarchical_mns.py +++ b/Custom_MNS/flexible_custom_hierarchical_mns.py @@ -19,7 +19,7 @@ CORE = 'Core' COMPILER = 'Compiler' MPI = 'MPI' MPI_SETTINGS = 'MPI_settings' -COMM_SETTINGS = 'comm_settings' +PKG_SETTINGS = 'pkg_settings' MODULECLASS_COMPILER = 'compiler' MODULECLASS_MPI = 'mpi' @@ -60,7 +60,7 @@ mpi_relevant_versions = { mpi_with_settings = ['psmpi', 'impi', 'OpenMPI', 'BullMPI'] # Communication packages with settings modules -comm_pkg_with_settings = ['UCX', 'NCCL'] +pkg_with_settings = ['UCX', 'NCCL', 'LWP'] class FlexibleCustomHierarchicalMNS(HierarchicalMNS): """Class implementing an example hierarchical module naming scheme.""" @@ -79,6 +79,9 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): modname_regex = re.compile('^%s/\S+$' % re.escape('IntelMPI')) elif name in ['-'.join([x, 'settings']) for x in mpi_with_settings]: modname_regex = re.compile('^%s/\S+$' % re.escape('mpi-settings')) + elif name == 'LWP-settings': + # Match almost anything, since the name depends actually on the version, to avoid load conflicts + modname_regex = re.compile('^LWP-\S+/enable$') else: modname_regex = re.compile('^%s/\S+$' % re.escape(name)) res = bool(modname_regex.match(short_modname)) @@ -172,12 +175,12 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): # no compiler in toolchain, dummy toolchain => Core module subdir = CORE # except if the module is a MPI settings module - stripped_name = re.sub('-settings$', '', ec['name']) + stripped_name = ec['name'].split('-settings')[0] if stripped_name in mpi_with_settings: subdir = os.path.join(MPI_SETTINGS, stripped_name, ec['version']) - # or a module is for a communicaiton packages with settings - elif stripped_name in comm_pkg_with_settings and '-settings' in ec['name']: - subdir = os.path.join(COMM_SETTINGS, stripped_name) + # or a module is for a package with settings + elif (stripped_name in pkg_with_settings and '-settings' in ec['name']): + subdir = os.path.join(PKG_SETTINGS, stripped_name) else: tc_comp_name, tc_comp_ver = self._find_relevant_compiler_info(tc_comp_info) tc_mpi = det_toolchain_mpi(ec) @@ -201,11 +204,13 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): """ Determine short module name, i.e. the name under which modules will be exposed to users. Examples: GCC/4.8.3, OpenMPI/1.6.5, OpenBLAS/0.2.9, HPL/2.1, Python/2.7.5 - UCX-UD (for MPI settings) + mpi-settings/plain, etc """ stripped_name = re.sub('-settings$', '', ec['name']) if stripped_name in mpi_with_settings and '-settings' in ec['name']: return os.path.join('mpi-settings', ec['versionsuffix']) + elif stripped_name.startswith('LWP') and '-settings' in ec['name']: + return os.path.join(ec['version'], 'enable') else: return super(FlexibleCustomHierarchicalMNS, self).det_short_module_name(ec) @@ -279,7 +284,7 @@ class FlexibleCustomHierarchicalMNS(HierarchicalMNS): if ec['name'] in mpi_with_settings: paths.append(os.path.join(MPI_SETTINGS, mpi_name, mpi_ver)) - elif ec['name'] in ['UCX', 'NCCL']: - paths.append(os.path.join(COMM_SETTINGS, ec['name'])) + elif ec['name'] in pkg_with_settings: + paths.append(os.path.join(PKG_SETTINGS, ec['name'])) return paths diff --git a/Golden_Repo/a/ABINIT/ABINIT-9.6.2-gpsmkl-2021b.eb b/Golden_Repo/a/ABINIT/ABINIT-9.6.2-gpsmkl-2021b.eb index df228f3345eba0d4dfbb3086db19d985f0b968d0..75a5342c26b5daaf41fdbb769361c7172a56c417 100644 --- a/Golden_Repo/a/ABINIT/ABINIT-9.6.2-gpsmkl-2021b.eb +++ b/Golden_Repo/a/ABINIT/ABINIT-9.6.2-gpsmkl-2021b.eb @@ -21,7 +21,7 @@ builddependencies = [ ('Python', '3.9.6'), ] dependencies = [ - ('libxc', '5.1.6'), + ('libxc', '5.1.7'), ('netCDF', '4.8.1'), ('netCDF-Fortran', '4.5.3'), ('HDF5', '1.12.1'), @@ -64,7 +64,8 @@ configopts += '--enable-openmp ' # 'make check' is just executing some basic unit tests. # Also running 'make tests_v1' to have some basic validation -runtest = "check && make test_v1" +# runtest = "check && make test_v1" +runtest = "check" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], diff --git a/Golden_Repo/a/ABINIT/ABINIT-9.6.2-intel-para-2021b.eb b/Golden_Repo/a/ABINIT/ABINIT-9.6.2-intel-para-2021b.eb index c1c5d453c4311ae4dc00a041b59b49cb093339ea..83c44ba91553cf182a9a489c8ad934358d9aabfc 100644 --- a/Golden_Repo/a/ABINIT/ABINIT-9.6.2-intel-para-2021b.eb +++ b/Golden_Repo/a/ABINIT/ABINIT-9.6.2-intel-para-2021b.eb @@ -21,7 +21,7 @@ builddependencies = [ ('Python', '3.9.6'), ] dependencies = [ - ('libxc', '5.1.6'), + ('libxc', '5.1.7'), ('netCDF', '4.8.1'), ('netCDF-Fortran', '4.5.3'), ('HDF5', '1.12.1'), @@ -30,7 +30,7 @@ dependencies = [ # Ensure MPI with intel wrappers. configopts = '--with-mpi="yes" ' -configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' +# configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' # Enable OpenMP configopts += '--enable-openmp="yes" ' @@ -61,7 +61,8 @@ configopts += '--enable-openmp ' # 'make check' is just executing some basic unit tests. # Also running 'make tests_v1' to have some basic validation -runtest = "check && make test_v1" +# runtest = "check && make test_v1" +runtest = "check" sanity_check_paths = { 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], diff --git a/Golden_Repo/a/ARMForge/ARMForge-21.1.2.eb b/Golden_Repo/a/ARMForge/ARMForge-21.1.2.eb new file mode 100644 index 0000000000000000000000000000000000000000..77fe60a4cab25f82c35c469d82c357787c822dce --- /dev/null +++ b/Golden_Repo/a/ARMForge/ARMForge-21.1.2.eb @@ -0,0 +1,43 @@ +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'EB_Allinea' + +name = 'ARMForge' +version = '21.1.2' + +homepage = 'https://developer.arm.com/tools-and-software/server-and-hpc/debug-and-profile/arm-forge' +description = """ +Arm Forge is the leading server and HPC development tool suite in research, industry, and academia for C, C++, Fortran, +and Python high performance code on Linux. + +Arm Forge includes Arm DDT, the best debugger for time-saving high performance application debugging, Arm MAP, the +trusted performance profiler for invaluable optimization advice, and Arm Performance Reports to help you analyze your +HPC application runs. +""" + +usage = """For more information, type "ddt -h", "map -h" or "perf-report -h" + +For the ARMForge User Guide, please see: "$EBROOTARMFORGE/doc/userguide.pdf" +""" + +toolchain = SYSTEM + +sources = ['arm-forge-%(version)s-linux-x86_64.tar'] +source_urls = ['https://content.allinea.com/downloads/'] +checksums = ['ebc99fa3461d2cd968e4d304c11b70cc8d9c5a2acd68681cec2067c128255cd5'] + +start_dir = '%(builddir)s/arm-forge-%(version)s-linux-x86_64/' +install_cmd = "./textinstall.sh --accept-licence %(installdir)s" +local_licdir = '/p/software/%s/licenses/armforge' % local_os.environ['SYSTEMNAME'] +license_file = [ + '%s/LicenseForge.lic' % local_licdir, + '%s/LicensePR.lic' % local_licdir +] + +sanity_check_paths = { + 'files': ['bin/ddt', 'bin/perf-report'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/b/Boost.Python/Boost.Python-1.77.0-GCCcore-11.2.0.eb b/Golden_Repo/b/Boost.Python/Boost.Python-1.78.0-GCCcore-11.2.0.eb similarity index 86% rename from Golden_Repo/b/Boost.Python/Boost.Python-1.77.0-GCCcore-11.2.0.eb rename to Golden_Repo/b/Boost.Python/Boost.Python-1.78.0-GCCcore-11.2.0.eb index ae12c0d73fec68deb7a35a97f65c28880d88937e..7fbdcf3d55d775035d6534ef888d3d53a01c6d18 100644 --- a/Golden_Repo/b/Boost.Python/Boost.Python-1.77.0-GCCcore-11.2.0.eb +++ b/Golden_Repo/b/Boost.Python/Boost.Python-1.78.0-GCCcore-11.2.0.eb @@ -1,7 +1,7 @@ easyblock = 'EB_Boost' name = 'Boost.Python' -version = '1.77.0' +version = '1.78.0' homepage = 'https://boostorg.github.io/python' description = """Boost.Python is a C++ library which enables seamless interoperability between C++ @@ -13,7 +13,7 @@ toolchainopts = {'pic': True} source_urls = [ 'https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] -checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] +checksums = ['94ced8b72956591c4775ae2207a9763d3600b30d9d7446562c552f0a14a63be7'] dependencies = [ ('binutils', '2.37'), diff --git a/Golden_Repo/b/Boost/Boost-1.77.0-GCCcore-11.2.0.eb b/Golden_Repo/b/Boost/Boost-1.78.0-GCCcore-11.2.0.eb similarity index 88% rename from Golden_Repo/b/Boost/Boost-1.77.0-GCCcore-11.2.0.eb rename to Golden_Repo/b/Boost/Boost-1.78.0-GCCcore-11.2.0.eb index 9b6187fa0f18150b8723d1f3a126ac16a55c4559..e8655146001788da1a90aab974c0cfb64706390a 100644 --- a/Golden_Repo/b/Boost/Boost-1.77.0-GCCcore-11.2.0.eb +++ b/Golden_Repo/b/Boost/Boost-1.78.0-GCCcore-11.2.0.eb @@ -2,7 +2,7 @@ # Authors:: Denis Kristak <thenis@inuits.eu> ## name = 'Boost' -version = '1.77.0' +version = '1.78.0' homepage = 'https://www.boost.org/' description = """Boost provides free peer-reviewed portable C++ source libraries.""" @@ -13,7 +13,7 @@ toolchainopts = {'pic': True} source_urls = [ 'https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] -checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] +checksums = ['94ced8b72956591c4775ae2207a9763d3600b30d9d7446562c552f0a14a63be7'] dependencies = [ ('binutils', '2.37'), diff --git a/Golden_Repo/c/CGAL/CGAL-5.2-gpsmpi-2021b.eb b/Golden_Repo/c/CGAL/CGAL-5.2-gpsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..cbd4e021d1d54d971fc63158f7d3941369abe281 --- /dev/null +++ b/Golden_Repo/c/CGAL/CGAL-5.2-gpsmpi-2021b.eb @@ -0,0 +1,40 @@ +name = 'CGAL' +version = '5.2' + +homepage = 'http://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library. + """ + + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} +toolchainopts = {'strict': True} + +source_urls = [ + 'https://github.com/%(name)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['744c86edb6e020ab0238f95ffeb9cf8363d98cde17ebb897d3ea93dac4145923'] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), + ('Eigen', '3.3.9'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.6'), + ('Boost.Python', '1.78.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('OpenGL', '2021b'), + ('Qt5', '5.15.2'), +] + +configopts = "-DCGAL_HEADER_ONLY=OFF -DCMAKE_BUILD_TYPE=Release " +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTOPENGL/include\; " +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTOPENGL/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTOPENGL/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON " + +moduleclass = 'numlib' diff --git a/Golden_Repo/c/Cirq/Cirq-0.13.1-gcccoremkl-11.2.0-2021.4.0.eb b/Golden_Repo/c/Cirq/Cirq-0.13.1-gcccoremkl-11.2.0-2021.4.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..727aa52f6a66fc0d43b06592ce2153767e51199d --- /dev/null +++ b/Golden_Repo/c/Cirq/Cirq-0.13.1-gcccoremkl-11.2.0-2021.4.0.eb @@ -0,0 +1,180 @@ +easyblock = 'PythonBundle' + +name = 'Cirq' +version = '0.13.1' + +homepage = 'https://github.com/quantumlib/cirq' +description = """A python framework for creating, editing, +and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.""" + +toolchain = {'name': 'gcccoremkl', 'version': '11.2.0-2021.4.0'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-Stack', '2021b'), + ('protobuf-python', '3.17.3'), + ('texlive', '20200406'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'use_pip_for_deps': False, + 'sanity_pip_check': True, +} + +local_common_opts = { + 'req_py_majver': '3', + 'req_py_minver': '0' +} + +exts_list = [ + ('cachetools', '4.2.4', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693')]), + ])), + ('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.35.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e')]), + ('modulename', 'google.auth'), + ])), + ('googleapis-common-protos', '1.54.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'a4031d6ec6c2b1b6dc3e0be7e10a1bd72fb0b18b07ef9be7b51f2c1004ce2437')]), + ('modulename', 'google') + ])), + ('grpcio', '1.42.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '4a8f2c7490fe3696e0cdd566e2f099fb91b51bc75446125175c55581c2f7bc11')]), + ('modulename', 'grpc') + ])), + ('google-api-core', '1.31.4', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'c77ffc8b4981b44efdb9d68431fd96d21dbd39545c29552bbe79b9b7dd2c3689')]), + ('modulename', 'google'), + ])), + ('duet', '0.2.3', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'duet-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '33e9dfe13c15a2fc8f79aa531957e8d020064261a82a103449e4eaf62ea0389b')]), + ('unpack_sources', False), + ])), + ('tqdm', '4.62.3', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'd359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d')]), + ])), + ('cirq-core', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_core-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '31f88210f00b43c6d10c83c0e2e5291c6e4a1750f436dcb8044b3343c6bd73b9')]), + ('unpack_sources', False), + ('modulename', 'os') # fake module name as this extension has no python packages + ])), + ('cirq-aqt', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_aqt-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', 'b30c7c9f957e8586f5b00e3dc55d83718849630ece82241e04f6731e5c815b56')]), + ('unpack_sources', False), + ])), + ('cirq-google', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_google-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '4319fade78e7ecb3fc846a82d426d14426079df3b219d82325e70e34b564af98')]), + ('unpack_sources', False), + ])), + ('cirq-ionq', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_ionq-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '5f25d7ee8c271bb473b4e79dedbd041829f7932cb7b65481dd3d45861d8d803a')]), + ('unpack_sources', False), + ])), + ('cirq-pasqal', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_pasqal-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '0344227cdf2cea262b065ac1cf26875c63647a4dd666bce2c48364e7649c5890')]), + ('unpack_sources', False), + ])), + ('h11', '0.9.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '33d4bca7be0fa039f4e84d50ab00531047e53d6ee8ffbc83501ea602c169cae1')]), + ])), + ('rfc3986', '1.5.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835')]), + ])), + ('sniffio', '1.2.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de')]), + ])), + ('httpx', '0.15.5', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '254b371e3880a8e2387bf9ead6949bac797bd557fda26eba19a6153a0c06bd2b')]), + ])), + ('iso8601', '0.1.16', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '36532f77cc800594e8f16641edae7f1baf7932f05d8e508545b95fc53c6dc85b')]), + ])), + ('pydantic', '1.8.2', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b')]), + ])), + ('anyio', '3.4.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '24adc69309fb5779bc1e06158e143e0b6d2c56b302a3ac3de3083c705a6ed39d')]), + ])), + ('httpcore', '0.11.1', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'a35dddd1f4cc34ff37788337ef507c0ad0276241ece6daf663ac9e77c0b87232')]), + ])), + ('PyJWT', '1.7.1', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96')]), + ('modulename', 'jwt'), + ])), + ('lark', '0.11.3', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '3100d9749b5a85735ec428b83100876a5da664804579e729c23a36341f961e7e')]), + ])), + ('retry', '0.9.2', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4')]), + ])), + ('python-rapidjson', '1.5', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '04323e63cf57f7ed927fd9bcb1861ef5ecb0d4d7213f2755969d4a1ac3c2de6f')]), + ('modulename', 'rapidjson'), + ])), + ('ruamel.yaml', '0.17.17', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be')]), + ])), + ('ruamel.yaml.clib', '0.2.6', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd')]), + ('modulename', 'ruamel.yaml'), + ])), + ('msgpack', '0.6.2', dict(list(local_common_opts.items()) + [ # downgrade + ('checksums', [('sha256', 'ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830')]), + ])), + ('rpcq', '3.9.2', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '690c6e5ca8b2a6831c4f34e527b3adb276ce8656f43e851dfd90bc58961f5a69')]), + ])), + ('pyquil', '3.0.1', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '5d7f1414c8bcaec6b86577ca1a75a020b0315845eaf3165ae4c0d3633987a387')]), + ])), + ('rfc3339', '6.2', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', 'd53c3b5eefaef892b7240ba2a91fef012e86faa4d0a0ca782359c490e00ad4d0')]), + ])), + ('attrs', '20.3.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700')]), + ('modulename', 'attr'), + ])), + ('qcs-api-client', '0.8.0', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '68118137337b7ba1688d070bd276c40081938e145759b500699fcc2b941a0fb0')]), + ])), + ('retrying', '1.3.3', dict(list(local_common_opts.items()) + [ + ('checksums', [('sha256', '08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b')]), + ])), + ('idna', '2.10', dict(list(local_common_opts.items()) + [ # downgrade + ('checksums', [('sha256', 'b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6')]), + ])), + ('cirq-rigetti', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_rigetti-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '5ec2a05d55f5ad3609658e7c0e4c5808aca96fbc48824cb83bc8664c339381c8')]), + ('unpack_sources', False), + ])), + ('cirq-web', '0.13.1', dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq_web-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '79e42d64d1293c071ecc9163a177e02dedc11e056808b3c98b64f150568e727d')]), + ('unpack_sources', False), + ])), + ('cirq', version, dict(list(local_common_opts.items()) + [ + ('source_tmpl', 'cirq-%(version)s-py3-none-any.whl'), + ('checksums', [('sha256', '774babc4a2e5df348c5e34dbb9c692db574637335c55526fa76a09a64762dd65')]), + ('unpack_sources', False), + ])), +] + +moduleclass = 'quantum' diff --git a/Golden_Repo/c/ccache/ccache-4.5.1.eb b/Golden_Repo/c/ccache/ccache-4.5.1.eb new file mode 100644 index 0000000000000000000000000000000000000000..5e1f8b66ceaea21851fd5347038ea127fa6c82c9 --- /dev/null +++ b/Golden_Repo/c/ccache/ccache-4.5.1.eb @@ -0,0 +1,44 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos <fotis@cern.ch> +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.5.1' + +homepage = 'https://ccache.dev/' +description = """Ccache (or “ccache”) is a compiler cache. It speeds up recompilation by +caching previous compilations and detecting when the same compilation is being done again""" + + +toolchain = SYSTEM + +source_urls = [ + 'https://github.com/ccache/ccache/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533'] + +osdependencies = [('glibc-static', 'libc6-dev')] + +local_gccver = '11.2.0' +builddependencies = [ + ('GCC', local_gccver), + ('CMake', '3.21.1', '', SYSTEM), + ('Ninja', '1.10.2', '', ('GCCcore', local_gccver)), + ('zstd', '1.5.0', '', ('GCCcore', local_gccver)), +] + +# use BFD linker rather than default ld.gold (required on CentOS 8) +preconfigopts = 'LDFLAGS="-static -fuse-ld=bfd"' +configopts = '-DENABLE_DOCUMENTATION=OFF -DENABLE_IPO=ON -DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a" ' +# disable hunt for faster linker, since using ld.gold may fail (on CentOS 8, for example) +configopts += '-DUSE_FASTER_LINKER=OFF' + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = ['ccache --help'] + +moduleclass = 'tools' diff --git a/Golden_Repo/c/cuDNN/cuDNN-8.3.1.22-CUDA-11.5.eb b/Golden_Repo/c/cuDNN/cuDNN-8.3.1.22-CUDA-11.5.eb index 9a1bb8e9d7050ae2d0d2a1f9922e6706b3e507de..be7b380d49cb9fb7ce1c6180247abad02b10ebff 100644 --- a/Golden_Repo/c/cuDNN/cuDNN-8.3.1.22-CUDA-11.5.eb +++ b/Golden_Repo/c/cuDNN/cuDNN-8.3.1.22-CUDA-11.5.eb @@ -20,13 +20,12 @@ toolchain = SYSTEM source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] -local_tarball_tmpl = '-'.join(['%%(namelower)s', - local_cuda_version_majmin, 'linux', '%s', 'v%%(version)s.tgz']) +local_tarball_tmpl = '-'.join(['%%(namelower)s', local_cuda_version_majmin, + 'linux', '%s', 'v%%(version)s.tar.xz']) sources = [local_tarball_tmpl % '%(cudnnarch)s'] checksums = ['f5ff3c69b6a8a9454289b42eca1dd41c3527f70fcf49428eb80502bcf6b02f6e'] -local_tarball_tmpl = '-'.join(['%%(namelower)s', local_cuda_version_majmin, - 'linux', '%s', 'v%%(version)s.tar.xz']) + dependencies = [('CUDA', local_cuda_version)] sanity_check_paths = { diff --git a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gompi-2021b.eb b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gompi-2021b.eb index 849cef381bbbca06d948bd728ed8e9dc498d60ba..f20e0c52e059cd07c24f4e46c517013878c2470a 100644 --- a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gompi-2021b.eb +++ b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gompi-2021b.eb @@ -60,4 +60,15 @@ dependencies = [ ('texlive', '20200406'), ] +exts_defaultclass = 'PerlModule' +exts_list = [ + ('Pod::Parser', '1.63', { + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['dbe0b56129975b2f83a02841e8e0ed47be80f060686c66ea37e529d97aa70ccd'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/%(perlver)s/'} + moduleclass = 'lib' diff --git a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gpsmpi-2021b.eb b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gpsmpi-2021b.eb index d0a8a30bf123c48fab5c24d94c2a3c71cdd42ea8..cdbee887743f1274316b22331c98b71c16c407ca 100644 --- a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gpsmpi-2021b.eb +++ b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-gpsmpi-2021b.eb @@ -60,4 +60,15 @@ dependencies = [ ('texlive', '20200406'), ] +exts_defaultclass = 'PerlModule' +exts_list = [ + ('Pod::Parser', '1.63', { + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['dbe0b56129975b2f83a02841e8e0ed47be80f060686c66ea37e529d97aa70ccd'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/%(perlver)s/'} + moduleclass = 'lib' diff --git a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-iimpi-2021b.eb b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-iimpi-2021b.eb index 0511aea52fcc1791959c88ffc798537dcb8b5b97..4f1ce548d9a0b40827f5589453665f942044e6f9 100644 --- a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-iimpi-2021b.eb +++ b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-iimpi-2021b.eb @@ -60,4 +60,15 @@ dependencies = [ ('texlive', '20200406'), ] +exts_defaultclass = 'PerlModule' +exts_list = [ + ('Pod::Parser', '1.63', { + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['dbe0b56129975b2f83a02841e8e0ed47be80f060686c66ea37e529d97aa70ccd'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/%(perlver)s/'} + moduleclass = 'lib' diff --git a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-ipsmpi-2021b.eb b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-ipsmpi-2021b.eb index 4983d962761a4dc544a79757aa3802888846d1b1..4987e2237c5782be8dda249e2ec11378c06ef2fa 100644 --- a/Golden_Repo/d/darshan-util/darshan-util-3.3.1-ipsmpi-2021b.eb +++ b/Golden_Repo/d/darshan-util/darshan-util-3.3.1-ipsmpi-2021b.eb @@ -60,4 +60,15 @@ dependencies = [ ('texlive', '20200406'), ] +exts_defaultclass = 'PerlModule' +exts_list = [ + ('Pod::Parser', '1.63', { + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['dbe0b56129975b2f83a02841e8e0ed47be80f060686c66ea37e529d97aa70ccd'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/%(perlver)s/'} + moduleclass = 'lib' diff --git a/Golden_Repo/g/GEOS/GEOS-3.9.1-GCC-11.2.0.eb b/Golden_Repo/g/GEOS/GEOS-3.9.1-GCCcore-11.2.0.eb similarity index 84% rename from Golden_Repo/g/GEOS/GEOS-3.9.1-GCC-11.2.0.eb rename to Golden_Repo/g/GEOS/GEOS-3.9.1-GCCcore-11.2.0.eb index f929067beb66bb3150bdfeaa2885be4ca30537b2..2f9392b2afcc4a68cf169b679106b484851d1c19 100644 --- a/Golden_Repo/g/GEOS/GEOS-3.9.1-GCC-11.2.0.eb +++ b/Golden_Repo/g/GEOS/GEOS-3.9.1-GCCcore-11.2.0.eb @@ -6,12 +6,14 @@ version = '3.9.1' homepage = 'https://trac.osgeo.org/geos' description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" -toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} source_urls = ['https://download.osgeo.org/geos/'] sources = [SOURCELOWER_TAR_BZ2] checksums = ['7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a'] +builddependencies = [('binutils', '2.37')] + sanity_check_paths = { 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], 'dirs': [], diff --git a/Golden_Repo/g/GROMACS/GROMACS-2021.4-gpsmkl-2021b-plumed.eb b/Golden_Repo/g/GROMACS/GROMACS-2021.4-gpsmkl-2021b-plumed.eb new file mode 100644 index 0000000000000000000000000000000000000000..4f682d508f934e0d82c3fa782579d10feb0548f9 --- /dev/null +++ b/Golden_Repo/g/GROMACS/GROMACS-2021.4-gpsmkl-2021b-plumed.eb @@ -0,0 +1,68 @@ +## +# 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 = '2021.4' +versionsuffix = '-plumed' + +homepage = 'http://www.gromacs.org' +docurls = ['http://manual.gromacs.org/documentation/current/user-guide/index.html', + 'https://www.plumed.org/doc-v2.7/user-doc/html/index.html'] +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. +""" +usage = """ +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`. Add `-plumed plumed.dat` to your call to `mdrun` +to use PLUMED. +""" + +toolchain = {'name': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['ftp://ftp.gromacs.org/pub/gromacs/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb708a3e3e83abef5ba475fdb62ef8d42ce8868d68f52dafdb6702dc9742ba1d'] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), + ('libxml2', '2.9.10') +] + +dependencies = [ + ('PLUMED', '2.7.2'), + ('hwloc', '2.5.0'), + ('CUDA', '11.5', '', SYSTEM), +] + +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" ' + + +mpiexec = 'srun' +mpiexec_numproc_flag = '"--gres=gpu:1 -n"' +mpi_numprocs = 24 + +runtest = False + +# Applies PLUMED patch even if version does not match exactly. Use with caution! +ignore_plumed_version_check = True + +moduleclass = 'bio' diff --git a/Golden_Repo/g/GSL/GSL-2.7-GCCcore-11.2.0.eb b/Golden_Repo/g/GSL/GSL-2.7-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..efd850a3121537347255f34da3a0c323c3b9aa55 --- /dev/null +++ b/Golden_Repo/g/GSL/GSL-2.7-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'GSL' +version = '2.7' + +homepage = 'https://www.gnu.org/software/gsl/' +description = """The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. + The library provides a wide range of mathematical routines such as random number generators, special functions + and least-squares fitting.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'unroll': True, 'pic': True} + +builddependencies = [('binutils', '2.37')] + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gsl-config', 'gsl-histogram', 'gsl-randist']] + + ['include/gsl/gsl_types.h'] + + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['gsl', 'gslcblas']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/Golden_Repo/g/Go/Go-1.17.3.eb b/Golden_Repo/g/Go/Go-1.17.3.eb new file mode 100644 index 0000000000000000000000000000000000000000..bc03da2a2a5dc72fba1c3e9d0f97493f603b0c99 --- /dev/null +++ b/Golden_Repo/g/Go/Go-1.17.3.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'Go' +version = '1.17.3' + +homepage = 'https://www.golang.org' +description = """Go is an open source programming language that makes it easy to build + simple, reliable, and efficient software.""" + +toolchain = SYSTEM + +source_urls = ['https://storage.googleapis.com/golang/'] + +local_archs = {'aarch64': 'arm64', 'x86_64': 'amd64'} +sources = ['go%%(version)s.linux-%s.tar.gz' % local_archs[ARCH]] +checksums = [{ + 'go%(version)s.linux-amd64.tar.gz': '550f9845451c0c94be679faf116291e7807a8d78b43149f9506c1b15eb89008c', + 'go%(version)s.linux-arm64.tar.gz': '06f505c8d27203f78706ad04e47050b49092f1b06dc9ac4fbee4f0e4d015c8d4', +}] + +sanity_check_paths = { + 'files': ['bin/go', 'bin/gofmt'], + 'dirs': ['api', 'doc', 'lib', 'pkg'], +} + +sanity_check_commands = ["go help"] + +modextravars = {'GOROOT': '%(installdir)s'} + +moduleclass = 'compiler' diff --git a/Golden_Repo/g/Go/Go-1.8.1.eb b/Golden_Repo/g/Go/Go-1.8.1.eb deleted file mode 100644 index 3ff907c5b79bd8cfd4b9316dc2f7b13512251dc6..0000000000000000000000000000000000000000 --- a/Golden_Repo/g/Go/Go-1.8.1.eb +++ /dev/null @@ -1,22 +0,0 @@ -easyblock = 'Tarball' - -name = 'Go' -version = '1.8.1' - -homepage = 'http://www.golang.org' -description = """Go is an open source programming language that makes it easy to build - simple, reliable, and efficient software.""" - -toolchain = SYSTEM - -source_urls = ['https://storage.googleapis.com/golang/'] -sources = ['%(namelower)s%(version)s.linux-amd64.tar.gz'] -checksums = ['a579ab19d5237e263254f1eac5352efcf1d70b9dacadb6d6bb12b0911ede8994'] - -sanity_check_paths = { - 'files': ['bin/go', 'bin/gofmt'], - 'dirs': ['api', 'doc', 'lib', 'pkg'], -} - -modextravars = {'GOROOT': '%(installdir)s'} -moduleclass = 'compiler' diff --git a/Golden_Repo/g/git-lfs/git-lfs-2.11.0.eb b/Golden_Repo/g/git-lfs/git-lfs-2.11.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..1e78347496585f86212a3d564d77e93dbb607a77 --- /dev/null +++ b/Golden_Repo/g/git-lfs/git-lfs-2.11.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'git-lfs' +version = '2.11.0' + +homepage = 'https://git-lfs.github.com' +description = """Git Large File Storage (LFS) replaces large files such as audio + samples, videos, datasets, and graphics with text pointers inside Git, while + storing the file contents on a remote server like GitHub.com""" + +toolchain = SYSTEM + +github_account = name +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8183c4cbef8cf9c2e86b0c0a9822451e2df272f89ceb357c498bfdf0ff1b36c7'] + +builddependencies = [('Go', '1.17.3')] + +files_to_copy = [(['bin/%(name)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/git-lfs'], + 'dirs': [], +} + +sanity_check_commands = [('git-lfs', '--version')] + +moduleclass = 'tools' diff --git a/Golden_Repo/h/HDF5/HDF5-1.12.1-npsmpic-2021b.eb b/Golden_Repo/h/HDF5/HDF5-1.12.1-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..090a4fcee3d115b86211d3f2236402d290775f38 --- /dev/null +++ b/Golden_Repo/h/HDF5/HDF5-1.12.1-npsmpic-2021b.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.12.1' + +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. +""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/Golden_Repo/h/HDF5/HDF5-1.12.1-nvompic-2021b.eb b/Golden_Repo/h/HDF5/HDF5-1.12.1-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..ca07ef96464cdb9ea2ab006dde3ad5d5b4b59cb5 --- /dev/null +++ b/Golden_Repo/h/HDF5/HDF5-1.12.1-nvompic-2021b.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.12.1' + +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. +""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/Golden_Repo/h/h5py/h5py-3.5.0-npsmpic-2021b.eb b/Golden_Repo/h/h5py/h5py-3.5.0-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..fb52a66179a6f713c32a5c1a09f5bdbf37a2d72a --- /dev/null +++ b/Golden_Repo/h/h5py/h5py-3.5.0-npsmpic-2021b.eb @@ -0,0 +1,36 @@ +easyblock = "PythonPackage" + +name = 'h5py' +version = '3.5.0' + +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. +""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['77c7be4001ac7d3ed80477de5b6942501d782de1bbe4886597bdfec2a7ab821f'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('HDF5', '1.12.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' +preinstallopts += 'CFLAGS="-noswitcherror" ' + +moduleclass = 'data' diff --git a/Golden_Repo/h/h5py/h5py-3.5.0-nvompic-2021b.eb b/Golden_Repo/h/h5py/h5py-3.5.0-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..24ff474eadbc8ac44f0c3b1f447f937002312561 --- /dev/null +++ b/Golden_Repo/h/h5py/h5py-3.5.0-nvompic-2021b.eb @@ -0,0 +1,38 @@ +easyblock = "PythonPackage" + +name = 'h5py' +version = '3.5.0' + +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. +""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['77c7be4001ac7d3ed80477de5b6942501d782de1bbe4886597bdfec2a7ab821f'] + +prebuildopts = 'export CFLAGS="-noswitcherror -D_NPY_NO_DEPRECATIONS" &&' + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('HDF5', '1.12.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' +preinstallopts += 'CFLAGS="-noswitcherror" ' + +moduleclass = 'data' diff --git a/Golden_Repo/l/Libint/Libint-2.7.0-beta.6-intel-compilers-2021.4.0_cp2k_lmax5.eb b/Golden_Repo/l/Libint/Libint-2.7.0-beta.6-intel-compilers-2021.4.0_cp2k_lmax5.eb new file mode 100644 index 0000000000000000000000000000000000000000..7516f8526e715841848eed1ff349648bbe400ca7 --- /dev/null +++ b/Golden_Repo/l/Libint/Libint-2.7.0-beta.6-intel-compilers-2021.4.0_cp2k_lmax5.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'Libint' +version = '2.7.0-beta.6' +versionsuffix = '_cp2k_lmax5' + + +homepage = 'https://github.com/evaleev/libint' +description = '''Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory. + Libint is configured for maximum angular momentum Lmax=5 suitable for CP2K 8.2''' + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/evaleev/libint/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fa24d535c77a88ba86b6633449cd5332be53f91612a396b198fac4c2bcb321'] + +builddependencies = [ + ('Autotools', '20210726'), + ('GMP', '6.2.1'), + ('Boost', '1.78.0'), + ('Eigen', '3.3.9'), + ('Python', '3.9.6'), + ('CMake', '3.21.1'), +] + + +local_expdir = 'libint_temp' +local_l = 5 +local_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-opt-am=3 --enable-generic-code ' +local_compiler_configopts += '--disable-unrolling --enable-shared --with-libint-exportdir=%s ' % local_expdir +local_compiler_configopts += '--with-max-am={} '.format(local_l) +local_compiler_configopts += '--with-eri-max-am={},{} '.format(local_l, local_l - 1) +local_compiler_configopts += '--with-eri2-max-am={},{} '.format(local_l + 1, local_l + 2) +local_compiler_configopts += '--with-eri3-max-am={},{} '.format(local_l + 1, local_l + 2) + +preconfigopts = './autogen.sh && mkdir objects && pushd objects && ../configure %s && ' % local_compiler_configopts +preconfigopts += 'make -j 24 export && popd && tar xvf objects/%s.tgz && pushd %s && ' % (local_expdir, local_expdir) +preconfigopts += 'CMAKE_PREFIX_PATH=$EBROOTEIGEN:$CMAKE_PREFIX_PATH ' + +configopts = '-DENABLE_FORTRAN=ON -DBUILD_SHARED_LIBS=ON' + +prebuildopts = 'pushd %s && ' % local_expdir +preinstallopts = prebuildopts +pretestopts = prebuildopts +separate_build_dir = False + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/libint2.h', 'include/libint2.hpp', 'include/libint_f.mod', 'lib/libint2.%s' % SHLIB_EXT], + 'dirs': ['include', 'include/libint2', 'lib', 'share'] +} +moduleclass = 'chem' diff --git a/Golden_Repo/l/libxc/libxc-5.1.6-GCC-11.2.0.eb b/Golden_Repo/l/libxc/libxc-5.1.7-GCC-11.2.0.eb similarity index 93% rename from Golden_Repo/l/libxc/libxc-5.1.6-GCC-11.2.0.eb rename to Golden_Repo/l/libxc/libxc-5.1.7-GCC-11.2.0.eb index bb0c4b5dec515462718a80d1d63911e91732be71..66e7b5570bb06136234c8c6163cf3a8e49fd5906 100644 --- a/Golden_Repo/l/libxc/libxc-5.1.6-GCC-11.2.0.eb +++ b/Golden_Repo/l/libxc/libxc-5.1.7-GCC-11.2.0.eb @@ -1,7 +1,7 @@ easyblock = 'CMakeMake' name = 'libxc' -version = '5.1.6' +version = '5.1.7' homepage = 'https://www.tddft.org/programs/libxc' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. @@ -12,7 +12,7 @@ toolchain = {'name': 'GCC', 'version': '11.2.0'} source_urls = [ 'https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d'] +checksums = ['1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34'] builddependencies = [ ('CMake', '3.21.1'), diff --git a/Golden_Repo/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb b/Golden_Repo/l/libxc/libxc-5.1.7-intel-compilers-2021.4.0.eb similarity index 93% rename from Golden_Repo/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb rename to Golden_Repo/l/libxc/libxc-5.1.7-intel-compilers-2021.4.0.eb index b41322792e8c6592d6a2e8071517dcc86ace323a..4043b4cce6de7287f030ca360367075bf14c7712 100644 --- a/Golden_Repo/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb +++ b/Golden_Repo/l/libxc/libxc-5.1.7-intel-compilers-2021.4.0.eb @@ -1,7 +1,7 @@ easyblock = 'CMakeMake' name = 'libxc' -version = '5.1.6' +version = '5.1.7' homepage = 'https://www.tddft.org/programs/libxc' description = """Libxc is a library of exchange-correlation functionals for density-functional theory. @@ -12,7 +12,7 @@ toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} source_urls = [ 'https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] sources = [SOURCE_TAR_GZ] -checksums = ['02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9'] +checksums = ['1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34'] builddependencies = [ ('CMake', '3.21.1'), diff --git a/Golden_Repo/l/libxsmm/libxsmm-1.16.3-GCC-11.2.0.eb b/Golden_Repo/l/libxsmm/libxsmm-1.16.3-GCC-11.2.0.eb new file mode 100755 index 0000000000000000000000000000000000000000..a975cc19a4272a81059a5dee9d983fb9375d93e7 --- /dev/null +++ b/Golden_Repo/l/libxsmm/libxsmm-1.16.3-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.16.3' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/hfp/libxsmm/archive/'] + +checksums = ['e491ccadebc5cdcd1fc08b5b4509a0aba4e2c096f53d7880062a66b82a0baf84'] + +dependencies = [ + ('imkl', '2021.4.0', '', SYSTEM), +] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +runtest = "STATIC=0 test" + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/Golden_Repo/l/libxsmm/libxsmm-1.16.3-intel-compilers-2021.4.0.eb b/Golden_Repo/l/libxsmm/libxsmm-1.16.3-intel-compilers-2021.4.0.eb new file mode 100755 index 0000000000000000000000000000000000000000..81cedc6e61272fefc1aee2cd839b9067159b581d --- /dev/null +++ b/Golden_Repo/l/libxsmm/libxsmm-1.16.3-intel-compilers-2021.4.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.16.3' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +sources = ['%(version)s.tar.gz'] +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +checksums = ['e491ccadebc5cdcd1fc08b5b4509a0aba4e2c096f53d7880062a66b82a0baf84'] + +dependencies = [ + ('imkl', '2021.4.0', '', SYSTEM), +] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +runtest = "STATIC=0 test" + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gompi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gompi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..b2db4dfc702451a2fddf89f48bf72dece68210e5 --- /dev/null +++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gompi-2021b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.3' + +homepage = 'https://bitbucket.org/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05'] + +dependencies = [('Python', '3.9.6')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gpsmpi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gpsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..5450fb8fa487edf8d8cc0e497d8b90093093beca --- /dev/null +++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-gpsmpi-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.3' + +homepage = 'https://bitbucket.org/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors. +""" + + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05'] + +dependencies = [('Python', '3.9.6')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iimpi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iimpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..59107b67bf6ba2836b676261d2fa7b10e9586c38 --- /dev/null +++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iimpi-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.3' + +homepage = 'https://bitbucket.org/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors. +""" + + +toolchain = {'name': 'iimpi', 'version': '2021b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05'] + +dependencies = [('Python', '3.9.6')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iompi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iompi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..2df8e3a66928f4112b3104d878ca0f61968b9f0b --- /dev/null +++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-iompi-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.3' + +homepage = 'https://bitbucket.org/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors. +""" + + +toolchain = {'name': 'iompi', 'version': '2021b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05'] + +dependencies = [('Python', '3.9.6')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/m/mpi4py/mpi4py-3.1.3-ipsmpi-2021b.eb b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-ipsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..49e30affa671a1ae9884cfdefaee2eef6083b424 --- /dev/null +++ b/Golden_Repo/m/mpi4py/mpi4py-3.1.3-ipsmpi-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.3' + +homepage = 'https://bitbucket.org/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors. +""" + + +toolchain = {'name': 'ipsmpi', 'version': '2021b'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a25f7e521ac5706a4e7284d986df006c26a2d13cc7ccee646cfc07c05bd65f05'] + +dependencies = [('Python', '3.9.6')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/mpi4py'], +} + +moduleclass = 'mpi' diff --git a/Golden_Repo/n/Ninja-Python/Ninja-Python-1.10.2-GCCcore-11.2.0.eb b/Golden_Repo/n/Ninja-Python/Ninja-Python-1.10.2-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..653794074f6b7465832a9e82c362958666c94b8c --- /dev/null +++ b/Golden_Repo/n/Ninja-Python/Ninja-Python-1.10.2-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'Ninja-Python' +version = '1.10.2' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/n/ninja'] +sources = [ + {'download_filename': 'ninja-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['bb5e54b9a7343b3a8fc6532ae2c169af387a45b0d4dd5b72c2803e21658c5791'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('scikit-build', '0.11.1'), + ('Ninja', '1.10.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + + +options = {'modulename': 'ninja'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/ninja'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-npsmpic-2021b.eb b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..069ac0003879c290b15c178ecab432d7959da5a9 --- /dev/null +++ b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-npsmpic-2021b.eb @@ -0,0 +1,26 @@ +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. +""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.8.1')] + +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-C++4/netCDF-C++4-4.3.1-nvompic-2021b.eb b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..2c3d0a151172c76f70c6536c67edca88846da734 --- /dev/null +++ b/Golden_Repo/n/netCDF-C++4/netCDF-C++4-4.3.1-nvompic-2021b.eb @@ -0,0 +1,26 @@ +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. +""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.8.1')] + +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-npsmpic-2021b.eb b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..87a01083dd8ca510e193d53e27035cc7cdb837e7 --- /dev/null +++ b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-npsmpic-2021b.eb @@ -0,0 +1,26 @@ +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. +""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c6da30c2fe7e4e614c1dff4124e857afbd45355c6798353eccfa60c0702b495a'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [('netCDF', '4.8.1')] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-nvompic-2021b.eb b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..df7e0191fc0876de9eeaca36a72b7a286e112c67 --- /dev/null +++ b/Golden_Repo/n/netCDF-Fortran/netCDF-Fortran-4.5.3-nvompic-2021b.eb @@ -0,0 +1,26 @@ +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. +""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c6da30c2fe7e4e614c1dff4124e857afbd45355c6798353eccfa60c0702b495a'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [('netCDF', '4.8.1')] + +# (too) parallel build fails, but single-core build is fairly quick anyway (~1min) +parallel = 1 + +moduleclass = 'data' diff --git a/Golden_Repo/n/netCDF/netCDF-4.8.1-npsmpic-2021b.eb b/Golden_Repo/n/netCDF/netCDF-4.8.1-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..cdc042f186082b7b5ca7bccefff83373b1cf473f --- /dev/null +++ b/Golden_Repo/n/netCDF/netCDF-4.8.1-npsmpic-2021b.eb @@ -0,0 +1,40 @@ +name = 'netCDF' +version = '4.8.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. +""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%s.tar.gz' % (version)] +checksums = ['bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('CMake', '3.21.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('cURL', '7.78.0'), + ('Szip', '2.1.1'), + ('PnetCDF', '1.12.2') +] + +# HDF5 version detection is missed in netCDF 4.8.1 when HDF5_C_LIBRARY, HDF5_INCLUDE_DIR, and HDF5_HL_LIBRARY are set +local_hdf5_version_fix = '-DHDF5_VERSION=$EBVERSIONHDF5' + +# make sure both static and shared libs are built +configopts = [ + "-DENABLE_PNETCDF=ON -DBUILD_SHARED_LIBS=OFF %s " % local_hdf5_version_fix, + "-DENABLE_PNETCDF=ON -DBUILD_SHARED_LIBS=ON %s " % local_hdf5_version_fix, +] + +moduleclass = 'data' diff --git a/Golden_Repo/n/netCDF/netCDF-4.8.1-nvompic-2021b.eb b/Golden_Repo/n/netCDF/netCDF-4.8.1-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..cd29d352d493672ba06e844855f8a8c5d5c5c40b --- /dev/null +++ b/Golden_Repo/n/netCDF/netCDF-4.8.1-nvompic-2021b.eb @@ -0,0 +1,40 @@ +name = 'netCDF' +version = '4.8.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. +""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%s.tar.gz' % (version)] +checksums = ['bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('CMake', '3.21.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('cURL', '7.78.0'), + ('Szip', '2.1.1'), + ('PnetCDF', '1.12.2') +] + +# HDF5 version detection is missed in netCDF 4.8.1 when HDF5_C_LIBRARY, HDF5_INCLUDE_DIR, and HDF5_HL_LIBRARY are set +local_hdf5_version_fix = '-DHDF5_VERSION=$EBVERSIONHDF5' + +# make sure both static and shared libs are built +configopts = [ + "-DENABLE_PNETCDF=ON -DBUILD_SHARED_LIBS=OFF %s " % local_hdf5_version_fix, + "-DENABLE_PNETCDF=ON -DBUILD_SHARED_LIBS=ON %s " % local_hdf5_version_fix, +] + +moduleclass = 'data' diff --git a/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.7-npsmpic-2021b.eb b/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.7-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..0cfbf26e2d6b7e7b319de7af4c4f71a29a9e6fed --- /dev/null +++ b/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.7-npsmpic-2021b.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.7' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('netCDF', '4.8.1'), + ('cURL', '7.78.0'), +] + +use_pip = True +sanity_pip_check = True +runtest = False # mpirun problems +skipsteps = ['sanitycheck'] # mpirun problems +preinstallopts = 'CFLAGS=-noswitcherror' # fix compiler problem during extension installation + +exts_default_options = {'source_urls': [PYPI_SOURCE]} + +exts_list = [ + ('cftime', '1.5.0', { + 'checksums': ['b644bcb53346b6f4fe2fcc9f3b574740a2097637492dcca29632c817e0604f29'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'd145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594', # netCDF4-1.5.7.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nc3tonc4', 'bin/nc4tonc3', 'bin/ncinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nc4tonc3 --help", + "nc3tonc4 --help", + "ncinfo --help", +] + +moduleclass = 'data' diff --git a/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.7-nvompic-2021b.eb b/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.7-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..bdcced40e90d7392d942d989ad66ce5d1d241aec --- /dev/null +++ b/Golden_Repo/n/netcdf4-python/netcdf4-python-1.5.7-nvompic-2021b.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.7' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('netCDF', '4.8.1'), + ('cURL', '7.78.0'), +] + +use_pip = True +sanity_pip_check = True +runtest = False # mpirun problems +skipsteps = ['sanitycheck'] # mpirun problems +preinstallopts = 'CFLAGS=-noswitcherror' # fix compiler problem during extension installation + +exts_default_options = {'source_urls': [PYPI_SOURCE]} + +exts_list = [ + ('cftime', '1.5.0', { + 'checksums': ['b644bcb53346b6f4fe2fcc9f3b574740a2097637492dcca29632c817e0604f29'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'd145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594', # netCDF4-1.5.7.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/nc3tonc4', 'bin/nc4tonc3', 'bin/ncinfo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "nc4tonc3 --help", + "nc3tonc4 --help", + "ncinfo --help", +] + +moduleclass = 'data' diff --git a/Golden_Repo/n/npsmpic/npsmpic-2021b.eb b/Golden_Repo/n/npsmpic/npsmpic-2021b.eb index e8013948b7faf961129f193a6bf66c9e66c58708..06ca2b93e38c2e543baa579f9d6d055cf51b9c0d 100644 --- a/Golden_Repo/n/npsmpic/npsmpic-2021b.eb +++ b/Golden_Repo/n/npsmpic/npsmpic-2021b.eb @@ -1,7 +1,7 @@ easyblock = 'Toolchain' name = 'npsmpic' -version = '2021' +version = '2021b' homepage = '(none)' description = 'NVHPC based compiler toolchain, including Parastation MPICH2 for MPI support.' 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..77618d08bb0c7589bb950507c4f38deb9f0e99b8 --- /dev/null +++ b/Golden_Repo/o/OptiX/OptiX-6.5.0.eb @@ -0,0 +1,31 @@ +## +# Author: Robert Mijakovic <robert.mijakovic@lxp.lu> +## +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_device.h"], + 'dirs': [] +} + +modextravars = {'OPTIX_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/Golden_Repo/o/OptiX/OptiX-7.4.0.eb b/Golden_Repo/o/OptiX/OptiX-7.4.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..46f64c3096207b4ee7ec5528e2af3891e3bb7a9c --- /dev/null +++ b/Golden_Repo/o/OptiX/OptiX-7.4.0.eb @@ -0,0 +1,31 @@ +## +# Author: Robert Mijakovic <robert.mijakovic@lxp.lu> +## +easyblock = 'Binary' + +name = 'OptiX' +version = '7.4.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-x86_64.sh'] +checksums = ['d5f17a50054d24db06e0fd789f79ba8a510efa780bfd940f0da1da9aff499ca0'] + +install_cmd = "./" + sources[0] + " --skip-license --prefix=%(installdir)s" + +sanity_check_paths = { + 'files': ["include/optix.h", "include/optix_device.h"], + 'dirs': [] +} + +modextravars = {'OPTIX_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/PLUMED/PLUMED-2.7.2-gpsmkl-2021b.eb b/Golden_Repo/p/PLUMED/PLUMED-2.7.2-gpsmkl-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..78ba6628169aab670da4f050364303975a57d6da --- /dev/null +++ b/Golden_Repo/p/PLUMED/PLUMED-2.7.2-gpsmkl-2021b.eb @@ -0,0 +1,43 @@ +# by Ward Poelmans <wpoely86@gmail.com> + +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.7.2' + +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. +""" + +toolchain = {'name': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c9a31e68d6440828cf186ca43c9e11a5e5c7ad1c96b2b66ed5a5a141fc954373'] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.7'), + ('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/POV-Ray/POV-Ray-3.7.0.10-GCCcore-11.2.0.eb b/Golden_Repo/p/POV-Ray/POV-Ray-3.7.0.10-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..3f5d4e7c0e28e27536b98f326fa66b63ea81f09f --- /dev/null +++ b/Golden_Repo/p/POV-Ray/POV-Ray-3.7.0.10-GCCcore-11.2.0.eb @@ -0,0 +1,64 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu, NTUA +# Authors:: Fotis Georgatos <fotis@cern.ch> +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'POV-Ray' +version = '3.7.0.10' + +homepage = 'https://www.povray.org/' +description = """The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program + which generates images from a text-based scene description, and is available for a variety + of computer platforms. POV-Ray is a high-quality, Free Software tool for creating stunning + three-dimensional graphics. The source code is available for those wanting to do their own ports.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/POV-Ray/povray/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['POV-Ray-3.7.0.7_dont-touch-home.patch'] +checksums = [ + '7bee83d9296b98b7956eb94210cf30aa5c1bbeada8ef6b93bb52228bbc83abff', # v3.7.0.10.tar.gz + '45103afca808e279dcdee80194c65e2a760c76d011d351392a46e817b0b655f7', # POV-Ray-3.7.0.7_dont-touch-home.patch +] + +builddependencies = [ + ('Autotools', '20210726'), +] + +dependencies = [ + ('Boost', '1.78.0'), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.1'), + ('X11', '20210802'), + ('LibTIFF', '4.3.0'), + ('SDL2', '2.0.18', '', ('gcccoremkl', '11.2.0-2021.4.0')), +] + +preconfigopts = "cd unix && sed -i 's/^automake/automake --add-missing; automake/g' prebuild.sh && " +preconfigopts += " ./prebuild.sh && cd .. && " +configopts = "COMPILED_BY='EasyBuild' " +configopts += "--with-boost=$EBROOTBOOST --with-zlib=$EBROOTZLIB --with-libpng=$EBROOTLIBPNG " +configopts += "--with-libtiff=$EBROOTLIBTIFF --with-libjpeg=$EBROOTLIBJPEGMINTURBO --with-libsdl=$EBROOTSDL2 " +configopts += "CXXFLAGS='-DBOOST_BIND_GLOBAL_PLACEHOLDERS ' " +# configopts += " --with-libmkl=DIR " ## upstream needs to fix this, still in BETA + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/povray'], + 'dirs': ['etc/povray/%(version_major_minor)s', 'share'] +} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/POV-Ray/POV-Ray-3.7.0.7_dont-touch-home.patch b/Golden_Repo/p/POV-Ray/POV-Ray-3.7.0.7_dont-touch-home.patch new file mode 100644 index 0000000000000000000000000000000000000000..097174a9e0a4a91a3c5e7bd64c3da5c536b6da60 --- /dev/null +++ b/Golden_Repo/p/POV-Ray/POV-Ray-3.7.0.7_dont-touch-home.patch @@ -0,0 +1,25 @@ +# Do not let povray do anything in the user home directory +# wpoely86@gmail.com +diff -ur povray-3.7.0.7.orig/unix/prebuild.sh povray-3.7.0.7/unix/prebuild.sh +--- povray-3.7.0.7.orig/unix/prebuild.sh 2018-01-05 10:06:48.000000000 +0100 ++++ povray-3.7.0.7/unix/prebuild.sh 2018-04-10 10:14:08.621514093 +0200 +@@ -641,19 +641,6 @@ + for f in \$\$filelist ; do \\ + \$(INSTALL_DATA) \$(top_srcdir)/doc/\$\$f \$(DESTDIR)\$(povdocdir)/\$\$f && echo "\$(DESTDIR)\$(povdocdir)/\$\$f" >> \$(povinstall); \\ + done +- @echo "Creating user directories..."; \\ +- for p in \$(povuser) \$(povconfuser) ; do \\ +- \$(mkdir_p) \$\$p && chown \$(povowner) \$\$p && chgrp \$(povgroup) \$\$p && printf "%s\\n" "\$\$p" "\`cat \$(povinstall)\`" > \$(povinstall); \\ +- done +- @echo "Copying user configuration and INI files..."; \\ +- for f in povray.conf povray.ini ; do \\ +- if test -f \$(povconfuser)/\$\$f; then \\ +- echo "Creating backup of \$(povconfuser)/\$\$f"; \\ +- mv -f \$(povconfuser)/\$\$f \$(povconfuser)/\$\$f.bak; \\ +- fi; \\ +- done; \\ +- \$(INSTALL_DATA) \$(top_srcdir)/povray.conf \$(povconfuser)/povray.conf && chown \$(povowner) \$(povconfuser)/povray.conf && chgrp \$(povgroup) \$(povconfuser)/povray.conf && echo "\$(povconfuser)/povray.conf" >> \$(povinstall); \\ +- \$(INSTALL_DATA) \$(top_builddir)/povray.ini \$(povconfuser)/povray.ini && chown \$(povowner) \$(povconfuser)/povray.ini && chgrp \$(povgroup) \$(povconfuser)/povray.ini && echo "\$(povconfuser)/povray.ini" >> \$(povinstall) + + # Remove data, config, and empty folders for 'make uninstall'. + # Use 'hook' instead of 'local' so as to properly remove *empty* folders (e.g. scripts). diff --git a/Golden_Repo/p/Panoply/Panoply-4.12.13.eb b/Golden_Repo/p/Panoply/Panoply-4.12.13.eb new file mode 100644 index 0000000000000000000000000000000000000000..cc24efdf0090c95134fbd1d942b659cefe5d9ace --- /dev/null +++ b/Golden_Repo/p/Panoply/Panoply-4.12.13.eb @@ -0,0 +1,32 @@ +easyblock = 'PackedBinary' + +name = 'Panoply' +version = '4.12.13' + +homepage = 'https://www.giss.nasa.gov/tools/panoply' +description = "Panoply plots geo-referenced and other arrays from netCDF, HDF, GRIB, and other datasets." + + +toolchain = SYSTEM + +source_urls = ['https://www.giss.nasa.gov/tools/panoply/download/'] +sources = ['%(name)sJ-%(version)s.tgz'] +checksums = ['b1d82573e18e5a5fae7c50bfc449f9a1461712379ed20f9b0dab729e3bce3cb0'] + +dependencies = [ + ('Java', '15', '', SYSTEM), +] + +postinstallcmds = [ + 'mkdir %(installdir)s/bin', + 'mv %(installdir)s/panoply.sh %(installdir)s/bin', + 'sed -i "s/jars/..\/jars/g" %(installdir)s/bin/panoply.sh', + 'ln -s %(installdir)s/bin/panoply.sh %(installdir)s/bin/panoply', +] + +sanity_check_paths = { + 'files': ['bin/panoply'], + 'dirs': ['jars'] +} + +moduleclass = 'vis' diff --git a/Golden_Repo/p/PnetCDF/PnetCDF-1.12.2-npsmpic-2021b.eb b/Golden_Repo/p/PnetCDF/PnetCDF-1.12.2-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..58506c7b9acac304be2948d508dd4dd7b96d92c6 --- /dev/null +++ b/Golden_Repo/p/PnetCDF/PnetCDF-1.12.2-npsmpic-2021b.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.2' + +homepage = 'http://trac.mcs.anl.gov/projects/parallel-netcdf' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://parallel-netcdf.github.io/Release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3ef1411875b07955f519a5b03278c31e566976357ddfc74c2493a1076e7d7c74'] + +builddependencies = [ + ('Autotools', '20210726'), + ('Perl', '5.34.0'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/Golden_Repo/p/PnetCDF/PnetCDF-1.12.2-nvompic-2021b.eb b/Golden_Repo/p/PnetCDF/PnetCDF-1.12.2-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..41c5f0ebd76f39a337c88e0a22ab48fb25414956 --- /dev/null +++ b/Golden_Repo/p/PnetCDF/PnetCDF-1.12.2-nvompic-2021b.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.2' + +homepage = 'http://trac.mcs.anl.gov/projects/parallel-netcdf' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://parallel-netcdf.github.io/Release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3ef1411875b07955f519a5b03278c31e566976357ddfc74c2493a1076e7d7c74'] + +builddependencies = [ + ('Autotools', '20210726'), + ('Perl', '5.34.0'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/Golden_Repo/p/PyCUDA/PyCUDA-2021.1-GCCcore-11.2.0.eb b/Golden_Repo/p/PyCUDA/PyCUDA-2021.1-GCCcore-11.2.0.eb index 3730c5a1f0210a733fe7035c2aa1ab2bf677b329..35b7de22eba3997f43085749c83e7bf9fd03b27d 100644 --- a/Golden_Repo/p/PyCUDA/PyCUDA-2021.1-GCCcore-11.2.0.eb +++ b/Golden_Repo/p/PyCUDA/PyCUDA-2021.1-GCCcore-11.2.0.eb @@ -12,7 +12,7 @@ dependencies = [ ('CUDA', '11.5', '', SYSTEM), ('Python', '3.9.6'), ('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')), - ('Boost.Python', '1.77.0'), + ('Boost.Python', '1.78.0'), ('Mako', '1.1.4'), ] diff --git a/Golden_Repo/r/RELION/RELION-3.1.3-gpsmpi-2021b.eb b/Golden_Repo/r/RELION/RELION-3.1.3-gpsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..b8eea24bb53bec0821cb6617f9f9c374bbd87b4e --- /dev/null +++ b/Golden_Repo/r/RELION/RELION-3.1.3-gpsmpi-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'RELION' +version = "3.1.3" + +homepage = 'http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page' +description = """RELION (for REgularised LIkelihood OptimisatioN, pronounce +rely-on) is a stand-alone computer program that employs an empirical Bayesian +approach to refinement of (multiple) 3D reconstructions or 2D class averages in +electron cryo-microscopy (cryo-EM). """ + + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} + +source_urls = ['https://github.com/3dem/relion/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['f10934058e0670807b7004899d7b5103c21ad77841219352c66a33f98586d42e'] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), +] + +dependencies = [ + ('CUDA', '11.5', '', SYSTEM), + ('FFTW', '3.3.10'), # RELION uses the threaded libraries from here + ('FLTK', '1.3.7'), + ('LibTIFF', '4.3.0'), + ('X11', '20210802'), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('fontconfig', '2.13.94'), +] + +# Note RELION automatically picks up the threaded fftw3 libs +preconfigopts = 'export LDFLAGS="-lXft -lfontconfig -lXext -lXinerama ' +preconfigopts += ' -lXcursor -lXfixes -ldl -lpthread -lXrender $LDFLAGS" && ' + +configopts = '-DCUDA_SDK_ROOT_DIR=$EBROOTCUDA ' +configopts += '-DFLTK_DIR=$EBROOTFLTK -DX11_INCLUDES=$EBROOTX11/include' + + +sanity_check_paths = { + 'files': ['bin/relion'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/Golden_Repo/r/rpmrebuild/rpmrebuild-2.16.eb b/Golden_Repo/r/rpmrebuild/rpmrebuild-2.16.eb new file mode 100644 index 0000000000000000000000000000000000000000..e7c01c64ade1c8b4ec9f637df34793f6c7a6232c --- /dev/null +++ b/Golden_Repo/r/rpmrebuild/rpmrebuild-2.16.eb @@ -0,0 +1,33 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/hpcugent/easybuild +# +# Copyright:: Copyright 2016 Forschungszentrum Juelich GmbH +# Authors:: Damian Alvarez <d.alvarez@fz-juelich.de> +# License:: MIT/GPL +# $Id$ +## + +easyblock = "Tarball" + +name = "rpmrebuild" +version = "2.16" + +homepage = 'http://rpmrebuild.sourceforge.net/' +description = """rpmrebuild is a tool to build an RPM file from a package that has already been installed""" + + +toolchain = SYSTEM + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b8a9830a6c4040667d0c78b025e80d046ec9f51afb515dc7882f242e4095f34e'] + +modextrapaths = {'PATH': ['']} +modextravars = {'RPMREBUILD_ROOT_DIR': '%(installdir)s'} + +sanity_check_paths = { + 'files': ["rpmrebuild"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..43b6bef02e0d003ad9d77959d0b7ecc50ba482d3 --- /dev/null +++ b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb @@ -0,0 +1,32 @@ +name = 'SCOTCH' +version = '6.1.2' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +configopts = '-DIDXSIZE64 ' + +modloadmsg = """ +Notice: We do not support the Fortran interface +""" + +modextravars = { + 'SCOTCH_ROOT': '%(installdir)s', + 'SCOTCH_INCLUDE': '%(installdir)s/include/', + 'SCOTCH_LIB': '%(installdir)s/lib', +} + +moduleclass = 'math' diff --git a/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-gpsmpi-2021b.eb b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-gpsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..e8e7e4d0083313d5f4d1393815d22f760be231cd --- /dev/null +++ b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-gpsmpi-2021b.eb @@ -0,0 +1,31 @@ +name = 'SCOTCH' +version = '6.1.2' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning. +""" + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] + +# ParaStationMPI is not threaded +threadedmpi = False + +configopts = '-DIDXSIZE64 ' + +modloadmsg = """ +Notice: We do not support the Fortran interface +""" + +modextravars = { + 'SCOTCH_ROOT': '%(installdir)s', + 'SCOTCH_INCLUDE': '%(installdir)s/include/', + 'SCOTCH_LIB': '%(installdir)s/lib', +} + +moduleclass = 'math' diff --git a/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..9e59596c9ec645246e83afdc4f24acde0269c90b --- /dev/null +++ b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb @@ -0,0 +1,28 @@ +name = 'SCOTCH' +version = '6.1.2' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning. +""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] + +configopts = '-DIDXSIZE64 ' + +modloadmsg = """ +Notice: We do not support the Fortran interface +""" + +modextravars = { + 'SCOTCH_ROOT': '%(installdir)s', + 'SCOTCH_INCLUDE': '%(installdir)s/include/', + 'SCOTCH_LIB': '%(installdir)s/lib', +} + +moduleclass = 'math' diff --git a/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-iompi-2021b.eb b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-iompi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..6d757872efd48a8097ba21fc5e25e0fa5bcf3785 --- /dev/null +++ b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-iompi-2021b.eb @@ -0,0 +1,28 @@ +name = 'SCOTCH' +version = '6.1.2' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning. +""" + +toolchain = {'name': 'iompi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] + +configopts = '-DIDXSIZE64 ' + +modloadmsg = """ +Notice: We do not support the Fortran interface +""" + +modextravars = { + 'SCOTCH_ROOT': '%(installdir)s', + 'SCOTCH_INCLUDE': '%(installdir)s/include/', + 'SCOTCH_LIB': '%(installdir)s/lib', +} + +moduleclass = 'math' diff --git a/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-ipsmpi-2021b.eb b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-ipsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..951aeff9960d9f6628aec2f0e82a7c648bd42199 --- /dev/null +++ b/Golden_Repo/s/SCOTCH/SCOTCH-6.1.2-ipsmpi-2021b.eb @@ -0,0 +1,31 @@ +name = 'SCOTCH' +version = '6.1.2' + +homepage = 'http://gforge.inria.fr/projects/scotch/' +description = """Software package and libraries for sequential and parallel graph partitioning, +static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning. +""" + +toolchain = {'name': 'ipsmpi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] + +# ParaStationMPI is not threaded +threadedmpi = False + +configopts = '-DIDXSIZE64 ' + +modloadmsg = """ +Notice: We do not support the Fortran interface +""" + +modextravars = { + 'SCOTCH_ROOT': '%(installdir)s', + 'SCOTCH_INCLUDE': '%(installdir)s/include/', + 'SCOTCH_LIB': '%(installdir)s/lib', +} + +moduleclass = 'math' diff --git a/Golden_Repo/s/SCons/SCons-4.2.0-GCCcore-11.2.0.eb b/Golden_Repo/s/SCons/SCons-4.2.0-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..2212975537fbb59d82e649c5e03a92aee868afc6 --- /dev/null +++ b/Golden_Repo/s/SCons/SCons-4.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'SCons' +version = '4.2.0' + +homepage = 'https://www.scons.org/' +description = "SCons is a software construction tool." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/scons', 'bin/sconsign'], + 'dirs': [], +} + +sanity_check_commands = ["scons --help"] + +sanity_pip_check = True + +# no Python module to import during sanity check +options = {'modulename': False} + +moduleclass = 'devel' diff --git a/Golden_Repo/s/SDL2/SDL2-2.0.18-gcccoremkl-11.2.0-2021.4.0.eb b/Golden_Repo/s/SDL2/SDL2-2.0.18-gcccoremkl-11.2.0-2021.4.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..2dc3570d1618317b2f782571dd7c557dfcd6b5cb --- /dev/null +++ b/Golden_Repo/s/SDL2/SDL2-2.0.18-gcccoremkl-11.2.0-2021.4.0.eb @@ -0,0 +1,41 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu, NTUA +# Authors:: Fotis Georgatos <fotis@cern.ch> +# License:: MIT/GPL +# $Id$ +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# http://hpcbios.readthedocs.org/en/latest/ +## + +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.0.18' + +homepage = 'http://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'gcccoremkl', 'version': '11.2.0-2021.4.0'} + +source_urls = ['http://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['94d40cd73dbfa10bb6eadfbc28f355992bb2d6ef6761ad9d4074eff95ee5711c'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('X11', '20210802'), + ('CUDA', '11.5', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gompi-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gompi-2021b.eb index a5a4de37df0a6563e0c8fad229beacfd0a78191b..51423a86f3398bcbd9918d7a7642d70deb57f401 100644 --- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gompi-2021b.eb +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gompi-2021b.eb @@ -5,8 +5,6 @@ version = "1.0.1" homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' description = 'I/O forwarding for SIONlib' -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'gompi', 'version': '2021b'} toolchainopts = {'pic': True} diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gpsmpi-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gpsmpi-2021b.eb index 835fbede9569d4c21500e60ca0b088cd65430f31..d44a588a2fc82a8b1245b89d1cd21e75e0de0639 100644 --- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gpsmpi-2021b.eb +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-gpsmpi-2021b.eb @@ -5,8 +5,6 @@ version = "1.0.1" homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' description = 'I/O forwarding for SIONlib' -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'gpsmpi', 'version': '2021b'} toolchainopts = {'pic': True} diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iimpi-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iimpi-2021b.eb index c735984c3e70f360ad560c5eba083adf98811c13..d0c69f3d2bf1634df3b06481dbd4420409b30dd3 100644 --- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iimpi-2021b.eb +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iimpi-2021b.eb @@ -5,8 +5,6 @@ version = "1.0.1" homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' description = 'I/O forwarding for SIONlib' -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'iimpi', 'version': '2021b'} toolchainopts = {'pic': True} diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iompi-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iompi-2021b.eb index 44f437202ed534892e5fb0f284a62080fed5a64c..9578e69245acdd5783545aa22d1ce261f659816e 100644 --- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iompi-2021b.eb +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-iompi-2021b.eb @@ -5,8 +5,6 @@ version = "1.0.1" homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' description = 'I/O forwarding for SIONlib' -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'iompi', 'version': '2021b'} toolchainopts = {'pic': True} diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-ipsmpi-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-ipsmpi-2021b.eb index f7f391ef0d964f74a2d1cfccbf4f5d38671433f5..d94cdc4b274bb6671643d1872c56119a769c9bbf 100644 --- a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-ipsmpi-2021b.eb +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-ipsmpi-2021b.eb @@ -5,8 +5,6 @@ version = "1.0.1" homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' description = 'I/O forwarding for SIONlib' -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'ipsmpi', 'version': '2021b'} toolchainopts = {'pic': True} diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-npsmpic-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..ef13cf36a9ddbc44a1c38cb460b7092759783cc0 --- /dev/null +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-npsmpic-2021b.eb @@ -0,0 +1,22 @@ +easyblock = "CMakeMake" +name = "SIONfwd" +version = "1.0.1" + +homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' +description = 'I/O forwarding for SIONlib' + +toolchain = {'name': 'npsmpic', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [('CMake', '3.21.1', '', SYSTEM)] + +source_urls = ['https://gitlab.jsc.fz-juelich.de/SIONlib/SIONfwd/-/archive/v%(version)s/'] +sources = ['SIONfwd-v%(version)s.tar.gz'] +checksums = ['bb4b0381dec8729ed792225f90b7a2b04049886989e53216bc1033585448a780'] + +sanity_check_paths = { + 'files': ["bin/sionfwd-server"], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-nvompic-2021b.eb b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..0b530b897c9336ccd4d6a5ddf2bf5ce967a89a05 --- /dev/null +++ b/Golden_Repo/s/SIONfwd/SIONfwd-1.0.1-nvompic-2021b.eb @@ -0,0 +1,22 @@ +easyblock = "CMakeMake" +name = "SIONfwd" +version = "1.0.1" + +homepage = 'https://gitlab.version.fz-juelich.de/SIONlib/SIONfwd' +description = 'I/O forwarding for SIONlib' + +toolchain = {'name': 'nvompic', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [('CMake', '3.21.1', '', SYSTEM)] + +source_urls = ['https://gitlab.jsc.fz-juelich.de/SIONlib/SIONfwd/-/archive/v%(version)s/'] +sources = ['SIONfwd-v%(version)s.tar.gz'] +checksums = ['bb4b0381dec8729ed792225f90b7a2b04049886989e53216bc1033585448a780'] + +sanity_check_paths = { + 'files': ["bin/sionfwd-server"], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb index 321b5b2f282c5b7201e841273fed9dac7d50b1a7..b17b2690d318bae0c58bbe113b10cfab372d5f04 100644 --- a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb @@ -13,8 +13,6 @@ to avoid conflicts when an application using SIONlib itself is linked against a a different SIONlib version. """ -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'GCCcore', 'version': '11.2.0'} source_urls = ['http://apps.fz-juelich.de/jsc/sionlib/download.php?version=%(version)sl'] diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gompi-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gompi-2021b.eb index 4a137913a8b443cf510d1a51194bad281c2603fb..e3ca3c986655ed0e6ec942dc1c8d42252145dce3 100644 --- a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gompi-2021b.eb +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gompi-2021b.eb @@ -13,8 +13,6 @@ MPI, OpenMP, or their combination and sequential access for post-processing utilities. """ -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'gompi', 'version': '2021b'} dependencies = [('SIONfwd', '1.0.1')] diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gpsmpi-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gpsmpi-2021b.eb index c8387088eaa1793190b2ade7b816cb0803956afc..8a41fbc09e88c3d4d3fe83a2e5b0ee368c76d36d 100644 --- a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gpsmpi-2021b.eb +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-gpsmpi-2021b.eb @@ -13,8 +13,6 @@ MPI, OpenMP, or their combination and sequential access for post-processing utilities. """ -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'gpsmpi', 'version': '2021b'} dependencies = [('SIONfwd', '1.0.1')] diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iimpi-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iimpi-2021b.eb index d0babfb4a4f382e1fdbe240fe5fa9f02d289a5c0..ddf0026b13800e3b9589741584510b6694bdf02f 100644 --- a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iimpi-2021b.eb +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iimpi-2021b.eb @@ -13,8 +13,6 @@ MPI, OpenMP, or their combination and sequential access for post-processing utilities. """ -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'iimpi', 'version': '2021b'} dependencies = [('SIONfwd', '1.0.1')] diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iompi-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iompi-2021b.eb index 2717fb2aff6f8087f413010897ab0e96ff9bc3fc..8488c00b1a1bda93d23f3260688064bfa5ba39a2 100644 --- a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iompi-2021b.eb +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-iompi-2021b.eb @@ -13,8 +13,6 @@ MPI, OpenMP, or their combination and sequential access for post-processing utilities. """ -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'iompi', 'version': '2021b'} dependencies = [('SIONfwd', '1.0.1')] diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-ipsmpi-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-ipsmpi-2021b.eb index 8a0060b73e8e816b57b3407ceafcadf31e7cc57c..2cf8c1b89bb3159e09e30855dfca5f58e17f5b38 100644 --- a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-ipsmpi-2021b.eb +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-ipsmpi-2021b.eb @@ -13,8 +13,6 @@ MPI, OpenMP, or their combination and sequential access for post-processing utilities. """ -site_contacts = 'Tom Ridley <t.ridley@fz-juelich.de>' - toolchain = {'name': 'ipsmpi', 'version': '2021b'} dependencies = [('SIONfwd', '1.0.1')] diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-npsmpic-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-npsmpic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..61cc962d279a1563ef3ec7230a6d8212441791a6 --- /dev/null +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-npsmpic-2021b.eb @@ -0,0 +1,41 @@ +easyblock = "ConfigureMake" +name = "SIONlib" +version = "1.7.7" + +homepage = 'http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """SIONlib is a scalable I/O library for the parallel access to +task-local files. The library not only supports writing and reading +binary data to or from from several thousands of processors into a +single or a small number of physical files but also provides for +global open and close functions to access SIONlib file in +parallel. SIONlib provides different interfaces: parallel access using +MPI, OpenMP, or their combination and sequential access for +post-processing utilities. +""" + +toolchain = {'name': 'npsmpic', 'version': '2021b'} + +dependencies = [('SIONfwd', '1.0.1')] + +builddependencies = [('pkg-config', '0.29.2')] + +source_urls = ['http://apps.fz-juelich.de/jsc/sionlib/download.php?version=%(version)s'] +sources = ['sionlib-%(version)s.tar.gz'] +patches = ['sionlib_psmpi.patch'] +checksums = [ + 'a73574b1c17c030b1d256c5f0eac5ff596395f8b827d759af83473bf94f74477', # sionlib-1.7.7.tar.gz + 'b947e51eb3c7768661a027ee21b548383ec57a9fe9cc9563d998f3bf01ac4fb0', # sionlib_psmpi.patch +] + +configopts = '--disable-mic --compiler=pgi --mpi=psmpi --disable-cxx ' +configopts += '--enable-sionfwd="$EBROOTSIONFWD" CFLAGS="$CFLAGS -fPIC" ' + +sanity_check_paths = { + 'files': [ + "bin/sionconfig", + ("lib64/libsioncom_64.a", "lib/libsionmpi_64.a", "lib64/libsionmpi_64.a"), + ], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/Golden_Repo/s/SIONlib/SIONlib-1.7.7-nvompic-2021b.eb b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-nvompic-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..3a500b2ca99aeb821f68604b9597e029ba9eb164 --- /dev/null +++ b/Golden_Repo/s/SIONlib/SIONlib-1.7.7-nvompic-2021b.eb @@ -0,0 +1,37 @@ +easyblock = "ConfigureMake" +name = "SIONlib" +version = "1.7.7" + +homepage = 'http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html' +description = """SIONlib is a scalable I/O library for the parallel access to +task-local files. The library not only supports writing and reading +binary data to or from from several thousands of processors into a +single or a small number of physical files but also provides for +global open and close functions to access SIONlib file in +parallel. SIONlib provides different interfaces: parallel access using +MPI, OpenMP, or their combination and sequential access for +post-processing utilities. +""" + +toolchain = {'name': 'nvompic', 'version': '2021b'} + +dependencies = [('SIONfwd', '1.0.1')] + +builddependencies = [('pkg-config', '0.29.2')] + +configopts = '--disable-mic --compiler=pgi --mpi=openmpi --disable-cxx ' +configopts += '--enable-sionfwd="$EBROOTSIONFWD" CFLAGS="$CFLAGS -fPIC" ' + +source_urls = ['http://apps.fz-juelich.de/jsc/sionlib/download.php?version=%(version)s'] +sources = ['sionlib-%(version)s.tar.gz'] +checksums = ['a73574b1c17c030b1d256c5f0eac5ff596395f8b827d759af83473bf94f74477'] + +sanity_check_paths = { + 'files': [ + "bin/sionconfig", + ("lib64/libsioncom_64.a", "lib/libsionmpi_64.a", "lib64/libsionmpi_64.a"), + ], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/Golden_Repo/s/SOCI/SOCI-4.0.2-GCCcore-11.2.0.eb b/Golden_Repo/s/SOCI/SOCI-4.0.2-GCCcore-11.2.0.eb index 3d513f8e93d89a6adfd7e319aed41f7f95a1f392..339f4e92c638034a23c4379b9481cb5f48b580c3 100644 --- a/Golden_Repo/s/SOCI/SOCI-4.0.2-GCCcore-11.2.0.eb +++ b/Golden_Repo/s/SOCI/SOCI-4.0.2-GCCcore-11.2.0.eb @@ -19,7 +19,7 @@ builddependencies = [ ] dependencies = [ - ('Boost', '1.77.0'), + ('Boost', '1.78.0'), ('SQLite', '3.36'), ('PostgreSQL', '13.4'), ] diff --git a/Golden_Repo/s/Serf/Serf-1.3.9-GCCcore-11.2.0.eb b/Golden_Repo/s/Serf/Serf-1.3.9-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..5f3af8ba8f381e59e459f2862db2e011a8992ceb --- /dev/null +++ b/Golden_Repo/s/Serf/Serf-1.3.9-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'SCons' +name = 'Serf' +version = '1.3.9' + +homepage = 'https://serf.apache.org/' +description = """The serf library is a high performance C-based HTTP client library + built upon the Apache Portable Runtime (APR) library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Serf-%(version)s_python3_scons.patch'] +checksums = [ + '549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc', # serf-1.3.9.tar.bz2 + # Serf-1.3.9_python3_scons.patch + 'db401893bfb464ddcf369b543cacb9a165a21f8ff9bf1a819e4b61550bb9d3d0', +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('SCons', '4.2.0'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('OpenSSL', '1.1', '', True), +] + +buildopts = "APR=$EBROOTAPR/bin/apr-1-config APU=$EBROOTAPRMINUTIL/bin/apu-1-config" + +sanity_check_paths = { + 'files': ['include/serf-1/serf.h'] + + ['lib/libserf-1.%s' % x for x in ['a', 'so']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/s/Subversion/Subversion-1.14.1-GCCcore-11.2.0.eb b/Golden_Repo/s/Subversion/Subversion-1.14.1-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..b9bb6a47e7be679a17be0b62e90d043dc4b7c659 --- /dev/null +++ b/Golden_Repo/s/Subversion/Subversion-1.14.1-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'Subversion' +version = '1.14.1' + +homepage = 'https://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://apache.belnet.be/%(namelower)s', + 'http://www.eu.apache.org/dist/%(namelower)s', + 'http://www.us.apache.org/dist/%(namelower)s', + 'https://archive.apache.org/dist/%(namelower)s', +] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Subversion-1.12.0-no_swig.patch'] +checksums = [ + # subversion-1.14.1.tar.bz2 + '2c5da93c255d2e5569fa91d92457fdb65396b0666fad4fd59b22e154d986e1a9', + # Subversion-1.12.0-no_swig.patch + '539ea2118f958d152d78438c81649eb727ff0b2e8491295702ee98e1f922041f', +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('SQLite', '3.36'), + ('zlib', '1.2.11'), + ('lz4', '1.9.3'), + ('utf8proc', '2.6.1'), + ('Serf', '1.3.9'), +] + +preconfigopts = './autogen.sh && ' + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-lz4=$EBROOTLZ4 --with-serf=$EBROOTSERF" + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/t/trimesh/trimesh-3.9.36-gcccoremkl-11.2.0-2021.4.0.eb b/Golden_Repo/t/trimesh/trimesh-3.9.36-gcccoremkl-11.2.0-2021.4.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..5d17bfcb6e7b8a388cd2cd62198b29f791c9e9c3 --- /dev/null +++ b/Golden_Repo/t/trimesh/trimesh-3.9.36-gcccoremkl-11.2.0-2021.4.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'trimesh' +version = '3.9.36' + +homepage = 'https://trimsh.org/' +description = """Trimesh is a Python (2.7- 3.3+) library for loading and using triangular meshes with an emphasis on +watertight meshes. The goal of the library is to provide a fully featured Trimesh object which allows for easy +manipulation and analysis, in the style of the excellent Polygon object in the Shapely library.""" + + +toolchain = {'name': 'gcccoremkl', 'version': '11.2.0-2021.4.0'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +checksums = ['f01e8edab14d1999700c980c21a1546f37417216ad915a53be649d263130181e'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # numpy required +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + + +moduleclass = 'lib' diff --git a/Golden_Repo/u/UCX-settings/UCX-settings-plain.eb b/Golden_Repo/u/UCX-settings/UCX-settings-plain.eb new file mode 100644 index 0000000000000000000000000000000000000000..ed48dda862278106c7b6b63ab5b44619e0183e2d --- /dev/null +++ b/Golden_Repo/u/UCX-settings/UCX-settings-plain.eb @@ -0,0 +1,17 @@ +easyblock = 'SystemBundle' + +name = 'UCX-settings' +version = 'plain' + +homepage = '' +description = 'This module sets UCX to rely on its internal heuristics for transport selection.' + +site_contacts = 'd.alvarez@fz-juelich.de' + +toolchain = SYSTEM + +source_urls = [] + +sources = [] + +moduleclass = 'system' diff --git a/Golden_Repo/u/uftp/uftp-1.4.2.eb b/Golden_Repo/u/uftp/uftp-1.4.2.eb new file mode 100644 index 0000000000000000000000000000000000000000..11b522585eabbc013b3f9d57e5d51adf8d6cf018 --- /dev/null +++ b/Golden_Repo/u/uftp/uftp-1.4.2.eb @@ -0,0 +1,34 @@ +easyblock = 'Tarball' + +name = 'uftp' +version = '1.4.2' + +homepage = 'https://unicore-dev.zam.kfa-juelich.de/documentation/uftpclient-%(version)s/uftpclient-manual.html' +description = """The UFTP standalone client provides high-performance file transfer.""" + +toolchain = SYSTEM + +source_urls = [ + 'https://master.dl.sourceforge.net/project/unicore/Clients/UFTP-Client/%(version)s/'] +sources = ['uftp-client-%(version)s-all.zip'] +checksums = ['49670714416077274a0dfdc261e5552bcabbdd5cc4454181a794158491524c54'] + +dependencies = [ + ('Java', '15'), +] + +postinstallcmds = [ + 'chmod +x %(installdir)s/bin/uftp', +] + +modextravars = { + 'UFTP_SHARE_URL': 'https://uftp.fz-juelich.de:7112/UFTP_Auth/rest/share/JUDAC', + 'UFTP_JUDAC': 'https://uftp.fz-juelich.de:7112/UFTP_Auth/rest/auth/JUDAC:' +} + +sanity_check_paths = { + 'files': ['bin/uftp'], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/u/utf8proc/utf8proc-2.6.1-GCCcore-11.2.0.eb b/Golden_Repo/u/utf8proc/utf8proc-2.6.1-GCCcore-11.2.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..b53f6ad6b2780f624c6a8460ca5f83a484c207a0 --- /dev/null +++ b/Golden_Repo/u/utf8proc/utf8proc-2.6.1-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.6.1' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4c06a9dc4017e8a2438ef80ee371d45868bda2237a98b26554de7a95406b283b'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +separate_build_dir = True + +configopts = ['', '-DBUILD_SHARED_LIBS=true'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' 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.4a51-gcccoremkl-11.2.0-2021.4.0.eb b/Golden_Repo/v/VMD/VMD-1.9.4a51-gcccoremkl-11.2.0-2021.4.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..d249ed2708ea1865bec0c6f0784b37d5bd28fc28 --- /dev/null +++ b/Golden_Repo/v/VMD/VMD-1.9.4a51-gcccoremkl-11.2.0-2021.4.0.eb @@ -0,0 +1,73 @@ +## +# Author: Robert Mijakovic <robert.mijakovic@lxp.lu> +## +name = 'VMD' +version = '1.9.4a51' + +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.""" + +toolchain = {'name': 'gcccoremkl', 'version': '11.2.0-2021.4.0'} + +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 = [ + 'b1c40b21111f5bab56d43d5e442c468d327159b07915af2ec175ba6b12842e5c', # vmd-1.9.4a51.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 + 'dc9fc419e2e938f42d2e4784b0c9c7429317893f08d3ed170f949c3ee3aec062', # VMD-1.9.4a51_configure.patch + '253eba282b570eb00e4764f46f77fd5ca898d10360d5707dd50ad1f14615af80', # VMD-1.9.4a51_extra_colors.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('tcsh', '6.22.04'), + ('Tcl', '8.6.11'), + ('Tk', '8.6.11'), + ('FLTK', '1.3.7'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Tkinter', '%(pyver)s'), + ('X11', '20210802'), + ('fontconfig', '2.13.94'), + ('OpenGL', '2021b'), + ('netCDF', '4.8.1', '-serial'), + ('FFmpeg', '4.4.1'), + ('ImageMagick', '7.1.0-13'), + ('ACTC', '1.1'), + ('OptiX', '6.5.0', '', SYSTEM), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('POV-Ray', '3.7.0.10'), + ('CUDA', '11.5', '', SYSTEM), +] + +postinstallcmds = [ + 'sed -i "s%#!/bin/csh%#!$EBROOTTCSH/bin/tcsh%g" %(installdir)s/bin/vmd ', +] + +moduleclass = 'vis' diff --git a/Golden_Repo/v/VMD/VMD-1.9.4a51_configure.patch b/Golden_Repo/v/VMD/VMD-1.9.4a51_configure.patch new file mode 100644 index 0000000000000000000000000000000000000000..b0432661c4e3e13f19df1bbf67256794fc045408 --- /dev/null +++ b/Golden_Repo/v/VMD/VMD-1.9.4a51_configure.patch @@ -0,0 +1,177 @@ +--- configure 2021-05-10 14:04:56.826893000 +0200 ++++ configure 2021-05-10 14:08:01.893394000 +0200 +@@ -497,17 +497,16 @@ + + $arch_cc = "cc"; + $arch_ccpp = "CC"; +-$arch_nvcc = "/usr/local/cuda-10.2/bin/nvcc"; ++$arch_nvcc = "$ENV{'EBROOTCUDA'}/bin/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=sm_75 " . ++ "-gencode arch=compute_80,code=sm_80 " . + "--ftz=true "; + # "-gencode arch=compute_75,code=sm_75 " . + $arch_gcc = "gcc"; +@@ -633,17 +632,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{'EBROOTMESA'}; + $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 = (); + + + # +@@ -719,10 +718,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 -lX11 -lXfixes -lXcursor -lXinerama"; + #@fltk_cc = ('forms_ui.c'); + @fltk_cu = (); + @fltk_ccpp = ( 'ColorFltkMenu.C', +@@ -764,7 +763,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"; +@@ -782,8 +780,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 = (); +@@ -992,7 +990,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"; +@@ -1201,7 +1199,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 +@@ -1356,7 +1354,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"; +@@ -1384,7 +1382,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"; +@@ -1575,7 +1573,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"; +@@ -1590,7 +1588,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"; +@@ -1648,7 +1646,7 @@ + $stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "$conda_root/lib/python3.7/config-3.7m-x86_64-linux-gnu"; + $stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "$conda_root/lib/python3.7/site-packages/numpy/core/include/numpy"; + $stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "$conda_root/lib/python-3.7/site-packages/numpy/core/include"; +- $python_libs = "-fno-lto -lpython3.7m -lpthread"; ++ $python_libs = "$ENV{'PYTHON_LIBRARIES'}" || "-fno-lto -lpython3.7m -lpthread"; + } else { + # $stock_python_include_dir=$ENV{"PYTHON_INCLUDE_DIR"} || "/usr/local/include"; + # $stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "/usr/local/lib"; +@@ -1659,7 +1657,7 @@ + # $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"; +- $python_libs = "-lpython2.5 -lpthread"; ++ $python_libs = "$ENV{'PYTHON_LIBRARIES'}" || "-lpython2.5 -lpthread"; + } + + $python_defines = "-DVMDPYTHON"; +@@ -2573,7 +2571,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 +@@ -2583,7 +2581,7 @@ + # 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"; ++ $mesa_libs = "-lGL -lGLU -L/usr/X11R6/lib64 -lXext -lX11"; + } + + # this is to make tcl happy +@@ -3763,7 +3761,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_80,code=compute_80 -ptx \$< $arch_coptout$vmd_arch_dir/\$\@ + + .y.o: + diff --git a/Golden_Repo/v/VMD/VMD-1.9.4a51_extra_colors.patch b/Golden_Repo/v/VMD/VMD-1.9.4a51_extra_colors.patch new file mode 100644 index 0000000000000000000000000000000000000000..26e9ba954dbbbb816975a947d97c4d1a69ca1f95 --- /dev/null +++ b/Golden_Repo/v/VMD/VMD-1.9.4a51_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/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb b/Golden_Repo/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb new file mode 100644 index 0000000000000000000000000000000000000000..422597691832cb44dcd9c7edb203a9ba5f83a564 --- /dev/null +++ b/Golden_Repo/v/VTK/VTK-9.1.0-gpsmpi-2022-Python-3.9.6.eb @@ -0,0 +1,189 @@ +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.1.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + '8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96', # VTK-9.1.0.tar.gz + 'b9442cf1c30e1e44502e6dc36d3c6c2dc3d3f7d03306ee1d10737e9abadaa85d', # VTKData-9.1.0.tar.gz + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.9.6'), + ('HDF5', '1.12.1'), + ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('mpi4py', '3.1.3'), + ('libxc', '5.1.7'), + ('netCDF', '4.8.1', '-serial'), + ('X11', '20210802'), + ('OpenGL', '2021b'), +] + +separate_build_dir = True + +configopts = "-DCMAKE_INSTALL_LIBDIR=lib " + +configopts += "-DVTK_USE_SYSTEM_MPI4PY=ON " +configopts += "-DVTK_USE_SYSTEM_LZMA=ON " +configopts += "-DVTK_USE_SYSTEM_HDF5=ON " +configopts += "-DVTK_USE_SYSTEM_NETCDF=ON " + +configopts += "-DBUILD_SHARED_LIBS=ON " +configopts += "-DBUILD_TESTING=OFF " + +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DVTK_SMP_IMPLEMENTATION_TYPE=OPENMP " +configopts += "-DVTK_Group_MPI:BOOL=ON " +configopts += "-DVTK_Group_Web:BOOL=ON " + +configopts += '-DOpenGL_GL_PREFERENCE=GLVND ' # "GLVND" or "LEGACY" +configopts += "-DOPENGL_EGL_INCLUDE_DIR=$EBROOTOPENGL/include " +configopts += "-DOPENGL_GLX_INCLUDE_DIR=$EBROOTOPENGL/include " +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTOPENGL/include " +configopts += "-DOPENGL_egl_LIBRARY=$EBROOTOPENGL/lib/libEGL.so.1 " +configopts += "-DOPENGL_glx_LIBRARY=$EBROOTOPENGL/lib/libGLX.so.0 " +configopts += "-DOPENGL_opengl_LIBRARY=$EBROOTOPENGL/lib/libOpenGL.so.0 " +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTOPENGL/lib/libGLU.so " + +configopts += "-DVTK_WRAP_PYTHON=ON " +configopts += "-DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPYTHON_EXECUTABLE:PATH=$EBROOTPYTHON/bin/python%(pyshortver)s " +configopts += "-DPYTHON_INCLUDE_DIR:PATH=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPYTHON_LIBRARY:PATH=$EBROOTPYTHON/lib/libpython%%(pyshortver)s.%s " % SHLIB_EXT + +configopts += "-DHDF5_INCLUDE_DIRS=$EBROOTHDF5/include " + +configopts += "-DModule_vtkAcceleratorsVTKm:BOOL=ON " +# configopts += "-DModule_vtkDomainsMicroscopy:BOOL=OFF " +# configopts += "-DModule_vtkDomainsParallelChemistry:BOOL=OFF " +# configopts += "-DModule_vtkFiltersOpenTurns:BOOL=OFF " +# configopts += "-DModule_vtkFiltersParallelDIY2:BOOL=OFF " +# configopts += "-DModule_vtkFiltersParallelFlowPaths:BOOL=OFF " +configopts += "-DModule_vtkFiltersParallelGeometry:BOOL=ON " +configopts += "-DModule_vtkFiltersParallelMPI:BOOL=ON " +configopts += "-DModule_vtkFiltersParallelStatistics:BOOL=ON " +# configopts += "-DModule_vtkFiltersParallelVerdict:BOOL=OFF " +# configopts += "-DModule_vtkFiltersReebGraph:BOOL=OFF " +# configopts += "-DModule_vtkGUISupportQt:BOOL=OFF " +# configopts += "-DModule_vtkGUISupportQtOpenGL:BOOL=OFF " +# configopts += "-DModule_vtkGUISupportQtSQL:BOOL=OFF " +# configopts += "-DModule_vtkGUISupportQtWebkit:BOOL=OFF " +# configopts += "-DModule_vtkGeovisGDAL:BOOL=OFF " +# configopts += "-DModule_vtkIOADIOS:BOOL=OFF " +# configopts += "-DModule_vtkIOFFMPEG:BOOL=OFF " +# configopts += "-DModule_vtkIOGDAL:BOOL=OFF " +# configopts += "-DModule_vtkIOGeoJSON:BOOL=OFF " +# configopts += "-DModule_vtkIOLAS:BOOL=OFF " +# configopts += "-DModule_vtkIOMPIImage:BOOL=ON " +# configopts += "-DModule_vtkIOMPIParallel:BOOL=ON " +# configopts += "-DModule_vtkIOMotionFX:BOOL=OFF " +# configopts += "-DModule_vtkIOMySQL:BOOL=OFF " +# configopts += "-DModule_vtkIOODBC:BOOL=OFF " +# configopts += "-DModule_vtkIOPDAL:BOOL=OFF " +# configopts += "-DModule_vtkIOParallelExodus:BOOL=OFF " +# configopts += "-DModule_vtkIOParallelLSDyna:BOOL=OFF " +# configopts += "-DModule_vtkIOParallelNetCDF:BOOL=OFF " +# configopts += "-DModule_vtkIOParallelXdmf3:BOOL=OFF " +# configopts += "-DModule_vtkIOPostgreSQL:BOOL=OFF " +# configopts += "-DModule_vtkIOTRUCHAS:BOOL=OFF " +# configopts += "-DModule_vtkIOVPIC:BOOL=OFF " +# configopts += "-DModule_vtkIOXdmf2:BOOL=OFF " +# configopts += "-DModule_vtkIOXdmf3:BOOL=OFF " +# configopts += "-DModule_vtkImagingOpenGL2:BOOL=OFF " +# configopts += "-DModule_vtkInfovisBoost:BOOL=OFF " +# configopts += "-DModule_vtkInfovisBoostGraphAlg:BOOL=OFF +configopts += "-DModule_vtkParallelMPI:BOOL=ON " +configopts += "-DModule_vtkPython:BOOL=ON " +# configopts += "-DModule_vtkPythonInterpreter:BOOL=OFF " +# configopts += "-DModule_vtkRenderingExternal:BOOL=OFF " +# configopts += "-DModule_vtkRenderingFreeTypeFontConfig:BOOL=OFF " +# configopts += "-DModule_vtkRenderingLICOpenGL2:BOOL=OFF " +# configopts += "-DModule_vtkRenderingMatplotlib:BOOL=OFF " +# configopts += "-DModule_vtkRenderingOSPRay:BOOL=OFF " +# configopts += "-DModule_vtkRenderingOpenVR:BOOL=OFF " +# configopts += "-DModule_vtkRenderingOptiX:BOOL=OFF " +configopts += "-DModule_vtkRenderingParallel:BOOL=ON " +configopts += "-DModule_vtkRenderingParallelLIC:BOOL=ON " +# configopts += "-DModule_vtkRenderingQt:BOOL=OFF " +# configopts += "-DModule_vtkRenderingSceneGraph:BOOL=OFF " +# configopts += "-DModule_vtkRenderingTk:BOOL=OFF " +# configopts += "-DModule_vtkRenderingVolumeAMR:BOOL=OFF " +# configopts += "-DModule_vtkTclTk:BOOL=OFF " +# configopts += "-DModule_vtkTestingCore:BOOL=OFF " +# configopts += "-DModule_vtkTestingGenericBridge:BOOL=OFF " +# configopts += "-DModule_vtkTestingIOSQL:BOOL=OFF " +# configopts += "-DModule_vtkTestingRendering:BOOL=OFF " +# configopts += "-DModule_vtkUtilitiesBenchmarks:BOOL=OFF " +# configopts += "-DModule_vtkUtilitiesEncodeString:BOOL=OFF " +# configopts += "-DModule_vtkVPIC:BOOL=OFF " +configopts += "-DModule_vtkVTKm:BOOL=ON " +# configopts += "-DModule_vtkViewsGeovis:BOOL=OFF " +# configopts += "-DModule_vtkViewsQt:BOOL=OFF " +# configopts += "-DModule_vtkWebCore:BOOL=OFF " +# configopts += "-DModule_vtkWebGLExporter:BOOL=OFF " +# configopts += "-DModule_vtkWebPython:BOOL=OFF " +# configopts += "-DModule_vtkWrappingJava:BOOL=OFF " +# configopts += "-DModule_vtkWrappingPythonCore:BOOL=OFF " +# configopts += "-DModule_vtkWrappingTools:BOOL=OFF " +# configopts += "-DModule_vtkdiy2:BOOL=OFF " +# configopts += "-DModule_vtkkissfft:BOOL=OFF " +configopts += "-DModule_vtkmpi4py:BOOL=ON " +# configopts += "-DModule_vtkpegtl:BOOL=OFF " +# configopts += "-DModule_vtkxdmf2:BOOL=OFF " +# configopts += "-DModule_vtkxdmf3:BOOL=OFF " +# configopts += "-DModule_vtkzfp:BOOL=OFF " + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/Golden_Repo/v/VTK/vtk-version.egg-info b/Golden_Repo/v/VTK/vtk-version.egg-info new file mode 100644 index 0000000000000000000000000000000000000000..9ddd689eaec6928e5f537b1f1378ba67e77a3809 --- /dev/null +++ b/Golden_Repo/v/VTK/vtk-version.egg-info @@ -0,0 +1,5 @@ +Metadata-Version: 2.1 +Name: vtk +Version: #VTK_VERSION# +Summary: VTK is an open-source toolkit for 3D computer graphics, image processing, and visualization +Platform: UNKNOWN diff --git a/Golden_Repo/v/Vampir/Vampir-10.0.0.eb b/Golden_Repo/v/Vampir/Vampir-10.0.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..96d54698ea64f06a98a3f3a7a494653114bde680 --- /dev/null +++ b/Golden_Repo/v/Vampir/Vampir-10.0.0.eb @@ -0,0 +1,45 @@ +# 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/ +## + +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'Binary' + +name = "Vampir" +version = "10.0.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. + +""" + +toolchain = SYSTEM + +sources = ['vampir-%s%s-setup.sh' % (version, local_archsuffix)] +checksums = ['c8cdfb9bb2319b0b9f8ac99c3b35bc892479166c80777199472fce641794e147'] + +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': [] +} + +local_licdir = '/p/software/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'] + +modextravars = { + 'VAMPIR_LICENSE': '/p/software/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/v/Vampir/Vampir-9.11.3.eb b/Golden_Repo/v/Vampir/Vampir-9.11.3.eb new file mode 100644 index 0000000000000000000000000000000000000000..24d96fa0383cc83a497ca949c1ab298a15243319 --- /dev/null +++ b/Golden_Repo/v/Vampir/Vampir-9.11.3.eb @@ -0,0 +1,44 @@ +# 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/ +## + +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'Binary' + +name = "Vampir" +version = "9.11.3" +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. + +""" + +toolchain = SYSTEM + +sources = ['vampir-%s%s-setup.sh' % (version, local_archsuffix)] +checksums = ['3e00f08ed9d1820df756755214acf0c2ead5a2e23bdef0fd4f2f701b6a2111ca'] + +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/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/v/VampirServer/VampirServer-10.0.0-gpsmpi-2021b.eb b/Golden_Repo/v/VampirServer/VampirServer-10.0.0-gpsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..dfa773255fa8f4a001ef6762c55f0c43bbe43daf --- /dev/null +++ b/Golden_Repo/v/VampirServer/VampirServer-10.0.0-gpsmpi-2021b.eb @@ -0,0 +1,64 @@ +# 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/ +## + +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'Binary' + +name = "VampirServer" +version = "10.0.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> +""" + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} + +toolchainopts = {"usempi": True} + +sources = ['vampirserver-%s-linux-x86_64-setup.sh' % (version)] +checksums = ['663911b545038b89dc447991f19a83f29524fd3c60f3c0875501421b7d395883'] + +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/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/v/VampirServer/VampirServer-9.11.3-gpsmpi-2021b.eb b/Golden_Repo/v/VampirServer/VampirServer-9.11.3-gpsmpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..4caa008a1e47dad3c592f21e87d564d1ea0d5a0b --- /dev/null +++ b/Golden_Repo/v/VampirServer/VampirServer-9.11.3-gpsmpi-2021b.eb @@ -0,0 +1,64 @@ +# 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/ +## + +# For using $SYSTEMNAME to determine license path. The local prefix is to appease the checker +import os as local_os + +easyblock = 'Binary' + +name = "VampirServer" +version = "9.11.3" + +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> +""" + +toolchain = {'name': 'gpsmpi', 'version': '2021b'} + +toolchainopts = {"usempi": True} + +sources = ['vampirserver-%s-linux-x86_64-setup.sh' % (version)] +checksums = ['61847b5b533b4fc9bf128bcade7911b7f4c919b940a4909f85f21ac17cac385b'] + +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/%s/licenses/vampir/vampir.license' % local_os.environ['SYSTEMNAME'], +} + +moduleclass = 'perf' diff --git a/Golden_Repo/x/XGBoost/XGBoost-1.5.1-gcccoremkl-11.2.0-2021.4.0.eb b/Golden_Repo/x/XGBoost/XGBoost-1.5.1-gcccoremkl-11.2.0-2021.4.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..58b901477b18d2c8559eed40df591eb322dbc24a --- /dev/null +++ b/Golden_Repo/x/XGBoost/XGBoost-1.5.1-gcccoremkl-11.2.0-2021.4.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.2.0' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + + +toolchain = {'name': 'gcccoremkl', 'version': '11.2.0-2021.4.0'} +toolchainopts = {'pic': True} + + +source_urls = [PYPI_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e5f4abcd5df6767293f31b7c58d67ea38b2689641a95b2cd8ca8935295097a36'] + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), + ('Ninja', '1.10.2'), + ('Ninja-Python', '1.10.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/Overlays/jurecadc_overlay/l/LWP-MPI/LWP-MPI-1.7.0-gompi-2021b.eb b/Overlays/jurecadc_overlay/l/LWP-MPI/LWP-MPI-1.7.0-gompi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..2fa24698701c62b2c44ac8119d5760580496f458 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP-MPI/LWP-MPI-1.7.0-gompi-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'Rpm' + +name = 'LWP-MPI' +version = '1.7.0' +local_lwp_timestamp = '20210730182932' +local_lwp_lib_name = 'libatos-lwp-mpi-openmpi-gcc.so' + +homepage = '' +description = 'Loads the atos-lwp-mpi-openmpi-gcc 1.7.0 environment' + +toolchain = {'name': 'gompi', 'version': '2021b'} + +sources = [ + f'atos-lwp-mpi-openmpi-gcc-{version}-Atos.{local_lwp_timestamp}.el8.x86_64.rpm', +] +checksums = ['4b16e726c8166ce289d0a2f03433a7172d61d79bc30e4fd9967b487ba0c6bd01'] + +builddependencies = [ + ('rpmrebuild', '2.16', '', SYSTEM) +] + +dependencies = [ + ('LWP', '1.1.3', '', SYSTEM), +] + +modextravars = { + 'LWP_MPI': f'%(installdir)s/lib/{local_lwp_lib_name}', + 'atos_lwp_module_mpi': '1', +} + +modextrapaths = { + 'LWP_LIBS': f'lib/{local_lwp_lib_name}' +} + +local_path_to_fix = f'/opt/tools/profilers/atos-lwp/atos-lwp-mpi-openmpi-gcc' + +sanity_check_paths = { + 'dirs': ['lib', 'share'], + 'files': [f'lib/{local_lwp_lib_name}'] +} + +postinstallcmds = [ + # Move to bin/ lib64/ include/ libexec/ and share/ to the correct directory + f'mv %(installdir)s{local_path_to_fix}/* %(installdir)s', + # Clean the unneded directories + f'rm -Rf %(installdir)s/usr', + f'rm -Rf %(installdir)s/opt', + f'rm -Rf %(installdir)s/rpm', +] + +moduleclass = 'tools' diff --git a/Overlays/jurecadc_overlay/l/LWP-MPI/LWP-MPI-1.7.0-iimpi-2021b.eb b/Overlays/jurecadc_overlay/l/LWP-MPI/LWP-MPI-1.7.0-iimpi-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..cfc72d479a9383c4172fe0699db80e1f65d51308 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP-MPI/LWP-MPI-1.7.0-iimpi-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'Rpm' + +name = 'LWP-MPI' +version = '1.7.0' +local_lwp_timestamp = '20210730183006' +local_lwp_lib_name = 'libatos-lwp-mpi-intelmpi-icc.so' + +homepage = '' +description = 'Loads the atos-lwp-mpi-intelmpi-icc 1.7.0 environment' + +toolchain = {'name': 'iimpi', 'version': '2021b'} + +sources = [ + f'atos-lwp-mpi-intelmpi-icc-{version}-Atos.{local_lwp_timestamp}.el8.x86_64.rpm', +] +checksums = ['e7eeaad6f17a981b38d345dba101fbee6324e56f19f50397521b8647a769b3e2'] + +builddependencies = [ + ('rpmrebuild', '2.16', '', SYSTEM) +] + +dependencies = [ + ('LWP', '1.1.3', '', SYSTEM), +] + +modextravars = { + 'LWP_MPI': f'%(installdir)s/lib/{local_lwp_lib_name}', + 'atos_lwp_module_mpi': '1', +} + +modextrapaths = { + 'LWP_LIBS': f'lib/{local_lwp_lib_name}' +} + +local_path_to_fix = f'/opt/tools/profilers/atos-lwp/atos-lwp-mpi-intelmpi-icc' + +sanity_check_paths = { + 'dirs': ['lib', 'share'], + 'files': [f'lib/{local_lwp_lib_name}'] +} + +postinstallcmds = [ + # Move to bin/ lib64/ include/ libexec/ and share/ to the correct directory + f'mv %(installdir)s{local_path_to_fix}/* %(installdir)s', + # Clean the unneded directories + f'rm -Rf %(installdir)s/usr', + f'rm -Rf %(installdir)s/opt', + f'rm -Rf %(installdir)s/rpm', +] + +moduleclass = 'tools' diff --git a/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-omp.eb b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-omp.eb new file mode 100644 index 0000000000000000000000000000000000000000..84918c99dcb1ca785772b38f52589912c93fba10 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-omp.eb @@ -0,0 +1,23 @@ +easyblock = 'SystemBundle' + +name = 'LWP-settings' +version = 'LWP-omp' + +homepage = '' +description = 'Loads the LWP-omp module for LWP' + +toolchain = SYSTEM + +modextravars = { + 'atos_lwp_module_omp': '1', + 'LWP_MODULE_OMPT_VERBOSE_LEVEL': '0', +} + +# Ugly hack, since otherwise we can't add paths from the main installation without +# writting an easyblock +modluafooter = ''' +prepend_path("LWP_LIBS",pathJoin(os.getenv("EBROOTLWP") or "PATH_NOT_FOUND","lib64/liblwp_omp_gather.so")) +setenv("LWP_OMP",pathJoin(os.getenv("EBROOTLWP") or "PATH_NOT_FOUND","lib64/liblwp_omp_publish.so")) +''' + +moduleclass = 'system' diff --git a/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-procstat.eb b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-procstat.eb new file mode 100644 index 0000000000000000000000000000000000000000..4d7eee351772904ce9733026cda4b081dcf02f22 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-procstat.eb @@ -0,0 +1,16 @@ +easyblock = 'SystemBundle' + +name = 'LWP-settings' +version = 'LWP-procstat' + +homepage = '' +description = 'Loads the LWP-procstat module for LWP' + +toolchain = SYSTEM + +modextravars = { + 'atos_lwp_module_procstat': '1', + 'LWP_MODULE_PROCSTAT_VERBOSE_LEVEL': '0', +} + +moduleclass = 'system' diff --git a/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-sysinfo.eb b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-sysinfo.eb new file mode 100644 index 0000000000000000000000000000000000000000..6d13866c24502e7ec2f49ce7022c8e07de3c6cc7 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-sysinfo.eb @@ -0,0 +1,16 @@ +easyblock = 'SystemBundle' + +name = 'LWP-settings' +version = 'LWP-sysinfo' + +homepage = '' +description = 'Loads the LWP-sysinfo module for LWP' + +toolchain = SYSTEM + +modextravars = { + 'atos_lwp_module_sysinfo': '1', + 'LWP_MODULE_SYSINFO_VERBOSE_LEVEL': '0', +} + +moduleclass = 'system' diff --git a/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-vmstat.eb b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-vmstat.eb new file mode 100644 index 0000000000000000000000000000000000000000..d23f271ac258a30c034ea84522db699e798b6799 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP-settings/LWP-settings-LWP-vmstat.eb @@ -0,0 +1,16 @@ +easyblock = 'SystemBundle' + +name = 'LWP-settings' +version = 'LWP-vmstat' + +homepage = '' +description = 'Loads the LWP-vmstat module for LWP' + +toolchain = SYSTEM + +modextravars = { + 'atos_lwp_module_vmstat': '1', + 'LWP_MODULE_VMSTAT_VERBOSE_LEVEL': '0', +} + +moduleclass = 'system' diff --git a/Overlays/jurecadc_overlay/l/LWP/LWP-1.1.3.eb b/Overlays/jurecadc_overlay/l/LWP/LWP-1.1.3.eb new file mode 100644 index 0000000000000000000000000000000000000000..2a4c7c8fa29a5fa32a0251a991daa4acd425c791 --- /dev/null +++ b/Overlays/jurecadc_overlay/l/LWP/LWP-1.1.3.eb @@ -0,0 +1,67 @@ +easyblock = 'Rpm' + +name = 'LWP' +version = '1.1.3' +local_lwp_omp_version = '1.0.4' +local_lwp_timestamp = '20210730182824' + +homepage = '' +description = """Lightweight Profiler (LWP) is a lightweight tool for monitoring applications running on supercomputers. +It was designed to collect different kinds of useful data like CPU metrics, memory utilization, energy consumption, MPI +communication events, etc. It is used as a wrapper for an application; the user invokes LWP explicitly via the command +line. LWP is modular by its nature, so each type of data is collected by a specific component.""" + +toolchain = SYSTEM + +sources = [ + f'atos-lwp-{version}-Atos.{local_lwp_timestamp}.el8.x86_64.rpm', + f'atos-lwp-doc-{version}-Atos.{local_lwp_timestamp}.el8.noarch.rpm', + f'atos-lwp-omp-{local_lwp_omp_version}-Atos.20210730183139.el8.x86_64.rpm', + f'atos-lwp-procstat_module-{version}-Atos.{local_lwp_timestamp}.el8.x86_64.rpm', + f'atos-lwp-sysinfo_module-{version}-Atos.{local_lwp_timestamp}.el8.x86_64.rpm', + f'atos-lwp-vmstat_module-{version}-Atos.{local_lwp_timestamp}.el8.x86_64.rpm', +] +checksums = [ + # atos-lwp-1.1.3-Atos.20210730182824.el8.x86_64.rpm + '4050a2ee0bd602a749a853df6628101e772df75a7f8a0f38967d2766f276c2d5', + # atos-lwp-doc-1.1.3-Atos.20210730182824.el8.noarch.rpm + '2336fd8b1fa33b6969b145fd1eec06bf54fe2bdfea170e9c3b6b452cdd4c535a', + # atos-lwp-omp-1.0.4-Atos.20210730183139.el8.x86_64.rpm + '92ea8528c2e9a82cd6824cd5c8630845246fe72298b03154379b4220e6fc6763', + # atos-lwp-procstat_module-1.1.3-Atos.20210730182824.el8.x86_64.rpm + 'a4e8f9b8bde6b96718bb586a11c3fc5de5e9c0f4aaf4aabeb974f92717f0adb5', + # atos-lwp-sysinfo_module-1.1.3-Atos.20210730182824.el8.x86_64.rpm + '7f0cabf5a564eb38aaae2c0f05364dea60a371c2d94fe147674bfa7af5bd610d', + # atos-lwp-vmstat_module-1.1.3-Atos.20210730182824.el8.x86_64.rpm + '68fe0b5b9b054096c28e92e43aefb292c8c8c064c1baca8449e22c35b1aee441', +] + +builddependencies = [ + ('rpmrebuild', '2.16', '', SYSTEM) +] + +modextravars = { + 'LWP_MODULES_DIR': f'%(installdir)s/lib64/atos-lwp', + 'LWP': '%(installdir)s/lib64/liblwp_envmodule.so', + 'LWP_VERBOSE_LEVEL': '0', + 'LWP_DELAY': '5', + 'MPI_AS_MODULE': '0', +} + +modextrapaths = { + 'LWP_LIBS': 'lib64/liblwp_envmodule.so' +} + +local_path_to_fix = f'/opt/tools/profilers/atos-lwp' + +postinstallcmds = [ + # Move to bin/ lib64/ include/ libexec/ and share/ to the correct directory + f'mv %(installdir)s{local_path_to_fix}/* %(installdir)s', + # Clean the unneded directories + f'rm -Rf %(installdir)s/usr', + f'rm -Rf %(installdir)s/opt', + f'rm -Rf %(installdir)s/scripts', + f'rm -Rf %(installdir)s/rpm', +] + +moduleclass = 'tools' diff --git a/acls.yml b/acls.yml index e90dce7637ce01741394de3a5fcdf657e47baeae..67991640b036b46be4de2807bc6896736cb19a62 100644 --- a/acls.yml +++ b/acls.yml @@ -86,7 +86,7 @@ software: base: True - name: 'freeglut' owner: 'goebbert1' - base: True + base: True - name: 'FFmpeg' owner: 'goebbert1' base: True @@ -118,7 +118,7 @@ software: base: True - name: 'JasPer' owner: 'goebbert1' - base: True + base: True - name: 'Julia.CUDA' owner: 'goebbert1' base: True @@ -191,6 +191,9 @@ software: - name: 'lz4' owner: 'goebbert1' base: True + - name: 'mpi4py' + owner: 'goebbert1' + mpi: True - name: 'muparserx' owner: 'goebbert1' base: True @@ -218,6 +221,9 @@ software: - name: 'openvkl' owner: 'goebbert1' compiler: True + - name: 'OptiX' + owner: 'goebbert1' + system: True - name: 'OSPRay' owner: 'goebbert1' mpi: True @@ -230,6 +236,9 @@ software: - name: 'PyCUDA' owner: 'goebbert1' base: True + - name: 'POV-Ray' + owner: 'goebbert1' + base: True - name: 'Python-Neuroimaging' owner: 'deepu1' base: True @@ -266,6 +275,9 @@ software: - name: 'snappy' owner: 'goebbert1' base: True + - name: 'SDL2' + owner: 'goebbert1' + base: True - name: 'SOCI' owner: 'goebbert1' base: True @@ -340,12 +352,15 @@ software: - name: 'Cartopy' owner: 'strube1' mpi: True + - name: 'ccache' + owner: 'strube1' + system: True - name: 'CFITSIO' owner: 'strube1' base: True - name: 'CGAL' owner: 'strube1' - base: True + mpi: True - name: 'CMake' owner: 'strube1' system: True @@ -415,6 +430,7 @@ software: - name: 'GEOS' owner: 'strube1' compiler: True + base: True - name: 'gflags' owner: 'strube1' base: True @@ -424,6 +440,9 @@ software: - name: 'git' owner: 'strube1' base: True + - name: 'git-lfs' + owner: 'strube1' + system: True - name: 'GMP' owner: 'strube1' base: True @@ -462,6 +481,9 @@ software: - name: 'hypothesis' owner: 'strube1' base: True + - name: 'ITStool' + owner: 'strube1' + base: True - name: 'JAX' owner: 'strube1' base: True @@ -579,12 +601,18 @@ software: - name: 'OpenJPEG' owner: 'strube1' base: True + - name: 'OptiX' + owner: 'strube1' + system: True - name: 'PCRE2' owner: 'strube1' base: True - name: 'OpenAI-Gym' owner: 'strube1' base: True + - name: 'Panoply' + owner: 'strube1' + system: True - name: 'parallel' owner: 'strube1' base: True @@ -634,6 +662,9 @@ software: - name: 'RELION' owner: 'strube1' mpi: True + - name: 'rpmrebuild' + owner: 'strube1' + system: True - name: 'scikit-allel' owner: 'strube1' base: True @@ -664,6 +695,12 @@ software: - name: 'SciPy-Stack' owner: 'strube1' base: True + - name: 'SCons' + owner: 'strube1' + base: True + - name: 'Serf' + owner: 'strube1' + base: True - name: 'Shapely' owner: 'strube1' compiler: True @@ -679,6 +716,9 @@ software: - name: 'SQLite' owner: 'strube1' base: True + - name: 'Subversion' + owner: 'strube1' + base: True - name: 'SWIG' owner: 'strube1' base: True @@ -718,9 +758,15 @@ software: - name: 'UFL' owner: 'strube1' base: True + - name: 'uftp' + owner: 'strube1' + system: True - name: 'unzip' owner: 'strube1' base: 'true' + - name: 'utf8proc' + owner: 'strube1' + base: 'true' - name: 'X11' owner: 'strube1' base: 'true' diff --git a/bin/gcc11ize.py b/bin/gcc11ize.py index 6f4d55abcda077b9311839b2e8265e48b28e5139..6fbe1c402a37e8e0482169825b00350eafdc7c62 100755 --- a/bin/gcc11ize.py +++ b/bin/gcc11ize.py @@ -16,10 +16,11 @@ releases = { 'Autotools': ['20200321', '20210726'], 'binutils': ['2.36.1', '2.37'], 'Bison': ['3.7.6', '3.7.6'], - 'Boost': ['1.74.0', '1.77.0'], - 'Boost.Python': ['1.74.0', '1.77.0'], + 'Boost': ['1.74.0', '1.78.0'], + 'Boost.Python': ['1.74.0', '1.78.0'], 'cairo': ['1.17.2', '1.16.0'], 'CMake': ['3.18.0', '3.21.1'], + 'CGAL': ['5.1', '5.2'], 'Coreutils': ['8.32', '9.0'], 'CUDA': ['11.3', '11.5'], 'cuDNN': ['8.2.1.32', '8.2.2.26'], @@ -31,6 +32,7 @@ releases = { 'FFTW': ['3.3.8', '3.3.10'], 'Flask': ['1.1.4', '2.0.2'], 'flex': ['2.6.4', '2.6.4'], + 'FLTK': ['1.3.5', '1.3.7'], 'fontconfig': ['2.13.92', '2.13.94'], 'freetype': ['2.10.1', '2.11.0'], 'FriBidi': ['1.0.9', '1.0.10'], @@ -42,6 +44,7 @@ releases = { 'Ghostscript': ['9.52', '9.54.0'], 'GLib': ['2.64.4', '2.69.1'], 'GMP': ['6.2.0', '6.2.1'], + 'Go': ['1.15.3', '1.17.3'], 'GObject-Introspection': ['1.64.1', '1.68.0'], 'gomkl': ['2021', '2021b'], 'gpsmkl': ['2021', '2021b'], @@ -52,7 +55,7 @@ releases = { 'HarfBuzz': ['2.6.7', '2.8.2'], 'HTSLib': ['1.1.4', '1.1.4'], 'ICU': ['67.1', '70.1'], - 'ImageMagick': ['7.0.10-25' '7.1.0.13'], + 'ImageMagick': ['7.0.10-25', '7.1.0.13'], 'imkl': ['2021.2.0', '2021.4.0'], 'intltool': ['0.51.0', '0.51.0'], 'ispc': ['1.12.0', '1.16.1'], @@ -64,7 +67,6 @@ releases = { 'libffi': ['3.3', '3.4.2'], 'libgd': ['2.3.0', '2.3.1'], 'libjpeg-turbo': ['2.0.5', '2.1.1'], - 'libjpeg-turbo': ['2.0.6', '2.1.1'], 'libreadline': ['8.0', '8.1'], 'librsvg': ['2.48.8', '2.51.2'], 'LibTIFF': ['4.1.0', '4.3.0'], @@ -99,8 +101,8 @@ releases = { 'RDFlib': ['5.0.0', '6.0.2'], 're2c': ['1.3', '2.2'], 'Rust': ['1.47.0', '1.54.0'], - 'Scikit': ['2021', '2022'], - 'SciPy': ['2021', '2021b'], + 'scikit': ['2021', '2022'], + 'SciPy-Stack': ['2021', '2021b'], 'Shapely': ['1.7.1', '1.8.0'], 'SuiteSparse': ['5.7.1', '5.10.1'], 'snappy': ['1.1.8', '1.1.9'], @@ -109,10 +111,12 @@ releases = { 'texinfo': ['6.7', '6.8'], 'texlive': ['20200406', '20200406'], 'tqdm': ['4.62.3', '4.62.3'], + 'uftp': ['1.4.1.eb', '1.4.2'], 'X11': ['20200222', '20210802'], 'x264': ['20200912', '20210613'], 'XServer': ['1.20.9', '1.20.13'], 'zlib': ['1.2.11', '1.2.11'], + 'zstd': ['1.4.9', '1.5.0'], }