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

Reply via email to