EasyBuild/4.6.0 (EasyBuild-4.6.0.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider EasyBuild/4.6.0
.
EasyConfig:
#DOC This is the version of EasyBuild used for the 22.06 and 22.08 software stacks.
easyblock = 'EB_EasyBuildMetaLUMI'
name = 'EasyBuild'
version = '4.6.0'
homepage = 'https://easybuilders.github.io/easybuild'
whatis = [
"Description: EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way."
]
description = """
EasyBuild is a software build and installation framework
written in Python that allows you to install software in a structured,
repeatable and robust way.
"""
usage = """
See the documentation on readthedocs. Only the documentation of the latest
version is readily available.
The EasyBuild module on LUMI should be used through the EasyBuild-user or
EasyBuild-production modules. These modules ensure that EasyBuild is properly
configured to install software on LUMI.
* Installing software that is common to all partitions: First load the
appropriate LUMI software stack module and the hidden partition/common module
and then load either EasyBuild-user or EasyBuild-production (the latter for
system managers only) module.
* Installing software for a specific partition works in the same way, but then
by loading the appropriate partition module. It is best to compile software on
a node of that partition as cross-compiling may not always work as some packages
have the nasty habit to add compiler options that conflict with the requirements
of cross-compiling.
"""
docurls = [
"Web-based documentation on https://easybuild.readthedocs.io/"
]
toolchain = SYSTEM
source_urls = [
# easybuild-framework
'https://files.pythonhosted.org/packages/e8/e4/16246c2e65b477eca58a9c3e55a86822d9e1846cd38eef0d316e09f2888e/',
# easybuild-easyblocks
'https://files.pythonhosted.org/packages/5b/7e/ebb2e41cf8462cb112e31967459fa219755e8746ad2fc1467595bff1dee8/',
# easybuild-easyconfigs
'https://files.pythonhosted.org/packages/b0/e3/99328129438decc5974944c56e7278ddb03fe04b017c2cdf17da6b8e2c38/',
]
sources = [
'easybuild-framework-%(version)s.tar.gz',
'easybuild-easyblocks-%(version)s.tar.gz',
'easybuild-easyconfigs-%(version)s.tar.gz',
]
patches = [
'EasyBuild-4.4.2_keyring_DBus.patch',
]
checksums = [
'4010e9a0e507328a2b4bc7786c0cba81e63346b1a055fa46e2b6e67453abe30f', # easybuild-framework-4.6.0.tar.gz
'd0e2104b3265e7f844677edb8659fd29bef4f14fab27502b8afa2b955f165756', # easybuild-easyblocks-4.6.0.tar.gz
'21e1a3681343708ceb3dbf895997de54706ec72fa7c79d17454a44720f298413', # easybuild-easyconfigs-4.6.0.tar.gz
]
# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?)
# EasyBuild is a (set of) Python packages, so it depends on Python
# usually, we want to use the system Python, so no actual Python dependency is listed
allow_system_deps = [('Python', SYS_PYTHON_VERSION)]
local_pyshortver = '.'.join(SYS_PYTHON_VERSION.split('.')[:2])
exts_defaultclass = 'PythonPackage'
exts_filter = ("python3 -c 'import %(ext_name)s'", '')
exts_default_options = {
'download_dep_fail': True,
'sanity_pip_check': False,
'source_urls': [PYPI_SOURCE],
'use_pip': False,
}
exts_list = [
('click', '7.1.2', {}), # archspec 0.1.3 is incompatible with more recent versions of click
('archspec', '0.1.3', {}),
('colorama', '0.4.4', {}),
('commonmark', '0.9.1', {}),
('dataclasses', '0.8', {}),
('Pygments', '2.11.2', {}),
('typing_extensions', '3.10.0.2', {}), # The 4.0.x versions did not install, maybe due to the lack of pip?
('rich', '11.2.0', {}),
]
sanity_check_paths = {
'files': ['bin/eb'],
'dirs': ['lib/python%s/site-packages' % local_pyshortver],
}
# Set Python 3 for EasyBuild
modextravars = {
'EB_PYTHON': 'python3',
}
moduleclass = 'tools'