Dear EasyBuilders,
It's my pleasure to announce the release of EasyBuild v4.2.0. [1]
This release is so packed with goodies that evil fairies tried to
prevent you from installing it,
by interfering with the release process and messing up the source
tarball that was pushed by PyPI.
Luckily, we noticed their mischief, and resolved the issue quickly
before any real damage was done... [2]
EasyBuild v4.2.0 is primarily a feature/update release, but also
includes various bug fixes.
Highlights of the changes in this release include:
* (experimental) support for --try-update-deps, to upgrade dependencies
based on available easyconfigs;
* a locking mechanism to prevent two simultaneous installations of the
same easyconfig file to the same installation path (see [3] for more
information);
* significant speedup for -D/--dry-run by avoiding useless 'module show'
calls;
* support for creating an index & using it to speed up searching for
easyconfigs (see [4] for more information);
* additional GitHub integration features:
- support for targeting the easyblocks and framework repositories
with 'eb --new-pr' (via --pr-target-repo);
- support for including easyblocks from an (open) pull request via
--include-easyblocks-from-pr;
- for more information, see [5];
* probing of external modules for missing metadata that is not provided
via an external module metadata file (mostly relevant for integration
with the Cray Programming Environment);
* leveraging the 'archspec' Python library [6] (if it is installed) to
show the "code name" of the processor in your system in the output of
"eb --show-system-info" and in test reports uploaded to PRs via
--upload-test-report;
* support for using templates like '%(cudaver)s' for the CUDA version
(if it's included as direct dependency);
* fix for UnicodeDecodeError that was raised when reading a patch file
that contained non-ASCII characters (if EasyBuild was being run with
Python 3);
* fixed filtering of already installed extensions under --skip (mostly
relevant for Python packages installed as bundles of extensions);
* also support '%(installdir)s' and '%(builddir)s' templates for extensions;
* take into account toolchain hierarchy when dumping easyconfig files,
to avoid hardcoded subtoolchains in '*dependencies' easyconfig parameter
(relevant when using --try-* options);
* take into account dependencies marked as external modules when
composing template values like '%(pyver)s';
* deprecate rmtree2 function provided by easybuild.tools.filetools (the
remove_dir function should be used instead);
* 7 new software-specific easyblocks: BerkeleyGW, CMake, ELSI, LAMMPS,
libdrm, Mesa, SEPP;
* updates, enhancements & bug fixes for the CMakeMake, PythonPackage and
PythonBundle generic easyblocks;
* updates, enhancements & bug fixes in the software-specific easyblocks
for Clang, Ferret, Hypre, impi, libxml2, MATLAB, numexpr, OpenBabel,
OpenBLAS, OpenCV, OpenFOAM, ParMETIS, PETSc, Python, QuantumESPRESSO,
Qt, ROOT, Siesta, tbb, TensorFlow, TensorRT, Trinity, VMD, XCrySDen;
* added support for no less than 114 (!) new software packages, incl.
ADIOS, ArviZ, Bonito, ELSI, FuSeq, GraphMap2, LAMMPS, MedPy,
motionSegmentation, OpenAI-Gym, PyMC3, PyRe, PyTorch-Geometric,
RAxML-NG, Shapely, STEAK, UQTk, Zip, ...;
* updates for already supported software, incl. Arrow 0.16.0, BUSCO
4.0.5, Clang 10.0.0, ELPA 2019.11.001, Ferret 7.5.0, GCC(core) 9.3.0,
GROMACS 2020, GTK+ 3.24.13, Hypre 2.18.2, IQ-TREE 1.6.12, Java 13(.0.2),
LLVM 9.0.1 + 10.0.0, likwid 5.0.1, medaka 0.12.0, numba 0.47.0, Octave
5.1.0, OpenBLAS 0.3.8, OpenBabel 3.0.0, OpenCV 4.2.0, OpenFOAM-Extend
4.1-20191120, PETSc 3.12.4, PyTorch 1.4.0, Qhull 2019.1, QuantumESPRESSO
6.5, R-bundle-Bioconductor 3.10, Racon 1.4.10, ReFrame 2.21, SLEPc
3.12.2, SimpleElastix 1.1.0, SimpleITK 1.2.4, TensorFlow 1.15.2 + 2.0.1,
Trinity 2.10.0, XGBoost 0.90, xarray 0.15.1, ...;
* update Java/1.8 wrapper to Java/1.8.0_241;
* enhanced Java/11 wrapper to support both x86_64 and POWER;
* fixed source URL for ISL component in GCCcore easyconfigs;
* checksum fixes in easyconfigs for R 3.6.0 and 3.6.2;
* revert removal of AVX512 vmovd with 64-bit operands in binutils 2.32
easyconfigs;
* fixed packaging issue that resulted in CVS easyconfigs to be missing
from EasyBuild releases;
* updated checksum/homepage in tbb easyconfigs after move to
'oneapi-src' repository;
* various additional updates, enhancements & bug fixes;
This brings the total number of supported software packages to 1,912!
An up-to-date list of supported software is available at [7].
A detailed overview of all changes, which links to the respective pull
requests,
is available in the release notes at [8].
These changes result from various contributions, made by 26 different
contributors:
* 56 merged pull requests for EasyBuild framework
* 63 merged pull requests for easyblocks
* 381 merged pull requests for easyconfigs
Thanks to everyone who contributed to this release in one way or another!
To upgrade to EasyBuild v4.2.0, there are several options [9].
Two particularly easy options include:
* eb --install-latest-eb-release
* eb --from-pr 10392 # use easyconfig from PR #10392
[10]
Enjoy!
regards,
Kenneth & Miguel
[1] https://pypi.org/project/easybuild/4.2.0.post0
[2]
https://github.com/easybuilders/easybuild/pull/615#issuecomment-613540406
[3] https://easybuild.readthedocs.io/en/latest/Locks.html
[4] https://easybuild.readthedocs.io/en/latest/Easyconfigs_index.html
[5] https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html
[6] https://github.com/archspec/archspec
[7]
https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html
[8]
https://easybuild.readthedocs.io/en/latest/Release_notes.html#easybuild-v4-2-0-april-14th-2020
[9]
https://easybuild.readthedocs.io/en/latest/Installation.html#updating-an-existing-easybuild-installation
[10] https://github.com/easybuilders/easybuild-easyconfigs/pull/10392/files