EasyBuild v4.2.0 Release Notes

Release Date: 2020-04-14 // about 4 years ago
  • 🚀 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 https://easybuild.readthedocs.io/en/latest/Locks.html 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 https://easybuild.readthedocs.io/en/latest/Easyconfigs_index.html 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, https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html

    📇 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 (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 parameters (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 https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html .

    🚀 A detailed overview of all changes, which links to the respective pull requests, is available in the release notes at https://easybuild.readthedocs.io/en/latest/Release_notes.html#easybuild-v4-2-0-april-14th-2020 .

    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!