Overview of generic easyblocks¶
BinariesTarball - Binary - BuildEnv - Bundle - CMakeMake - CMakeMakeCp - CMakeNinja - CMakePythonPackage - Cargo - CargoPythonBundle - CargoPythonPackage - CmdCp - Conda - ConfigureMake - ConfigureMakePythonPackage - CrayToolchain - FortranPythonPackage - GoPackage - IntelBase - JAR - JuliaBundle - JuliaPackage - MakeCp - MesonNinja - ModuleRC - OCamlPackage - OctavePackage - PackedBinary - PerlBundle - PerlModule - PythonBundle - PythonPackage - RPackage - Rpm - RubyGem - SCons - SystemCompiler - SystemMPI - Tarball - Toolchain - VSCPythonPackage - VersionIndependentPythonPackage - Waf
BinariesTarball
¶
(derives from Tarball
)
Support for installing a tarball of binaries
Extra easyconfig parameters specific to BinariesTarball
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
install_type |
Defaults to extract tarball into clean directory. Options: 'merge' merges tarball to existing directory, 'subdir' extracts tarball into its own sub-directory | None |
options |
Dictionary with extension options. | {} |
preinstall_cmd |
Command to execute before installation | None |
Customised steps in BinariesTarball
easyblock¶
install_step
- Install by copying unzipped binaries to 'bin' subdir of installation dir, and fixing permissions.
Binary
¶
(derives from EasyBlock
)
Support for installing software that comes in binary form. Just copy the sources to the install dir, or use the specified install command.
Extra easyconfig parameters specific to Binary
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
extract_sources |
Whether or not to extract sources | False |
install_cmd |
Install command to be used. | None |
install_cmds |
List of install commands to be used. | None |
prepend_to_path |
Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. | [''] |
staged_install |
Perform staged installation via subdirectory of build directory | False |
Customised steps in Binary
easyblock¶
-
build_step
- No compilation, this is binary software -
configure_step
- No configuration, this is binary software -
install_step
- Copy all files in build directory to the install directory
Example easyconfig for Binary
easyblock¶
easyblock = 'Binary'
name = 'Platanus'
version = '1.2.1'
versionsuffix = '-linux-x86_64'
homepage = 'http://platanus.bio.titech.ac.jp/'
description = """PLATform for Assembling NUcleotide Sequences"""
toolchain = SYSTEM
source_urls = ['http://platanus.bio.titech.ac.jp/Platanus_release/20130901010201']
sources = ['platanus']
checksums = ['02cf92847ec704d010a54df293b9c60a']
sanity_check_paths = {
'files': ['platanus'],
'dirs': [],
}
moduleclass = 'bio'
BuildEnv
¶
(derives from Bundle
)
Build environment of toolchain: only generate module file
Extra easyconfig parameters specific to BuildEnv
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
Bundle
¶
(derives from EasyBlock
)
Bundle of modules: only generate module files, nothing to build/install
Extra easyconfig parameters specific to Bundle
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
Customised steps in Bundle
easyblock¶
-
build_step
- Do nothing. -
configure_step
- Collect altroot/altversion info. -
install_step
- Install components, if specified.
Example easyconfig for Bundle
easyblock¶
easyblock = 'Bundle'
name = 'Autotools'
version = '20150119' # date of the most recent change
homepage = 'http://autotools.io'
description = """This bundle collect the standard GNU build tools: Autoconf, Automake and libtool"""
toolchain = {'name': 'GCC', 'version': '4.9.2'}
dependencies = [
('Autoconf', '2.69'), # 20120424
('Automake', '1.15'), # 20150105
('libtool', '2.4.5'), # 20150119
]
moduleclass = 'devel'
CMakeMake
¶
(derives from ConfigureMake
)
Support for configuring build with CMake instead of traditional configure script
Extra easyconfig parameters specific to CMakeMake
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
abs_path_compilers |
Specify compilers via absolute file path (not via command names) | False |
allow_system_boost |
Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) | False |
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_shared_libs |
Build shared library (instead of static library)None can be used to add no flag (usually results in static library) | None |
build_type |
Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] | None |
configure_cmd |
Configure command to use | "cmake" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
generator |
Build file generator to use. None to use CMakes default | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
install_target_subdir |
Subdirectory to use as installation target | None |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
runtest |
Make target to test build or True to use CTest | None |
separate_build_dir |
Perform build in a separate directory | True |
srcdir |
Source directory location to provide to cmake command | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
Customised steps in CMakeMake
easyblock¶
-
configure_step
- Configure build using cmake -
install_step
- Configure build using cmake
Example easyconfig for CMakeMake
easyblock¶
easyblock = 'CMakeMake'
name = 'ANTs'
version = '2.1.0rc3'
homepage = 'http://stnava.github.io/ANTs/'
description = """ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing,
interpreting and visualizing multidimensional data."""
toolchain = {'name': 'goolf', 'version': '1.5.14'}
toolchainopts = {'pic': True}
source_urls = ['https://github.com/stnava/ANTs/archive/']
sources = ['v%(version)s.tar.gz']
builddependencies = [('CMake', '3.0.2')]
skipsteps = ['install']
buildopts = ' && mkdir -p %(installdir)s && cp -r * %(installdir)s/'
parallel = 1
separate_build_dir = True
sanity_check_paths = {
'files': ['bin/ANTS'],
'dirs': ['lib'],
}
moduleclass = 'data'
CMakeMakeCp
¶
(derives from CMakeMake
, MakeCp
)
Software configured with CMake but without 'make install' step
We use the default CMakeMake implementation, and use install_step from MakeCp.
Extra easyconfig parameters specific to CMakeMakeCp
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
abs_path_compilers |
Specify compilers via absolute file path (not via command names) | False |
allow_system_boost |
Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) | False |
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_shared_libs |
Build shared library (instead of static library)None can be used to add no flag (usually results in static library) | None |
build_type |
Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] | None |
configure_cmd |
Configure command to use | "cmake" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
files_to_copy |
List of files or dirs to copy | None |
generator |
Build file generator to use. None to use CMakes default | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
install_target_subdir |
Subdirectory to use as installation target | None |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
runtest |
Make target to test build or True to use CTest | None |
separate_build_dir |
Perform build in a separate directory | True |
srcdir |
Source directory location to provide to cmake command | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
with_configure |
Run configure script before building | False |
Customised steps in CMakeMakeCp
easyblock¶
-
configure_step
- Configure build using CMake -
install_step
- Install by copying specified files and directories.
CMakeNinja
¶
(derives from CMakeMake
, MesonNinja
)
Support for configuring with CMake, building and installing with MesonNinja.
Extra easyconfig parameters specific to CMakeNinja
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
abs_path_compilers |
Specify compilers via absolute file path (not via command names) | False |
allow_system_boost |
Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) | False |
build_cmd |
Build command to use | "ninja" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_dir |
build_dir to pass to meson | None |
build_shared_libs |
Build shared library (instead of static library)None can be used to add no flag (usually results in static library) | None |
build_type |
Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] | None |
configure_cmd |
Configure command to use | "cmake" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
generator |
Build file generator to use. None to use CMakes default | "Ninja" |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "ninja" |
install_target_subdir |
Subdirectory to use as installation target | None |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
runtest |
Make target to test build or True to use CTest | None |
separate_build_dir |
Perform build in a separate directory | True |
srcdir |
Source directory location to provide to cmake command | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
Customised steps in CMakeNinja
easyblock¶
-
build_step
- Build using MesonNinja. -
configure_step
- Configure using CMake. -
install_step
- Install using MesonNinja.
CMakePythonPackage
¶
(derives from CMakeMake
, PythonPackage
)
Build a Python package and module with cmake.
Some packages use cmake to first build and install C Python packages and then put the Python package in lib/pythonX.Y/site-packages.
We use the default CMake implementation, and use make_module_extra from PythonPackage to generate a module file which sets the PYTHONPATH.
Extra easyconfig parameters specific to CMakePythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
abs_path_compilers |
Specify compilers via absolute file path (not via command names) | False |
allow_system_boost |
Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) | False |
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_shared_libs |
Build shared library (instead of static library)None can be used to add no flag (usually results in static library) | None |
build_type |
Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] | None |
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
configure_cmd |
Configure command to use | "cmake" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
generator |
Build file generator to use. None to use CMakes default | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
install_target_subdir |
Subdirectory to use as installation target | None |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Make target to test build or True to use CTest | None |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
separate_build_dir |
Perform build in a separate directory | True |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
srcdir |
Source directory location to provide to cmake command | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
Customised steps in CMakePythonPackage
easyblock¶
-
configure_step
- Main configuration using cmake -
install_step
- Main configuration using cmake
Cargo
¶
(derives from ExtensionEasyBlock
)
Support for installing Cargo packages (Rust)
Extra easyconfig parameters specific to Cargo
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
crates |
List of (crate, version, [repo, rev]) tuples to use | [] |
enable_tests |
Enable building of tests | True |
lto |
Override default LTO flag ('fat', 'thin', 'off') | None |
offline |
Build offline | True |
options |
Dictionary with extension options. | {} |
Customised steps in Cargo
easyblock¶
-
build_step
- Build with cargo -
configure_step
- Empty configuration step. -
install_step
- Install with cargo
CargoPythonBundle
¶
(derives from PythonBundle
, Cargo
)
Builds just like PythonBundle with setup for Rust and crates from Cargo easyblock
The cargo init step will set up the environment variables for rustc and vendor sources but all the build steps are triggered like normal.
Extra easyconfig parameters specific to CargoPythonBundle
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
crates |
List of (crate, version, [repo, rev]) tuples to use | [] |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
enable_tests |
Enable building of tests | True |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
lto |
Override default LTO flag ('fat', 'thin', 'off') | None |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
offline |
Build offline | True |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
CargoPythonPackage
¶
(derives from PythonPackage
, Cargo
)
Build a Python package with setup from Cargo but build/install step from PythonPackage
The cargo init step will set up the environment variables for rustc and vendor sources but all the build steps are triggered via normal PythonPackage steps like normal.
Extra easyconfig parameters specific to CargoPythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
crates |
List of (crate, version, [repo, rev]) tuples to use | [] |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
enable_tests |
Enable building of tests | True |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
lto |
Override default LTO flag ('fat', 'thin', 'off') | None |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
offline |
Build offline | True |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
CmdCp
¶
(derives from MakeCp
)
Software with no configure, no make, and no make install step. Just run the specified command for all sources, and copy specified files to the install dir
Extra easyconfig parameters specific to CmdCp
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_type |
Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
cmds_map |
List of regex/template command (with 'source'/'target' fields) tuples | [('.*', '$CC $CFLAGS %(source)s -o %(target)s')] |
configure_cmd |
Configure command to use | "./configure" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
files_to_copy |
List of files or dirs to copy | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
with_configure |
Run configure script before building | False |
Customised steps in CmdCp
easyblock¶
-
build_step
- Build by running the command with the inputfiles -
configure_step
- Build by running the command with the inputfiles -
install_step
- Build by running the command with the inputfiles
Conda
¶
(derives from Binary
)
Support for installing software using 'conda'.
Extra easyconfig parameters specific to Conda
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
channels |
List of conda channels to pass to 'conda install' | None |
environment_file |
Conda environment.yml file to use with 'conda env create' | None |
extract_sources |
Whether or not to extract sources | False |
install_cmd |
Install command to be used. | None |
install_cmds |
List of install commands to be used. | None |
prepend_to_path |
Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. | [''] |
remote_environment |
Remote conda environment to use with 'conda env create' | None |
requirements |
Requirements specification to pass to 'conda install' | None |
staged_install |
Perform staged installation via subdirectory of build directory | False |
Customised steps in Conda
easyblock¶
install_step
- Install software using 'conda env create' or 'conda create' & 'conda install' (or the 'mamba', etc., equivalent).
ConfigureMake
¶
(derives from EasyBlock
)
Support for building and installing applications with configure/make/make install
Extra easyconfig parameters specific to ConfigureMake
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_type |
Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
configure_cmd |
Configure command to use | "./configure" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
Commonly used easyconfig parameters with ConfigureMake
easyblock¶
easyconfig parameter | description |
---|---|
configopts | Extra options passed to configure (default already has --prefix) |
buildopts | Extra options passed to make step (default already has -j X) |
installopts | Extra options for installation |
Customised steps in ConfigureMake
easyblock¶
-
build_step
- Start the actual build - typical: make -j X -
configure_step
- Configure step - typically ./configure --prefix=/install/path style -
install_step
- Create the installation in correct location - typical: make install
Example easyconfig for ConfigureMake
easyblock¶
easyblock = 'ConfigureMake'
name = 'zsync'
version = '0.6.2'
homepage = 'http://zsync.moria.org.uk/'
description = """zsync-0.6.2: Optimising file distribution program, a 1-to-many rsync"""
toolchain = {'name': 'ictce', 'version': '5.3.0'}
sources = [SOURCE_TAR_BZ2]
source_urls = ['http://zsync.moria.org.uk/download/']
sanity_check_paths = {
'files': ['bin/zsync'],
'dirs': []
}
moduleclass = 'tools'
ConfigureMakePythonPackage
¶
(derives from ConfigureMake
, PythonPackage
)
Build a Python package and module with python configure
/make
/make install
.
Implemented by using:
- a custom implementation of configure_step
- using the build_step and install_step from ConfigureMake
- using the sanity_check_step and make_module_extra from PythonPackage
Extra easyconfig parameters specific to ConfigureMakePythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_type |
Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
configure_cmd |
Configure command to use | "./configure" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
Customised steps in ConfigureMakePythonPackage
easyblock¶
-
build_step
- Build Python package withmake
. -
configure_step
- Configure build usingpython configure
. -
install_step
- Install withmake install
.
Example easyconfig for ConfigureMakePythonPackage
easyblock¶
easyblock = 'ConfigureMakePythonPackage'
name = 'PyQt'
version = '4.11.3'
versionsuffix = '-Python-%(pyver)s'
homepage = 'http://www.riverbankcomputing.co.uk/software/pyqt'
description = """PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework."""
toolchain = {'name': 'goolf', 'version': '1.5.14'}
sources = ['%(name)s-x11-gpl-%(version)s.tar.gz']
source_urls = ['http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-%(version)s']
dependencies = [
('Python', '2.7.9'),
('SIP', '4.16.4', versionsuffix),
('Qt', '4.8.6'),
]
configopts = "configure-ng.py --confirm-license"
configopts += " --destdir=%%(installdir)s/lib/python%(pyshortver)s/site-packages "
configopts += " --no-sip-files"
options = {'modulename': 'PyQt4'}
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'vis'
CrayToolchain
¶
(derives from Bundle
)
Compiler toolchain: generate module file only, nothing to build/install
Extra easyconfig parameters specific to CrayToolchain
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
FortranPythonPackage
¶
(derives from PythonPackage
)
Extends PythonPackage to add a Fortran compiler to the make call
Extra easyconfig parameters specific to FortranPythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
Customised steps in FortranPythonPackage
easyblock¶
-
build_step
- Customize the build step by adding compiler-specific flags to the build command. -
configure_step
- Customize the build step by adding compiler-specific flags to the build command. -
install_step
- Customize the build step by adding compiler-specific flags to the build command.
GoPackage
¶
(derives from EasyBlock
)
Builds and installs a Go package, and provides a dedicated module file.
Extra easyconfig parameters specific to GoPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
forced_deps |
Force specific version of Go package, when building non-native module | None |
modulename |
Module name of the Go package, when building non-native module | None |
Customised steps in GoPackage
easyblock¶
-
build_step
- If Go package is not native go module, lets try to make the module. -
configure_step
- Configure Go package build/install. -
install_step
- Install Go package to a custom path
IntelBase
¶
(derives from EasyBlock
)
Base class for Intel software
- no configure/make : binary release
- add license_file variable
Extra easyconfig parameters specific to IntelBase
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
components |
List of components to install | None |
license_activation |
License activation type | "license_server" |
m32 |
Enable 32-bit toolchain | False |
requires_runtime_license |
Boolean indicating whether or not a runtime license is required | True |
serial_number |
Serial number for the product | None |
usetmppath |
Use temporary path for installation | False |
Customised steps in IntelBase
easyblock¶
-
build_step
- Binary installation files, so no building. -
configure_step
- Configure: handle license file and clean home dir. -
install_step
- Install Intel software
JAR
¶
(derives from Binary
)
Support for installing JAR files.
Extra easyconfig parameters specific to JAR
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
extract_sources |
Whether or not to extract sources | False |
install_cmd |
Install command to be used. | None |
install_cmds |
List of install commands to be used. | None |
prepend_to_path |
Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. | [''] |
staged_install |
Perform staged installation via subdirectory of build directory | False |
JuliaBundle
¶
(derives from Bundle
, JuliaPackage
)
Bundle of JuliaPackages: install Julia packages as extensions in a bundle Defines custom sanity checks and module environment
Extra easyconfig parameters specific to JuliaBundle
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
download_pkg_deps |
Let Julia download and bundle all needed dependencies for this installation | False |
options |
Dictionary with extension options. | {} |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
Customised steps in JuliaBundle
easyblock¶
install_step
- Prepare installation environment and dd all dependencies to project environment.
JuliaPackage
¶
(derives from ExtensionEasyBlock
)
Builds and installs Julia Packages.
Julia environment setup during installation: - initialize new Julia environment in 'environments' subdir in installation directory - remove paths in user depot '~/.julia' from DEPOT_PATH and LOAD_PATH - put installation directory as top DEPOT_PATH, the target depot for installations with Pkg - put installation environment as top LOAD_PATH, needed to precompile installed packages - add Julia packages found in dependencies of the easyconfig to installation environment, needed for Pkg to be aware of those packages and not install them again - add newly installed Julia packages to installation environment (automatically done by Pkg)
Julia environment setup on module load:
User depot and its shared environment for this version of Julia are kept as top paths of DEPOT_PATH and
LOAD_PATH respectively. This ensures that the user can keep using its own environment after loading
JuliaPackage modules, installing additional software on its personal depot while still using packages
provided by the module. Effectively, this translates to:
- append installation directory to list of DEPOT_PATH, only really needed to load artifacts (JLL packages)
- append installation Project.toml file to list of LOAD_PATH, needed to load packages with using
command
Extra easyconfig parameters specific to JuliaPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
download_pkg_deps |
Let Julia download and bundle all needed dependencies for this installation | False |
options |
Dictionary with extension options. | {} |
Customised steps in JuliaPackage
easyblock¶
-
build_step
- No separate build procedure for JuliaPackage. -
configure_step
- No separate configuration for JuliaPackage. -
install_step
- Prepare installation environment and install Julia package.
MakeCp
¶
(derives from ConfigureMake
)
Software with no configure and no make install step.
Extra easyconfig parameters specific to MakeCp
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_type |
Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
configure_cmd |
Configure command to use | "./configure" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
files_to_copy |
List of files or dirs to copy | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
with_configure |
Run configure script before building | False |
Customised steps in MakeCp
easyblock¶
-
configure_step
- Configure build if required -
install_step
- Install by copying specified files and directories.
MesonNinja
¶
(derives from EasyBlock
)
Support for building and installing software with 'meson' and 'ninja'.
Extra easyconfig parameters specific to MesonNinja
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
build_cmd |
Build command to use | "ninja" |
build_dir |
build_dir to pass to meson | None |
configure_cmd |
Configure command to use | "meson" |
install_cmd |
Install command to use | "ninja" |
separate_build_dir |
Perform build in a separate directory | True |
Customised steps in MesonNinja
easyblock¶
-
build_step
- Build with Ninja. -
configure_step
- Configure with Meson. -
install_step
- Install with 'ninja install'.
ModuleRC
¶
(derives from EasyBlock
)
Generic easyblock to create a software-specific .modulerc file
Extra easyconfig parameters specific to ModuleRC
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
check_version |
Check version is prefix of dependency | True |
Customised steps in ModuleRC
easyblock¶
-
build_step
- Do nothing. -
configure_step
- Do nothing. -
install_step
- Do nothing.
OCamlPackage
¶
(derives from ExtensionEasyBlock
)
Builds and installs OCaml packages using OPAM package manager.
Extra easyconfig parameters specific to OCamlPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
options |
Dictionary with extension options. | {} |
Customised steps in OCamlPackage
easyblock¶
-
configure_step
- Raise error when configure step is run: installing OCaml packages stand-alone is not supported (yet) -
install_step
- Raise error when configure step is run: installing OCaml packages stand-alone is not supported (yet)
OctavePackage
¶
(derives from ExtensionEasyBlock
)
Builds and installs Octave extension toolboxes.
Extra easyconfig parameters specific to OctavePackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
options |
Dictionary with extension options. | {} |
Customised steps in OctavePackage
easyblock¶
-
configure_step
- Raise error when configure step is run: installing Octave toolboxes stand-alone is not supported (yet) -
install_step
- Raise error when configure step is run: installing Octave toolboxes stand-alone is not supported (yet)
PackedBinary
¶
(derives from Binary
, EasyBlock
)
Support for installing packed binary software. Just unpack the sources in the install dir
Extra easyconfig parameters specific to PackedBinary
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
extract_sources |
Whether or not to extract sources | False |
install_cmd |
Install command to be used. | None |
install_cmds |
List of install commands to be used. | None |
prepend_to_path |
Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. | [''] |
staged_install |
Perform staged installation via subdirectory of build directory | False |
Customised steps in PackedBinary
easyblock¶
install_step
- Copy all unpacked source directories to install directory, one-by-one.
PerlBundle
¶
(derives from Bundle
)
Bundle of perl modules
Extra easyconfig parameters specific to PerlBundle
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
options |
Dictionary with extension options. | {} |
prefix_opt |
String to use for option to set installation prefix (default is 'PREFIX') | None |
runtest |
Run unit tests. | "test" |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
PerlModule
¶
(derives from ExtensionEasyBlock
, ConfigureMake
)
Builds and installs a Perl module, and can provide a dedicated module file.
Extra easyconfig parameters specific to PerlModule
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
options |
Dictionary with extension options. | {} |
prefix_opt |
String to use for option to set installation prefix (default is 'PREFIX') | None |
runtest |
Run unit tests. | "test" |
Customised steps in PerlModule
easyblock¶
-
build_step
- No separate build procedure for Perl modules. -
configure_step
- No separate configuration for Perl modules. -
install_step
- Run install procedure for Perl modules.
PythonBundle
¶
(derives from Bundle
)
Bundle of PythonPackages: install Python packages as extensions in a bundle Defines custom sanity checks and module environment
Extra easyconfig parameters specific to PythonBundle
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
PythonPackage
¶
(derives from ExtensionEasyBlock
)
Builds and installs a Python package, and provides a dedicated module file.
Extra easyconfig parameters specific to PythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
Customised steps in PythonPackage
easyblock¶
-
build_step
- Build Python package using setup.py -
configure_step
- Configure Python package build/install. -
install_step
- Install Python package to a custom path using setup.py
RPackage
¶
(derives from ExtensionEasyBlock
)
Install an R package as a separate module, or as an extension.
Extra easyconfig parameters specific to RPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
exts_subdir |
Subdirectory where R extensions should be installed info | "" |
options |
Dictionary with extension options. | {} |
unpack_sources |
Unpack sources before installation | False |
Customised steps in RPackage
easyblock¶
-
build_step
- No separate build step for R packages. -
configure_step
- No configuration for installing R packages. -
install_step
- Install procedure for R packages.
Rpm
¶
(derives from Binary
)
Support for installing RPM files.
- sources is a list of rpms
- installation is with --nodeps (so the sources list has to be complete)
Extra easyconfig parameters specific to Rpm
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
extract_sources |
Whether or not to extract sources | False |
force |
Use force | False |
install_cmd |
Install command to be used. | None |
install_cmds |
List of install commands to be used. | None |
makesymlinks |
Create symlinks for listed paths | [] |
postinstall |
Enable post install | False |
preinstall |
Enable pre install | False |
prepend_to_path |
Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. | [''] |
staged_install |
Perform staged installation via subdirectory of build directory | False |
Customised steps in Rpm
easyblock¶
-
configure_step
- Custom configuration procedure for RPMs: rebuild RPMs for relocation if required. -
install_step
- Custom installation procedure for RPMs into a custom prefix.
RubyGem
¶
(derives from ExtensionEasyBlock
)
Builds and installs Ruby Gems.
Extra easyconfig parameters specific to RubyGem
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
gem_file |
Path to gem file in unpacked sources | None |
options |
Dictionary with extension options. | {} |
Customised steps in RubyGem
easyblock¶
-
configure_step
- No separate configuration for Ruby Gems. -
install_step
- Install Ruby Gems using gem package manager
SCons
¶
(derives from EasyBlock
)
Support for building/installing with SCons.
Extra easyconfig parameters specific to SCons
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
prefix_arg |
Syntax for specifying installation prefix | "PREFIX=" |
Customised steps in SCons
easyblock¶
-
build_step
- Build with SCons -
configure_step
- No configure step for SCons -
install_step
- Install with SCons
SystemCompiler
¶
(derives from Bundle
, EB_GCC
, EB_ifort
)
Support for generating a module file for the system compiler with specified name.
The compiler is expected to be available in $PATH, required libraries are assumed to be readily available.
Specifying 'system' as a version leads to using the derived compiler version in the generated module; if an actual version is specified, it is checked against the derived version of the system compiler that was found.
Extra easyconfig parameters specific to SystemCompiler
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_type |
Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
clooguseisl |
Use ISL with CLooG or not | False |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
configure_cmd |
Configure command to use | "./configure" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
generate_standalone_module |
Add known path/library extensions and environment variables for the compiler to the final module | False |
generic |
Build GCC and support libraries such that it runs on all processors of the target architecture (use False to enforce non-generic regardless of configuration) | None |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
languages |
List of languages to build GCC for (--enable-languages) | [] |
license_activation |
License activation type | "license_server" |
m32 |
Enable 32-bit toolchain | False |
multilib |
Build multilib gcc (both i386 and x86_64) | False |
pplwatchdog |
Enable PPL watchdog | False |
prefer_lib_subdir |
Configure GCC to prefer 'lib' subdirs over 'lib64' when linking | False |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
profiled |
Bootstrap GCC with profile-guided optimizations | False |
rename_include_fixed |
Rename the 'include-fixed' directory to avoid that it is used by GCC. This avoids issues when upgrading the OS but might limit the functionality of GCC, especially if the OS GLIBC is older than GCC. A script to (re-)generate the include-fixed folder is created in the 'easybuild' subfolder inside the installation directory. | False |
requires_runtime_license |
Boolean indicating whether or not a runtime license is required | True |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
serial_number |
Serial number for the product | None |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
use_gold_linker |
Configure GCC to use GOLD as default linker (default: enable automatically for GCC < 11.3.0, except on RISC-V) | None |
usetmppath |
Use temporary path for installation | False |
withamdgcn |
Build GCC with AMD GCN offload support | False |
withcloog |
Build GCC with CLooG support | False |
withisl |
Build GCC with ISL support | False |
withlibiberty |
Enable installing of libiberty | False |
withlto |
Enable LTO support | True |
withnvptx |
Build GCC with NVPTX offload support | False |
withppl |
Build GCC with PPL support | False |
SystemMPI
¶
(derives from Bundle
, ConfigureMake
, EB_impi
)
Support for generating a module file for the system mpi with specified name.
The mpi compiler is expected to be available in $PATH, required libraries are assumed to be readily available.
Specifying 'system' as a version leads to using the derived mpi version in the generated module; if an actual version is specified, it is checked against the derived version of the system mpi that was found.
Extra easyconfig parameters specific to SystemMPI
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
build_cmd |
Build command to use | "make" |
build_cmd_targets |
Target name (string) or list of target names to build | "" |
build_type |
Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
configure_cmd |
Configure command to use | "./configure" |
configure_cmd_prefix |
Prefix to be glued before ./configure | "" |
configure_without_installdir |
Avoid passing an install directory to the configure command (such as via --prefix) | False |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
generate_standalone_module |
Add known path extensions and environment variables for the MPI installation to the final module | False |
host_type |
Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) | None |
install_cmd |
Install command to use | "make install" |
libfabric_configopts |
Configure options for the provided libfabric | "" |
libfabric_rebuild |
Try to rebuild internal libfabric instead of using provided binary | True |
license_activation |
License activation type | "license_server" |
m32 |
Enable 32-bit toolchain | False |
ofi_internal |
Use internal shipped libfabric instead of external libfabric | True |
prefix_opt |
Prefix command line option for configure script ('--prefix=' if None) | None |
requires_runtime_license |
Boolean indicating whether or not a runtime license is required | True |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
serial_number |
Serial number for the product | None |
set_mpi_wrapper_aliases_gcc |
Set compiler for mpigcc/mpigxx via aliases | False |
set_mpi_wrapper_aliases_intel |
Set compiler for mpiicc/mpiicpc/mpiifort via aliases | False |
set_mpi_wrappers_all |
Set (default) compiler for all MPI wrapper commands | False |
set_mpi_wrappers_compiler |
Override default compiler used by MPI wrapper commands | False |
tar_config_opts |
Override tar settings as determined by configure. | False |
test_cmd |
Test command to use ('runtest' value is appended, default: 'make') | None |
usetmppath |
Use temporary path for installation | False |
Tarball
¶
(derives from ExtensionEasyBlock
)
Precompiled software supplied as a tarball: will unpack binary and copy it to the install dir
Extra easyconfig parameters specific to Tarball
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
install_type |
Defaults to extract tarball into clean directory. Options: 'merge' merges tarball to existing directory, 'subdir' extracts tarball into its own sub-directory | None |
options |
Dictionary with extension options. | {} |
preinstall_cmd |
Command to execute before installation | None |
Customised steps in Tarball
easyblock¶
-
build_step
- Dummy build method: nothing to build -
configure_step
- Dummy configure method -
install_step
- Install by copying from specified source directory (or 'start_dir' if not specified).
Toolchain
¶
(derives from Bundle
)
Compiler toolchain easyblock: nothing to install, just generate module file.
Extra easyconfig parameters specific to Toolchain
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
altroot |
Software name of dependency to use to define $EBROOT for this bundle | None |
altversion |
Software name of dependency to use to define $EBVERSION for this bundle | None |
components |
List of components to install: tuples w/ name, version and easyblock to use | () |
default_component_specs |
Default specs to use for every component | {} |
default_easyblock |
Default easyblock to use for components | None |
sanity_check_all_components |
Enable sanity checks for all components | False |
sanity_check_components |
List of components for which to run sanity checks | [] |
set_env_external_modules |
Include setenv statements for toolchain components that use an external module, based on available metadata | False |
VSCPythonPackage
¶
(derives from VersionIndependentPythonPackage
)
Support for install VSC Python packages.
Extra easyconfig parameters specific to VSCPythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
VersionIndependentPythonPackage
¶
(derives from PythonPackage
)
Support for building/installing python packages without requiring a specific python package.
Extra easyconfig parameters specific to VersionIndependentPythonPackage
easyblock¶
easyconfig parameter | description | default value |
---|---|---|
buildcmd |
Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. | None |
check_ldshared |
Check Python value of $LDSHARED, correct if needed to "$CC -shared" | None |
download_dep_fail |
Fail if downloaded dependencies are detected | None |
install_src |
Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified | None |
install_target |
Option to pass to setup.py | "install" |
max_py_majver |
Maximum major Python version (only relevant when using system Python) | None |
max_py_minver |
Maximum minor Python version (only relevant when using system Python) | None |
options |
Dictionary with extension options. | {} |
pip_ignore_installed |
Let pip ignore installed Python packages (i.e. don't remove them) | True |
pip_no_index |
Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True | None |
pip_verbose |
Pass --verbose to 'pip install' (if pip is used). Enabled by default if the EB option --debug is used. | None |
req_py_majver |
Required major Python version (only relevant when using system Python) | None |
req_py_minver |
Required minor Python version (only relevant when using system Python) | None |
runtest |
Run unit tests. | True |
sanity_pip_check |
Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. | False |
source_urls |
List of URLs for source files | ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] |
testinstall |
Install into temporary directory prior to running the tests. | False |
unpack_sources |
Unpack sources prior to build/install. Defaults to 'True' except for whl files | None |
unversioned_packages |
List of packages that don't have a version at all, i.e. show 0.0.0 | [] |
use_pip |
Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | None |
use_pip_editable |
Install using 'pip install --editable' | False |
use_pip_extras |
String with comma-separated list of 'extras' to install via pip | None |
use_pip_for_deps |
Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' | False |
use_pip_requirement |
Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. | False |
zipped_egg |
Install as a zipped eggs | False |
Customised steps in VersionIndependentPythonPackage
easyblock¶
-
build_step
- No build procedure. -
configure_step
- No build procedure. -
install_step
- Custom install procedure to skip selection of python package versions.
Waf
¶
(derives from EasyBlock
)
Support for building and installing applications with waf
Customised steps in Waf
easyblock¶
-
build_step
- Build with ./waf build -
configure_step
- Configure with ./waf configure --prefix= -
install_step
- Install with ./waf install