Skip to content

EasyBuild release notes

The latest version of EasyBuild provides support for building and installing 3,670 different software packages, including 41 different (compiler) toolchains. It contains 259 software-specific easyblocks and 43 generic easyblocks, alongside 20,670 easyconfig files.

EasyBuild v4.9.4 (22 Sept 2024)

bugfix/update release

framework

  • various enhancements, including:
    • set $LMOD_TERSE_DECORATIONS to 'no' to avoid additional info in output produced by 'ml --terse avail' (#4648)
  • various bug fixes, including:
    • implement workaround for permission error when copying read-only files that have extended attributes set and using Python 3.6 (#4642)
    • take into account alternate sysroot for /bin/bash used by run_cmd (#4646)

easyblocks

  • various enhancements, including:
    • ignore Python from virtualenvs in GROMACS configure via -DPython3_FIND_VIRTUALENV=STANDARD (#3283)
    • enhance custom easyblock for NCCL: add licence to NCCL installation (#3451)
  • various bug fixes, including:
    • allow Python bundles and packages to specify a maximum Python version for the system toolchain (#3431)
    • copy EasyConfig instance in constructor of Bundle and Cargo easyblocks before making changes to it (#3448)
    • fix crash in GCC easyblock when cuda-compute-capabilities EasyBuild configuration option is not set (#3449)

easyconfigs

  • added example easyconfig files for 14 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • awscli 2.17.54, BiG-SCAPE-1.1.9, ccache 4.10.2, CLHEP 2.4.7.1, CREST 3.0.2, decona 1.4-2024073, dftd4 3.7.0, GATE 9.4, Gdk-Pixbuf 2.42.11, Geant4 11.2.2, Geant4-data 11.2, Ghostscript 10.03.1, GitPython 3.1.43, GObject-Introspection 1.80.1, HarfBuzz 9.0.0, ImageMagick 7.1.1-38, JasPer 4.2.4, joypy 0.2.6, Julia 1.10.4, LDC 1.39.0, Leptonica 1.84.1, Markdown 3.7, MPICH 4.2.2, NanoComp 1.24.0, nanoget 1.19.3, nanomath 1.4.0, NanoPlot 1.43.0, Pango 1.54.0, PCAngsd 1.2, Pillow 10.4.0, python-isal 1.7.0, pocl 6.0, PROJ 9.4.1, protobuf 28.0, protobuf-python 5.28.0, R-tesseract 5.2.1, RepeatMasker 4.1.7-p1, RHEIA 1.1.11, RMBlast 2.14.1, scikit-build-core 0.10.6, sleuth 0.30.1, SNAP-ESA 10.0.0, tesseract 5.3.4, Triton 2.1.0, TurboVNC 3.1.2, VirtualGL 3.1.1, zlib-ng 2.2.1
  • minor enhancements, including:
    • enable support for Apache ORC to Arrow v14.0.1 and v16.1.0 (#21056)
    • use proper dependency for tensorboard in easyconfigs for TensorFlow v2.15.1 (#21337)
  • various bug fixes, including:
    • account for crates for easyconfigs using Cargo-based easyblock when determining checksums for patches in easyconfigs test suite (#21419)
    • avoid missing symbol in mclust extension of R-4.0.3 w/ foss/2020b (#21429)
    • fix build of librosa 0.10.1 in some environments by removing "python -m build" for soxr extension (#21434)
    • fix repeated sanity check runs in manta easyconfigs (#21435)
    • fix test_easyconfig_locations when easyconfigs index is present (#21394)
    • use proper dependency for libnsl in git-annex (#21441)
    • avoid writing into ~/.stack directory during build for git-annex (#21452)
  • other changes:
    • remove exts_default_options from TensorFlow 2.3.1 (#21290)

EasyBuild v4.9.3 (14 Sept 2024)

bugfix/update release

framework

  • various enhancements, including:
    • add support for --extra-source-urls to fetch sources from additional URLs (#4079)
    • add definition for gmpflf toolchain (#4566, #4571)
    • reuse pre-computed checksums (#4569)
    • add cuda_cc_space_sep variant that does not have periods (#4583)
    • add --skip-sanity-check option (#4590)
    • add GNU_FTP_SOURCE template constant (#4597)
    • improve error messages for empty easyconfigs (#4603)
    • improve help string for --dep-graph (#4610)
    • only call _sanity_check_step_extensions if --skip-extensions is not set (#4620)
    • add support for --software-commit and an associated template %(software_commit)s (#4628)
  • various bug fixes, including:
    • correctly evaluate result for --dep-graph (#4554)
    • fix fetch progress bar showing too many files (#4568)
    • resolve internal for imkl>=2021 version subdir via "latest" symlink (#4570)
    • fix typo in message about including an easyblock from a commit (#4575)
    • don't use special flags for strict, precise, loose, veryloose toolchain options on RISC-V (#4576)
    • fix help text for cuda_compute_capabilities template (#4589)
    • fix help message for --http-headers-fields-urlpat configuration option (#4594)
    • fix test_compiler_cache in case gcc is available multiple times (#4599)
    • handle post-install patches in check_checksums_for (#4605)
    • fix copy_file with a folder as the target (#4609)
    • allow for case where homepage = None when generating the docs (#4626)
    • fix test_github_det_commit_status by using more recent commits (#4636)
  • other changes:
    • clean up code that was only there to support Python 2.6 + avoid syntax warnings when parsing py2vs3/py.p2 with Python 3.x (#3788)
    • use Intel's oneAPI Fortran compiler by default for version 2024.0.0 and newer (oneapi_fortran toolchain option set to True) (#4567)
    • allow using Node 16 actions in CI (#4574)
    • remove a superflous check in EasyBlock.run_all_steps (#4623)
    • remove trailing dots from backup message produced by --inject-checksums (#4632)

easyblocks

  • minor updates, including:
    • update custom easyblock for Tensorflow for versions 2.14 + 2.15 (#3303)
    • add support for versions >= 2024a to MCR easyblock (#3369)
    • update custom easyblock for Bazel for versions >= 7.0 (#3370)
    • don't consider lib/release for impi >= 2021.11 (#3375)
    • update ORCA easyblock for version 6 (#3395)
    • update custom easyblock for psmpi to support the renaming of a couple of options in 5.10.0-1 (#3420)
    • update sanity check in OpenFOAM easyblock, since there's no modifyMesh in OpenFOAM 12 (#3434)
    • fix sanity check for Geant4 >= v11.2 (#3439)
  • minor enhancements, including:
    • enhance psmpi easyblock to activate CUDA support when it is a dependency + make check for static libs in MPICH easyblock optional (#2787)
    • make a project environment and manage LOAD_PATH for JuliaPackage (#3239)
    • set build type for PyTorch explicitely (#3332)
    • add sanity_check_test_inputs custom easyconfig parameter, mapping for zen4, and support building of non-stable versions to LAMMPS easyblock (#3336)
    • add RISCV64 support and update config options of new versions of Extrae (#3339)
    • set $ESMFMKFILE environment variable in environment module for ESMF (#3368)
    • use build dir for big files/folders while building TensorFlow (#3371)
    • update PythonPackage easyblock to allow installation of Python packages with $PIP_REQUIRE_VIRTUALENV set + move temporary pip folder into build dir (#3374)
    • add RISC-V support to Boost easyblock (#3376)
    • add support for generating .gem files from .gemspec files and support for preinstallopts in the RubyGem easyblock (#3381)
    • simplify install step in custom easyblock for Tkinter (#3382)
    • add MSA and specially PMIx support for ParaStationMPI (#3383)
    • update custom easyblock for PETSc to consider include/suitesparse subdirectory for SuiteSparse headers (#3391)
    • enhance custom easyblock for GCC to use with-arch option for nvptx with 13.1+ (#3396)
    • support revisions in crates extraction of cargo packages (#3405)
    • set $R_LIBS_USER in RPackage easyblock to avoid picking up on R packages installed in home directory (#3407)
    • update custom easyblock for QuantumESPRESSO to be aware of MPI tests being disabled in EasyBuild configuration (#3412)
    • disable the version check of pip in Python packages by defining $PIP_DISABLE_PIP_VERSION_CHECK (#3427)
    • make sure user packages are not used in sanity check of PythonBundle (#3435)
    • enhance OpenFOAM easyblock to also build the plugins for OpenFOAM >= v2406 (#3436)
    • enhance binutils easyblock to explicitely pass msgpack configure option (#3438)
  • various bug fixes, including:
    • patch ctypes for Python installations when filtering LD_LIBRARY_PATH + fix path to ldconfig when using alternate sysroot (#3352)
    • also consider 'normalised' package name with underscore rather than dash in EasyBuild easyblock (#3358)
    • use PRRTE MCA environment variable for oversubscription in OpenMPI easyblock (#3360)
    • fix import of parse in openssl_wrapper.py for Python 2.7 (#3364)
    • make sure that OpenFOAM's wmake can find MPFR and GMP if CGAL >= 5.0 (header-only) is used (#3366)
    • remove dummy license server info from ANSYS (#3377)
    • explicitly call csh in custom easyblock for WPS (#3384)
    • use relative paths to object files when compiling shared libraries in the OpenFOAM easyblock (#3388)
    • change extra $PATH entry for OCaml to use opam/default rather than opam/system (#3390)
    • force --without-unwind for ARM and add --with-libz option for all architectures in custom easyblock for Extrae (#3393)
    • fix --sanity-check-only for impi (#3403)
    • fix crash in Cargo easyblock when no crates are specified (#3404)
    • fix double initialization of Cargo by CargoPythonPackage by removing incorrect custom __init__ implementation + fix use of super() in PALM easyblock (since that doesn't work with Python 2.7) (#3406)
    • fix typo in log message in PythonPackage easyblock (#3408)
    • make sure to raise an error if pick_python_cmd returns False for Python bundles/packages (#3430)
    • don't wipe build environment before building opam in install step of OCaml easyblock (#3443)
  • other changes:
    • merge of the ConfigureMake and CMakeMake versions of the easyblock for QuantumESPRESSO (#3338)
    • remove redundant backslashes in GEANT easyblock (#3394)

easyconfigs

  • added easyconfigs for foss/2024a (#21100) and intel/2024a (#21101) common toolchains
  • new toolchain: gmpflf/2024.06 (#20882)
  • added example easyconfig files for 107 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • AGAT 1.4.0, ASE 3.23.0, Abseil 20240722.0, Albumentations 1.4.0, AlphaPulldown 2.0.0b4, AlphaPulldown 2.0.0b4, AmberTools 26.3, Arrow 16.1.0, alsa-lib 1.2.11, archspec 0.2.4, attr 2.5.2, BayesTraits 4.1.2, BeautifulSoup 4.12.3, Biopython 1.84, Boost.MPI 1.83.0, bcl-convert 4.2.7-2, beagle-lib 4.0.1, biom-format 2.1.16, byacc 2.0.20240109, CDO 2.3.0, CFITSIO 4.4.1, CUDA-Samples 12.2, CUDA 12.5.0 + 12.6.0, CUTLASS 3.4.0, Catch2 2.13.10, CellOracle 0.18.0, Clang 18.1.8, Coreutils 9.5, chewBBACA 3.3.9, code-server 4.90.2, connected-components-3d 3.14.1, cooler 0.10.2, cryptography 42.0.8, cutadapt 4.9, cyvcf2 0.31.1, dorado 0.7.3, dtcmp 1.1.5, ESMF 8.6.1, EvidentialGene 2023.07.15, Extrae 4.2.0, ecBuild 3.8.5, elfutils 0.191, FFmpeg 7.0.2, FLAC 1.4.3, FUSE 3.16.2, Flask 3.0.3, Flye 2.9.4, FriBidi 1.0.15, ffnvcodec 12.2.72.0, flatbuffers-python 24.3.25, flatbuffers 24.3.25, fmt 10.2.1, fpylll 0.6.1, GCC 14.2.0, GDAL 3.9.0, GEOS 3.12.1, GHC 9.10.1, GLM 1.0.1, GLib 2.80.4, GLibmm 2.72.1 + 2.75.0 + 2.77.0 + 2.78.1, GPAW 24.6.0, GetOrganelle 1.7.7.1, Guile 2.0.14 + 3.0.10, Gurobi 11.0.2, gap 4.13.0, genomepy 0.16.1, gensim 4.3.2, gffutils 0.13, gh 2.52.0, git-annex 10.20240731, gmpy2 2.2.0, googletest 1.15.2, graph-tool 2.59, HDBSCAN 0.8.38.post1, HOMER 4.11.1, HTSeq 2.0.7, HiCMatrix 17.2, Highway 1.2.0, Hypre 2.31.0, hatchling 1.24.2, histolab 0.7.0, hypothesis 6.103.1, IQ-TREE 2.3.5, ImageMagick 7.1.1-34, Imath 3.1.11, IsoQuant 3.5.0, igraph 0.10.12, imageio 2.34.1, imbalanced-learn 0.12.3, inferCNV 1.21.0, intervaltree 0.1, JsonCpp 1.9.5, Julia 1.10.4, jax 0.4.25, json-fortran 8.5.2, Kent_tools 468, LLVM 18.1.8, LittleCMS 2.16, libdrm 2.4.122, libdwarf 0.10.1, libedit 20240517, libgeotiff 1.7.3, libgit2 1.8.1, libopus 1.5.2, libsigc++ 3.6.0, libspatialindex 2.0.0, libunistring 1.2, libunwind 1.8.1, libwebp 1.4.0, libxslt 1.1.42, libzip 1.10.1, lwgrp 1.0.6, lxml 5.3.0, MCR R2024a, MPICH 4.2.1, MUMPS 5.7.2, MariaDB 11.6.0, Maven 3.9.7, Mercurial 6.8.1, Mesa 24.1.3, Miniconda3 23.10.0-1, MultiQC 1.22.3, makedepend 1.0.9, matplotlib 3.9.2, maturin 1.6.0, medaka 1.12.1, meshio 5.3.5, meson-python 0.16.0, mm-common 1.0.6, NanoCaller 3.6.0, Normaliz 3.10.3, n2v 0.3.3, nano 8.1, ncbi-vdb 3.1.1, nettle 3.10, nsync 1.29.2, numexpr 2.9.0, ORCA 6.0.0, OpenEXR 3.2.4, OpenFOAM 12, OpenFOAM v2406, OpenJPEG 2.5.2, Optax 0.2.2, Optuna 3.6.1, PaStiX 6.3.2, Perl-bundle-CPAN 5.38.2, Pillow-SIMD 10.4.0, Pint 0.24, Platypus-Opt 1.2.0, PostgreSQL 16.4, PyAEDT 0.9.9, PyCharm 2024.1.6, PyRosetta 4.release-384, PyWavelets 1.7.0, PyYAML 6.0.2, Pygments 2.18.0, Pylint 3.2.5, Pyomo 6.7.3, Python-bundle-PyPI 2024.06, packmol 20.14.4, pagmo 2.19.0, parallel 20240722, pixman 0.43.4, pod5-file-format 0.3.10, poetry 1.8.3, popt 1.19, pretty-yaml 24.7.0, primecount 7.14, psycopg 3.2.1, pyGenomeTracks 3.9, pybind11 2.12.0, pycocotools 2.0.7, pydantic 2.7.4, pygmo 2.19.5, pyperf 2.7.0, pyseer 1.3.12, pysteps 1.10.0, QuantumESPRESSO 7.3.1, Qwt 6.3.0, R-bundle-CRAN 2024.06, R 4.4.1, RDKit 2024.03.3, RapidJSON 1.1.0-20240409, Ray-project 2.9.1, ReFrame 4.6.2, Rust 1.79.0, redis-py 5.0.9, regionmask 0.12.1, rjags 4-15, rpmrebuild 2.18, SDL2 2.30.6, SHAP 0.43.0, SIP 6.8.3, SRA-Toolkit 3.1.1, STAR 2.7.11b_alpha_2024-02-09, STRUMPACK 7.1.0, SVDSS2 2.0.0-alpha.3, Safetensors 0.4.3, Salmon 1.10.3, SciPy-bundle 2024.05, SeqKit 2.8.2, SingleM 0.16.0, Sphinx-RTD-Theme 2.0.0, Stack 3.1.1, SuiteSparse 7.7.0, SuperLU 6.0.1, SuperLU_DIST 8.2.1, scArches 0.6.1, scib-metrics 0.5.1, scvi-tools 1.1.2, sdsl-lite 2.0.3, setuptools-rust 1.9.0, sirocco 2.1.0, slepc4py 3.20.2, smafa 0.8.0, snpEff 5.2c, spaCy 3.7.4, spektral 1.2.0, spglib-python 2.5.0, spglib 2.5.0, TELEMAC-MASCARET 8p5r0, Tk 8.6.14, Tkinter 3.12.3, Trycycler 0.5.5, tiktoken 0.7.0, timm 1.0.8, UCX-CUDA 1.16.0, unixODBC 2.3.12, utf8proc 2.9.0, VSEARCH 2.28.1, virtualenv 20.26.2, WRF 4.5.1, Wayland 1.23.0, X11 20240607, XGBoost 2.1.1, XML-LibXML 2.0210, x264 20240513, x265 3.6, xarray 2024.5.0, xtb-IFF 1.1, xtb 6.7.1, xtensor 0.24.7, yelp-xsl 42.1
  • minor enhancements, including:
    • add internal CUDA header patch for PSM2 v12.0.1 (#20804)
    • add patch for JupyterHub support to recent tensorboard easyconfigs (#20823)
    • make sure that recent ImageMagick versions pick up the right pkgconf + improve sanity check for ImageMagick (#20900)
    • also install utilities for recent versions of FUSE 3.x (#20918)
    • add RISC-V support to x264 v20231019 (#20968)
    • add RISC-v support to recent LAME easyconfigs by removing workaround for finding libncurses (#20970)
    • enable PIC in recent x265 easyconfigs to solve compilation errors on RISC-V (#20971)
    • add extensions to R-bundle-CRAN: missmDA (#21167, #21183). insight (#21260), performance + datwizard + bayestestR (#21272, #21285)
    • add Qt support to VTK 9.3.0 (#21221)
    • add helper_scripts to $PATH in easyconfig for ProteinMPNN v1.0.1-20230627 (#21289)
    • also build & install the plugins with OpenFOAM v2406 (#21332)
  • various bug fixes, including:
    • fix easyconfigs for recent versions of QuantumESPRESSO (#20070)
    • add wrapper for Julia with linking safeguards and delegate environment setup to JuliaPackage (#20103)
    • fix typo in description of SuiteSparse v7.7.0 (#20567)
    • add 'pic' flag to IML (#20789)
    • add patch to recent SciPy-bundle easyconfigs to fix build error with numpy with some Fortran compilers (#20817)
    • rename unpacked sources for components of EasyBuild v4.9.2, to ensure that '--install-latest-eb-release' works with older EasyBuild versions (#20818)
    • fix build of OpenBLAS 0.3.24 on A64FX (#20820)
    • remove maturin build dependency from langchain-antropic (#20825)
    • add GMP and MPFR as dependencies to OpenFOAM v2306 and v2312 (#20841)
    • add patch to SciPy-bundle 2024.05 that fixes numpy test failures on RISC-V (#20847)
    • skip unreliable memory leak test in PyTorch 2.1.2 (#20874)
    • use PyYAML 6.0.1 instead of 6.0 for recent ReFrame versions to fix problem with Cython 3.x (#20879)
    • use PyPI source tarball and gfbf/2023a toolchain for pyBigWig (#20881)
    • add fix for failing test on zen4 to Highway 1.0.4 (#20942)
    • add patch to fix implicit function declaration in OpenMPI 4.1.4 (#20949)
    • only use libxsmm as dependency for CP2K 2023.1 w/ foss/2023a on x86_64 (#20951)
    • copy missing rsem_perl_utils.pm in DETONATE, since it's required by rsem-eval-calculate-score command (#20956)
    • set $SATSUMA2_PATH so Satsuma2 can locate executables (#20957)
    • disable auto-vectorizer (-ftree-vectorize) for OpenFOAM v10 + v11 when using toolchain that with GCC >= 11 (#20958)
    • disable test step for WIEN2k 23.2 because files required by it can no longer be downloaded (#20969)
    • add patch to fix Qt6 issues with ParaView v5.12.0, e.g. representation selection (#21002)
    • update homepage in phonopy easyconfigs (#21014)
    • make libunwind dependency architecture specific in Extrae 4.2.0 easyconfig (#21017)
    • add OPENSSL_ENABLE_SHA1_SIGNATURES for building ansys-pythonnet (#21028)
    • fix download URLs for old Intel software (2018-2023) by using IRC_NAS instead of irc_nas (#21108)
    • update source and homepage URLs in Szip easyconfigs (#21129)
    • rename source URL in HDF v4.2.16-2 easyconfig (#21130)
    • consistently fix homeage + source URL for HDF + h4toh5 (#21134)
    • ensure that recent BioPerl easyconfigs use Bundle easyblock (#21136)
    • fix checksum checks for easyconfigs using a Bundle-like easyblock in easyconfigs test suite (#21143)
    • add pkgconf build dependency to scikit-misc v0.3.1 (#21144)
    • explicitly disable use of MySQL in recent GDAL easyconfigs (#21156)
    • fix easyconfig tensorflow-probability v0.20.0 to pass pip check (#21172)
    • stop RStudio-Server 2023.09 from installing R packages (+ move to foss/2023a toolchain) (#21175)
    • remove Time::HiRes from Perl-bundle-CPAN since there's newer version in Perl (#21198)
    • fix build of STAR 2.7.11a + 2.7.11b on non-x86 architectures by avoiding use of -maxv2 + add missing xxd build dependency (#21200)
    • add missing cairo dependency for python-igraph v0.10.6 (#21211)
    • add patch for xtb 6.7.0 to fix build failure due to changes in tblite (#21255)
    • add patch for HDF5 v1.14.3 to suppress fp exceptions (#21280)
    • update easyconfig for dorado 0.7.3 to properly use provided OpenSSL dependency, and not install external libraries into its own lib directory (#21297)
    • use proper Python dependency for OTF2 (#21325)
    • use source tarballs from GitHub for recent libdap easyconfigs (#21334)
    • remove Highway build dependency in Brunsli easyconfigs, since it's not actually required at all (#21366)
    • add alternative checksum for bold 1.3.0 extension in R-bundle-CRAN (#21370)
  • other changes:
    • archive outdated example easyconfigs for Fujitsu toolchain (#20781)
    • upgrade rpmrebuild build dependency to version 2.18 in bcl-convert 4.2.7 easyconfig (#20861)
    • use proper dependency for Safetensors in easyconfig for Transformers v4.39.3 (#20864)
    • remove CMake Arrow flag as there is no Arrow dependency in recent GDAL easyconfigs (#20905)
    • whitelist ConfigureMakePythonPackage for sanity_check_paths CI check (#20963)
    • rename gubbins-2.4.0.eb to Gubbins-2.4.0.eb (#20995)
    • make pytest v7.4.2 independent of Python-bundle-PyPI (#21004)
    • reorganize Flax/JAX stack in 2023a: move jax + Optax to gfbf/2023a toolchain + use standalone Flax + absl-py as dependencies (#21038)
    • use stand-alone absl-py as dependency for jax w/ gfbf/2023a (#21039)
    • remove Cython dependency from Python-bundle-PyPI 2024.06 + add standalone easyconfig for Cython 3.0.10 (#21233)
    • add Cython build dependency for SciPy-bundle v2024.05 (#21235)
    • use top-level parameters for use_pip & co instead of exts_default_options for PythonBundle easyconfigs (#21292)

EasyBuild v4.9.2 (12 June 2024)

bugfix/update release

framework

  • various enhancements, including:
    • improve behavior when using extension which has nosource enabled (#4506)
    • enhance get_software_libdir to return lib or lib64 if only one of them contains library files (#4513)
    • implement version checks to avoid mixing major versions across the EasyBuild components (#4520, #4553)
    • add support for easyconfig parameter module_only (#4537)
  • various bug fixes, including:
    • fix typo in patch_step logging (#4505)
    • consider both easybuild-framework*.tar.gz and easybuild_framework*.tar.gz in CI workflows (#4507)
    • don't delete existing environment module files when using --dump-env-script with --force or --rebuild (#4512)
    • fix resolved (template) values in case of failure (#4532)
    • also consider $CRAY_PE_LIBSCI_PREFIX_DIR to determine installation prefix for cray-libsci (#4551)
    • symlink downloaded repo at specified commit when using --from-commit so easyconfigs for dependencies are found (#4552)
  • other changes:
    • code cleanup in easyblock.py (#4519)
    • stop running unit tests on Python 3.5 (#4530)

easyblocks

  • 4 new software-specific easyblocks: QuantumESPRESSO with CMake (#3257), AEDT (#3281), optiSLang (#3300), MetalWalls (#3311, #3331)
  • minor enhancements and updates, including:
    • refactor GAMESS-US easyblock to directly write install.info (#3047)
    • add ABAQUS license server to generated module (#3277)
    • allow nosource: True in PythonPackage extensions (#3305)
    • auto-disable FFTW quad precision on RISC-V (#3314)
    • use regular configure instead of wrapper script in easyblock for UCX plugins (#3315)
    • add libjpeg-turbo to include dir for torchvision easyblock (#3322, #3353)
    • add RISC-V support to custom easyblocks for Clang (#3325), Java (#3323), Mesa (#3324)
    • add a sanity check for OpenFOAM's wmake to make sure it finds the compiler commands (#3328)
    • always override the compiler version check for CUDA installations (#3329)
    • allow version mismatchs between OpenSSL components in host system as long as they fulfill version requirements (#3340)
    • allow external PRRTE in OpenMPI easyblock (#3347)
  • various bug fixes, including:
    • don't manipulate setup.py for Python 3.12+ when using alternate sysroot (#3313)
    • do not run unit tests on Python 3.5 (#3326)
    • avoid sanity check on the software itself for CargoPythonBundle easyblock (#3341)
    • fix malformed $CPATH for intel-compilers on Debian/Ubuntu (#3346)
  • other changes:
    • Binary easyblock already adds top level directory to PATH, so no need to do it in the Stata easyblock (#3307)

easyconfigs

  • added easyconfigs for foss/2024.05 toolchain (candidate for foss/2024a) (#20646)
  • added example easyconfig files for 82 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • 4ti2 1.6.10, AFNI 24.0.02, Autoconf 2.72, Autotools 20231222, adjustText 1.1.1, aiohttp 3.9.5, alevin-fry 0.9.0, alsa-lib 1.2.9, atropos 1.1.32, autopep8 2.2.0, BCFtools 1.19, BLIS 1.0, BWA 0.7.18, Boost 1.85.0, bcrypt 4.1.3, binutils 2.42, bokeh 3.4.1, CGAL 5.6.1, CREST 3.0.1, CellRanger-ARC 2.0.2, CellRanger 8.0.1, CellRank 2.0.2, Clang 17.0.6, CoCoALib 0.99850, Cython 3.0.10, cURL 8.7.1, cffi 1.16.0, code-server 4.89.1, configurable-http-proxy 4.6.1, coverage 7.4.4, cpio 2.15, cppyy 3.1.2, cysignals 1.11.4, Doxygen 1.11.0, dask-labextension 7.0.0, dask 2024.5.1, deal.II 9.5.2, dorado 0.5.3, dotNET-Core 8.0.203, E-ANTIC 2.0.2, ECL 24.5.10, ESPResSo 4.2.2, eclib 20240408, expat 2.6.2, FLTK 1.3.9, FMM3D 1.0.4, FlexiBLAS 3.4.4, f90wrap 0.2.13, fgbio 2.2.1, fontconfig 2.15.0, freetype-py 2.4.0, GAMESS-US 20220930-R2 + 20230930-R2, GCC 13.3.0 + 14.1.0, GDB 14.2, GDRCopy 2.4.1, GOATOOLS 1.4.5, GTDB-Tk 2.4.0, Giza 1.4.1, gc 8.2.6, gcloud 472.0.0, gemmi 0.6.5, gettext 0.22.5, giac 1.9.0-99, git 2.45.1, gmsh 4.12.2, gsutil 5.29, HDDM 0.9.9, HTSlib 1.19.1, HyPhy 2.5.60, h5py 3.11.0, hwloc 2.10.0, ICU 75.1, IOR 4.0.0, imagecodecs 2024.1.1, imgaug 0.4.1, ipympl 0.9.4, Jupyter-bundle 20240522, JupyterHub 4.1.5, JupyterLab 4.2.0, JupyterNotebook 7.2.0, jupyter-matlab-proxy 0.12.2, jupyter-resource-usage 1.0.2, jupyter-rsession-proxy 2.2.0, jupyter-server-proxy 4.1.2, jupyter-server 2.14.0, Kalign 3.4.0, KrakenUniq 1.0.4, kallisto 0.50.1, LAPACK 3.12.0, libarchive 3.7.4, libde265 1.0.15, libdeflate 1.20, libdwarf 0.9.2, libfabric 1.21.0, libffi 3.4.5, libgcrypt 1.10.3, libgpg-error 1.48, libheif 1.17.6, libidn2 2.3.7, libnsl 2.0.1, libpciaccess 0.18.1, libpng 1.6.43, libuv 1.48.0, libxml2 2.12.7, line_profiler 4.1.2, MATSim 15.0, MDTraj 1.9.9, Mako 1.3.5, Meson 1.4.0, MetaMorpheus 1.0.5, Molpro 2024.1.0, MuJoCo 3.1.4, matlab-proxy 0.18.1, mold 2.31.0, mpmath 1.3.0, NASM 2.16.03, NanoPlot 1.42.0, Nextflow 24.04.2, Ninja 1.12.1, nanoget 1.19.1, napari 0.4.19.post1, nauty 2.8.8, ncurses 6.5, nghttp2 1.58.0, nghttp3 1.3.0, nglview 3.1.2, ngtcp2 1.2.0, nodejs 20.13.1, numactl 2.0.18, nvtop 3.1.0, OCaml 5.1.1, OSU-Micro-Benchmarks 7.4, OpenBLAS 0.3.27, OpenMPI 5.0.3, PARI-GP 2.15.5, PCRE2 10.43, PMIx 5.0.2, Perl 5.38.2, PhyML 3.3.20220408, PnetCDF 1.13.0, PyAMG 5.1.0, PyQtGraph 0.13.7, PyTorch-Geometric 2.5.0, PyTorch-bundle 2.1.2, PycURL 7.45.3, Pysam 0.22.0, Python 3.12.3, p11-kit 0.25.3, p4est 2.8.6, parallel 20240322, pauvre 0.2.3, petsc4py 3.20.3, pkgconf 2.2.0, plc 3.10, polars 0.20.2, poppler 24.04.0, psutil 5.9.8, py3Dmol 2.1.0, pybedtools 0.9.1, pygame 2.5.2, pyiron 0.5.1, pyro-ppl 1.9.0, python-mujoco 3.1.4, ROOT 6.30.06, RPostgreSQL 0.7-6, RStudio-Server 2023.12.1+402, Rtree 1.2.0, Rust 1.78.0, SAMtools 1.19.2, SCOTCH 7.0.4, SDL2_image 2.8.2, SDL2_mixer 2.8.0, SDL2_ttf 2.22.0, SQLite 3.45.3, SWIG 4.2.1, SentencePiece 0.2.0, Seurat 5.1.0, SeuratDisk 20231104, SimNIBS 4.0.1, Singular 4.4.0, Spack 0.21.2, Squidpy 1.4.1, SymEngine-python 0.11.0, SymEngine 0.11.2, sbt 1.6.2, scikit-build-core 0.9.3, scikit-learn 1.4.2, TOBIAS 0.16.1, Tcl 8.6.14, TensorFlow 2.15.1, Transformers 4.39.3, texlive 20230313, tmux 3.4, tokenizers 0.15.2, 0.2.5.20231120, tornado 6.4, UCC 1.3.0, UCX 1.16.0, util-linux 2.40, VSCode 1.88.1, Valgrind 3.23.0, VisPy 0.14.1, wget 1.24.5, XZ 5.4.5, xorg-macros 1.20.1, xprop 1.2.7, xtb 6.7.0, xxd 9.1.0307, yaml-cpp 0.8.0, zarr 2.17.1, zfp 1.0.1, zlib-ng 2.1.6, zlib 1.3.1, zstd 1.5.6
  • minor enhancements, including:
    • add missing (optional) dependency pyproject-metadata to scikit-build-core (#20391)
    • add hatch-requirements-txt extension to hatchling easyconfigs (#20389)
    • install pkg-config files for ncurses 6.4 when using GCCcore toolchain (#20405)
    • use regular configure instead of wrapper script for recent UCX easyconfigs (#20428)
    • add RISC-V support to UCX 1.15.0 (#20429), UCC 1.2.0 (#20432), BLIS 0.9.0 (#20468), PAPI 7.1.0 (#20659)
    • add extensions to R-bundle-CRAN v2023.12: cmna (#20445), rhandsontable (#20614), XBRL (#20506)
    • add checksum for RISC-V version to easyconfig for Java 21.0.2 (#20495)
    • remove TORCHVISION_INCLUDE from PyTorch-bundle easyconfigs, now handled by custom easyblock for torchvision (#20504)
    • add dependencies required for GUI in Cellpose 2.2.2 easyconfigs (#20620)
    • add build_info_msg about kernel modules to GDRCopy (#20641)
    • build both static and shared libs for Brotli 1.1.0 (#20757)
  • various bug fixes, including:
    • add missing dependencies for funannotate (#17690)
    • fix path to SuiteSparse include/lib in easyconfig for CVXopt v1.3.1 (#20232)
    • fix Highway 1.0.3 on some systems by disabling AVX3_DL (#20298)
    • replace incorrect scikit-bio 0.5.9 with scikit-bio 0.6.0 as dependency for scCODA (#20300)
    • add alternate checksum to OpenMolcas v23.06 (#20301)
    • change arrow-R dependency of Bioconductor v3.18 to v14.0.1 (which depends on required matching Arrow v14.0.1) (#20324)
    • fix hardcoded /bin/mv path in Rhdf5lib extension included in R-bundle-Bioconductor v3.16 + v3.18 (#20378)
    • remove dependency on HDF5 in recent Bioconductor easyconfigs (#20379)
    • make sure that libjpeg-turbo libraries are installed in lib subdirectory (#20386)
    • add patch for Libint 2.7.2 to fix compiler error with glibc >= 2.34 (#20396)
    • use bash rather than sh to run PLINK-2.00a3.7 tests (#20404)
    • add patch to fix "UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY" error in OpenMPI 4.1.5 (#20422)
    • add patch to increase compatibility with AVX512 platforms for bwa-mem2 v2.2.1 (#20434)
    • add patch for GROMACS 2024.1 to fix filesystem race in tests (#20439)
    • demote poetry to build dependency for nanocompore (#20453)
    • add patch to fix CVE-2024-27322 in R v3.6.x (#20464), v4.0.x (#20463), and v4.1.x + v4.2.x + v4.3.x (#20462)
    • disable test that fetches from the web for torchtext extension in PyTorch-bundle v2.1.2 (#20484)
    • fix sanity check paths for JupyterLab 4.0.5 (#20514)
    • fix detection of CC/CXX compilers for wmake in OpenFOAM v2306 + v2312 (#20517)
    • use the included gmxapi for GROMACS 2024.1 (#20522)
    • add new checksum for signal_1.8-0 to R-bundle-CRAN-2023.12 (#20527)
    • fix test in Cwd extension of Perl-bundle-CPAN 5.36.1 (#20536)
    • fix patch name in easyconfig for Perl-bundle-CPAN 5.36.1 + add also use it for Perl-bundle-CPAN 5.38.0 (#20540)
    • fix cwd_enoent test in Perl (#20541)
    • move dependency on BeasutifulSoup in IPython v8.14.0 to jupyter-server (#20547)
    • remove dependency on BeasutifulSoup from IPython v8.17.2 (#20548)
    • add alternative checksum for source tarball of MONAI 1.3.0 (#20618)
    • add cpio as build dependency to recent BLAST+ versions (#20674)
    • add --disable-htmlpages to recent FFmpeg easyconfigs (#20686)
    • remove duplicate crates from easyconfig for timm-0.9.7 (#20687)
    • add missing HDF5 dependency in recent Armadillo easyconfigs (>= 11.4.3) (#20710)
    • add patches for failing LAPACK tests and RISC-V test segfaults to OpenBLAS 0.3.27 (#20745)
    • move all easyconfigs for libavif to GCCcore toolchain + fix dependencies (#20747)
    • make sure mummerplot can use gnuplot if available for recent MUMmer (#20749)
    • prevent configure script of recent BLAST+ versions from prepending system paths to $PATH (#20751)
    • fix fastparquet v2023.4.0 using CargoPythonBundle easyblock (#20775)
    • remove --with-64 from configopts for recent BLAST+ versions (#20784)
    • add patch to fix build of pdsh 2.34 with Slurm 23.x (#20795)
  • other changes:
    • move build from extensions to dependencies in easyconfig for napari 0.4.18 (#20433)
    • update version of fsspec extension in easyconfig for Squidpy 1.4.1 to be compatible with s3fs provided via PyTorch-bundle (#20477)
    • add commented out PSM2 dependency, relevant for x86_64 systems with OmniPath, to recent libfabric easyconfigs (#20501, #20585, #20794)
    • replace SQLAlchemy extension with regular dependency in easyconfig for Optuna v3.5.0 (#20510)
    • replace SQLAlchemy extension in JupyterHub v4.0.2 easyconfig with regular dependency (#20511)
    • bump Cython to v3.0.8 in Cartopy v0.22.0 easyconfig for foss/2023a toolchain, to avoid dependency version conflict with sckit-learn v1.4.2, which requires Cython >= v3.0.8 (#20525)
    • change dependency on hatchling of BeautifulSoup v4.12.2 to a build dependency (#20546)
    • bump async-timeout to 4.0.3 in aiohttp 3.8.5 (#20553)
    • stick to gfbf/2023a as toolchain for ipympl v0.9.3 (#20586)
    • rename tornado-timeouts.patch to tornado-6.1_increase-default-timeouts.patch + add missing authorship (#20587)
    • remove easyconfigs for CellBender v0.3.1, since this version has been redacted due to a serious bug (#20722)

EasyBuild v4.9.1 (5 April 2024)

bugfix/update release

framework

  • various enhancements, including:
    • make is_rpath_wrapper faster by only checking file contents if file is not located in subdirectory of RPATH wrapper subdirectory (#4406)
    • add terse support to --missing-modules (#4407)
    • adapt version pattern for EnvironmentModules to allow using development version (#4416)
    • use --all option with EnvironmentModules v4.6+ to get available hidden modules (#4417)
    • add support for appending to path environment variables via modextrapaths_append + add corresponding allow_append_abs_path (#4436)
    • improve output produced by --check-github (#4437)
    • add script for updating local git repos with develop branch (#4438)
    • show error when multiple PR options are passed (#4440)
    • improve findPythonDeps script to recognize non-canonical package names (#4445)
    • add support for --from-commit and --include-easyblocks-from-commit (#4468)
    • improve logging & handling of (empty) --optarch values (#4481)
    • add --short option to findUpdatedEcs script (#4488)
    • add generic GCC and Clang compiler flags for RISC-V (#4489)
  • various bug fixes, including:
    • clean up log file of EasyBlock instance in check_sha256_checksums (#4452)
    • fix description of backup-modules configuration option (#4456)
    • replace ' with " for printf in CI workflow for running test suite to have bash replace a variable (#4461)
    • use cp -dR instead of cp -a for shell script "extraction" (#4465)
    • fix link to documentation in close_pr message (#4466)
    • fix test_github_merge_pr by using more recent easyconfigs PR (#4470)
    • add workaround for 404 error when installing packages in CI workflow for testing Apptainer integration (#4472)
  • other changes:
    • clean up & speed up environment checks (#4409)
    • use more performant and concise dict construction by using dict comprehensions (#4410)
    • remove superflous string formatting (#4411)
    • clean up uses of getattr and hasattr (#4412)
    • update copyright lines to 2024 (#4494)

easyblocks

  • 1 new software-specific easyblock: DualSPHysics (#3050)
  • minor enhancements and updates, including:
    • use proxy in sanity check of custom easyblock to install OpenSSL wrapper (#2922)
    • update Clang-AOMP easyblock for ROCm 5.6 (#2958)
    • consider both $EBROOTGCC and $EBROOTGCCCORE in Clang-AOMP easyblock to specify -DGCC_INSTALL_PREFIX (#2958)
    • update WIEN2k easyblock for v23.2 (#3035)
    • enhance LAMMPS easyblock to dynamically add ARMV81 and A64FX to Kokkos CPU mapping based on LAMMPS version (#3036)
    • add pip_verbose option to PythonPackage and set it to True in PyTorch easyblock, to show build output when using pip (#3065)
    • also support OpenSSL 3 in OpenSSL wrapper easyblock (#3081)
    • improve error checking in PyTorch easyblock (#3085)
    • update MCR easyblock for compatibility with versions >= R2022b (#3119)
    • add species easyconfig parameter to VEP easyblock (#3121)
    • only install Gurobi Python bindings via setup.py for Gurobi v10.x and older (#3225)
    • consistently honor pretestopts & testopts in PerlModule (#3231)
    • fix OCaml easyblock for recent versions (#3235)
    • improve QuantumESPRESSO easyblock by cleaning up and extending configure step + running test suite (#3241, #3258)
    • allow overriding testinstall in PyTorch easyconfigs (#3250)
    • enhance GCC easyblock to set $LIBRARY_PATH and disable building of NVPTX offload support on RISC-V systems (#3256)
    • add support for conda provided by Miniforge (#3260)
    • set $GOPATH in configure step of GoPackage easyblock to avoid polluting $HOME/go (#3262)
  • various bug fixes, including:
    • set $BGW_TEST_MPI_NPROCS in BerkeleyGW test step (#2950)
    • fix installation of Python bindings for LAMMPS >= 2Aug2023 + fix sanity check by doing MPI_Finalize (#3036)
    • fix ELPA preprocessor flag for QuantumESPRESSO >= 7 (#3063)
    • fix link order in PETSc easyblock for SCOTCH >= 7.x (#3069)
    • update PyTorch easyblock to avoid configure warnings by disabling some options (#3070)
    • pick Tcl/Tk lib directory correctly in R easyblock, may be either lib or lib64 (#3072)
    • use (=|:=) in regex because OpenFOAM rule files use := instead of = since v2212 (#3073)
    • add Clang opt binary to RPATH wrapper dir (#3076)
    • improve generate_crate_list + parsing of crates in Cargo easyblock (#3084)
    • remove trailing slash in PETSC_DIR set by custom easyblock for PETSc (#3086)
    • use correct TCL configure options for Python 3.11+ (#3087)
    • tweak CMakeMake easyblock to apply CMake policy to select python based on $PATH order, instead of highest version (#3088)
    • update Cargo easyblock to extract crates into a vendor subdir and overwrite git repo URLs with local paths (#3118)
    • only add --with-ucc for OpenMPI 4.1.4+ (#3223)
    • remove trailing slash in SLEPC_DIR in configure step of custom easyblock for SLEPc (#3229)
    • fix OpenFOAM easyblock to fix motorBike example in sanity check for versions >=11 (#3232)
    • only run CUDA sanity check command for torchvision if GPU is present (#3236)
    • ensure localrc is created in the correct subdir for NVHPC v22.9+ (#3240)
    • remove wrong configure option for LibInt 2.6.x (#3249)
    • do not rename GCC's include-fixed directory by default + add script to regenerate it (#3254)
  • other changes:
    • update copyright lines to 2024 (#3268)

easyconfigs

  • added example easyconfig files for 101 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Abseil 20240116.1, ABySS 2.3.7, AMS 2023.104, Anaconda3 2024.02, anndata 0.10.5.post1, anvio 8, ArchR 1.0.2, archspec 0.2.2, Armadillo 12.8.0, arpack-ng 3.9.1, arrow-R 14.0.0.2, ASAP3 3.13.3, assimp 5.3.1, autopep8 2.0.4, basemap 1.3.9, BerkeleyGW 3.1.0 + 4.0, BiG-SCAPE 1.1.5, Biopython 1.83, Blosc 1.21.5, Blosc2 2.13.2, Boost.MPI 1.82.0, Boost.Python 1.83.0, Braindecode 0.8.1, Brotli-python 1.1.0, build 1.0.3, buildenv-default foss-2023b + intel-2023b, bx-python 0.10.0, CapnProto 1.0.1.1, c-ares 1.27.0, Cartopy 0.22.0, casacore 3.5.0, Cbc 2.10.11, ccache 4.9, cclib 1.8, CellBender 0.3.1, CellTypist 1.6.2, CFITSIO 4.3.1, Cgl 0.60.8, Clang-Python-bindings 16.0.6, Clp 1.17.9, CmdStanR 0.7.1, COBRApy 0.29.0, code-server 4.22.1, CoinUtils 2.11.10, CoordgenLibs 3.0.2, CREST 2.12, cryoCARE 0.3.0, CSBLAST 2.2.4, CUDA 12.3.2 + 12.4.0, cuDNN 8.9.7.29, CuPy 13.0.0, cuSPARSELt 0.6.0.6, cuTENSOR 2.0.1.2, CVXPY 1.4.2, Cython 3.0.8, dask 2023.12.1, datalad 0.19.5, DB_File 1.859, deepdiff 6.7.1, DeepLabCut 2.3.6, DendroPy 4.6.1, Deprecated 1.2.14, DFT-D4 3.6.0, DIAMOND 2.1.9, Dice 20240101, dlb 3.4, DLPack 0.8, dorado 0.5.1, EggLib 3.3.0, einops 0.7.0, ELPA 2023.11.001, enchant-2 2.6.5, ESMF 8.4.2, eSpeak-NG 1.51, ETE 3.1.3, expecttest 0.2.1, fastjet 3.4.2, fastjet-contrib 1.053, FDS 6.8.0, fineRADstructure 20210514, fio 3.36, Fiona 1.9.5, Flask 3.0.0, FLINT 3.1.1, Flye 2.9.3, fmt 10.2.0, freebayes 1.3.7, GATK 4.5.0.0, gawk 5.3.0, geocube 0.4.3, geopandas 0.14.2, geopy 2.4.1, GHC 9.4.6, Ghostscript 10.02.1, GIMIC 2.2.1, git-lfs 3.5.1, GitPython 3.1.42, GLFW 3.4, Go 1.22.1, GPAW 24.1.0, GPAW-setups 24.1.0, gperftools 2.14, Gradle 8.6, graph-tool 2.55, Greenlet 3.0.3, GROMACS 2024.1, gRPC 1.62.1, GTK3 3.24.39, Gurobi 11.0.0, HDF5 1.14.3, HeFFTe 2.4.0, HepMC3 3.2.6, hunspell 1.7.2, igraph 0.10.10, infercnvpy 0.4.3, iperf 3.16, IQ-TREE 2.2.2.7, ISA-L 2.31.0, Java/19 (19.0.2), Java/21 (21.0.2), json-c 0.17, Julia 1.10.0, KaHIP 3.16, LAMMPS 2Aug2023_update2, LASTZ 1.04.22, LDC 1.36.0, leidenalg 0.10.2, libcint 5.5.0, libgit2 1.7.2, librosa 0.10.1, librsvg 2.58.0, libSBML 5.19.7, libsigsegv 2.14, libtirpc 1.3.4, libxml2-python 2.11.4, likwid 5.3.0, LLVM 14.0.6, MACS3 3.0.1, maeparser 1.3.1, Mamba 23.11.0-0, MATIO 1.5.26, matplotlib 3.8.2, maturin 1.5.0, MCR R2023a, MDAnalysis 2.7.0, MDI 1.4.26, medaka 1.11.3, Meson 1.3.1, MiXCR 4.6.0, MNE-Python-1.6., MOABB 1.0.0, molmod 1.4.8, MONAI 1.3.0, mpi4py 3.1.5, mrcfile 1.5.0, NCCL 2.20.5, NCO 5.1.9, NECI 20230620, netcdf4-python-1.6.5, networkx 3.2.1, NGSpeciesID 0.3.0, NiBabel 5.2.0, nichenetr 2.0.4, Nilearn 0.10.3, nlohmann_json 3.11.3, NLTK 3.8.1, ntCard 1.2.2, numba 0.58.1, NVHPC 24.1, OBITools3 3.0.1b26, OCaml 4.14.0, occt 7.8.0, onedrive 2.4.25, ONNX 1.15.0, ONNX-Runtime 1.16.3, ont-fast5-api 4.1.2, OPARI2 2.0.8, OpenFOAM v2306 + v2312, OpenSSL/3, Optuna 3.5.0, Osi 0.108.9, PAPI 7.1.0, Parallel-Hashmap 1.3.12, ParaView 5.12.0, PDT 3.25.2, PETSc 3.20.3, PGPLOT 5.2.2, phonemizer 3.2.1, phono3py 2.7.0, Pillow 10.2.0, Pint 0.23, plotly.py 5.18.0, poetry 1.7.1, presto-1.0.0 20230501, PROJ 9.3.1, prompt-toolkit 3.0.36, protobuf 25.3, protobuf-python 4.25.3, psmc 0.6.5_20221121, pstoedit 3.78, psycopg2 2.9.9, PuLP 2.8.0, PyCheMPS2 1.8.12, pycodestyle 2.11.1, pydantic 1.10.13 + 2.5.3 2.6.4, pydicom 2.4.4, pydot 2.0.0, pyfaidx 0.8.1.1, PyFrag 2023-dev.20240220, pymatgen 2023.12.18, PyOpenCL 2023.1.4, PyOpenGL 3.1.7, pyparsing 3.1.1, PyQt5 5.15.10, Pysam 0.22.0, PySCF 2.4.0, pyspoa 0.2.1, PyTables 3.9.2, pytest-rerunfailures 14.0, python-igraph 0.11.4, python-irodsclient 2.0.0, python-isal 1.6.1, python-libsbml 5.20.2, python-xxhash 3.4.1, PyTorch-Ignite 0.4.13, PyTorch-Lightning 2.2.1, PyZMQ 25.1.2, QIIME2 2023.7.0, Qt5 5.15.13, Qt6 6.6.3, Qtconsole 5.5.1, QtPy 2.4.1, QuantumESPRESSO 7.3, R 4.3.3, rasterio 1.3.9, R-bundle-Bioconductor 3.18, rclone 1.66.0, RE2 2024-03-01, Redis 7.2.4, redis-py 5.0.1, rioxarray 0.15.0, Rivet 3.1.9, rMATS-turbo 4.2.0, RNA-Bloom 2.0.1, rocm-smi 5.6.0, rpy2 3.5.15, ruamel.yaml 0.18.6, Ruby 3.3.0, Rust 1.75.0 + 1.76.0, Salmon 1.10.1, Sambamba 1.0.1, Saxon-HE 12.4, SBCL 2.4.1, ScaFaCoS 1.0.4, Scalene 1.5.35, scanpy 1.9.8, scib 1.1.4, scikit-bio 0.5.9, scikit-learn 1.4.0, scikit-lego 0.7.4, scikit-misc 0.3.1, SCons 4.6.0, Score-P 8.4, scVelo 0.3.1, Seaborn 0.13.2, SentencePiece 0.1.99, Seqmagick 0.8.6, Seurat 5.0.1, SIP 6.8.1, siscone 3.0.6, skorch 0.15.0, SLEPc 3.20.1, snakemake 8.4.2, SNAPE-pooled 20150707, SOAPdenovo-Trans 1.0.5, Spark 3.5.1, spdlog 1.12.0, spoa 4.1.0, SRA-Toolkit 3.0.10, Stack 2.13.1, STAR 2.7.11b, statsmodels 0.14.1, tensorboard 2.15.1, tensorboardX 2.6.2.2, tensorflow-probability 0.20.0, texinfo 7.1, timm 0.9.7, torchvision 0.16.0, tqdm 4.66.2, TRIQS 3.2.0, TRIQS-cthyb 3.2.1, TRIQS-dft_tools 3.2.0, TRIQS-tprf 3.2.1, typing-extensions 4.9.0, UCX 1.16.0, UDUNITS 2.2.28, umap-learn 0.5.5, UMI-tools 1.1.4, Vala 0.56.14, VEP 111, Vim 9.1.0004, vsc-mympirun 5.4.0, WFA2 2.3.4, wget 1.21.4, WhatsHap 2.2, WIEN2k 23.2, wrf-python 1.3.4.1, Xerces-C++ 3.2.5, XlsxWriter 3.1.9, XML-LibXML v2.0209, xxHash 0.8.2, yaff 1.6.0, YAXT 0.10.0, Yices 2.6.4, YODA 1.9.9
  • minor enhancements, including:
    • add build info message to easyconfig for NLTK 3.7 (#18550)
    • enable KLU and CUDA solvers in SUNDIALS v6.6.0 (#19490)
    • add extensions to R-bundle-CRAN v2023.12: tidybayes (#19712), spdep (#19729), fixest (#20055)
    • add plyranges extension to R-bundle-Bioconductor (for zUMIs) (#19949)
    • add PyOpenGL-accelerate extension to PyOpenGL v3.1.7 (#20007)
    • use system architecture template in DB_File (#20014), GD (#20015), and GDGraph (#20016)
    • add support for Vulkan software rendering in Mesa v23.1.9 by adding Wayland dependency (#20069)
    • add MODIStsp extension (+ required dependencies) to R 4.2.2 (#20113)
    • enable LittleCMS2 and WebP support in recent Pillow (#20195)
    • improve test for validity of easyconfig files (#20205)
    • add easyconfig test that checks if backdoored XZ versions are introduced (#20267)
  • various bug fixes, including:
    • add patch for Bison 3.7.1 to fix build error on old OS versions (#12291)
    • add missing pkg-config build dependency for recent p11-kit easyconfigs (#16318)
    • fix dependencies and configure flags of GnuTLS 3.7.x (#19070)
    • remove numa configure option from hwloc 2.5+ (#19085)
    • add patches for OpenBLAS v0.3.21 to disable -ftree-vectorize for netlib LAPACK (#19280)
    • add patch to fix flaky scipy build in SciPy-bundle v2023.11 (#19481)
    • add missing SciPy-bundle dependency to TensorRT easyconfig (#19486)
    • fix lapack test failures in OpenBLAS 0.3.23/24 (#19495)
    • add patch for Arrow v8.0.0 - v11.0.0 to add missing __arrow_ext_class__ method to BaseExtensionType class (#19532)
    • change homepage for argtable (#19551)
    • add patches for PyTorch v2.1.2 with foss/2022a (#19571), foss/2022b (#19572), and foss/2023a (#19573) to fix test failures on non-x86 platforms
    • use pocl with CUDA support as dependency for PyOpenCL v2023.1.4 (#19584)
    • remove osdependencies from ccache easyconfigs using GCCcore toolchain (#19600)
    • use https source URL for alsa-lib (#19628)
    • add missing dm-tree dependency for dm-reverb 0.2.0 (#19653)
    • add libyaml import check to PyYAML and fix builds since split to minimal Python (#19662)
    • demote meson-python to a build dependency in recent matplotlib easyconfigs (#19670)
    • add patch to fix upb CopyFrom error in protobuf-python 4.24.0 (#19671)
    • demote poetry to build dep in expecttest (#19675)
    • add zlib dependency to YODA and Rivet (#19679)
    • fix missing spaces in Graphviz configure options (#19687)
    • strip iconv from pkgconfig file for libarchive v3.6.2 (#19698)
    • use separate bcrypt easyconfig (using CargoPythonPackage) as dependency for JupyterHub v4.0.2 (#19703)
    • use maturin easyconfig using CargoPythonPackage as a dependency for fastparquet v2023.4.0 (#19704)
    • add patches for Perl-bundle-CPAN v5.36.1 to fix installation of Sys::Info::Driver::Linux* extensions on Debian Bookworm (#19727)
    • explicitly specify Fortran compiler for recent CDO versions to fix issues on non-x86_64 architectures (#19735)
    • add patch for jupyter_core extension in jupyter-server to set jupyter path by $EB_ENV_JUPYTER_ROOT (#19737)
    • add Python build dependency to 1.9.x Doxygen (#19743)
    • fix Arrow v14.0.1 to install pyarrow as an extension (#19758)
    • fix homepage + source URL for Gblocks 0.91b (#19797)
    • make sure that Brunsli libraries are installed into lib (#19805)
    • fix dependency with libidn.so.11 in tbl2asn v20220427 and v20230713 easyconfigs (#19821)
    • add missing dependencies for fslpy in easyconfig for FSL v6.0.5.1 (#19829)
    • remove numa configure option from hwloc 2+ (#19833)
    • avoid spurious test failure when enabling RPATH for Perl (#19835)
    • add missing Python deps and packages in PSI4 1.7 (#19836)
    • add patch to fix MS_RDONLY error in OpenMPI 3.1.x and 4.0.0 (#20140), 4.0.3 (#19944), and 4.0.5 (#19837)
    • demote meson-python to build dependency for matplotlib v3.7.2 w/ iimkl/2023a (#19892)
    • demote hatchling to build dependency in easyconfig for einops 0.7.0 (#19915)
    • add patch for adding a write memory barrier to all OpenMPI 4.1.x easyconfigs (#19940)
    • stop using non-existent --disable-libdeflate option for LibTIFF 4.1.0 (#19951)
    • add patch to remove git version check and fix test command for molmod 1.4.8 (#19952)
    • replace SYSTEM-level GCC dependency in git-annex with binutils (#19956)
    • stop using non-existing --with-doc configure option for groff 1.23 (#19969)
    • fix test failures of Perl-bundle-CPAN-5.38 in non-English locales (#19971)
    • add patch to fix tree-optimization bug in GCC 12.3.0 + 13.1.0 + 13.2.0 for ARM architectures with SVE support (#19974, #20218)
    • drop checksum from easyconfig for VSCode 1.85.0 since tarball are not stable (#19995)
    • respect sysroot in recent Pillow-SIMD easyconfigs, when in use (#19996)
    • remove --disable-docs configure option from FriBidi 1.0.5+ (#19998)
    • fix geotiff configure option in GDAL (#19999)
    • unpack SCG database to db subdirectory for DAS_Tool (#20008)
    • remove Jasper dependency and configure option from GDAL 3.5+ (#20009)
    • update homepage and source URLs for SPAdes (#20018)
    • fix GDAL 3.5.0 install on high-core-count machines (#20027)
    • remove disable-visibility configure flag from GTK3 (#20028)
    • remove mpi configure option from libfdf 0.2.2 (#20034)
    • add patch to fix multiarch support for RISC-V to all GCCcore 12.x and 13.x easyconfigs (#20035)
    • fix invocation typo and unneeded folder change on invocation in fgbio 1.3.0 easyconfig (#20039)
    • remove hdf5 configure option from MDSplus 7.96.12 (#20041)
    • fix python configure option of MEME (#20043)
    • fix configure options of FFLAS-FFPACK (#20052)
    • find the correct Python in xtensor (#20056)
    • fix geotiff configure option in GDAL 2.2.3 (#20057)
    • fix configure option and remove gperftools dependency for MIRA 5.0 (#20061)
    • fix confgure options in GRASS (#20062)
    • fix configure of LinBox 1.7.0 (#20064)
    • remove unknown configure option from GnuTLS 3.7.2 (#20065)
    • use 32-bit indexing for SUNDIALS 6.6.0 (with foss/2023a) to enable sunmatrix-cusparse (#20075)
    • find correct Python for MDI (#20083)
    • add pixman and FriBidi dependencies to recent ImageMagick easyconfigs (#20086)
    • add patch to fix failing tests with OpenSSL 3.x for Net-SSLeay v1.92 extension in Perl-bundle-CPAN v5.36.1 (#20090) and v5.38.0 (#20118)
    • add patches for minimus2 in AMOS-3.1.0 (#20114)
    • fix download url for cuSPARSELt 0.3.0.3 (#20129)
    • add patches to fix test issues for PyTorch 2.1.2 with foss/2023a + CUDA 12.1.1 (#20156)
    • remove easyconfig for UCX-CUDA 1.15.0 using incompatible combo of CUDA 12.3.0 + GCC 13.2.0 (#20158)
    • remove flake8 suppressions for invalid escape sequences (#20161)
    • fix post-install command for SuperLU_DIST in case library prefix is lib instead of lib64 (#20162)
    • switch to gitlab source URL for libxc + add alternative checksum (#20163)
    • enable download_dep_fail in Pythonpackage easyconfigs where it was wrongly disabled (#20174)
    • add patch to fix PyTorch 1.12.x and 1.13.x for Linux 6+ (#20176, #20177, #20178, #20179, #20180, #20181, #20182)
    • disable tests for Time::HiRes extension in Perl-bundle-CPAN v5.36.1 (#20187)
    • fix several typos in GlobalArrays 5.8 configure step (#20188)
    • fix broken homepage from older SCOTCH easyconfigs (#20192)
    • remove dead URL for ISL from source_urls in easyconfigs for GCCcore 10.3.0, 11.1.0, 11.2.0 (#20193)
    • fix package installation in easyconfigs for Python 2.7.15 and 3.7.2 (using GCCcore/8.2.0) (#20194)
    • add missing zlib + OpenSSL deps to Ruby easyconfigs + promote binutils to runtime dependency (#20214)
    • fix cuSPARSELt easyconfigs for aarch64 (#20216)
    • fix python shebang in napari easyconfigs (#20219)
    • add patch to fix scipy test failure for SciPy-bundle 2023.02 with gfbf/2022b (#20235)
    • fix incompatible types errors when building the R extension dbarts on Arm (#20238)
    • add patch to fix for libarchive to fix error reporting in tar (#20254)
    • add patch for GCCcore 13.2.0 to fix unguarded use of is_convertible builtin (#20260)
    • fix download for python-parasail 1.3.4 by adding missing source URL (#20263)
  • other changes:
    • update DualSPHysics easyconfig to use custom easyblock (#19400)
    • fix name for DETONATE in existing easyconfig (was detonate) (#19569)
    • rename VSCode to code-cli (to match with existing code-server) (#19585, #19645)
    • remove urllib3 extension from wandb easyconfig, not neeed since Python-bundle-PyPI dependency already provides it (#19725)
    • stop using custom easyblock for Doxygen (#19742)
    • move setuptools_scm extension from hatchling to Python easyconfig (#19777, #20200)
    • move xtb v6.6.1 to gfbf/2023a (#19826)
    • unify Z3 4.12.2 easyconfigs into a single one with Python bindings (and fix Z3 dependency for PyTorch 2.1.2 accordingly) (#20050)
    • use GPAW-setups v24.1.0 in existing GPAW easyconfigs (#20117)
    • fix duplicate dict entries and enable fatal error checking for easyconfigs via flake8 (#20173)
    • move Greenlet 2.0.2 to GCCcore toolchain (#20241)
    • update Java/8 wrapper to Java 8.402 (#20261)
    • update copyright lines to 2024 (#20276)

EasyBuild v4.9.0 (29 Dec 2023)

feature release

framework

  • various enhancements, including:
    • allow tweaking of easyconfigs from different toolchains (#3669)
    • add support for --list-software --output-format=json (#4152)
    • add --module-cache-suffix configuration setting to allow multiple (Lmod) caches (#4403)
  • various bug fixes, including:
    • deduplicate warnings & errors found in logs and add initial newline + tab in output (#4361)
    • fix support for Environment Modules as modules tool to pass unit tests with v4.2+ (#4369)
    • adapt module function check for Environment Modules v4+ (#4371)
    • only install GitHub token when testing with Lmod 8.x + Python 3.6 or 3.9 (#4375)
    • use -qopenmp instead of -fiopenmp for OpenMP in Intel compilers (#4377)
    • fix LIBBLAS_MT for FlexiBLAS, ensure -lpthread is included (#4379)
    • relax major version match regex in find_related_easyconfigs using for --review-pr (#4385)
    • eliminate duplicate multideps from generated module files (#4386)
    • resolve templated values in extension names in _make_extension_list (#4392)
    • use source toolchain version when passing only --try-toolchain (#4395)
    • fix writing spider cache for Lmod >= 8.7.12 (#4402)
    • fix --inject-checksums when extension specifies patch file in tuple format (#4405)
    • fix LooseVersion when running with Python 2.7 (#4408)
    • use more recent easyblocks PR in test_github_merge_pr (#4414)
  • other changes:
    • extend test that checks build environment to recent foss/2023a toolchain (#4391)

easyblocks

  • add generic CargoPythonBundle easyblock (#2964)
  • 3 new software-specific easyblocks: flook (#3034), HPCC (#3009), PALM (#3020)
  • minor enhancements and updates, including:
    • add custom easyconfig parameter cmake_options to SuiteSparse easyblock (#3031)
    • update custom intel-compilers easyblock for versions >= 2024 (#3037)
    • update custom easyblock for Intel MPI easyblock for v2021.11 (#3039)
    • update numpy easyblock for v1.26+ (#3041)
    • update custom easyblock for Intel MKL for v2024.x (#3042)
    • update Ferret easyblock to be compatible with v7.6.0 (#3052)
  • various bug fixes, including:
    • add support for allowing version mismatch + consider versionsuffix when creating .modulerc in ModuleRC easyblock (#3028)
    • update error detection for PyTorch tests (#3033)
    • disable LLVM build downloads from CI in Rust (#3038)
    • add requirement for EULA acceptance to CUDA easyblock (#3045)
    • make various fixes and enhancements to NWChem easyblock (#3049)
    • add binutils symlinks when building TensorFlow with --rpath (#3054, #3058)
    • fix specifying path to SuiteSparse header files and libraries in numpy, Trilinos, PETSc easyblocks (#3056)
    • fix det_pylibdir provided by PythonPackage easyblock for Python 3.12+ (#3057)
    • fix nvptx sanity check for Clang >= 14.x (#3059)
  • other changes:
    • update SuiteSparse easyblock to only install SuiteSparse libraries with make install (#3004)
    • also consider $EB_COMSOL_LICENSE_FILE environment variable in custom easyblock for COMSOL (#3044)
    • import LooseVersion from easybuild.tools instead of distutils.version in easyblocks (#3048)

easyconfigs

  • added easyconfigs for foss/2023b (#19449) and intel/2023b (#19450) common toolchains
  • added example easyconfig files for 77 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ANTs 2.5.0, Arriba 2.4.0, Arrow 14.0.1, at-spi2-core 2.50.0, Autoconf-archive 2023.02.20, awscli 2.15.2, Blender 3.6.5 + 4.0.1, Boost 1.83.0, boto3 1.28.70, Bracken 2.9, BUStools 0.43.1, cairo 1.18.0, cairomm 1.16.2, CASTEP 23.1, cddlib 0.94m, cdo-bindings 1.6.0, CellRanger 7.2.0, CoCoALib 0.99818, COMSOL 6.2.0.290, Coreutils 9.1, cryptography 41.0.5, CubeLib 4.8.2, CubeWriter 4.8.2, CUDA 12.3.0, CVXPY 1.3.0, cysignals 1.11.2, DBus 1.15.8, dftd4 3.4.0, E-ANTIC 1.3.0, elfutils 0.190, f90wrap 0.2.11, FastQC 0.12.1, Ferret 7.6.0, FFLAS-FFPACK 2.5.0, ffnvcodec 12.1.14.0, FPM 1.15.1, FriBidi 1.0.13, gap 4.12.2, git-lfs 3.4.0, GitPython 3.1.40, Givaro 4.2.0, GLib 2.78.1, glog 0.6.0, GObject-Introspection 1.78.1, gperftools 2.13, GPyTorch 1.10, GROMACS 2023.3, HarfBuzz 8.2.2, HiC-Pro 3.1.0, hifiasm 0.19.7, hypothesis 6.90.0, ICU 74.1, imageio 2.33.1, imkl 2024.0.0, impi 2021.11.0, intel-compilers 2024.0.0, IPython 8.17.2, ITK 5.3.0, Kent_tools 457, KyotoCabinet 1.2.80, LHAPDF 6.5.4, libfdf 0.5.0, libjxl 0.8.2, LinBox 1.7.0, lrslib 7.2, lxml 4.9.3, magma 2.7.2, maturin 1.3.1, MEME 5.5.4, meson-python 0.15.0, Miniconda3 23.9.0, Mmg 5.7.2, Molden 7.3, mrcfile 1.4.3, nanoflann 1.5.0, nauty 2.8.6, Nextflow 23.10.0, nodejs 20.9.0, Normaliz 3.10.1, NSS 3.94, NWChem 7.2.2, Oases 20180312, Pango 1.51.0, Parallel-Hashmap 1.36, parameterized 0.9.0, phonopy 2.20.0, pigz 2.8, pmt 1.2.0, poetry 1.6.1, PostgreSQL 16.1, pplpy 0.8.9, PyCairo 1.25.1, pypmt 1.2.0, PyQt5 5.15.7, pytest 7.4.2, pytest-xdist 3.3.1, Python-bundle-PyPI 2023.10, PyTorch 2.1.2, R 4.3.2, RASPA2 2.0.47, SBCL 2.3.11, SCENIC 1.3.0, scikit-image 0.22.0, SciPy-bundle 2023.11, SDL2 2.28.5, setuptools-rust 1.8.0, Seurat 4.4.0, SimpleITK 2.3.1, Singular 4.3.2p10, Spark 3.5.0, STAR 2.7.11a, STAR-CCM+ 2310, strace 6.6, SuiteSparse 7.1.0, tbb 2021.11.0, TOML-Fortran 0.4.1, TRAVIS-Analyzer 220729, UCX-CUDA 1.15.0, VirSorter 1.0.6, virtualenv 20.24.6, VSEARCH 2.25.0, VTK 9.3.0, wandb 0.16.1, XGBoost 2.0.2, xprop 1.2.6, xtb 6.6.1, Xvfb 21.1.9, xxd 9.0.2112
  • minor enhancements, including:
    • add sanity check commands for recent GDB versions (#19102)
    • add aarch64 and ppc64le checksums to NVHPC 23.7 (#19249)
    • allow Python version of Z3 to be used as a dependency (#19354)
  • various bug fixes, including:
    • use CargoPythonBundle generic easyblock for timm to install required Rust packages in a controlled way (#18332)
    • add alternate checksum for OpenImageIO v2.4.14.0 (#19090)
    • only set flag --enable-asmjit for PLUMED when installing on x86_64 (#19110)
    • ensure right Python version is used in DP3, WSClean and dependencies by specifying -DPython3_EXECUTABLE CMake option (#19119)
    • add patch to work around potential crash in PyTorch 1.13.1 caused by GCC 12 compiler bug (#19133)
    • add patch to fix detection of newer Intel CPUs in OpenBLAS 0.3.20 through 0.3.23 (#19141)
    • remove outdated --disable-docs configure option from FriBidi-1.0.12 (#19147)
    • add libiconv dependency to gettext 0.22 (#19155)
    • fix OpenBLAS 0.3.20+ on newer Intel CPUs (#19159)
    • only use ScaFaCos as dependency for LAMMPS 23Jun2022 on x86_64 (#19164)
    • add patch to fix regression in GCC 12.x on AVX512 systems (#19180)
    • add pkgconf build dependency to libGLU (#19186)
    • sidestep some build issues with CUDA-Samples 12.1 (#19189)
    • make Pillow easyconfigs aware of sysroot template (#19226, #19267)
    • fix possible error/crash in NCCL on x86 due to cpuid (#19231)
    • reduce timestep to fix sanity check commands in LAMMPS 23Jun2022 (#19246)
    • add patch for GCC 12.x to fix miscompiling C++ code causing double-free in case of exceptions (#19253)
    • replace format tag with explicit extension name in Optuna v3.0.3 (#19256)
    • enhance easyconfigs for gnuplot 5.4.x to make sure that Lua dependency is always used (#19261)
    • patch setup.py for grpcio extension in TensorFlow 2.13.0 easyconfigs to take into account alternate sysroot (#19268)
    • avoid indirect dependency on old CMake version built with GCCcore/10.2.0 via Catch2 build dependency using system toolchain in recent pybind11 easyconfigs (#19270)
    • use existing patch in pybind11 2.6.2 and 2.7.1 to fix failing test due to extra whitespace (#19279)
    • change toolchain in json-fortran easyconfigs to GCC, since it includes Fortran modules (#19283)
    • remove Unicode character in description of SMRT-Link easyconfigs (#19312)
    • don't use %(namelower)s template in extension name in IPython v8.14.0 easyconfig (#19330)
    • add patch to fix [cz]asums in OpenBLAS 0.3.24 (#19331)
    • fix failing tokenizers with CargoPythonPackage easyblock (#19333)
    • define $GTKDOCIZE as 'echo' before generating configure script for new HarfBuzz versions (#19339)
    • fix PAPI test step hanging on some systems (#19372)
    • compile LERC test binary in postinstallcmds to fix sanity check error when RPATH linking is enabled (#19386)
    • use GCC toolchain in kim-api, since it includes Fortran modules (#19399, #19401, #19402, #19403, #19404, #19405)
    • fix wrong handling of floats in z3-solver (#19414)
    • Fix numpy build on Sapphire Rapids CPUs in SciPy-bundle-2023.07-gfbf-2023a (#19419, #19425)
    • allow ITK legacy code and Python wrappers in ITK v5.2.1 (#19431)
    • link to xxHash library provided via EasyBuild in python-xxhash v3.2.0 (#19432)
    • include MPFR 4.1.0 patch in MPFR 4.2.0 easyconfigs to fix failing tsprintf test with glibc >= 2.37 (#19438)
    • skip Test::Sys::Info test that expects /etc/fstab in Perl-bundle-CPAN (#19440)
    • exclude cdp* CUDA samples that fail to build on aarch64 in CUDA-Samples v12.1 (#19451)
  • other changes:
    • let SuiteSparse easyblock set CMAKE_OPTIONS for SuiteSparse v7.1.0 (#19177)
    • add versionsuffix -param to easyconfig for ReaxFF 2.0 (#19307)
    • use LooseVersion from easybuild.tools (#19376)

EasyBuild v4.8.2 (29 Oct 2023)

bugfix/update release

framework

  • various enhancements, including:
    • add support for %(sysroot)s template value (#4359)
    • add dependency_names method to EasyConfig class to get set of names of (direct) dependencies (#4360)
  • various bug fixes, including:
    • add CI workflow to run unit tests with Python 2 (again) (#4333)
    • fix typo in help message for --silence-hook-trigger (#4343)
    • include major version (*majver) templates in auto-generated documentation (#4347)
    • reset tempfile.tempdir to None to avoid that tmpdir path gets progressively deeper with each easystack item (#4350)
    • fix findPythonDeps.py script when called with an (absolute or relative) path to an easyconfig instead of a filename (#4365)
    • fix broken test for reasons_for_closing, which fails because commit status of easyconfigs PR is no longer available (#4366)
  • other changes:
    • reduce number of CI jobs by testing for Lua and Tcl module syntax in a single CI job (#4192)

easyblocks

  • minor enhancements and updates, including:
    • allow use of test_cmd without runtest for ConfigureMake (#2837)
    • enhance CMakeMake easyblock to run ctest command if runtest is True (#2838)
    • enhance Conda easyblock: add support for using custom conda command (like mamba), and clean up after installation (#2996)
    • update WRF easyblock to correctly determine WRF* subdirectory for WRF versions >= 4.5.1 (#2997)
    • update numpy easyblock to be able to use FlexiBLAS with MKL as dependency (#2999)
    • add error regexp for PyTorch tests run in subprocess and enhance error message (#3003, #3005)
    • don't blindly overwrite -Dccflags + honour preconfigopts in Perl easyblock (#3010)
    • use more test programs in sanity check step of OpenMPI easyblock (#3016)
    • fix CMAKE_PREFIX_PATH in imkl easyblock (#3021)
    • update sanity check in wxPython easyblock for version 4.2.0 (#3023)
  • various bug fixes, including:
    • fix creation of symlink for libraries in TBB easyblock (#2927)
    • fix --sanity-check-only and --module-only for UCX plugins (#3007)
    • replace umlaut in docstring of PerlBundle easyblock (to fix Non-ASCII character error when using Python 2.7) (#3008)
    • enhance TensorFlow easyblock to avoid use of -mcpu=native for XNNPACK component when building on aarch64 (#3011)
    • only use -DCMAKE_SKIP_RPATH=ON for CMake < 3.5.0 (#3012)
    • fix the blas/lapack name passed to meson when building recent scipy versions (>= 1.9.0) on top of Intel MKL (#3024)

easyconfigs

  • added example easyconfig files for 48 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • alleleCount 4.3.0, Amber 22.4, ant 1.10.14, ArviZ 0.16.1, ASAP3 3.13.2, biobambam2 2.0.185, BLAST+ 2.14.1, bokeh 3.2.2, Brotli 1.1.0, Cantera 3.0.0, CapnProto 1.0.1, casacore 3.5.0, Catch2 2.13.9, CGAL 5.6, Chemaxon-Marvin 23.9, CMake 3.27.6, code-server 4.16.1, Coot 0.9.8.92, CSBDeep 0.7.4, CUDA-Samples 12.1.1, CuPy 12.1.0, cURL 8.3.0, dask 2023.9.2, DL_POLY_4 5.1.0, DoubletFinder 2.0.3-20230131, Doxygen 1.9.8, dxpy 0.345.0, EDirect 20.5.20231006, FastANI 1.34, FastME 2.1.6.3, Flask 2.3.3, Flye 2.9.2, fmt 10.1.0, foss/2023.09, freetype 2.13.2, GDAL 3.7.1, GDRCopy 2.4, git 2.42.0, GMP 6.3.0, Go 1.21.1, googletest 1.14.0, GPAW 23.9.1, groff 1.23.0, GTDB-Tk 2.3.2, GTK4 4.13.1, gzip 1.13, harmony 0.1.0, HDF 4.2.16, HighFive 2.7.1, Highway 1.0.7, HMMER 3.4, hmmlearn 0.3.0, Imath 3.1.9, Inspector 2023.2.0, intel/2023.07, IsoSeq 4.0.0, itac 2021.10.0, JupyterNotebook 7.0.3, libarchive 3.7.2, libcint 5.4.0, libdeflate 1.19, libdrm 2.4.117, libglvnd 1.7.0, libjpeg-turbo 3.0.1, libmaus2 2.0.813, libpng 1.6.40, libsigc++ 2.12.1, libsodium 1.0.19, LibTIFF 4.6.0, libwebp 1.3.2, libxc 6.2.2, line_profiler 4.1.1, LMDB 0.9.31, MAFFT 7.520, makeinfo 7.1, MATLAB 2023b, MEGAN 6.25.3, Mesa 23.1.9, Meson 1.2.3, mold 2.3.1, MPFR 4.2.1, msgpack-c 6.0.0, nanopolish 0.14.0, NBO 7.0.10, netcdf4-python 1.6.4, OpenBLAS 0.3.24, OpenCV 4.8.1, OpenEXR 3.2.0, OpenMolcas 23.06, OpenMPI 4.1.6, openslide-python 1.3.1, OrthoFinder 2.5.5, OSU-Micro-Benchmarks 7.2, ParaView 5.11.2, Perl-bundle-CPAN 5.38.0, PETSc 3.19.2, PMIx 4.2.6, poppler 23.09.0, preCICE 2.5.0, pretty-yaml 23.9.5, PyCairo 1.25.0, pyEGA3 5.0.2, PyGObject 3.46.0, pygraphviz 1.11, pytest-rerunfailures 12.0, Python 3.11.5, PyTorch 2.0.1, PyTorch-bundle 1.13.1, PyTorch-Ignite 0.4.12, PyYAML 6.0.1, RagTag 2.1.0, rapidcsv 8.62, rasterstats 0.19.0, RAxML-NG 1.2.0, RDFlib 7.0.0, RDKit 2023.03.3, ReFrame 4.3.3, RMBlast 2.14.0, ruamel.yaml 0.17.32, Rust 1.73.0, scikit-learn 1.3.1, SCons 4.5.2, SHAP 0.42.1, SignalP 6.0h, SMRT-Link 12.0.0.177059, spglib-python 2.1.0, SQLite 3.43.1, TensorRT 8.6.1, texlive 20230313, Tkinter 3.11.5, UCX 1.15.0, VBZ-Compression 1.0.3, VCFtools 0.1.16, VTune 2023.2.0, X11 20231019, x264 20231019, xarray 2023.9.0, XlsxWriter 3.1.3, xtb 6.6.0, ZeroMQ 4.3.5
  • minor enhancements, including:
    • also run easyconfigs test suite with Python 3.11 (#18009)
    • don't disable building of third and fourth derivates in libxc 6.1.0 (#18467)
    • add easyconfigs cache file to .gitignore (#18797)
    • add patch to improve CUDA 11 compatibility of GCCcore/12.2.0 and GCCcore/12.3.0 (#18854)
    • also build Python bindings for ITK 5.2.1 with foss/2022a (#18922)
    • add ridge extension to R 4.2.2 (#18924)
    • add MSstatsLiP (#19009) and escape (#19027) to Bioconductor 3.16 bundle
    • add patches to build Qt5 5.15.10 with Python 3 instead of Python 2.7 (#19045)
  • various bug fixes, including:
    • rename ACT to Artemis (#18382)
    • backport lchown patch to PMIx 3.1.x + 3.2.x (#18759)
    • also copy scripts directory for Clair3 (#18783)
    • rename isoseq3 after download for IsoSeq 3.8.2 + fix permissions (#18785)
    • add missing required extensions + fix wrong version of extensions in recent Perl easyconfigs (#18789)
    • add patch for OpenBLAS 0.3.23 to fix hanging tests (#18790)
    • add patch to fix Open MPI 4.1.5 with PMIx >= 4.2.3 (#18833)
    • fix permission issues when copying xvfb-run script in Xvfb easyconfigs (#18834)
    • statically link Boost 1.75 in Cufflinks v20190706 installed with GCC/11.2.0, so Boost can be changed to build dependency (#18843)
    • add missing required PyPy dependency for Clair3, also copy preprocess and shared subdirectories, and enhance sanity check for provided libclair3 Python package (#18847)
    • add patch to fix build of util-linux 2.39 on CentOS 7 (#18855)
    • add patch to fix finding of tk.tcl for Tk 8.6.13 (#18864)
    • add patch to fix issue with automatic detection of NeoverseV1 CPU architecture in OpenBLAS v0.3.20 (#18870)
    • fix source URL for segemehl 0.3.4 (#18878)
    • avoid use of hardcoded paths for Pillow by using --disable-platform-guessing option (#18881)
    • add patch to disable flaky DDRGES3 LAPACK test in OpenBLAS 0.3.23 + 0.3.24 (#18887)
    • add alternate checksum for NCCL v2.18.3 (#18906)
    • add missing dependencies for MONAI to support extras required by MONAI-Label (#18921)
    • make sure Python dependency included for ESPResSo is actually used by specifying -DPYTHON_EXECUTABLE (#18963)
    • only add tbb as dependency in recent LAMMPS easyconfigs when installing on x86_64 (#19000)
    • detect the correct Python for vcflib (#19001)
    • fix invalid pointer access in UCX 1.11-1.14 (#19023)
    • disable threadedmpi in recent SCOTCH easyconfigs using gompi toolchain (#19024)
    • add missing GSL dependency for casacore 3.4.0 (#19042)
    • fix pybind11 incompatibility with some CUDA versions and add Catch2 dependency for tests (#19047)
    • enable -fPIC in easyconfig for libwebp 1.3.2 (#19098)
  • other changes:
    • remove 'cstd': 'c++17' as that's the default in GCC 11 (#18941, #18942, #18943, #18944, #18945, #18946)
    • rename CVS to ConcurrentVersionsSystem, to avoid problems with recent setuptools versions (#18985)
    • use sysroot template in wget easyconfigs to define PKG_CONFIG_PATH (#19080)

EasyBuild v4.8.1 (11 Sept 2023)

bugfix/update release

framework

  • various enhancements, including:
    • add end-to-end test for running EasyBuild in different Linux distros using containers (#3968)
    • suggest default title in --review-pr (#4287)
    • add build_and_install_loop hooks to run before and after the install loop for individual easyconfigs (#4304)
    • implement support for cancel_hook and fail_hook (#4315, #4325)
    • add postiter hook to the list of steps so the corresponding hook can be used (#4316)
    • add run_shell_cmd hook (#4323)
    • add build_info_msg easyconfig parameter to print message during installation of an easyconfig (#4324)
    • add --silence-hook-trigger configuration option to supress printing of debug message every time a hook is triggered (#4329)
    • add support for using fine grained Github tokens (#4332)
    • add definitions for ifbf and iofbf toolchain (#4337)
    • add support for submodule filtering and specifying extra Git configuration in git_config (#4338, #4339)
  • various bug fixes, including:
    • improve error when checksum dict has no entry for a file (#4150)
    • avoid error being logged when checksums.json is not found (#4261)
    • don't fail in mkdir if path gets created while processing it (#4300, #4328)
    • ignore request for external module (meta)data when no modules tool is active (#4308)
    • use sys.executable to obtain path to python command in tests, rather than assuming that python command is available in $PATH (#4309)
    • fix test_add_and_remove_module_path by replacing string comparison of paths by checking whether they point to the same path (since symlinks may cause trouble) (#4312)
    • enhance Toolchain.get_flag to handle lists (#4319)
    • only add extensions in module file if there are extensions (#4331)

easyblocks

  • new custom easyblock for sympy (#2949) and tensorflow-compression (#2990)
  • minor enhancements and updates, including:
    • drop unnecessary CUDA stub libraries from $LIBRARY_PATH (#2793)
    • update Score-P easyblock to use --with-nocross-compiler-suite=nvhpc for recent software versions (#2928)
    • unset $CPPFLAGS, $LDFLAGS, $LIB which may interfere with Score-P configure magic (#2928)
    • update Clang easyblock for versions >= 16 + run tests only for final stage of bootstrap build (#2929)
    • handle new directory structure for Intel Advisor (#2942)
    • use DCPU_BASELINE=DETECT for OpenCV when default optarch compiler option is used (#2954)
    • update MXNet easyblock + don't try to install R extension by default for MXNet >= 1.0 (#2955)
    • use checkMCR.sh to determine if we have the correct MCR for FreeSurfer (#2962)
    • add options to MesonNinja easyblock to customize build_cmd, install_cmd, builddir (#2963, #2993)
    • add support for building CP2K with libvori support (#2967)
    • enable system pybind11 for PyTorch 1.10+ to make sure pybind11 provided as dependency is used (#2968)
    • update LLVM easyblock for LLVM v16: symlink third-party to third-party-<version>.src (#2970, #2994)
    • update scipy easyblock for scipy >= 1.11.0 (#2971, #2980)
    • update sanity check for Mesa >= 22.3 (#2973)
    • update sanity check for OpenFOAM 11 (#2978)
    • add support to PerlModule easyblock to customize prefix option used in installation command (#2979)
    • update TensorFlow easyblock for v2.13 since LMDB is no longer a dependency (#2982)
    • enhance PyTorch easyblock to print individual failed tests (#2983)
    • enhance PETSc easyblock to support using custom $PETSC_ARCH (#2987)
  • various bug fixes, including:
    • correctly determine path to active binutils in TensorFlow easyblock (#2218)
    • patch Java binaries/libraries when using alternate sysroot to ensure correct glibc & co are picked up + add custom sanity check (#2557, #2995)
    • update OpenMPI easyblock to fix sanity check for Clang-based compilers (#2774)
    • improve depot management in JuliaPackage easyblock (#2935)
    • disable disk space check in STAR-CCM+ installer (#2956)
    • fix type check for optarch value in Cargo easyblock (#2969)
    • conditionally add -Wno-unused-command-line-argument to $CFLAGS to fix error when installing imkl-FFTW with RPATH (#2975)
    • enhance PythonPackage easyblock to deal with posix_local installation scheme used by Python in recent Debian/Ubuntu versions (#2977, #2988)
    • don't add MATLAB libraries to $LD_LIBRARY_PATH (#2981)
    • enhance Mesa easyblock to append EGL vendor library directory path to $__EGL_VENDOR_LIBRARY_DIRS (#2985)
    • fix typo in TensorFlow easyblock when finding libdir of OpenSSL (#2989)

easyconfigs

  • added example easyconfig files for 83 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 9.10.3, Advisor 2023.2.0, aiohttp 3.8.5, AMD-uProf 4.1.424, Anaconda3 2023.07-2, anndata 0.9.2, APR 1.7.4, APR-util 1.6.3, Arcade-Learning-Envionment 0.8.1, archspec 0.2.1, Armadillo 12.6.2, arpack-ng 3.9.0, assimp 5.2.5, BAGEL 1.2.2, bam-readcount 1.0.1, Bazel 6.3.1, BCFtools 1.18, BeautifulSoup 4.12.2, BEDTools 2.31.0, biom-format 2.1.15, bokeh 3.2.1, Boost 1.82.0, cairo 1.17.8, c-ares 1.19.1, ccache 4.8.3, CDO 2.2.2, CFITSIO 4.3.0, Cgl 0.60.7, CharLS 2.4.2, cicero 1.3.8, Clang 16.0.6, Clp 1.17.8, Cluster-Buster 20200507, CoinUtils 2.11.9, conan 1.60.2, configurable-http-proxy 4.5.5, coverage 7.2.7, CP2K 2023.1, CubeLib 4.8.1, CubeWriter 4.8.1, CUDA 12.2.2, dask 2023.7.1, dcm2niix 1.0.20230411, Delly 1.1.6, dill 0.3.7, ecBuild 3.8.0, ecCodes 2.31.0, ELPA 2023.05.001, exiv2 0.28.0, expecttest 0.1.5, fastparquet 2023.4.0, FFmpeg 6.0, ffnvcodec 12.0.16.0, flatbuffers 23.5.26, flatbuffers-python 23.5.26, FreeSurfer 7.4.1, fsom 20151117, gc 8.2.4, GCC 13.2.0, GDB 13.2, GEOS 3.12.0, gettext 0.22, GHC 9.2.2, Ghostscript 10.01.2, GLib 2.77.1, gmpy2 2.1.5, gnuplot 5.4.8, GObject-Introspection 1.76.1, gperftools 2.12, Graphviz 8.1.0, gRPC 1.57.0, GST-plugins-base 1.22.5, GStreamer 1.22.5, GTK3 3.24.37, GTK4 4.11.3, h4toh5 2.2.5, h5netcdf 1.2.0, h5py 3.9.0, hiredis 1.2.0, Horovod 0.28.1, htop 3.2.2, HTSlib 1.18, hwloc 2.9.2, Hydra 1.3.2, hypothesis 6.82.0, Hypre 2.29.0, ICU 73.2, igraph 0.10.6, iimkl/2023a, imageio 2.31.1, ImageMagick 7.1.1-15, inferCNV 1.14.2, IPython 8.14.0, ISL 0.26, Julia 1.9.3, JupyterLab 4.0.5, jupyter-resource-usage 1.0.0, kma 1.4.12a, KMC 3.2.2, leidenalg 0.10.1, libdrm 2.4.115, libdwarf 0.7.0, libfabric 1.19.0, libgit2 1.7.1, libGLU 9.0.3, libsndfile 1.2.2, libwpe 1.14.1, libxml2 2.11.5, LittleCMS 2.15, LLVM 16.0.6, Lua 5.4.6, MACS2 2.2.9.1, magma 2.7.1, mahotas 1.4.13, makeinfo 7.0.3, Mamba 23.1.0, matplotlib 3.7.2, medaka 1.8.1 + 1.9.1, Mercurial 6.4.5, Mesa 23.1.4, meson-python 0.13.2, Miniconda3 23.5.2, Monocle3 1.3.1, MPC 1.3.1, MRtrix 3.0.4, MUMPS 5.6.1, MXNet 1.9.1, napari 0.4.18, ncdu 1.18, netCDF 4.9.2, netCDF-Fortran 4.6.1, nettle 3.9.1, networkx 3.1, nodejs 18.17.1, nsync 1.26.0, NVHPC 23.7, OpenAI-Gym 0.26.2, OpenCV 4.8.0, OpenFOAM 11, OpenImageIO 2.4.14.0, Osi 0.108.8, OTF2 3.0.3, Pango 1.50.14, PAPI 7.0.1, parallel 20230722, Perl 5.38.0, Pillow 10.0.0, Pillow-SIMD 9.5.0, Pint 0.22, pkgconf 2.0.3, plotly.py 5.16.0, PLUMED 2.9.0, pocl 4.0, poetry 1.5.1, protobuf 24.0, protobuf-python 4.24.0, psutil 5.9.5, PuLP 2.7.0, pyBigWig 0.3.22, pybind11 2.11.1, PyCairo 1.24.0, PyGObject 3.44.1, Pylint 2.17.4, pyproj 3.6.0, pyro-ppl 1.8.4, python-igraph 0.10.6, PyZMQ 25.1.1, QIIME2 2023.5.1, Qt5 5.15.10, QuantumESPRESSO 7.2, rclone 1.63.1, RE2 2023-08-01, re2c 3.1, RegTools 1.0.0, RnBeads 2.14.0, RTG-Tools 3.12.1, SAMtools 1.18, Scalene 1.5.26, scikit-build 0.17.6, scikit-image 0.21.0, SciPy-bundle 2023.07, Score-P 8.1, SCOTCH 7.0.3, SDL2 2.28.2, SDL2_image 2.6.3, setuptools 64.0.3, SeuratWrappers 20221022, snakemake 7.32.3, SpaceRanger 2.1.0, SpiecEasi 1.1.1, Stack 2.11.1, STAR 2.7.11a, SUNDIALS 6.6.0, SWIG 4.1.1, sympy 1.12, tabixpp 1.1.2, tbb 2021.10.0, tbl2asn 20230713, tcsh 6.24.10, TensorFlow 2.13.0, tensorflow-probability 0.19.0, Tk 8.6.13, Tkinter 3.11.3, tqdm 4.66.1, unixODBC 2.3.11, Valgrind 3.21.0, vcflib 1.0.9, VirtualGL 3.1, VisPy 0.12.2, Wayland 1.22.0, WebKitGTK+ 2.40.4, wpebackend-fdo 1.14.1, wxPython 4.2.1, Xvfb 21.1.8, xxd 9.0.1696, XZ 5.4.4, Yambo 5.1.2, Z3 4.12.2, zarr 2.16.0
  • minor enhancements, including:
    • add extensions to recent R-bundle-Bioconductors easyconfigs: UCell (#18281), decoupleR (#18399, #18552), RnBeads (#18682)
    • add extensions to recent R easyconfigs: tabletools (#18510), flextables (#18719)
    • add test for easyconfig file permissions (#18647)
    • simplify build and install options for Ghostscript (#18750)
  • various bug fixes, including:
    • set $JULIA_DEPOT_PATH in Julia easyconfigs with default value (#17976)
    • remove superflous dependencies from Horovod easyconfig on top of PyTorch (#18262)
    • disable building documentation for libsigc++ 2.10.x (#18301)
    • use MCR dependency in FreeSurfer 7.3.2 and 7.4.0 (#18303)
    • add hpctestlib to the $PYTHONPATH in ReFrame 4.2.0 easyconfig (#18320)
    • fix installation of Python bindings for recent Arrow easyconfigs by adding --no-build-isolation to pip install command (#18348, #18432, #18440, #18441)
    • add/fix patches for PyTorch 1.13.1 w/ foss/2022a (#18371)
    • add missing nbclassic extension to jupyter-server 1.21.0 (#18389)
    • fix batchspawner for JupyterHub 3.0 (#18390)
    • fix compiler flags and toolchain options for ScaLAPACK 2.1.0 + 2.2.0 (#18396, #18397)
    • add patch to fix CUDA race condition problem for Score-P v8.0 (#18411)
    • add -DABSL_PROPAGATE_CXX_STD=ON to recent Abseil easyconfigs (required for PyTorch) (#18413)
    • add missing patches for PyTorch 1.12.0 w/ foss/2022a (#18430)
    • fix regression in GCC 12.1 + 12.2 with wrong warnings (#18434)
    • add patch for LIBSVM 3.30 to pass $CFLAGS + $LDFLAGS and run tests (#18454)
    • add patch for Automake 1.16.5 to fix help2man error (#18468)
    • consistently use ON/OFF for -DBUILD_SHARED_LIBS (#18484)
    • add missing patches for PyTorch 1.12.0 w/ foss/2022a + CUDA 11.7.0 (#18491)
    • add patches to fix PyTorch 1.12.1 + 1.13.1 on POWER on POWER (#18489, #18490, #18492, #18493, #18494, #18500)
    • add patch to fix flaky test_jit_legacy test for PyTorch 1.13.1 (#18500)
    • add alternative checksum for Extrae v4.0.4 (#18564)
    • remove appending of $__EGL_VENDOR_LIBRARY_DIRS in recent Mesa easyconfigs, since Mesa easyblock now appends to it (#18630)
    • correct dirs in sanity_check_paths in template easyconfig (#18635)
    • set $MUJOCO_PY_FORCE_CPU to avoid that mujoco-py checks for nvidia-smi and aborts installation because /usr/lib/nvidia is not in $LD_LIBRARY_PATH (#18641)
    • fix sanity check for ccache by setting LC_ALL=C (#18677)
    • make Autoconf a build dep for tRNAscan-SE + add missing Perl dependency (#18680)
    • strip out hardcoded -march=native used by RapidJSON 1.1.0 (#18725)
    • disable detection of Dbus broker for at-spi2-core (#18727)
    • make sure that moduleclass is set in all easyconfig files (and is not set to default base module class) (#18739)
    • add patch for MPFR 4.1.0 to fix failing tsprintf test with glibc >= 2.37 (#18746)
    • add patch for PMIx 4.x to use lchown so links are not followed (#18755)
  • other changes:
    • update Java/11 wrapper to Java/11.0.20 (#18435)
    • use custom easyblock for recent sympy easyconfigs to prevent test failures (#18428)
    • use GCC/12.2.0 toolchain for GSL 2.7, remove easyconfig for GSL 2.7 with GCCcore/12.2.0 (#18501)
    • disable wx support in gnuplot 5.4.6 (#18648, #18691)
    • filter out template + archived easyconfigs when determining changed easyconfigs in PRs (#18753)

EasyBuild v4.8.0 (7 July 2023)

feature release

framework

  • various enhancements, including:
    • use version suffixes in PR title instead of Python versions when using --new-pr (#4253 + #4286)
    • add script to find updated ECs for installed module (#4271)
  • various bug fixes, including:
    • fix regex for extracting glibc version from output of 'ldd --version' in Gentoo Linux (#4290)
    • allow versionsuffix to be set to None in det_full_ec_version (#4292)
  • other changes:
    • stop running tests with Python 2.7 since it is no longer supported in GitHub Action (#4267)
    • replace imp.load_source by leveraging importlib.util.module_from_spec when using Python 3 (#4280)

easyblocks

  • add PerlBundle generic easyblock for installing a bundle of Perl modules (#2945)
  • add custom easyblock for Rust, which makes sure that all shared libraries use RPATH rather than RUNPATH if --rpath is used (#2952)
  • minor enhancements and updates, including:
    • add support for NVIDIA Hopper CC 9.0 in LAMMPS (#2941)
    • add support for install_cmds in Binary easyblock (#2953)
  • various bug fixes, including:
    • patch CMake's UnixPaths.cmake script if --sysroot is set (#2248)
    • fix incorrect sanity_check_step for torchvision (#2938)
    • update OpenBLAS easyblock since make shared is necessary and sufficient with OpenBLAS 0.3.23 + recent parallel build fixes (#2944)
    • improve handling of optarch in Cargo easyblock (#2947)
    • reset modules loaded by PythonPackage to let ExtensionEasyBlock handle multi_deps correctly (#2951)
  • other changes:
    • stop running tests with Python 2.7 since it is no longer supported in GitHub Actions (#2943)

easyconfigs

  • added easyconfigs for foss/2023a (#18264) and intel/2023a (#18275) common toolchains
  • added example easyconfig files for 76 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • AGAT 1.1.0, alleleCount 4.2.1, AMS 2023.101, ANSYS 2023R1, BayesTraits 3.0.2, Bismark 0.24.1, BLAST+ 2.14.0, boto3 1.26.163, Bowtie2 2.5.1, BUSCO 5.4.7, Cellpose 2.2.2, CHERAB 1.4.0, CmdStanR 0.5.2, CNVkit 0.9.10, corner 2.2.2, CUDA 12.1.1 + 12.2.0, cuDNN 8.9.2.26, cutadapt 4.4, cuTENSOR 1.7.0.1, CVXOPT 1.3.1, Dalton 2020.1, datamash 1.8, deepTools 3.5.2, DIAMOND 2.1.8, DMTCP 3.0.0, dorado 0.3.0 + 0.3.1, dtcmp 1.1.4, duplex-tools 0.3.3, elastix 5.0.0, Emacs 28.2, emcee 3.1.4, Extrae 4.0.4, fastp 0.23.4, FlexiBLAS 3.3.1, fontconfig 2.14.2, FreeSurfer 7.4.0, freetype 2.13.0, GATK 4.4.0.0, GBprocesS 4.0.0.post1, GCC 11.4.0, GCTA 1.94.1, GDRCopy 2.3.1, Geant4 11.1.2, Geant4-data 11.1, GetOrganelle 1.7.7.0, git 2.41.0, GMAP-GSNAP 2023-04-20, GROMACS 2023.1, hifiasm 0.19.5, Horovod 0.25.0, hwloc 2.9.1, InterProScan 5.62, IQ-TREE 2.2.2.3, ITSTool 2.0.7, JAGS 4.3.2, Julia 1.9.0, libfabric 1.18.0, libheif 1.16.2, libjxl 0.8.1, LibLZF 3.6, LMfit 1.2.1, LSD2 2.4.1, LuaJIT 2.1.0, lwgrp 1.0.5, MAGeCK 0.5.9.5, MATLAB 2023a, MaxQuant 2.4.2.0.eb, MCR R2022a.5, meshio 5.3.4, Meson 1.1.1, minimap2 2.26, MMseqs2 14-7e284, mpifileutils 0.11.1, MuJoCo 2.2.2, nanomath 1.3.0, ncbi-vdb 3.0.5, NCCL 2.18.3, Nextflow 23.04.2, ngspice 39, ont-fast5-api 4.1.1, OpenBLAS 0.3.23, OpenMPI 4.1.5, openpyxl 3.1.2, OSU-Micro-Benchmarks 7.1-1, parasail 2.6.2, Paraver 4.11.1, ParaView 5.11.1, patchelf 0.18.0, Perl 5.36.1, PMIx 4.2.4, POT 0.9.0, PSI4 1.7, psutil 5.9.4, psycopg2 2.9.6, PyCalib 20230531, pycocotools 2.0.6, pyfaidx 0.7.2.1, pyiron 0.3.0, PyQtGraph 0.13.3, Pysam 0.21.0, pySCENIC 0.12.1, pyspoa 0.0.9, Python 3.11.3, python-parasail 1.3.4, PyTorch 1.13.1, rasterio 1.3.8, regionmask 0.10.0, Ruby 3.2.2, Rust 1.70.0, ScaFaCoS 1.0.4, seqtk 1.4, SRA-Toolkit 3.0.5, statsmodels 0.14.0, strace 5.14, Subversion 1.14.2, SUNDIALS 6.5.1, tidymodels 1.1.0, tokenizers 0.13.3, torchaudio 0.12.0, TransDecoder 5.5.0, Transformers 4.29.2 + 4.30.2, UCC 1.2.0, UCC-CUDA 1.2.0, UCX 1.14.1, UCX-CUDA 1.14.1, util-linux 2.39, VASP 6.3.2, VTK 9.2.6, WhatsHap 1.7, X11 20230603, xarray 2023.4.2, XlsxWriter 3.1.2, XML-LibXML 2.0208, xorg-macros 1.20.0, zlib-ng 2.0.7
  • minor enhancements, including:
    • add CI check for -DCMAKE_BUILD_TYPE, should use build_type instead (#14008)
    • enhance sanity check for recent LibTIFF easyconfigs (#17975)
    • update JupyterLab v3.5.0 to set $JUPYTERLAB_SETTINGS_DIR and $JUPYTERLAB_WORKSPACES_DIR on loading of module (#17982)
    • use custom easyblock for Rust 1.65.0 (#18174) and Rust 1.70.0 (#18167)
    • update easyconfig for Nextflow 23.04.2 to use install_cmds (#18173)
    • add extra packages to recent R easyconfigs (#18029, #18063, #18122, #18195, #18245)
    • add extra packages to recent R-bundle-Bioconductor easyconfigs (#18196, #18246)
  • various bug fixes, including:
    • add patches to fix TensorFlow 2.7.1 on POWER (#16795)
    • fix patches + extensions in easyconfig for TensorFlow 2.8.4 w/ foss/2021b (#17058)
    • stick to FFmpeg 4.4.2 as dependency for SoX 14.4.2 (#17998)
    • add pkgconfig as build dependency for nodejs , required for finding ICU dependency (#18007)
    • fix exec permissions for all binaries & scripts of L_RNA_scaffolder 20190530 (#18030)
    • update SUNDIALS dependency for Cantera v2.6.0 to v6.5.1 + add missing dependencies (#18041)
    • fix --sanity-check-only for MAGeCK v0.5.9.4 (#18047)
    • enable building static libs and check for libexslt.* in libxslt (#18064)
    • add -pthread flag for dorado (#18072)
    • add missing patch files for Qt5 5.15.2 to fix build problems with glibc 2.34 (#18087)
    • add missing pkgconf build dependency for XML-LibXML v2.0208 (#18159)
    • update homepage for NWChem 7.x (#18184)
    • update homepage for SUNDIALS 5.x and 6.x (#18186)
    • add missing source_urls for SimpleITK (#18212)
    • use patch files for Qt5 v5.17.7 to fix compatiblity with glibc 2.34 (#18230)
    • fix incorrect version for GMAP-GSNAP 2021-12-17 (was 2021-21-17) (#18231)
    • fix CUDA build of recent TensorFlow easyconfigs when using compiler symlinks (#18235)
    • use patch to make ncbi-vdb 2.11.2 compatible with HDF5 1.12.2 (#18236)
    • update source_urls for Velvet 1.2.10 (#18237)
    • use upstream patch for symbol compatibility in XZ 5.2.5 (#18250)
    • update source url for pkgconf (#18271)
  • other changes:
    • stop running easyconfig unit tests with Python 2.7 (#18006)
    • fix toolchain for networkx-3.0 (foss/2022b -> gfbf/2022b) (#18061)
    • remove unused PyTorch patch (#18062)
    • allow multiple dependency variants of ncbi-vdb for SRA-TOolkit per easyconfigs generation, as long as versions match (#18098)
    • bump OpenSSL 1.1 wrapper fallback to 1.1.1u (#18188)
    • remove default separate_build_dir = True and build_type = 'Release' from double-conversion (#18222)
    • remove default separate_build_dir = True and CMAKE_BUILD_TYPE=Release from MariaDB (#18223)
    • remove incorrect '-Dgallium-drivers=swrast' configure option in ROOT easyconfigs (#18260)
    • change base compiler for intel/2023.03 to GCCcore/12.3.0 (required to use it as intel/2023a) (#18263)

EasyBuild v4.7.2 (27 May 2023)

bugfix/update release

framework

  • various enhancements, including:
    • extend (experimental) support for generating container images with Apptainer (#3975)
    • add default download timeout (#4226)
    • make the RPATH section check with readelf -d in sanity check optional (#4249)
  • various bug fixes, including:
    • add make_extension_string and _make_extension_list methods to EasyBlock class, so easyblocks can customize them (#3697)
    • fix typo in condition guarding installation of GitHub token in CI workflow to run unit tests + fix broken tests related to GitHub integration features (#4216)
    • fix --check-github as gist url now includes username (#4231)
    • switch to Ubuntu 22.04 in GitHub Actions workflow to run container tests (#4238)
    • use "/usr/bin/env python" in test_run_cmd_script (#4241)
  • other changes:
    • print potential errors after running a command only once (#4065)
    • change github_* template descriptions to be somewhat clearer (#4251)
    • remove workflow to test bootstrap script (#4255)

easyblocks

  • new generic easyblock for installing Rust crates with cargo: Cargo and CargoPythonPackage (#2902, #2934)
  • minor enhancements and updates, including:
    • let MATLAB easyblock raise an error if the MATLAB installation key is not provided (#2905)
    • print message to inform that GPU package (instead of Kokkos) is used for LAMMPS (#2906)
    • enhance PyTorch easyblock to use FlexiBLAS for PyTorch >= 1.11.0 (#2915)
  • various bug fixes, including:
    • use custom RPATH sanity check for Go packages that doesn't actually check for an RPATH section in the binary (#2913)
    • use string '0' to avoid problems when openssl version is not determined (#2914)
    • update GCC easyblock to ensure that --sysroot is passed to linker (but only when it needs to be) (#2921)
    • add output log to MATLAB installs, actually parse for common errors (#2924)
    • enhance Gurobi easyblock to allow using $EB_GUROBI_LICENSE_FILE environment variable (#2926)
    • force building torchvision with CUDA support if CUDA is included as dependency by setting $FORCE_CUDA (#2931)
    • fix exec permission on files in arch bindir for COMSOL (#2932)

easyconfigs

  • added easyconfigs for intel/2023.03 (#17676)
  • added example easyconfig files for 89 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Abseil v20230125.2, AlphaFold v2.3.1 + v2.3.4, Arrow v11.0.0, arrow-R v11.0.0.3, astropy v5.2.2, awscli v2.11.21, Bismark v0.24.0, biom-format v2.1.14, Blender v3.5.0, Blosc2 v2.8.0, Bottleneck v1.3.7, breseq v0.38.1, bwa-meth v0.2.6, buildenv default for foss/2022b + CUDA 12.0.0, Cantera v2.6.0, CapnProto v0.10.3, CASTEP v22.11, Clang v15.0.5, CLHEP v2.4.6.4, CMake v3.26.3, CMSeq v1.0.4, coverage v7.2.3, CP2K v9.1 + v2022.1, CPLEX v22.1.1, CREST v2.11.2, cURL v8.0.1, CuPy v11.4.0, DBus v1.15.4, DBG2OLC v20200724, dlb v3.3.1, double-conversion v3.3.0, Doxygen v1.9.7, expat v2.5.0, FASTA v36.3.8i, FHI-aims v221103, fio v3.34, Fiona v1.9.2, Flask v2.2.3, fmt v10.0.0, freeglut v3.4.0, FUSE v3.14.1, GapFiller v2.1.2, GCC 12.3.0 + 13.1.0, GDCM v3.0.21, GitPython v3.1.31, Go v1.20.4, googletest v1.13.0, gpustat v1.1, Guile v3.0.9, Gurobi v10.0.1, Harminv v1.4.2, Highway v1.0.4, IgBlast v1.21.0, Imath v3.1.7, infercnvpy v0.4.2, IQ-TREE v2.2.2.3, jax v0.3.25, jupyterlmod v4.0.3, Kalign v3.3.5, L_RNA_scaffolder v20190530, libaio v0.3.113, libarchive v3.6.2, libctl v4.5.1, libdeflate v1.8, libgcrypt v1.10.1, libGridXC v1.1.0, libjpeg-turbo v2.1.5.1, libmaus2 v2.0.499, libopus v1.4, libpng v1.6.39, libPSML v1.1.12, libRmath v4.2.1, libsigc++ v3.4.0, LibTIFF v4.5.0, libunistring v1.1, libxc v6.1.0, libxml2 v2.11.4, libxslt v1.1.38, lifelines v0.27.4, lxml v4.9.2, make v4.4.1, MariaDB v10.11.2, Meep v1.26.0, MetaPhlAn v4.0.6, mold v1.11.0, MPB v1.11.1, muParser v2.3.4, NAG v7.1, NAGfor v7.1, nano v7.2, NASM v2.16.01, ncurses v6.4, netcdf4-python v1.6.3, networkx v2.8.8, NSS v3.89.1, numexpr v2.8.4, nvtop v3.0.1, OpenEXR v3.1.7, OpenMM v8.0.0, Pandoc v3.1.2, ParaView v5.11.0, PCRE2 v10.42, PhyloPhlAn v3.0.3, phyx v1.3, picard v3.0.0, Pint v0.20.1, pkgconf v1.9.5, PostgreSQL v15.2, PROJ v9.2.0, Proteinortho v6.2.3, protobuf v23.0, protobuf-python v4.23.0, pydantic v1.10.4, pyFFTW v0.13.1, PyGEOS v0.14, Pyomo v6.5.0, pyparsing v3.0.9, pyperf v2.6.0, pyproj v3.5.0, pytest v7.2.2, PYTHIA v8.309, Qtconsole v5.4.0, R-bundle-Bioconductor v3.16, R-tesseract v5.1.0, RE2 v2023-03-01, ReFrame v4.2.0, RepeatMasker v4.1.5, RevBayes v1.2.1, rgdal v1.6-6, rioxarray v0.14.0, rocm-smi v5.4.4, ROOT v6.26.10, Rtree v1.0.1, scib v1.1.3, scikit-build v0.17.2, Seaborn v0.12.2, SHAP v0.41.0, Shapely v2.0.1, ShengBTE v1.5.0, SLiM v4.0.1, snappy v1.1.10, spdlog v1.11.0, spglib v2.0.2, spglib-python v2.0.2, SQLite v3.42.0, Subread v2.0.4, Tcl v8.6.13, tcsh v6.24.05, torchtext v0.14.1, trimesh v3.21.5, UCC-CUDA v1.1.0, utf8proc v2.8.0, Vim v9.0.1434, vsc-mympirun v5.3.1, WRF v4.4.1, xmlf90 v1.5.6, xxHash v0.8.1, XZ v5.4.2, zsh v5.9, zstd v1.5.5
  • minor enhancements, including:
    • add local::lib extension to Perl 5.34.0 (#17679)
    • install shared libraries for tesseract (#17721)
    • add additional extensions to recent R easyconfigs: word2vec, tau, quanteda, ... (#17738)
    • add extensions to R-bundle-Bioconductor 3.15: deepSNV (#17852)
    • add extensions to R 4.2.x: dlm (#17640), PMA + unikn + ppcor (#17695), tvem (#17729), epitools (#17852)
  • various bug fixes, including:
    • add patch for UCC 1.1.0 for multiple component paths (#17255)
    • fix configure step for ELSI 2.5.0+ (#17288)
    • switch bamtofastq to Cargo easyblock (#17595)
    • add missing OpenJPEG dependency for recent GDAL versions (#17599)
    • fix CodAn bin/* executable permissions for all users #(#17607)
    • upgrade traitlets, ipywidgets, and widgetsnbextension + downgrade jupyterlab_widgets extensions in IPython v8.5.0 to fix known issues (#17612)
    • add patch for GPAW-22.8.0 with 2022a toolchain to make test tolerance a bit less strict (#17618)
    • add alternative checksum for MONAI 1.0.1 (#17628)
    • fix paths to Perl modules in MAKER v3.01.04 (#17629)
    • add missing dependencies and add patch for fix incorrect ids for BRAKER v2.1.6 (#17631)
    • explicitely disable mpi/python in Boost (intel-compilers/2021.4.0) (#17638)
    • remove LLVM build dependency from TensorFlow easyconfigs (#17641)
    • update easyconfig for Longshot 0.4.5 to use Cargo easyblock (#17666)
    • fix homepage in ELPA easyconfigs (due to switch to new domain) (#17697)
    • add patch for scipy 1.10.1 extension in SciPy-bundle 2023.02 to fix broken test (#17713)
    • use CUDA variant of OpenMM 7.5.1 as dependency for AlphaFold 2.3.0 (#17717)
    • exclude flaky test_optim for PyTorch 1.12.1 + make excluded tests for PyTorch 1.12.1 consistent (#17726, #17730, #17731, #17737)
    • add missing PCRE dependency for InterProScan 5.55-88.0 (#17762)
    • fix building Python bindings of DGL, requires static libs (#17764)
    • only use QEF gitlab source url for QuantumESPRESSO itself (#17766)
    • add egg file to OpenCV 4.6.0 python package for pip + pkgconfig file (#17779)
    • fix broken source URL for AOCC 4.0.0 (#17794)
    • specify source_urls inside exts_default_options in Seurat easyconfigs to ensure correct name expansion for the archived packages (#17830)
    • add Doxygen build dependency to X11 (#17842)
    • FLINT needs BLAS so move it up from GCC level (#17868)
    • fix broken tarball links for ispc 1.6, 1.10, and 1.12 easyconfigs (#17875)
    • add dependency on PycURL to easyconfig for JupyterHub 3.0.0 (#17887)
    • add historical repo paths to install command for old versions of texlive (#17893)
    • add missing FastTreeMP binary for FastTree (#17897)
    • add checksum for arm64 source tarball for Go 1.18.3 (#17903)
    • add patch to fix test_quantization in PyTorch 1.12.1 (#17908)
    • add make 4.3 as build dependency for recent OpenBLAS versions (#17924)
  • other changes:
    • bump versions in Java wrappers to latest builds that include ppc64le: Java/8.362, Java/11.0.8, Java/17.0.6 (#17775)
    • move Arb and polymake to gfbf/foss since FLINT is now at gfbf/foss (#17869)

EasyBuild v4.7.1 (20 March 2023)

bugfix/update release

framework

  • various enhancements, including:

    • add option to make sanity_check_paths arch dependent (#3845)
    • add support for %(start_dir)s easyconfig template (#4073)
    • add Ubuntu friendly package naming scheme EasyBuildDebFriendlyPNS (#4115)
    • allow to directly import constants from easybuild.framework.easyconfig.constants (#4144)
    • accept single source as dict and single checksum in check_checksums_for (#4180)
    • add pre/post extension hook that is triggered before/after individual extension installations (#4193)
    • enforce absolute paths as start dir of extensions (#4196)
    • print warning when non-existing start_dir is specified for extension (#4201)
    • add support to silence deprecation warning for easyconfigs and toolchains (#4207)
    • skip directories when fixing shebangs (#4209)
    • add support for modunloadmsg easyconfig parameter (#4223)
  • various bug fixes, including:

    • fix use of locate in check_os_dependency (#4166)
    • add VERSION to easybuild.easyblocks namespace in test sandbox (#4171)
    • also apply filter to asyncprocess test subsuite (#4172)
    • don't use deprecated SafeConfigParser when running with Python 3.x (#4173)
    • update CI workflows to run apt-get update if installation of packages via apt-get install failed, likely due to stale apt cache (#4176)
    • fixes for findPythonDeps script (#4179)
    • check type of versionsuffix value in det_full_ec_version, and raise useful error message if it's not a string (#4184)
    • avoid GC3Pie deprecation warning (#4185)
    • correctly restore sys.path in tests (#4186)
    • suppress output of --skip-test-step test (#4187)
    • fix flaky test_search_file due to accidental matches for .*C++ search pattern (#4190)
    • silence distutils deprecation warnings (#4204)
    • improve handling of start_dir and add tests for cases where either ext_dir or initial start_dir or both are unset or None (#4206)
    • restore initial environment before processing each easystack item (#4213)
    • make test_help_long work on small terminals (#4218)
  • other changes:

    • use better test assertions by replacing use of assertFalse/assertTrue (#4170, #4205)
    • remove Travis CI configuration file (#4174)
    • filter out deprecation warnings for platform.dist in get_os_version and platform.linux_distribution in get_os_name (#4175)
    • only give read permissions in GitHub Actions workflows (#4182)
    • fix website/docs links in README (#4199)
    • only print "default:" for configuration option of strlist type if default is not empty (#4220)

easyblocks

  • minor enhancements and updates, including:

    • fix TensorFlow easyblock for new versions of Bazel & TensorFlow (#2854)
    • make NAMD easyblock aware of (pre)testopts (#2856)
    • update MesonNinja easyblock for Meson >=0.64.0 (#2861)
    • update scipy easyblock for scipy >= 1.9.0 to use meson/ninja (#2862, #2903)
    • modify logic in QScintilla easyblock to find the PyQt5 sipdir in more places (#2868)
    • add testinstall custom easyconfig parameter to PythonPackage easyblock (#2872)
    • use -x option for "go install" in GoPackage generic easyblock, to print commands as they are executed (#2878)
    • allow disabling pybind11 tests with runtest = False (#2892)
    • call parent post_install_step in EasyBuildMeta easyblock (so postinstallcmds are taken into account) (#2893)
    • update and enhance Maple easyblock for recent versions (#2895)
    • relax glob pattern to find Mathematica install script (#2896)
    • implement CUDA support in the ELPA EasyBlock & fix $CPP configure issue on newer ELPA versions (#2898)
    • update Trilinos easyblock to allow disabling of building tests and forward deps + support Trilinos v13.x (#2900)
    • enhance Python easyblock to create non-versioned symlink for python-config + check for bin/python and bin/python-config in sanity check (#2904)
  • various bug fixes, including:

    • do not use -g77 option when installing NVHPC 22.9+ (#2819)
    • check that sanity_check_module_loaded attribute exists before querying it in PythonPackage easyblock (#2865)
    • fix $JULIA_DEPOT_PATH in installation of multiple JuliaPackage extensions (#2869)
    • fix checking of CUDA/ROCR-Runtime dependencies for Clang to determine default build targets (#2873)
    • show template values of exts_default_options in PythonBundle (#2874)
    • fix missing initialization of CMakeMake in CMakePythonPackage (#2876)
    • fix error when failing pip version check during PythonPackage sanity check (#2877)
    • handle templating correctly in CMakeMake when playing with configopts (#2882)
    • avoid crash in test step of PyTorch easyblock if runtest is not a command (#2883)
    • fix check configure option in FlexiBLAS easyblock (#2886)
    • use older ncgen -H for older netCDF (#2889)
    • fix linking numexpr with Intel MKL's VML library for imkl >= 2021.x (#2897)
  • other changes:

    • only give read permissions in GitHub Actions workflows (#2863)
    • use start dir of extension to install R packages (#2867)
    • fix website/docs links in README (#2870)
    • add deprecation notice to RPackage extensions with relative paths in start_dir (#2879)

easyconfigs

  • added example easyconfig files for 99 new software packages:

  • added additional easyconfigs for various supported software packages, including:

    • AlphaFold 2.3.0, Anaconda3 2022.10, angsd 0.940, archspec 0.2.0, Armadillo 11.4.3, AUGUSTUS 3.5.0, bcbio-gff 0.7.0, BCFtools 1.17, beagle-lib 4.0.0, Beast 2.7.3, BeautifulSoup 4.11.1, Biopython 1.81, BLAT 3.7, Blender 3.4.1, Blosc2 2.6.1, Boost 1.81.0, Bottleneck 1.3.6, BUSCO 5.4.5, bx-python 0.9.0, CatMAP 20220519, CellRanger 7.1.0, Cereal 1.3.2, CFITSIO 4.2.0, CheckM 1.2.2, code-server 4.9.1, configurable-http-proxy 4.5.3, csvkit 1.1.0, 4.8, CUDA 12.1.0, cuDNN 8.8.0.121, cwltool 3.1.20221008225030, Cython 0.29.33, DGL 0.9.1, DIAMOND 2.1.0, dill 0.3.6, DIRAC 23.0, dm-tree 0.1.8, dRep 3.4.2, eggnog-mapper 2.1.10, elfutils 0.189, ELPA 2022.05.001, epiScanpy 0.4.0, FabIO 0.14.0, FastQ_Screen 0.14.0, FFmpeg 5.1.2, FLAC 1.4.2, flatbuffers 23.1.4, FLINT 2.9.0, GDAL 2.4.4, GDAL 3.6.2, GDGraph 1.56, GEOS 3.11.1, GMAP-GSNAP 2023-02-17, gmsh 4.11.1, gnuplot 5.4.6, GOATOOLS 1.3.1, googletest 1.12.1, GPyTorch 1.9.1, Greenlet 2.0.2, GST-plugins-base 1.22.1, GStreamer 1.22.1, GTDB-Tk 2.1.1, h5py 3.8.0, HDBSCAN 0.8.29, HDF5 1.14.0, HiCExplorer 3.7.2, Highway 1.0.3, HTSlib 1.17, hypothesis 6.68.2, Hypre 2.27.0, igraph 0.10.3, IGV 2.16.0, IJulia 1.24.0, Imath 3.1.6, imbalanced-learn 0.10.1, imkl 2023.0.0, imkl-FFTW 2023.0.0, impi 2021.8.0, intel-compilers 2023.0.0, IRkernel 1.3.2, JAGS 4.3.1, jax 0.4.4, Julia 1.8.5, JupyterHub 3.0.0, jupyter-matlab-proxy 0.5.0, jupyter-resource-usage 0.6.3, jupyter-server-proxy 3.2.2, Kent_tools 442, leidenalg 0.9.1, LERC 4.0.0, libcerf 2.3, libgit2 1.5.0, libnsl 2.0.0, libsndfile 1.2.0, libtirpc 1.3.3, libxslt 1.1.37, Longshot 0.4.5, MAFFT 7.505, Maple 2022.1, MaSuRCA 4.1.0, Mathematica 13.1.0, MATIO 1.5.23, MATLAB 2022a + 2022a-r3 + 2022b, matplotlib 3.7.0, MaxQuant 2.2.0.0, MCL 22.282, MDAnalysis 2.4.2, Miniconda3 22.11.1, mm-common 1.0.5, MPFR 4.2.0, mpi4py 3.1.4, mpmath 1.2.1, msprime 1.2.0, MultiQC 1.14, mygene 3.2.2, nano 7.1, nanomax-analysis-utils 0.4.4, ncbi-vdb 3.0.2, NetLogo 6.2.2 + 6.3.0, nettle 3.8.1, networkx 3.0, Nextflow 22.10.6, nlohmann_json 3.11.2, numba 0.56.4, NVHPC 22.9 + 22.11 + 23.1, NVSHMEM 2.8.0, OpenMPI 4.1.5, Optuna 3.1.0, ORCA 5.0.4, PAML 4.10.5, panaroo 1.3.2, ParallelIO 2.5.10, parasail 2.6, Pillow 9.4.0, PIPITS 3.0, PLINK 2.00a3.7, plotly.py 5.12.0 + 5.13.1, PLUMED 2.8.1, poetry 1.2.2, polymake 4.8, preseq 3.2.0, presto 1.0.0-20230113, PROJ 9.1.1, protobuf 3.21.9, psycopg2 2.9.5, pybind11 2.10.3, PyCharm 2022.3.2, py-cpuinfo 9.0.0, pyFAI 0.21.3, pyfaidx 0.7.1, pyGenomeTracks 3.8, pygraphviz 1.10, pymca 5.7.6, Pysam 0.20.0, PySCF 2.1.1, PyTables 3.8.0, Python 3.11.2, python-parasail 1.3.3, PyZMQ 24.0.1, QCG-PilotJob 0.13.1, QIIME2 2022.11, QtPy 2.3.0, QUAST 5.2.0, R 4.2.2, Ray-project 2.2.0, RDKit 2022.09.4, Redis 7.0.8, redis-py 4.5.1, ReFrame 4.0.5, RepeatMasker 4.1.4, RepeatModeler 2.0.4, rjags 4-13, RMBlast 2.13.0, ROOT 6.22.08, Salmon 1.9.0, SAMtools 1.17, Scalasca 2.6.1, scikit-learn 1.2.1, SciPy-bundle 2023.02, SDL2 2.26.3, SeqKit 2.3.1, silx 1.0.0, snakemake 7.22.0, SNAP-HMM 20221022, SpaceRanger 2.0.1, SPAdes 3.15.5, spaln 2.4.13f, Spark 3.3.1, SRA-Toolkit 3.0.3, SSW 1.2.4, STAR 2.7.10b, STAR-CCM+ 18.02.008, SVG 2.87, TensorFlow-Datasets 4.8.3, Tkinter 3.10.8, tqdm 4.64.1, Trilinos 13.4.1, Trim_Galore 0.6.10, Trinity 2.15.1, TWL-NINJA 0.98-cluster_only, Unidecode 1.3.6, vsc-mympirun 5.3.0, VSEARCH 2.22.1, wget 1.21.3, wxWidgets 3.2.2.1, x264 20230226, Xerces-C++ 3.2.4, XlsxWriter 3.0.8, xtb 6.5.1, Xvfb 21.1.6
  • minor enhancements, including:

    • add additional extensions to R 4.2.1 (#17043, #17125, #17224, #17493, #17523)
    • add additional extensions to Bioconductor 3.15 (#17126, #17315, #17494)
    • add sanity check command to OpenMolcas v22.10 (#17128)
    • add Set::Object and Heap::Fibonacci extensions to Perl 5.32.1 (#17151)
    • add additional extensions to Python 3.10.8 (required for scipy test suite) (#17159)
    • enhance OpenFold 1.0.1 for standalone usage (#17206)
    • add SDL2 dependency for FFmpeg 5.0.1 to build ffplay (#17213)
    • set $JULIA_DEPOT_PATH and $JULIA_HISTORY in Julia easyconfigs (#17216)
    • add Devel::Size + Math::Utils extension to recent Perl easyconfigs (#17246, #17466)
    • combine errors of extension patch check into a single failure (#17286)
    • add case-insensitive name clash test (#17303)
    • add ffnvcodec build dependency to all recent FFmpeg easyconfigs (#17316)
    • use 'import deap.base' in sanity check for deap extension in SciPy-bundle 2022.05 (#17429)
    • add source URL to cuDNN 8.8 easyconfig (#17439)
    • add missing zstd dep to Boost (#17482)
  • various bug fixes, including:

    • fix postinstallcmds and clarify download instructions for netMHC + netMHCpan 4.0a (#9739, #9740)
    • fix OpenBLAS 0.3.15 patch to correctly set the CPU core type for Tiger Lake (#15845)
    • add alternative checksum for UCX 1.13.1 after source tarball was changed in-place (without actual code changes) (#17077)
    • fix build of TensorFlow 2.5+ on aarch64 (#17101)
    • explictely download qe-gipaw source tarball from qe-gipaw GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#17129)
    • add patch for GCCcore 11.1.0 + 11.2.0 to fix AVX2 bug (#17135)
    • add patch to make ncbi-vdb 3.0.0 compatible with HDF5 1.12.2 (#17140)
    • fix source URL for p7zip v17.x (#17144)
    • add patches for Qt5 5.15.5 to fix compilation failures in abseil and breakpad with glibc 2.34 (#17165)
    • remove dependency on Pillow from scikit-bio v0.5.7 (#17178)
    • correctly specify path to libfabric installation prefix in PMIx 4.1.0 easyconfig (#17204)
    • use GCC as toolchain for serial variants of HDF5, since it has a FORTRAN API (#17221)
    • fix CMake print summary for long hostnames for NECI (#17230)
    • add missing pmix patch to OpenMPI 4.1.1 easyconfig used in iomkl/2021a and iomkl/2021b (#17240)
    • include required stereo_chemical_props.txt for OpenFold 1.0.1 (#17242)
    • add patch for PAPI 7.0.0 to fix compilation error (#17244)
    • also update $PERL5LIB for RepeatMasker v4.1.4 (#17245)
    • add alternative source_url for MariaDB > 10.4 (#17250)
    • remove use of rysnc in building Kent_tools (#17252)
    • add missing pkgconf build dependency in recent libxslt easyconfigs (#17254)
    • add psycopg2, PyYAML, and Cartopy dependencies to QGIS 3.28.1 (#17257)
    • fix postinstallcmds in shovill easyconfigs (#17279)
    • allow multiple easyconfigs with same name if they differ by CUDA version included in versionsuffix (#17289)
    • remove duplicate SlamDunk easyconfig using lowercase name (#17301)
    • use https in homepage + source URL for GenomeThreader 1.7.3 (#17338)
    • consistently use Check capitailisation (#17351)
    • add alternative checksum for spatial 7.3-14 extension in R 4.1.x easyconfigs (#17356)
    • fix homepage + source URL for ELPA (due to switch to new domain) (#17357)
    • fix homepage in ELPA easyconfigs (due to switch to new domain) (#17358)
    • rename libpsml for consistency with libPSML (#17359)
    • replace obsolete pycrypto with pycryptodome in Python 3.10.x easyconfigs (#17412)
    • update deap to version 1.3.3 in SciPy-bundle 2022.05 easyconfigs (since deap 1.3.1 is broken) (#17413)
    • add patch for Qt5 5.12.2 with GCCcore/11.2.0 to fix template bug (#17464)
    • replace src include path with installation dir for HDF5 (#17469, #17488)
    • disable Python support for OTF2 v2.2, since we're not including Python 2.x as dependency (#17499)
    • update homepage and source urls of DFT-D3 (#17528)
    • use Binary easyblock for ANIcalculator to prevent RPATH sanity check failures (#17536)
  • other changes:

    • fix invalid escape sequences in easyconfigs by using raw strings (r"...") (#11149)
    • add exception for ncbi-vdb 3.0.0 dependency variant (#17131)
    • use proper source tarball instead of cloning GitHub repository for wxWidgets v3.2.1 (#17167)
    • enable -fPIC in GEOS 3.11.1 (required by GDAL) (#17196)
    • fix website/docs links in README (#17232)
    • remove commented out line and delete unused patch for TALON (#17298)
    • re-enable disabled tests (#17304)
    • rename MAGMA to MAGMA-gene-analysis to avoid name collision (#17345)
    • Archive ARB and blasr patch files (#17346)
    • Archive BAMM, BamM, and GroopM to avoid BAMM/BamM name collision (#17348)
    • consistently use NanoFilt capitalisation (#17349)
    • rename ncl to NEXUS-CL to avoid case-insensitive name clash (#17350)
    • rename python graphviz to graphviz-python to avoid case-insensitive name clash (#17352)
    • archive charmm and CHARMM easyconfigs to avoid case-insensitive name clash (#17364)

EasyBuild v4.7.0 (January 9th 2023)

feature release

framework

  • print deprecation warning with running EasyBuild with Python 2 (#4136)

  • various enhancements, including:

    • add support for checksums specified in external checksums.json file (#3749)
    • vendor distutils.version.LooseVersion as easybuild.tools.LooseVersion (since distutils is deprecated in Python 3.10) (#3794, #4156)
    • take into account custom configuration options specified in easystack file (#4057)
    • add support for using --output-format=md (MarkDown) (#4117, #4155)
    • add support for --filter-rpath-sanity-libs to skip RPATH sanity check for designated libraries (#4119)
    • add sanity_check_load_module method to EasyBlock to provide control over when module is loaded during sanity check step (#4125)
    • add eb_bash_completion_local.bash script to setup.py (#4127)
    • check whether nvidia-smi/rocm-smi command is available before trying to run it in get_gpu_info (#4131)
    • add gfbf as subtoolchain of foss (#4143)
    • add support for postinstallmsgs (#4145)
    • make iimkl toolchain aware of intel-compilers (#4146)
    • add definition for nvofbf toolchain (#4157, #4163)
  • various bug fixes, including:

    • also use EasyConfig instances cache in process_easyconfig when build_specs is empty dict (#4107)
    • fix build options that should have empty list as default value (#4108)
    • catch easyconfig parsing failure so we can generate and post a test report (#4109)
    • add explicit return when no checksums match those specified in a tuple (#4112)
    • tweak findPythonDeps.py script to use canonical package names (#4118)
    • add -fdefault-double-8 to r8 toolchain compiler option for GCC (to be consistent with Intel) (#4121)
    • always start with empty list for banned/requires libraries to avoid that corresponding build option is updated in-place (#4137)
    • fix container tests by using EPEL archive URL for downloading Singularity RPM (#4138)
    • use -march=x86-64 -mtune=generic instead of -xSSE2 when using Intel oneAPI compilers (#4147)
    • partially skip test_det_copy_ec_specs if no GitHub token is available (#4149)
  • other changes:

    • drop support for easystack files using 'software' top-level key (#4057)
    • also run unit tests with Python 3.11 + add Python 3.11 to classifiers in setup.py (#4092, #4141)
    • use new EasyBuild logo in README (#4123)
    • automatically cancel Github Action workflow runs for outdated commits (#4132)
    • auto-enable use of oneAPI C/C++ compilers for intel-compilers >= 2022.2.0 (#4135)
    • trim CI test configurations to avoid hitting GitHub rate limits (#4148)
    • various tweaks to docstrings and help messages to fix problems with auto-generated documentation in MarkDown format (#4129, #4130, #4154, #4160, #4162, #4168)
    • update copyright lines for 2023 (#4161)

easyblocks

  • add generic easyblocks for installing (bundle of) Julia packages: JuliaPackage (#2816) and JuliaBundle (#2830)

  • minor enhancements and updates, including:

    • enhance TensorFlow easyblock to take into account provided OpenSSL dependency (#2575)
    • add fix_shebang to install_step of PythonPackage easyblock so that we can fix shebangs when installing extensions (#2680)
    • update PETSc easyblock for newer versions (>= 3.17) (#2796)
    • update Clang easyblock to add support for new directory structure in Clang versions >= 14 + support Flang (#2800)
    • update Xmipp easyblock since versions >= 3.20.07 use noAsk option to configure (#2809)
    • add include/opencv4 to $CPATH for OpenCV versions >= 4.0 (#2818)
    • add extra option for disabling LAPACK in ESMF (#2821)
    • enable building of static libraries for libxml2 >= 2.10 (#2825)
    • update Xmipp easyblock to handle effects of CUDA at SYSTEM level and newer CUDA version requirements for stdc++ (#2831)
    • update LLVM easyblock to put 'cmake' symlink in place so separate CMake modules required for LLVM 15+ can be found (#2832)
    • set $TEMPDIRPATH for testsuite in the BerkeleyGW easyblock, to avoid polluting /tmp (#2836)
    • add configure_no_prefix option to skip addition of prefix to configure command in ConfigureMake easyblock (#2842)
    • update qscintilla.py to be compatible with EB install of PyQt5 >= 5.15 (#2845)
    • add UCC to known_dependencies in OpenMPI EasyBlock (#2847)
    • update Clang-AOMP easyblock to handle version 5.2 and newer (#2851)
  • various bug fixes, including:

    • fix installing of Clang with RPATH linking (#2799)
    • fix --module-only for Clang + fix sanity check for Clang 11.x (#2800)
    • create $XDG_CACHE_HOME for PyTorch tests (#2806)
    • make PythonPackage easyblock compatible with --sanity-check-only by loading module early during sanity check step (#2828)
    • fix docstring of PythonBundle generic easyblock (#2833)
    • fix counting of failures in PyTorch tests (#2834, #2840)
    • make sure that ANSYS INSTALL script has execute permissions (#2852, #2853)
  • other changes:

    • remove useless -openmp build option for MRtrix v3.x (#2822)
    • update HDF5 easyblock to use --enable-threadsafe configure option to make C API thread safe (#2824)
    • use new EasyBuild logo in README (#2827)
    • automatically cancel Github Action workflow runs for outdated commits (#2835)
    • use fixed names for bazel/wrapper subdirectories used when building TensorFlow, to make debugging easier (#2841)
    • also run unit tests with Python 3.11 (#2844)
    • tweak docstring in some generic easyblocks so it renders nicely in auto-generated documentation (#2849)
    • update copyright lines for 2023 (#2850)

easyconfigs

  • added easyconfigs for foss/2022b, intel/2022b common toolchains (#16961 and #16962)

  • added easyconfigs for NVHPC-based toolchains nvompi/2022.07 and nvofbf/2022.07 (#16724)

  • added example easyconfig files for 107 new software packages:

  • added additional easyconfigs for various supported software packages, including:

    • Albumentations 1.3.0, ANSYS 2022R2, AOCC 4.0.0, archspec 0.1.4, ArviZ 0.12.1, ASAP 2.1, astropy 5.1.1, basemap 1.3.6, BBMap 39.01, BEDOPS 2.4.41, Blender 3.3.1, Blosc 1.21.3, Blosc2 2.4.3, bokeh 2.4.3, Bonnie++ 2.00a, boto3 1.26.37, BRAKER 2.1.6, CDO 2.1.1, cdsapi 0.5.1, CharLS 2.4.1, CheMPS2 1.8.12, CMake 3.24.3, CubeGUI 4.8, CubeLib 4.8, CubeWriter 4.8, CUDA 11.8.0 + 12.0.0, cuDNN 8.6.0.163 + 8.7.0.84, cURL 7.86.0, cutadapt 4.2, cuTENSOR 1.6.1.5, dask 2022.10.0, DAS_Tool 1.1.3, DBus 1.15.2, dcm2niix 1.0.20220720, DCMTK 3.6.7, deepdiff 5.8.1, dm-reverb 0.7.0, double-conversion 3.2.1, Doxygen 1.9.5, ecCodes 2.27.0, exiv2 0.27.5, Fiji 2.9.0, Filtlong 0.2.1, FLANN 1.9.1, FlexiBLAS 3.2.1, fontconfig 2.14.1, FreeXL 1.0.6, g2clib 1.7.0, GATK 4.3.0.0, GD 2.75, GDCM 3.0.20, Gdk-Pixbuf 2.42.10, GeneMark-ET 4.71, gensim 4.2.0, geopandas 0.12.2, gettext 0.21.1, gh 2.20.2, Ghostscript 10.0.0, git 2.38.1, GLib 2.75.0, GlobalArrays 5.8.2, GnuTLS 3.7.8, GObject-Introspection 1.74.0, GRASS 8.2.0, GTK3 3.24.35, HarfBuzz 5.3.1, HTSeq 2.0.2, hwloc 2.8.0, Hyperopt 0.2.7, ICU 72.1, imagecodecs 2022.9.26, imageio 2.22.2, ImageMagick 7.1.0-53, imbalanced-learn 0.9.0, JasPer 4.0.0, jax 0.3.23, JupyterLab 3.5.0, Leptonica 1.83.0, libavif 0.11.1, libdap 3.20.11, libdeflate 1.15, libdrm 2.4.114, libfabric 1.16.1, libffi 3.4.4, libglvnd 1.6.0, libgpg-error 1.46, libidn 1.41, libjpeg-turbo 2.1.4, LibLZF 3.6, libpciaccess 0.17, libpng 1.6.38, librsvg 2.55.1, LibSoup 3.0.8, libspatialindex 1.9.3, libspatialite 5.0.1, libtasn1 4.19.0, LibTIFF 4.4.0, libxml2 2.10.3, libxml2-python 2.9.13, line_profiler 4.0.0, LittleCMS 2.14, LLVM 15.0.5, lz4 1.9.4, makedepend 1.0.7, Mako 1.2.4, MATLAB-Engine 2021b, Mesa 22.2.4, Meson 0.64.0, MIGRATE-N 5.0.4, Miniconda3 4.12.0, mold 1.7.1, Molden 7.1, MotionCor2 1.5.0, MoviePy 1.0.3, MRChem 1.1.1, MRCPP 1.4.1, nano 7.0, NanoFilt 2.8.0, nanoget 1.18.1, nanomath 1.2.1, ncbi-vdb 3.0.0, NCCL 2.16.2, NCCL-tests 2.13.6, NCO 5.1.3, nglview 3.0.3, NiBabel 4.0.2, Ninja 1.11.1, nodejs 18.12.1, NSPR 4.35, NSS 3.85, NVHPC 22.7, NVSHMEM 2.7.0, Octave 7.1.0, OPARI2 2.0.7, OpenFOAM 10, OpenFold 1.0.1, OpenImageIO 2.3.17.0, OpenMolcas 22.10, openpyxl 3.0.10, openslide-python 1.2.0, OpenStackClient 6.0.0, OSU-Micro-Benchmarks 6.2, OTF2 3.0.2, Pango 1.50.12, PAPI 7.0.0, pauvre 0.2.3, PETSc 3.17.4, phonopy 2.16.3, pigz 2.7, Pillow 9.2.0, Pint 0.19.2, pixman 0.42.2, PMIx 4.2.2, poppler 22.12.0, psutil 5.9.3, pybedtools 0.9.0, PyBerny 0.6.3, pydantic 1.10.2, pydicom 2.3.0, pyproj 3.4.0, PyQt5 5.15.5, pytest 7.1.3, Python 3.10.8, python-isal 1.1.0, PyTorch 1.12.1, PyTorch-Geometric 2.1.0, PyTorch-Lightning 1.8.4, QCA 2.3.5, QGIS 3.28.1, QIIME2 2022.8, QScintilla 2.11.6, Qt5 5.15.7, Qtconsole 5.3.2, QtKeychain 0.13.2, QtPy 2.2.1, rasterio 1.3.4, re2c 3.0, ReFrame 3.12.0, RStudio-Server 2022.07.2+576, Ruby 3.0.5, Rust 1.65.0, SAP 1.1.3, scanpy 1.9.1, scikit-image 0.19.3, SCons 4.4.0, Score-P 8.0, Seaborn 0.12.1, SentencePiece 0.1.97, Seurat 4.3.0, SignalP 6.0g, SimPEG 0.18.1, SLEPc 3.17.2, SNAP 2.0.1, SpaceRanger 2.0.0, SQLite 3.39.4, STAR-CCM+ 17.06.007, SuperLU_DIST 8.1.0, tensorboardX 2.5.1, TensorFlow 2.8.4, tensorflow-probability 0.16.0, tesseract 5.3.0, texinfo 6.8, TM-align 20190822, tmux 3.3a, TOBIAS 0.14.0, TOML-Fortran 0.3.1, Transformers 4.24.0, typing-extensions 4.4.0, UCC 1.1.0, UCX-CUDA 1.13.1, util-linux 2.38.1, Valgrind 3.20.0, Vim 9.0.0950, VTK 9.2.2, wandb 0.13.6, WebKitGTK+ 2.37.1, WPS 4.4, WRF 4.4, wxPython 4.2.0, wxWidgets 3.2.0, X11 20221110, xarray 2022.9.0, XCFun 2.1.1, XGBoost 1.7.2, Xmipp 3.22.07, XZ 5.2.7, yaml-cpp 0.7.0, zarr 2.13.3, zlib-ng 2.0.6
  • minor enhancements, including:

    • enable building of dev tools in recent PyQt5 easyconfigs (#16469)
    • add extensions to R v4.2.1: LMERConvenienceFunctions (#16512), HGNChelper 4.2.1 (#16744)
    • add extensions to R-bundle-Bioconductor 3.15: SPOTlight (#16569), HiCcompare (#16581), ROntoTools (#16636), scDblFinder (#16686), numbat (#16777), HiCBricks (#16913), zellkonverter (#16952)
    • add libmad dependency to SoX v14.4.2 (#16758)
    • also install subtree support in recent git easyconfigs (#16784, #16785)
    • add extensions to ESM-2 to enhance it for esmfold (#16841)
    • add libwebp dependency to Pillow-SIMD 9.2.0 to add webp support (#16844)
    • add KaHIP dependency to OpenFOAM v2206 (#16974)
    • enable dataset support for recent versions of Arrow (#16956)
  • various bug fixes, including:

    • define $JUPYTER_PATH via modextrapaths rather than modextravars for IRkernel 1.x (#15776)
    • add patches to fix PyTorch 1.10.0 build on POWER (#15904)
    • fix installation of Python 2.7.18 with GCCcore/11.2.0 (was broken due to 0.0.0 version for some extensions) (#16485)
    • add patch for M4 1.4.18 to fix glibc v2.34 SIGSTKSZ compatibility (#16486)
    • add patch for pybind11 2.6.0 to fix failing test due to extra whitespace (#16487)
    • work around installation problem for extensions in Python 2.7.16 easyconfig due to missing build-backend spec in pyproject.toml (#16490)
    • fix libsanitzer for glibc 2.36 to build GCCcore 10.x and 11.x (#16502)
    • add OpenBLAS patches to disable FMA in [cz]cal and fix crash in zdot (#16510)
    • add missing Perl build dependency GStreamer + add patch to skip trying to make files suid (#16516)
    • build nodejs with OpenSSL and ICU provided as proper dependencies (#16529)
    • also define $JUPYTER_CONFIG_PATH in IPython and JupyterLab easyconfigs (#16556)
    • define $GTKDOCIZE as 'echo' before generating configure script for recent HarfBuzz versions (#16570)
    • disable use of -Werror in recent NSS easyconfigs (#16571)
    • use 'cpan.metacpan.org' rather than 'www.cpan.org' in extension source_urls for recent Perl easyconfigs (#16611)
    • avoid that zlib + htslib are downloaded and built during installation of MetaBAT (#16624)
    • add patch to fix installation of MetaBAT 2.15 on non-x86_64 systems (#16633)
    • add missing pyWannier90 dependency for mcu + enhance sanity check (#16667)
    • fix source_urls for colossalai 0.1.8 (no longer available via PyPI, only via GitHub repo) (#16693)
    • add patches to fix or skip PyTorch 1.12.1 tests (#16793)
    • fix checksum for cell2location 0.05-alpha and add missing build dependency on flex (#16819)
    • upgrade dependency on libdeflate to common v1.8 in fastp and vt easyconfigs using GCC(core)/10.3.0 (#16839)
    • fix checksum for dlllogger extension in OpenFold v1.0.0 (#16694)
    • make sure that Python dependency is actually used for VTK 9.0.1 (#16741)
    • fix homepage for pocl v1.8 (#16857)
    • fix source_urls in MUMPS easyconfigs (#16931, #16932)
    • fix installation of Bowtie2 v2.4.4+ on non-x86_64 systems (#16946)
    • add missing OpenSSL dependency to DCMTK 3.6.7 (#16979)
    • fix source URL for PCRE2 (#16987)
    • add pkgconf dependency for ICU and add patch to avoid trouble with long path names for nodejs-16.15.1/GCCcore-11.3.0 (#16990)
    • add patch for libwpe 1.13.3 to avoid build issues on CentOS 7 (#17001)
    • add missing zlib and zstd to GnuTLS (#17013)
    • add missing pkgconf build dependency to Transformers v4.24.0 (#17020)
    • fix checksums for xxx-rocm-4.5.0.tar.gz source tarballs for Clang-AOMP 4.5.0 (#17042)
    • replace useless test step for simint 0.7 with (lightweight) sanity check command (#17044)
  • other changes:

    • only give read permissions in GitHub Actions workflows (#16263)
    • remove ExomeDepth from recent R-bundle-Bioconductor easyconfigs (#16492)
    • include tqdm as extension in the idemux bundle to avoid multivariant deps on GCCcore-10.2.0 (#16578)
    • use new EasyBuild logo in README (#16641)
    • rename hyperopt to Hyperopt, to be consistent with existing Hyperopt easyconfigs (#16697)
    • automatically cancel Github Action workflow runs for outdated commits (#16754)
    • use geo moduleclass for SimPEG 0.14.1 (#16847)

EasyBuild v4.6.2 (October 21st 2022)

bugfix/update release

framework

  • various enhancements, including:
    • add support for easystack file that contains easyconfig filenames + implement parsing of configuration options (#4021)
    • skip over unset $EB_PYTHON/$EB_INSTALLPYTHON in eb wrapper script (#4080)
    • add GITHUB_RELEASE and GITHUB_LOWER_RELEASE templates (#4084)
    • add %(cuda_cc_cmake)s template (#4087)
  • various bug fixes, including:
    • make check_sha256_checksums verify all checksums if they're specified as a dict value (#4076)
    • replace use of symlink with copied files in alt_location tests to fix failing EasyBuild installation on BeeGFS (#4083)
    • fix trying to generate RPATH wrappers for Clang (#4088)
    • make sure that GitPython version is a proper version before checking minimal required version (#4090, #4091)
    • first look for patch in alt_location when it is specified (#4093)
  • other changes:
    • make scripts executable (#4081)
    • make --inject-checksums inject dictionary value for checksums which maps filename to SHA256 checksum (#4085)
    • update to v3 of actions/checkout and actions/setup-python in CI workflows (#4089)
    • use SYSTEM template constant in dependencies instead of True in framework tests (#4094)

easyblocks

  • 2 new software-specific easyblock:
    • CUDA compatibility libraries (#2764) and mamba (#2808)
  • minor enhancements and updates, including:
    • update OpenFOAM easyblock to support OpenFOAM 10 + clean up variant/version checks (#2766)
    • added support for ESMPy in ESMF (#2789)
    • enhance OpenBLAS easyblock to support running LAPACK test suite + checking how many tests fail (#2801)
    • make numexpr easyblock aware of toolchain with GCC + imkl (#2810)
    • add sanity check commands for netCDF (#2811)
  • various bug fixes, including:
    • handle problems copying symlink that points to CUDA folder that is not created for non CUDA builds of SuiteSparse (#2790)
    • don't install docs (to avoid trouble with Java) + add Rocky support for ABAQUS (#2792)
    • correctly count the number of failing tests (not failing test suites) in PyTorch builds (#2794, #2803)
    • fix docstring for PyTorch easyblock (#2795)
    • handle iterative builds with MakeCp easyblock (#2798)
    • accept both None and empty value for optarch to let OpenCV detect host CPU (#2804)
    • enhance EasyBuildMeta easyblock: auto-enable installing with pip + fix setup.py of easyconfigs package so installation with setuptools >= 61.0 works (#2805)
    • use python -m pip instead of pip in PythonPackage easyblock (#2807)
  • other changes:
    • make the test output from PythonPackage less verbose by disabling default search for error patterns done by run_cmd (#2797)

easyconfigs

  • add easyconfig for intel/2022.09 toolchain (#16435)
  • added example easyconfig files for 25 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Amber 22.0, AMS 2022.102, ASE 3.22.1, atools 1.5.1, Beast 2.6.7, biogeme 3.2.10, Boost.Python 1.79.0, ccache 4.6.3, dbus-glib 0.112, Delly 1.1.5, ESMF 8.3.0, expat 2.4.9, FDS 6.7.9, file 5.43, FLTK 1.3.8, FTGL 2.4.0, gc 8.2.2, GitPython 3.1.27, Go 1.18.3, GPAW 22.8.0, Guile 3.0.8, htop 3.2.1, hunspell 1.7.1, IPython 8.5.0, jq 1.6, Julia 1.8.2, LDC 1.30.0, libcint 5.1.6, libconfig 1.7.3, libreadline 8.2, LibSoup 3.0.7, LIBSVM 3.30, libwebp 1.2.4, likwid 5.2.2, MariaDB 10.9.3, matplotlib 3.5.2, ncdu 1.17, netcdf4-python 1.6.1, Nextflow 22.10.0, NFFT 3.5.3, Nipype 1.8.5, numactl 2.0.16, onedrive 2.4.21, OpenCV 4.6.0, OpenEXR 3.1.5, OpenJPEG 2.5.0, OpenMM 7.7.0, OpenPGM 5.2.122, OpenSSL 1.1.1q, Perl 5.36.0, Pillow-SIMD 9.2.0, pkgconf 1.9.3, PostgreSQL 14.4, PyCharm 2022.2.2, PyTorch 1.12.0, PyTorch 1.12.0, PyTorch-Lightning 1.7.7, RDFlib 6.2.0, SAMtools 1.16.1, scikit-learn 1.1.2, Score-P 7.1, SDL2 2.0.22, spaln 2.4.12, spglib-python 2.0.0, SuiteSparse 5.13.0, SUNDIALS 6.3.0, sympy 1.11.1, tensorboard 2.10.0, torchvision 0.13.1, TRIQS 3.1.1, TRIQS-cthyb 3.1.0, TRIQS-dft_tools 3.1.0, TRIQS-tprf 3.1.1, TRUST4 1.0.7, TurboVNC 3.0.1, typing-extensions 4.3.0, UCX 1.13.1, umap-learn 0.5.3, VEP 107, VMD 1.9.4a57, Wayland 1.21.0, wxWidgets 3.2.1, xprop 1.2.5
  • minor enhancements, including:
    • configure recent pocl versions with -DLLC_HOST_CPU=native to avoid CPU auto-detection (#16246)
    • add multi-dep exception to easyconfigs test suite for ncbi-vdb-3.0.0 which requires HDF5 1.10.x (#16316)
    • enable running of LAPACK tests for recent OpenBLAS easyconfigs + add patch to fix failing LAPACK tests due to use of -ftree-vectorize (#16406)
    • add GITHUB_(LOWER_)RELEASE to known constants in setup.cfg (#16422)
    • add AMAPVox extension to R v4.2.1 (#16439)
    • add OpenEXR dependency to POV-Ray 3.7.0.10 (#16408)
  • various bug fixes, including:
    • add patch for OpenBLAS 0.3.7-0.3.12 to fix miscomputation on POWER (#16199)
    • skip flaky test in PyTorch 1.9.0 (#16258)
    • add --with-versioned-syms to ncurses 6.2 and 6.3 (#16270)
    • add missing pkg-config build dependency to Guile (#16317)
    • add patches to fix incompatibilites between ASE and other packages in 2022a toolchain (#16332)
    • add patches to fix PyTorch 1.11 on POWER (#16339)
    • add patches for Ambertools 21 to Amber 20.11 to work with updated Amber easyblock (#16343)
    • use Intel MPI from EasyBuild toolchain in AMS (#16363)
    • fix execution permissions for bin/ngm* for NextGenMap v0.5.5 (#16383)
    • fix using provided Qhull and freetype dependencies for matplotlib 3.5.2 by creating mplsetup.cfg rather than setup.cfg (#16396)
    • fix GitHub download link in for libpsl 0.21.1 (#16397)
    • stick to http in source URL for stride.tar.gz in VMD 1.9.4a51 easyconfigs due to problems with SSL certificate (#16403)
    • add patch to detect available cores and remove unneeded deps for Unicycler 0.5.0 (#16407)
    • add missing ICU + libunistring dependencies for libpsl 0.21.1 w/ GCCcore/10.3.0 (#16410)
    • add patch to GCC 11.x + 12.x to fix vectorizer bug (#16411)
    • fix checksum for GULP 6.1 (#16423)
    • add bzip2 and libxml2 as dependencies for netCDF 4.9.0 (#16450)
  • other changes:
    • drop Java dep from ABAQUS 2022 (#16314)
    • deprecate use of True in favour of SYSTEM for system-toolchain dependencies in easyconfigs using a recent toolchain version (>2019b) (#16384)
    • update easyconfigs to use SYSTEM template constant instead of True in dependencies (#16386, #16418)
    • update libxml2 + libxslt easyconfigs to use gnome.org source URL (#16429)

EasyBuild v4.6.1 (September 12th 2022)

bugfix/update release

framework

  • various enhancements, including:
    • add script to find dependencies of Python packages (#3839)
    • add ai default module class (#4053)
  • various bug fixes, including:
    • fix code style issues reported by recent flake8 linter (#4049)
    • stick to autopep8 < 1.7.0 with Python 2.7 (#4055)
    • ensure we call EasyBlock.patch_step for postinstallpatches (#4063)
    • fix leaked handles in set_columns, complete_cmd, run_cmd_qa, det_terminal_size functions + tests (#4066)
    • fix quote_str when string with both ' and " ends with a double quote (#4068)
    • fix type-checking of patches to allow dict values + correctly handle patches specified as dict values in --new-pr (#4070)
    • relax toolchain test by accepting both -march=native (x86_64) and -mcpu=native (aarch64) (#4071)
  • other changes:
    • run python in the same process as eb wrapper script by using exec (#4048)
    • add get_linked_libs_raw function, and use it from both check_linked_shared_libs and sanity_check_rpath (#4051)
    • update CI workflows (except container tests) to use Ubuntu 20.04, since Ubuntu 18.04 is deprecated (#4064)
    • use SYSTEM constant for dependency that uses system toolchain in dumped easyconfig (#4069)

easyblocks

  • minor enhancements and updates, including:
    • update LAMMPS easyblock for LAMMPS/23Jun22 (#2213)
    • reduce the number of command line options for cmake command in CMakeMake generic easyblock (#2514)
    • update libQGLViewer easyblock to take into account changes in the shared library names depending on Qt versions they are compiled with (#2730)
    • improve PLUMED detection in GROMACS easyblock (#2749)
    • make $LD_LIBRARY_PATH detection more robust for LAMMPS (#2765)
    • enhance NVHPC easyblock to avoid superfluous warning (#2767)
    • enhance PyTorch easyblock to also capture tests failing with signal (#2768)
    • enhance PythonPackage easyblock to make sure all test command output makes it to the EasyBuild log, also when return_output_ec=True (#2770)
    • set $NVHPC_CUDA_HOME for NVHPC 22.7+ (#2776)
  • various bug fixes, including:
    • make Amber easyblock aware of FlexiBLAS (#2720)
    • update PyTorch easyblock to configure without breakpad support on POWER (#2763)
    • use lib* in post_install step of FFTW.MPI easyblock to fix paths not being found on Linux distros favouring lib64 (like Suse/SLES) (#2771)
    • use det_cmake_version function to determine CMake version in CMakeMake generic easyblock (#2772)
    • don't enable building of ld.gold when installing binutils on a RISC-V system + don't configure GCC to use gold as default linker on a RISC-V system (#2780)
    • tweak Amber(Tools) easyblock to run tests from top-level directory (#2781)
    • fix version check for NVPTX library in sanity check of Clang easyblock (#2783)
  • other changes:
    • update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#2779)

easyconfigs

  • added example easyconfig files for 37 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • alevin-fry 0.6.0, AmberTools 22.3, arrow-R 8.0.0, ASE 3.22.1, BBMap 38.98, BCFtools 1.15.1, binutils 2.39, BLAST+ 2.13.0, Bowtie2 2.4.5, BUSCO 5.4.3, CapnProto 0.10.2, Cartopy 0.20.3, ccache 4.6.1, cclib 1.7.2, CDO 2.0.5, CellRanger-ATAC 2.1.0, CoordgenLibs 3.0.1, cURL 7.84.0, cuTENSOR 1.6.0.3, einops 0.4.1, Elk 8.5.2, Emacs 28.1, Embree 3.13.4, FFmpeg 4.4.2 + 5.0.1, fio 3.32, Flask 2.2.2, Flye 2.9.1, fmt 9.1.0, FORD 6.1.15, FreeSurfer 7.3.2, GATE 9.2, GATK 4.2.6.1, GCC(core) 12.2.0, GDB 12.1, Geant4 11.0.2, GetOrganelle 1.7.6.1, gifsicle 1.93, GLFW 3.3.8, glib-networking 2.72.1, Globus-CLI 3.6.0, gnuplot 5.4.4, gperftools 2.10, Graphviz 5.0.0, Gurobi 9.5.2, HDF5 1.12.2, HTSlib 1.15.1, Hypre 2.25.0, Jansson 2.14, jax 0.3.14, Kalign 3.3.2, kim-api 2.3.0, LAMMPS 23Jun2022, libcerf 2.1, libdwarf 0.4.1, Libint 2.7.2, libQGLViewer 2.8.0, LibSoup 2.74.0, libzip 1.9.2, Lua 5.4.4, lxml 4.9.1, maeparser 1.3.0, matplotlib 3.5.2, MATSim 14.0, MDAnalysis 2.2.0, medaka 1.6.0, Megalodon 2.5.0, Mercurial 6.2, MetaEuk 6, Mini-XML-3.3.1, MUMmer 4.0.0rc1, MUMPS 5.5.1, netCDF-Fortran 4.6.0, NGSpeciesID 0.1.2.1, ont-remora 1.0.0, OpenFOAM v2206, OTF2 3.0, parallel 20220722, ParaView 5.10.1, patchelf 0.15.0, Perl 5.36.0, pftoolsV3 3.2.12, PLINK 2.00a3.6, pretty-yaml 21.10.1, PRSice 2.3.5, pugixml 1.12.1, Pyomo 6.4.2, PyOpenCL 2021.2.13, Pysam 0.19.1, PyStan 3.5.0, PyYAML 6.0, RDKit 2022.03.5, scikit-bio 0.5.7, scikit-build 0.15.0, scikit-learn 1.1.2, scikit-optimize 0.9.0, SCOTCH 7.0.1, SIONlib 1.7.7, SISSO 3.1, spglib-python 2.0.0, Stacks 2.62, Stata 17, SUMO 1.14.1, tbb 2021.5.0, tqdm 4.64.0, Transformers 4.21.1, Trycycler 0.5.3, Unicycler 0.5.0, Valgrind 3.19.0, ViennaRNA 2.5.1, VTune 2022.3.0.eb, wxPython 4.1.1, x264 20220620, Z3 4.10.2, zfp 1.0.0
  • minor enhancements, including:
    • add alternate download URL for Voro++ (#15898)
    • add extra symlinks and sanity checks for libtinfo in ncurses (#15903)
    • include some easyconfig constants in flake8 configuration file (#16040)
    • add pigz dependency for cutadapt v3.4 + v3.5 (#16056)
    • add sanity check commands for recent gettext versions (>= 0.20.x) (#16091)
  • various bug fixes, including:
    • use correct Matlab Runtime Compiler (v8.4) for FreeSurfer v7.1.1 (#13375)
    • fix set-alias statements for MaxQuant v2.0.3.0 (#15743)
    • add Autotools build dependency to R 4.2.0 w/ foss 2021b (#15822)
    • add patch for BLIS to fix auto-detection of POWER (#15826)
    • downgrade SPAdes dependency to v3.13.1 for Unicycler 0.4.9 since v3.15.3 is too new (#15840)
    • explicitly enable HDF5 from kallisto v0.46.2 onwards (#15843)
    • add CVE patch for XZ 5.2.5 + attempt to fix symbol patch for all OSs (#15856)
    • use build environment set by EasyBuild and add missing dependency on zlib to minimap2 (#15859)
    • add missing dependencies and execute tests on Trycycler v0.5.2 (#15864)
    • add patch for AlphaFold v2.2.2 to fix NaN problem with jax 0.3.9 (#15874)
    • exclude (flaky) fault_tolerance_test and fix non-x86 build for TensorFlow 2.7.1 (#15882)
    • work around miscompilation of OpenBLAS on POWER by compiling with -fstack-protector-strong (#15885)
    • fix tests on POWER9 for BLIS 0.9.0 + fix auto-detect for POWER10 for BLIS (AMD) v2.0 + v3.0 (#15889)
    • add and fix patches for PyTorch 1.9.0 on POWER (#15919)
    • exclude Binary, PackedBinary and JAR easyblocks from binutils build requirements (#15932)
    • consistently add libffi + elfutils dependencies to recent Clang easyconfigs (#15935, #16225)
    • add patch to fix broken test on POWER for numpy in SciPy-bundle 2022.05 (#15968)
    • refactor checksum test for extensions to use collect_exts_file_info (#15973)
    • fix dependency on FOX Toolkit in SUMO (#15986)
    • add missing SciPy-bundle dependency for rMATS-turbo (#15988)
    • explicitly download wannier90 source tarball from wannier90 GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#15993)
    • restore ploteig in EIGENSOFT 7.2.1 (#15996)
    • add alternative checksum for plot3Drgl extension in R v4.1.x + v4.2.0 easyconfigs (#16011)
    • add patch to fix missing sync in LINCS and SETTLE CUDA kernels for GROMACS 2020 (#16027) and 2021 (#16026)
    • exclude failing test in TensorFlow 2.4.1 (#16042)
    • skip NASA performance and remote server tests in netCDF v4.9.0 (#16050, #16158)
    • use versioned symbols in ncurses built with system toolchain (by adding --with-versioned-syms configure option) (#16064)
    • add patch to fix pkgconfig file for Blitz++ v1.0.2 (#16102)
    • add missing BCFtools dependency for recent medaka versions (#16107)
    • add GTK2 v2.24.33 as a dependency for Ghostscript v9.56.1 (#16112)
    • fix checksum for Stacks v2.62 (due to silent re-release without version bump) (#16134)
    • fix libsanitzer for glibc 2.36 to build GCCcore 11.3.0 (#16145)
    • fix top level Makefile for AmberTools 20 and enable tests (#16150)
    • add missing patches + enable running tests for AmberTools 21 with intel/2021a (#16151) and intel/2021b (#16152)
    • replace HDF5 v1.13.1 with v1.12.1 as dependency, since we shouldn't use odd minor versions of HDF5 which are not stable releases (#16153)
    • remove modextrapaths to add top-level install directory to $PATHfor recent InterProScan easyconfigs (now done by default by Binary easyblock) (#16167)
    • fix sources + source URL + homepage for Molekel v5.4.0 (#16219)
    • consistently add maeparser + CoordgenLibs dependencies to OpenBabel 3.1.1 easyconfigs (#16231)
    • fix checksum for CUDA 11.4.1 aarch64 installer (#16234)
    • remove incorrect comment for Boost dependency in OpenBabel 3.1.1 easyconfigs (#16238)
    • add direct Pango dependency in recent ImageMagick easyconfigs (#16237)
  • other changes:
    • remove superfluous -DCMAKE_BUILD_TYPE=Release, use of build_type = Release, or enabling separate_build_dir from easyconfigs using CMakeMake easyblock (#13384)
    • synchronize ncurses easyconfigs using system toolchain (#15903)
    • stick to Java/11 as dependency for Bazel 5.1.1 (which is available for x86_64, aarch64, ppc64le) (#15906)
    • speed up OpenMPI 4.1.4 configure by not running autogen.pl --force, but only running required Autotools commands (#15957)
    • replace sed commands by upstreamed patches for BLIS built with intel-compilers toolchain (#15958)
    • simplify AlphaFold foss/2021a easyconfigs by using a fleshed out patched OpenMM dependency (#15981)
    • update Java/11 to 11.0.16 and Java/17 to 17.0.4 (#16001)
    • remove unnecessary patch in recent JupyterLab (#16030)
    • update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#16070)
    • make check for toolchain value in dependency spec in easyconfigs test suite aware that dumped easyconfig uses SYSTEM constant (#16126)

EasyBuild v4.6.0 (July 8th 2022)

feature release

framework

  • various enhancements, including:
    • allow searching for sources/patches in alternative location by specifying 'alt_location' in source/patch spec (#3994)
    • show URLs used for download attempts in trace output (#4026)
    • add support for setting environment variables via 'pushenv' with modextravars (#4030)
    • add support for OneAPI compilers using toolchain option 'oneapi' (#4031, #4032, #4039)
    • make check_linked_shared_libs more robust by taking into account that 'ldd' may fail (#4033)
    • fall back to sequential extension install if parallel install is not implemented (#4034)
    • add support for using template values in name/version of extensions (#4036)
  • various bug fixes, including:
    • make sure that ARCH constant has 'aarch64' (rather than 'arm64') as value on macOS ARM (#4018)
    • tweak 'eb' wrapper script to correctly handle errors when python command being considered fails to run (#4019)
    • tweak is_patch_for function to make it more robust (#4028)
  • other changes:
    • update Lmod used to run tests to version 8.7.6 (#4027, #4030)
    • tweak apply_patch to not create .orig files (by default) when applying patch files (#4038)

easyblocks

  • new software-specific easyblock for STAR-CCM+ (#1613)
  • minor enhancements and updates, including:
    • update Siesta EasyBlock to support GCC 10+ by adding -fallow-argument-mismatch Fortran compiler option (#2690)
    • enable building of shared library for Libint 2.7+ (#2738)
    • allow some PyTorch tests to fail + print warning if one or more tests fail (#2742)
    • also support OpenSSL 3.0 in OpenSSL wrapper easyblock (#2746)
    • add more logging to install_pc_files method of OpenSSL wrapper easyblock (#2752)
    • make WPS easyblock aware of (pre)buildopts (#2754)
    • add Abseil system dependency for TensorFlow 2.9+ (#2757)
    • disable altivec when building FFTW versions < 3.4 with single-precision with GCC on POWER (#2758)
  • various bug fixes, including:
    • make VEP easyblock compatible with --sanity-check-only (#2743)
    • update Rosetta easyblock to take into account that $LD_LIBRARY_PATH, $CPATH, $PATH may not be defined (#2744)
    • only load temporary module file during sanity check for pybind11 for stand-alone installations, so it can be installed as extension (#2747)
    • make sure that CMakeMakeCp uses correct build dir (#2748)
    • enhance Bazel easyblock to avoid writing to $HOME in sanity check (#2756)

easyconfigs

  • added easyconfigs for foss/2022a, intel/2022a common toolchains (#15755)

  • add easyconfig for gfbf/2022a toolchain (#15653, #15755)

  • added example easyconfig files for 24 new software packages:

  • added additional easyconfigs for various supported software packages, including:

    • AlphaFold 2.2.2, Arriba 2.3.0, Arrow 8.0.0, Bracken 2.7, CellRanger 7.0.0, Clp 1.17.7, CoinUtils 2.11.6, cppy 1.2.1, deal.II 9.3.3, double-conversion 3.2.0, Doxygen 1.9.4, FLAC 1.3.4, fmt 7.1.1, FSL 6.0.5.1, GDAL 3.5.0, gdbm 1.21, geopandas 0.11.0, GEOS 3.10.3, Ghostscript 9.56.1, GLibmm 2.66.4, Groovy 4.0.3, GULP 6.1, h5py 3.7.0, HDF5 1.13.1, hifiasm 0.16.1, IGMPlot 2.6.9b, ImageMagick 7.1.0-37, InterProScan 5.55-88.0, IRkernel 1.3, jemalloc 5.3.0, JsonCpp 1.9.5, Julia 1.7.3, Leptonica 1.82.0, libgeotiff 1.7.1, libgit2 1.4.3, libiconv 1.17, libRmath 4.2.0, libsigc++ 2.10.8, libsndfile 1.1.0, libxc 5.2.3, libxml++ 2.42.1, line_profiler 3.5.1, LittleCMS 2.13.1, MaSuRCA 4.0.9, mayavi 4.7.4, MetaEuk 5, mold 1.3.0, NCCL 2.12.12, netCDF 4.9.0, nettle 3.8, networkx 2.8.4, NEURON 7.8.2, NLopt 2.7.1, nodejs 16.15.1, NSPR 4.34, NSS 3.79, nsync 1.25.0, nvtop 2.0.2, Osi 0.108.7, p4est 2.8, parasail 2.5, Pillow 9.1.1, PLUMED 2.8.0, PnetCDF 1.12.3, PRISMS-PF 2.2, PROJ 9.0.0, protobuf 3.19.4, protobuf-python 3.19.4, pyfaidx 0.7.0, PyOpenGL 3.1.6, pyproj 3.3.1, PyTorch 1.11.0, Qhull 2020.2, Qt5 5.15.5, QuantumESPRESSO 7.1, Qwt 6.2.0, R 4.2.1, rasterio 1.2.10, Ray-project 1.13.0, RE2 2022-06-01, redis-py 4.3.3, ReFrame 3.11.2, rioxarray 0.11.1, RNA-SeQC 2.4.2, Schrodinger 2022-2, Shapely 1.8.2, Siesta 4.1.5, SimpleITK 2.1.1.2, SpectrA 1.0.1, TensorFlow 2.7.1, Tk 8.6.12, Tkinter 3.10.4, Transformers 4.20.1, UCX-CUDA 1.12.1, utf8proc 2.7.0, WhatsHap 1.4, WPS 3.9.1, Xvfb 21.1.3
  • minor enhancements, including:

    • add extensions to R v4.2.0: hypergeo (#15701), rtdists (#15734), geeM (#15810)
    • add patch for GCCcore 11.3.0 to support using -fuse-ld=mold (#15715)
    • add patch for porefoam to fix hardcoded mpirun command and take into account $POREFOAM_MPIRUN_CMD (#15730)
  • various bug fixes, including:

    • switch to Rust 1.60.0 build dependency for bamtofastq, since build fails with Rust 1.52.1 (#15636)
    • avoid that pygmo v2.18.0 installs stuff in Python installation directory + add custom sanity check paths to pygmo easyconfigs (#15657)
    • add patch for Mmg v5.6.0 to remove library CI tests that point to external sources (#15691)
    • correct configopts in deal.II v9.1.1 easyconfig (#15692)
    • add missing Python dependency for HPDBSCAN to fix unresolved %(pyshortver)s template (#15694)
  • other changes:

    • disable flaky GPU test for TensorFlow 2.6.0 (#15824)

EasyBuild v4.5.5 (June 8th 2022)

bugfix/update release

framework

  • various enhancements, including:
    • add toolchain definitions for nvompi (NVHPC + OpenMPI) (#3969), nvpsmpi (NVHPC + ParaStationMPI) (#3970), gfbf (GCC, FlexiBLAS, FFTW) (#4006)
    • add support for FFTW.MPI toolchain component ($FFT*DIR variables) (#4012)
    • add support for customizing EasyBuild command used in jobs via --job-eb-cmd (#4016)
  • various bug fixes, including:
    • fix copying of easyconfig file with --copy-ec without --rebuild if module is already installed (#3993)
    • ignore deprecation warnings regarding cryptography in Python 3.6 + Blowfish with Python 3.10 in test suite output (#3999)
    • fix typo in debug log message in easyblock.py (#4000)
    • fix printing of list of attempted download URLs when url-encoded characters are used in URL (#4005)
    • set $FFT(W)_LIB_DIR to imkl-FFTW's lib path in build environment if usempi toolchain option is enabled (#4011)
    • correctly identify Apple Silicon M1 as Arm 64-bit by also considering arm64 next to aarch64 (#4014)
    • fix 'eb --show-system-info' on Apple M1 system (#4015)
  • other changes:
    • change 'eb' command to import easybuild.framework to check if EasyBuild framework is available (#3995, #3998)

easyblocks

  • new software-specific easyblock for FFTW.MPI (#2724)
  • minor enhancements and updates, including:
    • update NEURON easyblock to use CMakeMake for recent versions (#2304)
    • enhance Clang easyblock to add support for building with AMDGPU offload (#2684, #2729)
    • update sanity check in OpenMPI easyblock to support OpenMPI v5.0.0 (#2709)
    • don't use gold linker by default for GCC >= 11.3 (#2711)
    • update sanity check in R easyblock for versions >= 4.2.0, since S.h is not included anymore (#2713)
    • update ABAQUS easyblock for ABAQUS 2022 (#2716)
    • update LLVM easyblock for LLVM v14.0.x (#2718)
    • update Mesa easyblock to remove swr driver configopts for versions 22+ (#2719)
    • enhance Clang easyblock to support also installing Python bindings (#2721, #2725)
    • enhance SuperLU easyblock to support building on top of FlexiBLAS and be compatible with SuperLU v5.3 (#2722)
    • update TensorFlow easyblock for version 2.8.0 (#2723)
    • modify FFTW's sanity check step to allow checking only for MPI parts of FFTW installation (#2724)
    • add support to ConfigureMake for tweaking (first part of) test command via 'test_cmd' (#2726, #2737)
    • enhance MrBayes easyblock with custom sanity check command (#2727)
    • update cudnnarch string templates used to compose source tarball names from cuDNN 8.3.3 onwards (#2728)
    • add sanity check command to OpenSSL wrapper easyblock to verify that system certificates are available to OpenSSL (#2735)
    • ignore exit code of pkg-config command in OpenSSL wrapper easyblock, since with pkgconf they exit with a non-zero exit code if the OS package is not installed (#2736)
  • various bug fixes, including:
    • remove system-compiled binutils dirs from $LDFLAGS in binutils easyblock (#2712)
    • fix for FreeSurfer easyblock: define $FREESURFER needed by recon_all (#2717)
    • also symlink cert.pem in from-source OpenSSL installation (if it exists) (#2735)

easyconfigs

  • add candidates for 2022a common toolchains: foss/2022.05 (#15561), intel/2022.05 (#15485)
  • added example easyconfig files for 35 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABAQUS 2022, Arb 2.22.1, ARGoS 3.0.0, Arriba 2.2.1, astropy 5.0.4, ATK 2.38.0, Autotools 20220317, Bader 1.04, Bazel 4.2.2 + 5.1.1, BDBag 1.6.3, binutils 2.38, biom-format 2.1.12, BLIS 0.9.0, Boost 1.79.0, breseq 0.36.1, bx-python 0.8.13, cairo 1.17.4, CellRanger-ARC 2.0.1, CMake 3.23.1, cryoDRGN 1.0.0, CUDA 11.7.0, cuDNN 8.4.1.50, cURL 7.83.0, DBus 1.14.0, eggnog-mapper 2.1.7, elfutils 0.187, EvidentialGene 2022.01.14, expat 2.4.8, FlexiBLAS 3.2.0, FLINT 2.8.4, fontconfig 2.14.0, freebayes 1.3.6, freeglut 3.2.2, freetype 2.12.1, FriBidi 1.0.12, GCC 9.5.0 + 11.3.0 + GCC 12.1.0, Gdk-Pixbuf 2.42.8, geopandas 0.10.2, git 2.36.0, GLib 2.72.1, GMAP-GSNAP 2021-21-17, Go 1.18.1, GObject-Introspection 1.72.0, Graphene 1.10.8, GST-plugins-base 1.20.2, GStreamer 1.20.2, GTDB-Tk 2.0.0, GTK3 3.24.33, gzip 1.12, HarfBuzz 4.2.1, help2man 1.49.2, hwloc 2.7.1, hypothesis 6.46.7, Hypre 2.24.0, ICU 71.1, IGV 2.12.3, IMB 2021.3, inferCNV 1.10.1, InterProScan 5.52, IQ-TREE 2.2.1, jax 0.3.9, json-c 0.16, LAPACK 3.10.1, libarchive 3.6.1, libdeflate 1.10, libdrm 2.4.110, libedit 20210910, libepoxy 1.5.10, libfabric 1.15.1, libglvnd 1.4.0, libjpeg-turbo 2.1.3, libreadline 8.1.2, librsb 1.3.0.1, librsvg 2.52.8, libtool 2.4.7, libunwind 1.6.2, libxml2 2.9.13, LLVM 14.0.3, LocARNA 1.9.2.3, MACS2 2.2.7.1, magma 2.6.2, Mako 1.2.0, Mathematica 13.0.0, MCL 14.137, MCR R2022a.1, Mesa 22.0.3, Meson 0.62.1, MIRA 5.0rc2, Mmg 5.6.0, mold 1.2.1, mosdepth 0.3.3, MrBayes 3.2.7a, MultiQC 1.12, MUMPS 5.5.0, muParser 2.3.3, ncurses 6.3, neptune-client 0.16.2, Nextflow 22.04.0, Nim 1.6.6, NTPoly 2.7.1, OpenMPI 4.1.4, openpyxl 3.0.9, OpenSSL 1.1.1n, OpenStackClient 5.8.0, OSU-Micro-Benchmarks 5.9, pagmo 2.18.0, Pango 1.50.7, parallel-fastq-dump 0.6.7, PCRE2 10.40, Perl 5.34.1, Pillow 9.1.0, PLINK 2.00a3.1, PMIx 4.1.2, PyAMG 4.2.3, pybind11 2.9.2, PyCairo 1.21.0, pygmo 2.18.0, PyGObject 3.42.1, Python 3.10.4, R 4.2.0, RAxML-NG 1.1.0, R-bundle-Bioconductor 3.15, ReFrame 3.11.0, RNA-Bloom 1.4.3, rnaQUAST 2.2.2, Rust 1.60.0, Sambamba 0.8.2, SAMtools 1.15.1, ScaLAPACK 2.2.0, SciPy-bundle 2022.05, SeqKit 2.2.0, Shapely 1.8.1.post1, SpaceRanger 1.3.1, Spack 0.17.2, Spark 3.2.1, SQLite 3.38.3, StringTie 2.2.1, SUMO 1.12.0, SuperLU 5.3.0, tbl2asn 20220427, Tcl 8.6.12, TCLAP 1.2.5, tcsh 6.24.01, texlive 20220321, ToFu 1.5.0, UCX 1.12.1, util-linux 2.38, VEP 105, ViennaRNA 2.5.0, vsc-mympirun 5.2.11, worker 1.6.13, X11 2022050, YAXT 0.9.2.1, Z3 4.8.16, Zip 3.0, zlib 1.2.12, zstd 1.5.2
  • minor enhancements, including:
    • use OpenSSL wrapper dependency for CMake 3.18.4 with system toolchain (#15227)
    • also build BLIS backend for FlexiBLAS v3.0.4 with GCC/10.3.0 (#15347)
    • add extensions to R v4.1.2 + v4.2.0 easyconfigs:
    • add extensions to R-bundle-Bioconductor 3.14 easyconfig: DNABarcodes (#15405)
    • use redist source_urls for cuDNN > 7.5 (#15411)
    • add download_instructions to Java 1.8 > 200 (#15412)
    • update Arrow to use EB versions of some dependencies and enable all compression codecs (#15512)
    • add csh -> tcsh symlink in recent tcsh easyconfigs (#15571)
    • allow external tools to be located elsewhere for ETE (#15578)
    • add additional sanity check commands for IQ-TREE v2.2.1 (#15596)
  • various bug fixes, including:
    • fix source URL for freetype 2.6.5 with foss/2016b (#14204)
    • fix installation of easybuild-easyconfigs with setuptools>=61 by explicitly declaring there are no Python packages (#15206)
    • use x.py to bootstrap Rust so that build options are properly passed through (#15211)
    • fix RepeatMasker-4.1.2-p1 easyconfig by moving the database configure command to postinstallcmds (#15280, #15615)
    • add hwloc dependency to tbb v2021.4.0 (#15294)
    • tweak find command used in preconfigopts in easyconfig for pkg-config v0.29.2 with system toolchain to avoid descending into other filesystems (#15313)
    • remove pkg-config use from SeqLib configure patch (avoids problem due to faulty autoconf macro) (#15316)
    • update source URL for isl in GCCcore easyconfigs (#15320)
    • update source URLs for YAXT 0.9.x to fix download (#15323)
    • define $HHLIB as path to HH-suite installation directory, required by Perl scripts (#15324)
    • add missing parallel and tbl2asn dependencies for prokka 1.14.5 (#15360, #15381)
    • add missing dependencies for libheif (libpng, libjpeg-turbo) (#15408)
    • switch to configuring build of libheif with CMake so libde265 dependency is picked up (#15408)
    • disable use of -ftree-vectorize for OpenFOAM v2112 with foss/2021b (#15495)
    • add patch for OpenMPI 4.1.1 to support building using --with-cuda=internal (#15528, #15589)
    • add patch to fix support for external PMIx v3.1 in OpenMPI v3.1.3 (#15566)
    • also build shared library + fix $PYTHONPATH for gmsh 4.9.0 (#15579)
    • add patch for GLib 2.68.2 to fix use of close_range (#15594)
    • fix download of thrift 0.12.0 for Arrow 0.16.0 (#15597)
    • add Bison and flex build dependencies to SCOTCH 6.1.x (#15618)
    • add alternative checksums for class, nnet, spatial extensions in R v4.2.0 easyconfig (#15619)
    • add missing dependencies + switch to non-static build for Arriba v2.1.0 (#15623)
  • other changes:
    • add R dependency to vcflib 1.0.3, and move from GCC/11.2.0 to foss/2021b toochain (#15216)
    • update fallback version for OpenSSL 1.1 wrapper to v1.1.1o (#15592)
    • install sklearn meta-package with scikit-learn v1.0.1 (#15613)
    • switch from pkg-config to pkgconf as build dependency for OpenSSL wrapper easyconfigs (#15616, #15617)

EasyBuild v4.5.4 (March 31st 2022)

bugfix/update release

framework

  • various enhancements, including:
    • warn about potentially missing patches in --new-pr (#3759, #3966)
    • add support for 'clone_into' field in git_config source spec to specify different name for top-level directory (#3949)
    • add bash completion for easyconfigs from local dir but not robot search path (#3953)
    • add a 'sync pr' message when the PR has a mergeable state but is showing a failed status for the test suite on the last commit (#3967)
    • add gmpit toolchain definition (GCC + MPItrampoline) (#3971)
    • use 'zypper search -i' to check whether specified OS dependency is installed on openSUSE + make sure that rpm is considered for checking OS dependencies on RHEL8 (#3973)
    • add support for post-install patches (#3974)
    • add support for 'download_instructions' easyconfig parameter key to specify some download or installation steps for user in case of complicated way of obtaining needed files (#3976, #3981)
    • also try collecting AMD GPU info (via rocm-smi) for --show-system-info (#3978, #3982)
  • various bug fixes, including:
    • ensure --review-pr can find dependencies included in PR (#3979)
    • run 'apt-get update' in GitHub Actions workflow for container tests to update container package list before installing anything (#3985)
  • other changes:
    • enable code linting check for all supported Python versions (#3725)
    • update copyright lines for 2022 (#3986)

easyblocks

  • minor enhancements and updates, including:
    • update Clang-AOMP easyblock to add support for ROCm v5.0 (#2681)
    • enable system SSL certificates in OpenSSL installations (#2683)
    • enhance MRtrix easyblock: build in parallel + enable OpenMP support for MRtrix >= 3.0 (#2685)
    • avoid dependency on 'which' command in sanity check for Python, use 'command -v' instead (#2687)
    • enhance Tarball easyblock to support using it for installing extensions (#2688)
    • update wxPython easyblock to support wxPython v4.1 (#2689)
    • enhance Gurobi easyblock to also update $MATLABPATH (#2691)
    • build single-file shared libraries for imkl so it can be used as FlexiBLAS backend via $FLEXIBLAS_LIBRARY_PATH (#2694)
  • various bug fixes, including:
    • added regex to replace /lib/cpp with cpp in OpenFOAM's wmake rules file (#2331)
    • set $NINJAFLAGS to make sure Ninja doesn't use all visible cores when building Qt5 (#2338)
    • update Siesta EasyBlock to use serial FFTW (#2662)
    • fix support for imkl for numexpr 2.8.0+ in numexpr easyblock (#2678)
    • make sure TensorFlow doesn't see the nvptx-none dir when searching for gcc include dir (#2682)
    • force use of bash for Anaconda install script (#2692)
    • add guess for path to add to $MANPATH for intel-compilers (#2696)
    • change permissions of the Java build directory to avoid permission denied error (#2698)
    • also consider $MKLROOT/lib/pkgconfig for $PKG_CONFIG_PATH for imkl (#2701)
    • close log after installing Bundle component (#2702)
    • replace hardcoded /tmp to make sure that Bazel build respects $TMPDIR (#2703)
  • other changes:
    • minor code cleanup in numexpr easyblock (#2679)
    • update copyright lines for 2022 (#2705)

easyconfigs

  • added example easyconfig files for 29 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABAQUS 2021, AlphaFold 2.1.2, AmberTools 21, archspec 0.1.3, Bandage 0.9.0, BLIS 3.1, c-ares 1.18.1, CCL 1.12.1, CharLS 2.3.4, Clang-Python-bindings 13.0.1, dcm2niix 1.0.20211006, DFTB+ 21.1, DIRAC 22.0, ELPA 2021.11.001, FlexiBLAS 3.1.3, FLUENT 2021R2, GATK 4.2.5.0, GetOrganelle 1.7.5.3, IgBLAST 1.18.0, IntelClusterChecker 2021.5.0, intervaltree-python 3.1.0, ITSx 1.1.3, Julia 1.7.2, kallisto 0.48.0, KMC 3.2.1, libobjcryst 2021.1.2, libtree 3.0.3, loompy 3.0.7, matplotlib 3.5.1, MCR R2022a, MDAnalysis 1.1.1+ 2.0.0, MDTraj 1.9.7, medaka 1.5.0, meshalyzer 20200308, MRtrix 3.0.3, NiBabel 3.2.2, NLTK 3.7, numexpr 2.8.1, ont-fast5-api 4.0.2, OpenAI-Gym 0.21.0, OpenBLAS 0.3.20, ORCA 5.0.3, parallel-fastq-dump 0.6.6, PIPITS 2.8, pocl 1.8, pycocotools 2.0.4, pyEGA3 4.0.0, pyobjcryst 2.2.1, RE2 2022-02-01, SAMtools 1.15, SBCL 2.2.1, shovill 1.1.0, SKESA 2.4.0, SOCI 4.0.3, sympy 1.9, TensorFlow 2.5.3, VirtualGL 3.0, vsc-mympirun 5.2.10, VSEARCH 2.21.1, VTK 9.1.0, VTune 2022.2.0, XGBoost 1.5.0
  • minor enhancements, including:
    • add Flask-Session to Flask v1.1.4 and Flask v2.0.2 (#15027)
    • add check to verify that patch files touched in PRs have a description in place (#15061)
    • add extensions to R v4.1.2 easyconfig: hash (#15098), nabor + harmony (#15117), apluster, DataCombine, docstring, gdalUtils, openair, mstate, SNFtool, and deps (#15141)
    • also install rMATS_P commands in rMATS-turbo easyconfig (#15113)
    • add extensions to Bioconductor v3.14 easyconfig: chromVAR (#15118), EnsDb.Hsapiens.v79 (#15154), WGCNA (#15178)
    • add extensions to Perl v5.34.0 easyconfigs: Sys::Info, HTML::Template, Log::Report (#15176), Sys::::Unknown, Sys::::Linux, Unix::Processors (#15190)
    • enable running of tests for MEME with gompi/2021b (#15191, #15199)
  • various bug fixes, including:
    • add missing xxd build dependency for recent PLUMED versions (2.6.2, 2.7.x) (#14847)
    • downgrade dependency on nodejs + use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy easyconfigs using GCCcore/10.3.0 toolchain (#14942)
    • add additional valid checksum for extensions in R 4.1.0 and 4.1.2 easyconfigs: norm (#14987), optmatch (#14993)
    • avoid pollution in the tmp directory when running the AlphaFold tests (#14989)
    • consistently enable usempi toolchain option in OSU-Micro-Benchmarks easyconfigs (#15039)
    • fix GBprocesS easyconfig by switching to source tarball created using git_config (#15048)
    • add patches for mauveAligner to fix build on RHEL8 (#15049)
    • fix installation of RDKit by using -DBoost_NO_BOOST_CMAKE=ON (#15051)
    • add patch to fix linking error for imread extension in scikit-image easyconfigs using intel toolchain (#15054)
    • avoid excessively long shebang in Autoconf/Automake Perl scripts + promote Perl to runtime dependency + fix Perl shebang for intltool (#15055)
    • fix python shebang in cutadapt script for cutadapt 1.18 w/ GCCcore/8.3.0 (#15059)
    • don't use v2.1.0rc1 release candidate of gmpy2, stick to proper release v2.1.2 (#15060)
    • add M4 as build dependency for CCL-1.12 (#15075)
    • configure libffi 3.4.2 with --disable-exec-static-tramp to prevent segfaults (#15086)
    • set XLA_PYTHON_CLIENT_ALLOCATOR=platform for running tests in jax CUDA easyconfigs (#15097)
    • remove disable flag for RTTI in snappy v1.1.9 (#15099)
    • fix grconvert build for Grace 5.1.25 with foss/2021a by adding libtirpc dependency + related patch (#15121)
    • clean up PSolver and futile easyconfigs and add dynamic libs (#15148)
    • enhance vcflib easyconfigs to also install scripts (#15181)
    • add patch to fix shared linking in vcflib (#15203)
    • fix failing sanity check for PRINSEQ (#15205)
  • other changes:
    • use typing-extensions from Python v3.9.6 easyconfig in ArviZ and PyMC3 (#15003)
    • disable building of documentation for DBus 1.13.18 (#15010)
    • consistently use system toolchain in EasyBuild easyconfigs (#15126)
    • use EasyBuild hwloc in likwid and move to GCC/intel-compiler level due to Fortran modules (#15149)

EasyBuild v4.5.3 (February 11th 2022)

bugfix/update release

framework

  • various enhancements, including:
    • also check for git in --check-eb-deps (#3954)
    • add end2end test for eb --containerize (#3958)
  • various bug fixes, including:
    • take into account that patch files can also be zipped when checking filename extension for patches (#3936)
    • initialize BACKUP_PKG_URL with empty string in install_eb_dep.sh script (#3939)
    • fix get_os_name and get_os_version to avoid reporting UNKNOWN in output of eb --show-system-info (#3942)
    • consistently use actions/setup-python@v2 in CI workflows (#3944)
    • switch to using pip3 for installing EasyBuild in container recipes generated by EasyBuild (#3945)
    • specify easybuild.io as EasyBuild homepage in setup.py (#3947)
    • avoid crash in get_os_version on modern SLES-based OSs (#3955)
  • other changes:
    • indicate compatibility with Python 3.10 in setup.py (#3940)

easyblocks

  • new software-specific easyblock for reticulate R package (#2668)
  • minor enhancements and updates, including:
    • set CUDA target architecture(s) for GROMACS based on cuda_cc_semicolon_sep template value (#2655)
    • add support to NAMD easyblock to opt out of building with CUDA support even if CUDA is included as dependency (#2666)
    • update sanity check in CUDA easyblock: CUDA 11.6 no longer includes samples (#2669)
  • various bug fixes, including:
    • also run easyblocks test suite with Python 3.8-3.10 + consistently use actions/setup-python@v2 in CI workflows (#2664)
    • specify easybuild.io as EasyBuild homepage in setup.py (#2667)
  • other changes:
    • remove vulnerable binaries from sanity check of HDF5, no longer installed by default with HDF5 1.10.8 (#2670)

easyconfigs

  • added example easyconfig files for 25 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • aiohttp 3.8.1, AOCC 3.2.0, ArviZ 0.11.4, BeautifulSoup 4.10.0, bokeh 2.4.2, Boost.Python 1.77.0, Bowtie 1.3.1, CheMPS2 1.8.11, Clang 13.0.1, CLHEP 2.4.5.1, ConnectomeWorkbench 1.5.0, Crumble 0.8.3, CUDA 11.5.1 + 11.6.0, cutadapt 3.5, dask 2022.1.0, deepdiff 5.7.0, deepTools 3.5.0, dm-tree 0.1.6, DROP 1.1.1, ecCodes 2.24.2, Emacs 27.2, FDS 6.7.7, file 5.41, Flask 2.0.2, FORD 6.1.6, GATE 9.1, Geant4 11.0.0, GEMMA 0.98.5, GnuTLS 3.7.3, Go 1.17.6, gpustat 1.0.0b1, Graphviz 2.50.0, GROMACS 2021.5, Guile 3.0.7, HDF5 1.10.8, imageio 2.13.5, JupyterLab 3.2.8, lftp 4.9.2, libBigWig 0.4.6, libpsml 1.1.10, libRmath 4.1.2, librsb 1.3.0.0, libtasn1 4.18.0, libunistring 1.0, likwid 5.2.1, MaxQuant 2.0.3.0, MEGA 11.0.10.eb, MethylDackel 0.6.1, methylpy 1.2.9, minimap2 2.24, Mono 6.12.0.122, MUSCLE 5.1, nanomax-analysis-utils 0.4.3, ncbi-vdb 2.11.2, NCIPLOT-4.0 20200624, Nextflow 21.10.6, NGS 2.11.2, nvtop 1.2.2, OpenCV 4.5.5, openslide-python 1.1.2, pftoolsV3 3.2.11, picard 2.26.10, pydicom 2.2.2, pyFAI 0.20.0, Pysam 0.18.0, pytest-xdist 2.5.0, Racon 1.5.0, RAxML 8.2.12, ReFrame 3.10.1, ROOT 6.24.06, scikit-image 0.19.1, SDL2 2.0.20, SeqKit 2.1.0, Siesta 4.1.5, SimpleITK 2.1.1, SqueezeMeta 1.5.0, tMAE 1.0.1, torchvision 0.11.3, Trim_Galore 0.6.7, typing-extensions 3.10.0.2
  • minor enhancements, including:
    • also install Python bindings for SHTns 3.5.1 (#14893)
    • add catlearn extension to easyconfig for R v4.1.2 (#14940)
  • various bug fixes, including:
    • update TALYS sources to (hopefully) ensure constant checksums (#14797)
    • add missing graphite2 + HarfBuzz dependencies to Qt5 v5.15.2 (#14802)
    • add missing UCX-CUDA dep to GROMACS for foss-2021a-CUDA-11.3.1 (#14859)
    • specify easybuild.io as EasyBuild homepage in setup.py (#14870)
    • add alternative checksum for MASS, class, nnet, spatial extensions in R 4.1.0 (#14873) and R 4.1.2 (#14880) easyconfigs
    • add patch to fix Kraken2 ncbi ftp/https check in rsync_from_ncbi.pl for versions 2.0.9-2.1.1 (#14889)
    • disable building of tests/benchmarks for snappy 1.1.8 to avoid failing build (#14923)
    • disable use of -Werror for recent NSS versions (#14924)
    • fix download URL in UDUNITS v2.2.28 easyconfigs (#14954)
    • remove unnecessary CUDAcore dependency from nvtop v1.2.1 easyconfig (#14957)
    • consistently apply patch for mapDamage 2.2.1 to use external seqtk (#14961)
    • fix typo in templated source URL in RcppGSL 0.3.8 easyconfig: $(name)s should be %(name)s (#14962)
  • other changes:
    • update Java/17 wrapper to Java 17.0.2 (#14868)
    • use actions/setup-python@v2 in CI workflows + trim test configurations for easyconfigs test suite: only test with Python 2.7 + 3.6 and Lmod 7.x + 8.x (#14857, #14881)

EasyBuild v4.5.2 (January 24th 2022)

bugfix/update release

framework

  • various enhancements, including:
    • automatically prepend value for env-for-shebang configuration setting with sysroot (#3919)
    • enhance update_build_option to return original value + add support for update_build_options (#3923)
    • fix compatibility with Python 3.10 (#3926, #3933)
    • also take /etc/os-release into account in get_os_name and get_os_version (#3930)
    • enhance get_cpu_architecture and get_cpu_family to be aware of RISC-V (#3931)
  • various bug fixes, including:
    • relax pattern checks in test_toy_exts_parallel (#3921)
    • use sources.easybuild.io as backup URL for downloading Environment Modules sources to run test suite (#3928)
    • make intelfftw toolchain component aware of GCCcore (#3929)
  • other changes:
    • deprecate use of (actual) patch files that don't have a filename ending with .patch (#3920)
    • remove version restriction for keyring in requirements.txt to test with latest version (#3925)
    • simplify requirements.txt by removing Python 2.6 support (#3927)
    • only run GitHub tests when testing with Lua module syntax, to avoid hitting GitHub rate limit when running tests (#3938)

easyblocks

  • minor enhancements and updates, including:
    • remove necessity for license for oneAPI versions (>= 2021.x) in itac easyblock (#2492)
    • add CUDA support in SuiteSparse easyblock (#2627)
    • use all available cores for running Perl test suite (#2637)
    • add option to not copy the license file for Gurobi (#2639, #2641)
    • update AOCC easyblock to support version 3.2.0 (#2643)
    • don't grep for specific version in --version output of Intel compiler commands for versions 2022.x (#2644)
    • add support for enabling sanity checks for specific components in the Bundle easyblock (#2649)
    • update Libint easyblock for LibInt v2.7.0 which requires configuring via CMake (#2650)
    • update Mathematica easyblock for version 13 (#2652)
    • add sanity check command for Bazel (#2653)
    • update NAMD easyblock to allow non-system csh (#2654)
    • enhance CUDA easyblock to create version independent pkgconfig files (#2656)
    • add util subdirectory to $PATH for WPS (#2658)
  • various bug fixes, including:
    • convert version numbers to strictly numerical in Siesta easyblock (#2553)
    • fix shebang of scripts in Perl installation if installation prefix is too long (#2640)
    • enhance IntelBase easyblock to avoid crash when $USER is not set (#2642)
    • fix quotes in definition of default platform macro and enhance sanity check in GATE easyblock (#2645)
    • avoid excessively long shebang line in compile script for WRF (#2648)
    • fix checking of Intel Fortran compiler version in CP2K easyblock for recent toolchains (#2651)

easyconfigs

  • added easyconfig for intel/2022.00 toolchain (#14620)
  • added example easyconfig files for 48 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • annovar 20200607, antiSMASH 5.2.0, Armadillo 10.7.5, Arrow 6.0.1, Bismark 0.23.1, BLAST+ 2.12.0, cDNA_Cupcake 26.0.0, CHERAB 1.3.0, CMake 3.22.1, CP2K 8.2, DIAMOND 2.0.13, dotNET-Core-Runtime 6.0.1, dotNET-SDK 6.0.101, Extrae 3.8.3, fastp 0.23.2, FreeSurfer 7.2.0, GffCompare 0.12.6, gmsh 4.9.0, GTK3 3.24.31, h5py 3.6.0, igraph 0.9.5, Inspector 2022.0.0, IQ-TREE 2.1.3, itac 2021.5.0.eb, Java/15 + Java/17, JUBE 2.4.2, libdeflate 1.8, libxsmm 1.17, LSD2 2.3, MAGMA 1.09b, MATLAB 2021b, MinPath 1.6, MultiQC 1.11, MUSCLE 5.0.1428, numba 0.54.1, NVHPC 21.11, OBITools 1.2.13, occt 7.5.0p1, openCARP 8.2, OpenCV 3.4.1, OpenFOAM v2112, ORCA 5.0.2, phonopy 2.12.0, Pillow 8.3.2, Pillow-SIMD 8.3.2, PLUMED 2.7.3, poppler 22.01.0, PyQtGraph 0.12.3, python-igraph 0.9.8, PyZMQ 22.3.0, Raysect 0.7.1, Rgurobi 9.5.0, scanpy 1.8.2, Schrodinger 2021, SqueezeMeta 1.0.0, statsmodels 0.13.1, texlive 20210324, VTune 2022.0.0
  • minor enhancements, including:
    • add yaml-cpp dependency to Trilinos 12.12.1 with foss/2019b (#14547)
    • include output of failing code style check in message produced by failing easyconfigs style test (#14578)
    • bundle LAPACKE with FlexiBLAS 3.0.4 (#14591), #14769)
    • add extensions to R v4.1.2 easyconfig: semTools, mirt, OpenMX (#14634), FactorCopula (#14648), rpact, ldbounds (#14750)
    • add extensions to R-bundle-Bioconductor 3.14: ExomeDepth (#14684), DSS (#14748), pathview (#14806)
  • various bug fixes, including:
    • fix homepage and source_urls for GLIMMER 3.02b (#7945)
    • fix source URL for Trilinos 12.12.1 with foss/2019b (#14547)
    • use proper Perl dependency for worker 1.6.12 with foss/2019a (fixes installation on RHEL8 OS) (#14565)
    • fix checksum and versions of annovar v20191024 (#14579)
    • add patch for Rust 1.52.2 and 1.54.0 to fix build when using alternate sysroot (#14584)
    • retain version in filename for cromwell sources (#14586)
    • specify compiler to use in WildMagic easyconfig (#14594)
    • avoid need for git build dependency for recent x265 easyconfigs (#14605)
    • fix broken patch file for recent GPAW versions (#14619)
    • add alternative checksum for Siesta-4.1-MaX-1.0 (#14643)
    • add missing PCRE dependency for pullseq + add sanity check commands (#14650)
    • use %(arch)s template to avoid hardcoding x86_64 in recent XML-LibXML easyconfigs (#14655)
    • fix name for (binary) AutoDock-Vina v1.1.2 (#14675)
    • add patch to fix memory leak in OpenMPI that heavily affects CP2K, SIESTA, QuantumESPRESSO, VASP, ... (#14726)
    • set $GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS for installing grcpio extension included with:
      • TensorFlow 2.2.3-2.4.1 with 2020* toolchain (#14729) and 2.5.0+ (#14728)
      • Ray-project (#14730)
    • enforce using internal boost for bcl2fastq2 with a GCC 10.x toolchain (#14741)
    • add patch for hard-coded checksum value of downloaded source file in the source code of RDKit 2021.03.4 (#14743)
    • also install libaio.so.1 symlink in easyconfigs for libaio v0.3.112 (#14745)
    • do not use external libgcrypt or python for libxslt with recent toolchains (#14756)
    • add patches to fix CVE-2021-23437 for Pillow (#14765) and Pillow-SIMD (#14792)
    • add libXfont2 patch to fix build when libbsd is present (#14821)
  • other changes:
    • update Java 1.8 wrapper to 1.8.0_311 for x86_64 (#14644)
    • bring gffread back down to GCCcore level for toolchain version 10.3.0 (#14660)
    • update build dependencies for recent binutils + GCCcore easyconfigs to avoid depending on M4 1.4.18 with system toolchain (#14731), #14755)
    • bump nbconvert extension in recent IPython easyconfigs to version 6.4.0 (#14738)

EasyBuild v4.5.1 (December 13th 2021)

bugfix/update release

framework

  • various enhancements, including:
    • also dump environment to reprod directory (#3374)
    • determine which extensions can be skipped in parallel (if --parallel-extensions-install is enabled) (#3890)
    • fall back to sequential installation for extensions with unknown dependencies when using --parallel-extensions-install (#3906)
    • allow oversubscription in sanity check for OpenMPI-based toolchains (#3909)
  • various bug fixes, including:
    • don't try to ensure absolute path for path part of repositorypath (#3893, #3899)
    • fix typo in EULA agreement error message (#3894)
    • only remove lock if it was created in the same EasyBuild session (not if it existed already) (#3889)
    • introduce EasyBlock.post_init method to correctly define builddir variable when build-in-installdir mode is enabled in easyconfig or easyblock (#3900)
    • also show download progress bar when using --inject-checksums (#3905)
    • pick up custom extract_cmd specified for extension (#3907)
    • make test_run_cmd_async more robust against fluke failures (#3908)

easyblocks

  • new software-specific easyblock for Clang-AOMP (#2617)
  • minor enhancements and updates, including:
    • enhance Rpm generic easyblock to support installing tarball of RPMs (by unpacking it first) + take into account (pre)installopts (#2580)
    • add option to control use of MKL-DNN in jaxlib easyblock (#2619)
    • update SAMtools easyblock to support installation of SAMtools 1.14 (#2620)
    • add option to ignore PLUMED version check for GROMACS (#2621)
    • update Inspector easyblock for recent versions (>= 2021, oneAPI versions) (#2624)
    • enhance tbb easyblock by adding option to build Python bindings (#2626)
    • fix patching of CMakeLists.txt for Eigen v3.4 (#2633)
  • various bug fixes, including:
    • update CP2K easyblock to use -D__MKL for CP2K versions newer than 2.3 (#2586)
    • set OpenMPI configuration for ORCA sanity check (#2596)
    • allow oversubscription in OpenMPI sanity check (#2611)
    • set wm_* class variables in OpenFOAM easyblock constructor (to fix --sanity-check-only) (#2616)
    • remove newline from easybuild-easyblocks package description (required to avoid installation error with setuptools>=59.0.0) (#2623)
    • avoid patching binary files + other enhancements for MUMmer easyblock (#2630)
    • enable build-in-installdir mode in constructor of PETSc and SLEPc easyblocks (#2631)
    • skip netcdf4-python tests that require network connectivity (#2634)

easyconfigs

  • added example easyconfig files for 71 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 9.6.2, ABRicate 1.0.0, AlphaFold 2.1.1, antiSMASH 6.0.1, Arrow 6.0.0, astropy 4.3.1, BCFtools 1.14, BeautifulSoup 4.9.3, Boost 1.77.0, bpp 4.4.0, Bracken 2.6.2, CapnProto 0.9.1, CellRanger 6.1.2, Eigen 3.4.0, enaBrowserTool 1.6, ESMF 8.2.0, Flye 2.9, FMRIprep 1.4.1, FSL 6.0.4, GATK 4.2.3.0, gc 8.2.0, GDB 11.1, git 2.33.1, Go 1.17.3, Gurobi 9.5.0, Horovod 0.23.0, HTSlib 1.14, HyPhy 2.5.33, Infernal 1.1.4, Inspector 2021.4.0 ITK 5.2.1, jax 0.2.24, Julia 1.7.0, Kent_tools 422, king 2.2.7, libdwarf 20210528, MAFFT 7.490, makeinfo 6.8, Mash 2.3, matplotlib 3.4.3, MCR R2021b, minimap2 2.22, MUST 1.7.2, NCO 5.0.3, NCO 5.0.3, nlohmann_json 3.10.4, NVHPC 21.9, OpenMPI 4.0.7 + 4.1.2, panaroo 1.2.9, pangolin 3.1.16, pkgconfig 1.5.5, plotly.py 5.4.0, pyfaidx 0.6.3.1, Pysam 0.17.0, PyTorch 1.10.0, R 4.1.2, R-bundle-Bioconductor 3.14, ReFrame 3.9.1, rpy2 3.4.5, scikit-image 0.18.3, scikit-learn 1.0.1 SimpleITK 2.1.0, snakemake 6.10.0, SPAdes 3.15.3, tbb 2021.4.0, torchtext 0.10.0, torchvision 0.11.1, tqdm 4.62.3, TRUST4 1.0.6, Trycycler 0.5.2, Unicycler 0.4.9, UShER 0.5.0, WPS 4.3.1, xarray 0.20.1, XlsxWriter 3.0.2, Yambo 5.0.4
  • minor enhancements, including:
    • add RcisTarget + NMF extensions to R-bundle-Bioconductor 3.13 (#14259)
    • add extensions for R v4.1.x:
      • geex + momentfit (#14299); StatMatch, leaflet, tmap + collapse (#14328), genoPlotR + penfa (#14433), adcovsim (#14484)
    • add M3Drop extension to R-bundle-Bioconductor 3.14 (#14436)
  • various bug fixes, including:
    • specify to use Python provided as dependency, remove separate_build_dir, and fix URL in comment for Arrow 0.17.1 (#14263)
    • fix gettid nameclash with glibc 2.30 in Bazel 0.25.2, 0.26.1, 0.29.1, and 1.1.0 (#14269)
    • restore and fix sanity check commands in RStudio-Server 1.4 (#14275)
    • add pkg-config build dependency to Python easyconfigs, to ensure OpenSSL wrapper is detected (#14316)
    • add patch for UCX v1.11.2 to fix missing include statement for string.h (#14317)
    • set $DALTON_TMPDIR to build directory to run Dalton tests (#14341)
    • add patch for libfabric v1.12.1 to fix unknown link width 0x10 warning (#14387)
    • add missing Automake dependency to PhyML 3.3.20200621 (#14397)
    • add git as build dependency to Python 3.8.x and 3.9.x easyconfigs (required for pbr extension) (#14421)
    • add missing XZ dependency to recent PROJ easyconfigs (#14429)
    • fix homepage/source URL for king v2.2.4 (#14444)
    • add patch for GCCcore 9.1-9.3 to fix compatibility with recent kernel headers (#14453)
    • add patch for GCCcore 10.1-11.1 to fix compatibility with recent kernel headers (#14454)
    • add patch to fix CVE-2021-43527 in NSS (#14497)
    • pass tests on A* GPUs by setting NVIDIA_TF32_OVERRIDE=0 in jax 0.2.19 (#14502)
    • add patch to fix broken (hanging) Mash binaries (#14511)
    • add missing Perl build dependency for Longshot (#14535)
    • add googletest build dependency for Highway (#14536)
    • seed in PCRE2 sources to fix broken MariaDB 10.5.8 + 10.6.4 easyconfigs (#14537)
  • other changes:
    • rename R bindings for Arrow to arrow-R, so it can be used in a lowercase module naming scheme (#14262)
    • comment out imkl build dependency for FlexiBLAS 3.0.4 with GCC/11.2.0 (#14335)
    • don't add bin subdir to $PATH via modextrapaths in ReFrame easyconfigs (#14415)
    • consistently use 'Grace' software name + sync homepage/source_urls (#14493)
    • move cxxopts, termcolor and ELFIO header only libraries to SYSTEM toolchain (#14504)

EasyBuild v4.5.0 (October 29th 2021)

feature release

framework

  • various enhancements, including:
    • add --review-pr-max and --review-pr-filter options to limit easyconfigs used by --review-pr + retain order of easyconfigs being compared with (#3754)
    • use Rich (if available) to show progress bars when installing easyconfigs (#3823, #3826, #3833, #3835, #3844, #3864, #3867, #3882)
    • add support for checking required/optional EasyBuild dependencies via eb --check-eb-deps (#3829)
    • add support for collecting GPU info (via nvidia-smi), and include it in --show-system-info and test report (#3851)
    • added support for --insecure-download configuration option (#3859)
    • make intelfftw toolchain component aware of imkl-FFTW module (#3861)
    • make sure the contrib/hooks tree is included in the source tarball for easybuild-framework (#3862)
    • add check_async_cmd function to facilitate checking on asynchronously running commands (#3865, #3881)
    • add initial/experimental support for installing extensions in parallel (#3667, #3878)
    • filter out duplicate paths added to module files, and print warning when they occur (#3770, #3874)
  • various bug fixes, including:
    • ensure that path configuration options have absolute path values (#3832)
    • fix broken test by taking into account changed error raised by Python 3.9.7 when copying directory via shutil.copyfile (#3840)
    • ensure newer location of CUDA stubs is taken into account by RPATH filter (#3850)
    • replace which by command -v in eb wrapper script to avoid dependency on which command (#3852)
    • refactor EasyBlock to decouple collecting of information on extension source/patch files from downloading them (#3860)
      • in this context, the EasyBlock.fetch_extension_sources method was deprecated, and replaced by EasyBlock.collect_exts_file_info
    • fix library paths to add to $LDFLAGS for intel-compilers toolchain component (#3866)
    • remove --depth 1 from git clone when commit specified (#3871, #3872)
    • make sure correct include directory is used for FlexiBLAS toolchain component (#3875)
    • explicitly disable rebase when pulling develop branch to create a merge commit, since not specifying how to reconcile divergent branches is an error with Git 2.33.1 and newer (#3879)
    • tweak test_http_header_fields_urlpat to download from sources.easybuild.io rather than https://ftp.gnu.org (#3883)
  • other changes:

easyblocks

  • new software-specific easyblock for imkl-FFTW (#2599)
  • minor enhancements and updates, including:
    • add support for installing R extensions in parallel (#2408)
    • update MotionCor2 easyblock to consider to locations for built binary (#2541, #2598)
    • let GROMACS runtime logs show EasyBuild was used by setting -DGMX_VERSION_STRING_OF_FORK configuration option (#2571)
    • adjust qa list in WIEN2k easyblock to handle new questions + fix sanity check for v21.1 (#2572)
    • enhance GCC easyblock to add support for AMD GPU offloading (#2578)
    • add support for specifying subdirectory for target installation directory in CMakeMake (#2579)
    • enhance COMSOL easyblock to change permission on build directory during extract step (to allow using patches) (#2584)
    • enhance FlexiBLAS easyblock to support building with Intel MKL (imkl) as backend (#2588)
    • update MATLAB easyblock for 2021b (jre is no longer included) (#2589)
    • update OpenCV easyblock to detect GTK3 and GTK2 dependencies (next to GTK+) (#2591)
    • avoid that path to CUDA install directory is added to $PATH (#2593)
    • enhance imkl easyblock to add support for installing with NVHPC (#2595)
    • enhance PETSc easyblock to run tests in parallel (#2601)
    • update ELSI easyblock to support two new external dependencies (#2602)
    • add custom custom easyconfig parameter backends in FlexiBLAS easyblock to specify backends (#2605)
    • detect problem with compiling CPU detection code in configure output in GROMACS easyblock (#2609)
    • use correct include directory for FlexiBLAS (#2610)
  • various bug fixes, including:
    • unset $EASYBUILD_* environment variables when running sanity check in EasyBuildMeta easyblock + also unset $MODULES_LMCONFLICT to avoid conflict when loading EasyBuild module (#2568)
    • ensure that all ABAQUS components get installed for ABAQUS 2021.x (+ add support for enabling/disabling fe-safe) (#2569)
    • fix subdir path in VTune easyblock for 2021.x versions + add sanity check command (#2576)
    • make sure custom easyblock for installing EasyBuild respects requested version of Python (like $EB_PYTHON) (#2581)
    • restore RPATH wrappers for OpenMPI sanity check (#2582)
    • fix installation of libcp2k for recent CP2K versions (#2585)
    • make version regex in OpenSSL wrapper easyblock less strict (version string does not always end with a letter) (#2597)
    • redefine collect_exts_file_info instead of now deprecated fetch_extension_sources in OCaml easyblock (#2603)
  • other changes:

easyconfigs

  • added easyconfigs for foss/2021b (#14217) and intel/2021b (#14218) common toolchains
  • add easyconfig for gobff/2021a toolchain (#14019, #14038)
  • added example easyconfig files for 39 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • AlphaFold 2.0.1, artic-ncov2019 2021.06.24, BerkeleyGW 3.0.1, bokeh 2.4.1, Boost.Python 1.76.0, canu 2.2, Cartopy 0.20.0, CP2K 8.2, CUDA 11.4.2, Dalton 2020.0, dask 2021.9.1, edlib 1.3.9, ELSI 2.7.1, FFTW 3.3.10, GD 2.73, GDAL 3.3.2, GTDB-Tk 1.7.0, ImageJ 1.52q, jax 0.2.20, Kraken2 2.1.2, leidenalg 0.8.7, libfabric 1.13.2, libspatialindex 1.9.3, libxc 5.1.6, libxsmm 1.16.2, lifelines 0.26.3, Longshot 0.4.3, LSD2 2.2, MAFFT 7.487, MEME 5.4.1, MotionCor2 1.4.4, NCCL 2.11.4, netCDF 4.8.1, networkx 2.6.3, Nextflow 21.08.0, OpenBLAS 0.3.18, OpenCV 4.5.3, OrthoFinder 2.5.4, OSU-Micro-Benchmarks 5.8, PhyML 3.3.20200621, PostgreSQL 13.4, pygraphviz 1.7, pyproj 3.1.0, python-Levenshtein 0.12.1, PyTorch-Geometric 2.0.1, QIIME2 2021.8.eb, Qiskit 0.31.0, QuantumESPRESSO 6.8, Racon 1.4.21, rampart 1.2.0, rclone 1.56.0, RDKit 2021.03.4, SAMtools 1.13, scanpy 1.8.1, scikit-allel 1.3.3, SciPy-bundle 2021.10, Seaborn 0.11.2, SHAPEIT4 4.2.2, spglib 1.16.2, UCX 1.11.2, UCX-CUDA 1.11.2, VSEARCH 2.18.0, Z3 4.8.12, zarr 2.10.1
  • minor enhancements, including:
    • add JASPAR2020 to R-bundle-Bioconductor 3.13 (#13962)
    • add Autotools as build dependency for CubeGUI-4.6 (#14109)
    • add compiler/parallel/tcltk R libraries included in base installation to extensions in recent R easyconfigs (#14189, #14190, #14194)
      • required for parallel installation of extensions for these R easyconfigs
    • also add location to MPI startup tests to $PATH in OSU-Micro-Benchmarks easyconfigs (#14126)
  • various bug fixes, including:
    • add missing Brotli dependency to freetype (#13915, #14002)
    • add patch for OpenBLAS 0.3.15 to fix failing numpy tests on aarch64 (#13923)
    • fix source URL + add alternate checksum for ADMIXTURE 1.3.0 (#13933)
    • just use cp to copy stereo_chemical_props.txt to AlphaFold installation directory (#13938)
    • add UnZip build dependency to TensorFlow 2.4.1 (#13958), 2.5.0 (#13959) and 2.6.0 easyconfigs (#13960)
    • add missing Python dependency for WIEN2k 21.1 + patch to fix build failure for lapw0_mpi with libxc (#13961)
    • add additional valid checksum for lhs 1.1.1 extension in recent R 4.0.x and 4.1.0 easyconfigs (#13969)
    • fix Fortran system call stdout/err redirection for WIEN2k v21.1 (#13972)
    • add OpenSSL dependency to Kent_tools 418 easyconfig to fix a link error (#13989)
    • make binutils a build-only dependency for Brotli + add sanity check command (#14004)
    • fix installation of Racon v1.4.7 with gcccuda/2019b after move of ClaraGenomicsAnalysis repository (#14010)
    • fix source URL for KEGG.db extension in R-bundle-Bioconductor 3.13 easyconfig (since it's a deprecated library now) (#14013)
    • add patch for BLIS 0.8.1 to fix dgemm FPE signalling on Broadwell (#14018)
    • add patch to fix installation of TensorFlow 2.2.3 on POWER (#14025)
    • fix AmberTools v20 easyconfig using intel/2020a toolchain (#14028)
    • fix download + permissions of binary for USEARCH v11.0.667 (#14036)
    • remove h5py 3.x dependency for Keras with 2020b toolchain, since TensorFlow provides (and requires) h5py 2.x (#14052)
    • correctly specify install prefix for CUDA in OSU-Micro-Benchmarks after renaming CUDAcore to CUDA for 2021a (#14063)
    • add patch to fix failing file system cache test for jax on recent Linux kernels (#14067), #14070)
    • fix compilation of BWA 0.7.17 with GCC/10.2.0 on POWER (#14073)
    • add missing dependencies for recent LibTIFF versions: XZ, jbigkit, zstd (#14079)
    • add missing header file to existing versions of jbigkit (#14081)
    • fix source URL for SUNDIALS 5.x (#14092, #14096)
    • add Perl and Python runtime dependencies to Bowtie2 2.4.4 (#14097)
    • fix source URL for SCOTCH 6.1.0 (#14099)
    • drop tcmalloc from SymEngine as it causes crashes with scipy (#14119)
    • fix homepage + description in SimpleITK easyconfigs (#14125)
    • add missing scripts from utils and analysis_scripts to bin for cryoDRGN (#14137)
    • patch rsync_from_ncbi.pl in Kraken2 v2.1.2 to allow syncing with NCBI servers over HTTPS (#14148)
    • skip mkl_fused_batch_norm_op_test test (broken on AMD EPYC systems) for TensorFlow 2.5.0 and 2.6.0 (#14151, #14153)
    • fix incorrect module load message and update morphology plugin of ImageJ 1.51k (#14152)
    • fix XCrySDen v1.6.2 linking to libdl and Togl (#14160)
    • add patch to fix PMIx detection in OpenMPI v4.0.3, v4.0.5, v4.1.0 (#14177)
    • add patch for OpenBLAS 0.3.17 + 0.3.18 to fix segfault triggered by scipy tests (#14178)
    • fix spatstat.* downloads for Seurat v4.0.1 (#14199)
    • add patch for GROMACS 2019.3 easyconfigs using CMake 3.15.3 to fix CPU detection (#14212)
  • other changes:
    • remove help2man build dependency for flex using system toolchain (because it requires Perl) (#13922)
    • use proper dependency for python-Levenshtein in CIRI-long easyconfig (#13985)
    • in-place updates for foss/2021b and intel/2021b common toolchains
      • update to UCX(-CUDA) 1.11.2 as dependency for OpenMPI v4.1.1 + NCCL v2.10.3 (#14090)
      • update libfabric to 1.13.1 in OpenMPI and add it as a dependency in PMIx for the upcoming foss 2021b toolchain (#14164)
      • update to OpenBLAS 0.3.18 as dependency for FlexiBLAS 3.0.4 with GCCcore/11.2.0 toolchain (#14167)
      • update libfabric to 1.13.2 in OpenMPI v4.1.1 + PMIx 4.1.0 for the upcoming foss/2021b toolchain (#14176)
    • remove format mapping from homepage of Subread easyconfigs (#14145)
    • add BLIS and imkl (x86_64 only) builddependencies to FlexiBLAS 0.3.4 with GCC/11.2.0 toolchain (#14225)

EasyBuild v4.4.2 (September 7th 2021)

bugfix/update release

framework

  • various enhancements, including:
    • add per-extension timing in output produced by eb command (#3734)
    • add definition for new toolchain nvpsmpic (NVHPC + ParaStationMPI + CUDA) (#3736)
    • include list of missing libraries in warning about missing FFTW libraries in imkl toolchain component (#3776)
    • check for recursive symlinks by default before copying a folder (#3784)
    • add --filter-ecs configuration option to filter out easyconfigs from set of easyconfigs to install (#3796)
    • check type of source_tmpl value for extensions, ensure it's a string value (not a list) (#3799)
    • also define $BLAS_SHARED_LIBS & co in build environment (analogous to $BLAS_STATIC_LIBS) (#3800)
    • report use of --ignore-test-failure in success message in output (#3806)
    • add get_cuda_cc_template_value method to EasyConfig class (#3807)
    • add support for fix_bash_shebang_for (#3808)
    • pick up $MODULES_CMD to facilitate using Environment Modules 4.x as modules tool (#3816)
    • use more sensible branch name for creating easyblocks PR with --new-pr (#3817)
  • various bug fixes, including:
    • remove Python 2.6 from list of supported Python versions in setup.py (#3767)
    • don't add directory that doesn't include any files to $PATH or $LD_LIBRARY_PATH (#3769)
    • make logdir writable also when --stop/--fetch is used and --read-only-installdir is enabled (#3771)
    • fix forgotten renaming of l to char in __init__.py that is created for included Python modules (#3773)
    • fix verify_imports by deleting all imported modules before re-importing them one by one (#3780)
    • fix ignore_test_failure not set for Extension instances (#3782)
    • update iompi toolchain to intel-compiler subtoolchain for oneAPI versions (>= iompi 2020.12) (#3785)
    • don't parse patch files as easyconfigs when searching for where patch file is used (#3786)
    • make sure git clone with a tag argument actually downloads a tag (#3795)
    • fix CI by excluding GC3Pie 2.6.7 (which is broken with Python 2) and improve error reporting for option parsing (#3798)
    • correctly resolve templates for patches in extensions when uploading to GitHub (#3805)
    • add --easystack to ignored options when submitting job (#3813)
  • other changes:
    • speed up tests by caching checked paths in set_tmpdir + less test cases for test_compiler_dependent_optarch (#3802)
    • speed up set_parallel method in EasyBlock class (#3812)

easyblocks

  • 4 new software-specific easyblocks:
  • minor enhancements, including:
    • update ABAQUS easyblock to support installation of v2020 (#2034)
    • enable make check and sanity check exec for OpenMPI (#2444)
    • fixed sanity check for later versions of Molpro (#2499)
    • add Ampere to known GPU architectures for Kokkos in LAMMPS easyblock (#2510)
    • update sanity check in ESMF easyblock to take into account new binary names from version 8.1.0 onwards (#2512)
    • use report_test_failure in TensorFlow easyblock (#2519)
    • add support for imkl 2021.x in easyblocks for
    • add install_src option and enhance buildcmd option in PythonPackage easyblock (#2534)
    • make sure AOCC commands like clang/flang pick up GCCcore as GCC toolchain (#2538)
    • create CMakeConfig files for tbb >= 2020 (#2539)
    • find source dir for libunwind when building ldd for Clang versions >= 12.0.1 (#2540)
    • fix motorBike test in sanity check for OpenFOAM 9 (#2544)
    • generate and install pkg-config files for OpenSSL wrapper (#2549)
    • don't run setup.py config for numpy >= 1.21, since it's no longer supported (#2554)
    • update WIEN2k easyblock to handle new Intel versions, WIEN2k v21, Perl dependency, and tuning of dimension parameters (#2558)
    • remove PCRE from list of system libraries for TensorFlow 2.6.0 (#2559)
    • add support for also installing Tosca component in ABAQUS (#2560)
    • update ABAQUS easyblock to support installing of version 2021 with hot fixes (#2562)
    • update sanity check in VTune easyblock for 2021.x versions (#2563)
  • various bug fixes, including:
    • handle failure of running nvidia-smi in TensorFlow tests (#2506)
    • remove Python 2.6 from list of supported Python versions in setup.py (#2507)
    • clean up installation of Tkinter (#2509)
    • remove redundant $CPATH entry of tbb modules + fix --module-only (#2511)
    • honor --ignore-test-failure in PythonPackage (#2516)
    • use correct GTK+ version for OpenCV based on dependencies (#2520)
    • ensure Python prep is done in sanity check + support debug builds in TensorFlow easyblock (#2522)
    • correct cleanup of single-letter local variable in __init__ of easybuild.easyblocks (#2524)
    • reset runtest to None in CMakePythonPackage (#2536)
    • set $I_MPI_ROOT correctly for 2021.x in impi easyblock (#2537)
    • let Bundle easyblock pick up custom easyblock for components based on name if no easyblock is specified explicitly (#2543, #2547)
    • explicitly use only OpenBLAS for PyTorch if MKL is not used (#2448)
    • keep symlinks in cuDNN installations (#2550)
    • use ${BLAS,LAPACK}_SHARED_LIBS in GROMACS easyblock for FlexiBLAS-based toolchains (#2552)
    • copy the list to avoid changing the original lists in DEFAULT_TARGETS_MAP for Clang and LLVM (#2556)
    • fix pathsep join bug that breaks installation of CUDA versions < 10.1 if $PERL5LIB is defined (#2561)
  • other changes:
    • simplify Boost easyblock (#2513)
    • remove deprecated options from PythonPackage (#2535)

easyconfigs

  • added easyconfig for foss/2021.07 (candidate for foss/2021b) (#13788) and iomkl/2021a (#13521) toolchains
  • added example easyconfig files for 79 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABAQUS 2020.eb, ANTs 2.3.5, AOCC 3.1.0, Arb 2.19.0, archspec 0.1.2, Armadillo 10.5.3, ASE 3.22.0, Autotools 20210726, BamTools 2.5.2, bgen 4.1.3, Biopython 1.79, bitarray 1.5.3, Boost 1.76.0, Bowtie2 2.4.4, bpytop 1.0.67, Cartopy 0.19.0.post1, Centrifuge 1.0.4, Clang 12.0.1, CMake 3.21.1, CRISPResso2 2.2.1, CUDA 11.4.1, cuDNN 8.2.2.26, cURL 7.78.0, cutadapt 3.4, DIAMOND 2.0.11, DROP 1.1.0, Dsuite 20210718, dtcmp 1.1.2, ecCodes 2.22.1, Elk 7.2.42, ESMF 8.1.1, expat 2.4.1, fastq-tools 0.8.3, Fiona 1.8.20, FLINT 2.7.1, g2clib 1.6.3, g2lib 3.2.0, GCC(core) 11.2.0, GDCM 3.0.8, GDRCopy 2.3, GenomeTools 1.6.2, GffCompare 0.12.2, gffread 0.12.7, GLib 2.69.1, GMT 6.2.0, Go 1.16.6, GPAW 21.6.0, Gradle 6.9.1.eb, GROMACS 2021.3, HarfBuzz 2.8.2, HDF5 1.12.1, Horovod 0.22.1, hwloc 2.5.0, hypothesis 6.14.6, igraph 0.9.4, ImageMagick 7.1.0, IMOD 4.11.5, IPython 7.26.0, Java 16, Julia 1.6.2, JupyterHub 1.4.1, JupyterLab 3.1.6, Kent_tools 418, lavaan 0.6-9, libfabric 1.13.0, libffcall 2.4, libffi 3.4.2, libgeotiff 1.7.0, libRmath 4.1.0, LIBSVM 3.25, LibTIFF 4.3.0, likwid 5.2.0, LLVM 12.0.1, LMDB 0.9.29, magma 2.6.1, MariaDB 10.6.4, MATIO 1.5.21, matplotlib 3.4.2, MEGA 10.0.5, Mesa 21.1.7, Meson 0.59.1, Metal 2020-05-05, Mini-XML 3.2, molmod 1.4.8, MPICH 3.4.2, nanopolish 0.13.3, NCCL 2.10.3, ncdu 1.16, NCO 5.0.1, neptune-client 0.10.5, netcdf4-python 1.5.7, networkx 2.5.1, nodejs 14.17.6, NSPR 4.32, NSS 3.69, NVHPC 21.7, OpenBLAS 0.3.17, OpenEXR 3.1.1, OpenFOAM 9, OpenFOAM v2106, OpenMM 7.5.1, OpenMolcas 21.06, openpyxl 3.0.7, Pango 1.48.8, parallel 20210722, Paraver 4.9.2, ParaView 5.9.1, patchelf 0.13, PCRE2 10.37, PCRE 8.45, Perl 5.34.0, PETSc 3.15.1, petsc4py 3.15.0, Pillow 8.3.1, Pillow-SIMD 8.3.1, plotly.py 5.1.0, PLUMED 2.7.2, PMIx 4.1.0, poppler 21.06.1, PostgreSQL 13.3, preseq 3.1.2, pybind11 2.7.1, pyFFTW 0.12.0, PyGEOS 0.10.2, Pyomo 6.0.1, PyQt5 5.15.4, pyshp 2.1.3, Python 3.9.6, python-igraph 0.9.6, QTLtools 1.3.1, RAxML-NG 1.0.3, R-bundle-Bioconductor 3.13, re2c 2.2, ReFrame 3.8.0., RStudio-Server 1.4.1717, Rust 1.54.0, Scalasca 2.6, scVelo 0.2.3, Shapely 1.8a1, shrinkwrap 1.1.0, SLEPc 3.15.1, slepc4py 3.15.1, snakemake 6.6.1, snappy 1.1.9, snippy 4.6.0, snpEff 5.0e, SOCI 4.0.2, SpaceRanger 1.3.0, Spack 0.16.2, spatialreg 1.1-8, spglib-python 1.16.1, SQLite 3.36, STAR 2.7.9a, statsmodels 0.12.2, StringTie 2.1.7, Subread 2.0.3, SymEngine 0.7.0, TensorFlow 2.6.0, TetGen 1.6.0, Tkinter 3.9.6, torchtext 0.9.1, tqdm 4.61.2, UCX 1.11.0, UCX-CUDA 1.11.0, unrar 6.0.2, util-linux 2.37, VTune 2021.6.0, WIEN2k 21.1, WPS 4.2, WRF 4.3, X11 20210802, x264 20210613, xarray 0.19.0, XlsxWriter 1.4.4, XML-Parser 2.46, zstd 1.5.0
  • minor enhancements, including:
    • add extensions to recent R v4.x easyconfigs: PCAmatchR (#13448), hal9001 (#13451), cobalt (#13544), CBPS (#13549), SBdecomp (#13565), lwgeom (#13674), naturalsort (#13762), finalfit + gtsummary (#13766)
    • add VBZ compress capability to nanopolish 0.13.3 (for fast5 files) (#13536)
    • add CMake build dependency to easyconfig for tbb 2020.03 (#13704)
    • also build shared libs for MUMPS 5.3.5 (#13702) and 5.4.0 (#13705)
    • add dependency on pkg-config to OpenSSL wrappers (#13765)
  • various bug fixes, including:
    • fix LAMMPS 3Mar2020 easyconfigs using intel toolchain on AMD CPUs by patching out hardcoded -xHost (#11577)
    • fix sanity check error for OpenCV v4.5.1 by adding (and using) freetype and HarfBuzz dependencies (#12517)
    • add patches for TensorFlow 1.13.1 to fix installation (#13326)
    • remove Python 2.6 from list of supported Python versions in setup.py (#13349)
    • switch back to Bundle easyblock for PyQt5 5.15.1 + add back source URLs for components (#13371)
    • add pkg-config build dependency for GDAL 3.2.1 (#13383, #13808), Rust (#13538), GenomeTools (#13805), x264 (#13834)
    • add missing Python 3 build dependency for Rust v1.52.1 (#13399)
    • fix order of cffi extension in old Python easyconfigs (#13400)
    • patch out __asm__ use in ctffind to avoid build failure on ppc64le (#13409)
    • disable building man pages in Gdk-Pixbuf (#13410)
    • add missing Bio-Search-hmmer dependency for prokka (#13419)
    • avoid downloading old numpy version during install for h5py (#13428)
    • add patch for Qt5 5.8.0 to fix compilation failure in webkit (#13434)
    • avoid downloading and building freetype and qhull for matplotlib 3.4.2 (#13437)
    • fix order of components in recent GTK+ easyconfigs to avoid dependency on system GTK+ in GTK+ themes (#13449)
    • fix Python 2.7.13 easyconfigs by adding missing extensions (#13456)
    • add TensorFlow patch to fix crash on shutdown (#13462)
    • allow for non-x86_64 in postinstallcmds for CuPy (#13501)
    • disable default EULA acceptance in easyconfig for NVHPC v21.5 (#13516)
    • fix error with p7zip's 7z command not finding 7z.dll (#13542)
    • patch MaxBin2 Perl script to use provided Perl dependency (#13551)
    • add missing zlib dependency to libarchive (#13579)
    • fix pkgconfig version in patch for bzip 1.0.8 (+ add easyconfig with GCCcore/11.2.0 toolchain) (#13581)
    • fix build of DIRAC 19.0 easyconfig with high compiler optimizations (#13613)
    • fix source URLs and add alternative checksum for Hypre 2.15.1 (since it moved to a different GitHub repo) (#13616)
    • add new source URL for Mesa easyconfigs using 2017b toolchain (#13617)
    • avoid MPICXX dependency in SimpleElastics ITK (#13623)
    • add upstream patch for GCC 9.x, 10.x, 11.x to avoid spurious FPE on avx512 (affects UCX) (#13628)
    • add patch for ctffind 4.1.14 to declare functions without return as void (fixes segfault) (#13665)
    • enable EGL in recent libepoxy ECs (#13684)
    • remove unused buildcmd from libgpuarray easyconfigs (#13720)
    • add patch to fix building Qt5.10.1 against newer glibc (#13730)
    • add Python 3 as a builddependency to recent fontconfig easyconfigs (#13731)
    • update source_URL in BLAST 2.2.26 easyconfig (#13732)
    • restore error message on failing easyconfigs test suite, required by bot to determine end of output of test suite (#13745, #13770)
    • add Perl build dependency to recent Clang easyconfigs (#13746)
    • disable using system Valgrind in the json-c tests (#13750)
    • use Archive source URL for spatstat.geom extension in Seurat (#13761)
    • add ld.gold relocts patch to binutils 2.30 (#13785)
    • add missing Python + Zip build dependencies for old Bazel versions used as build dep for TensorFlow 1.12.0 + 1.13.1 (#13786)
    • add alternative checksum for AFNI 18.3.00 (#13790)
    • update tensorflow-probability easyconfigs to include --release flag in installopts (#13810)
    • fix source URL for DB 18.1.32 (#13813)
    • add missing cppy build dependency for matplotlib 3.4.2 (#13823)
    • disable bash completion in recent x264 easyconfigs (#13834)
    • add Perl as build dependency for ELPA 2021.05.001 + patch to fix hardcoded /usr/bin/perl (#13835)
    • add archive source URL to Spark 3.x easyconfigs to fix broken download (#13842)
    • fix PCRE dependency for GDAL 3.2.1 and 3.3.0, don't use PCRE2 (#13861)
    • add Perl build dependency for HMMER 3.3.2 + patch to ensure it is used (#13870)
    • stick to intel-compilers toolchain for DFT-D3 v3.2.0 (#13878)
    • add missing flex build dependency for leidenalg (#13884)
    • update CMake build dependency for Eigen 3.3.4 + 3.3.5 (#13889)
    • fix source URL for Yasm 1.3.0 (+ add missing checksum) (#13901)
    • update to more recent Meson build dependency for GCCcore/8.3.0 easyconfigs to fix failing RPATH sanity check (#13910)
    • fix shebang for RepeatMasker 4.1.2-p1 Perl script (#13911)
  • other changes:
    • use custom ORCA easyblock in easyconfigs for ORCA v4.x (#13348)
    • move archived easyconfig files to correct __archive__ folder (#13422)
    • rename NINJA to TWL-NINJA to avoid nameclash (#13529)
    • remove superfluous configopts and add sanity checks/checksums in CLHEP easyconfigs (#13614)
    • remove superfluous -DCMAKE_BUILD_TYPE configuration option in Arrow easyconfigs (#13615)
    • switch ITK easyconfigs to CMakePythonPackage easyblock, also enable -DITK_USE_SYSTEM_HDF5 configuration option, fix download URLs (#13619)
    • use build_type instead of -DCMAKE_BUILD_TYPE=RELEASE in configopts in MMseqs2 easyconfigs (#13620)
    • avoid using system GTK+3 and remove -DCMAKE_BUILD_TYPE=RELEASE configure option in OpenCV easyconfigs (#13621)
    • remove -DCMAKE_BUILD_TYPE=RELEASE configure option and add checksums in LLVM easyconfigs (#13624)
    • create libtinfo symlinks in easyconfigs for ncurses with system toolchain (#13658), 6.1 (#13661) and 6.2 (#13660)
    • increase test timeouts for PyTorch 1.8.1 and 1.9.0 (#13700)
    • rename CUDAcore to CUDA for v11.3.1 and v11.4.1 after merging foss/fosscuda, to ensure that get_software_root('CUDA') used in easyblocks works (#13874)
    • use CUDA instead of CUDAcore in recent NVHPC comments (#13875)

EasyBuild v4.4.1 (July 6th 2021)

bugfix/update release

framework

  • various enhancements, including:
    • enhance detection of patch files supplied to eb command with better error messages (#3709)
    • add per-step timing information (#3716)
    • add module-write hook (#3728)
    • add ignore-test-failure configuration option to ignore failing test step (#3732)
    • add toolchain definition for nvompic (NVHPC + OpenMPI) (#3735)
    • warn about generic milestone in --review-pr and --merge-pr (#3751)
  • various bug fixes, including:
    • don't override COMPILER_MODULE_NAME, inherited from Ffmpi, in Fujitsu toolchain definition (#3721)
    • avoid overwriting pr_nr in post_pr_test_report for reports with --include-easyblocks-from-pr (#3724, #3726)
    • fix crash in get_config_dict when copying modules that were imported in easyconfig file (like import os) (#3729)
    • parse C standard flags in CFLAGS for Fujitsu compiler (#3731)
    • fix error message for --use-ccache (#3733)
    • error out when passing a list to run_cmd* to avoid running wrong command unintended, unless shell=True is used (#3737)
    • minor fixes to output of test reports when using multiple PRs (#3741)
    • fix location for modules installed with intel-compilers toolchain in HierarchicalMNS by always checking toolchain compiler name against template map (#3745)
    • avoid checking msg attribute of GitCommandError (#3756)
    • consider sources provided as dict in EasyBlock.check_checksums_for (#3758)
    • don't make changes to software installation directory when using --sanity-check-only (#3761)
    • honor specified easyblock for extensions (#3762)
  • other changes:
    • make sure that tests requiring a github token have github in the test name so that they can be easily filtered (#3730)
    • deprecate EasyBuild bootstrap script (#3742)
    • use temporary download folder in test_http_header_fields_urlpat (#3755)

easyblocks

  • 5 new software-specific easyblocks:
  • minor enhancements, including:
    • enhance Amber easyblock to support installing Amber via CMake (#2445)
    • enhance ConfigureMake generic easyblock to add support for building multiple build targets (#2449, #2479, #2480)
    • enhance sanity check for Clang to verify if CUDA offload library was produced (#2454)
    • update custom easyblock for Boost to always build single and multi threaded versions (#2456)
    • enhance sitecustomize.py in Python easyblock to support overriding core Python packages, and allowing overriding in virtualenv (#2458, #2483)
    • update CMakeMake to handle old and new Boost/Boost.Python builds using custom easyblock for Boost (#2461)
    • add file prefix option to XALT easyblock (#2463)
    • enhance Java easyblock to define %(jdkarch)s template (#2472)
    • adjust Perl easyblock to only check for a man subdirectory if groff is a dependency (#2474)
    • support arbitrary version strings in OpenSSL wrapper and add minimum_openssl_version option (#2475)
    • enhance Python easyblock to explicitly disable installing core-pip when install_pip is not True (#2476)
    • enhance intel-compiler easyblock to include multipath include dir in $CPATH (#2477)
    • enhance Hypre easyblock to enable CUDA support (#2482)
    • update Xmipp easyblock for new version (v3.20.07) (#2486)
    • enhance FFTW easyblock to skip tests if --mpi-tests EasyBuild configuration option is disabled (#2490)
    • use PYPI_SOURCE as the default for source_urls of extensions of Python easyconfigs (#2493)
  • various bug fixes, including:
    • only use siterc fix for NVHPC < 21.3 (#2453)
    • fix CPU-only runtime for dpcpp-generated executables in custom easyblock for intel-compilers (#2457)
    • always add distinct_host_configuration=false to build command for TensorFlow (#2459)
    • disable installation of bundled BioPerl and HTSLib if they are dependencies of VEP (#2468)
    • don't use list value for command to detect installed Python packages in TensorFlow easyblock (#2469)
    • change Bundle easyblock to also collect altroot and altversion in the module step so they are set when running --module-only (#2485)
    • always strip output from gcc -print-multiarch in intel-compilers easyblock (#2489)
    • don't overwrite all of exts_default_options in TensorFlow easyblock (#2494)
    • enhance GCC easyblock to make sure that system GCC provides LTO support, and disable LTO when building MPFR if not (#2498)
    • rework the dependency handling of OpenMPI to use explicit configure options to disable features if required dependency is not provided (#2500, #2501)

easyconfigs

  • added example easyconfig files for 39 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Amber 20.11, BBMap 38.90, Beast 2.6.4, BLIS 3.0 (AMDo fork), Bonito 0.4.0, CellRanger-ARC 2.0.0, CellRanger-ATAC 2.0.0, Check 0.15.2, CubeGUI 4.6, CubeLib 4.6, CubeWriter 4.6, cuDNN 8.2.1.32, CVXOPT 1.2.6, DOLFIN 2019.1.0.post0, eggnog-mapper 2.1.4, ELPA 2021.05.001, FDS 6.7.6, FFC 2019.1.0.post0, FFmpeg 4.3.2, FIAT 2019.1.0, flatbuffers 2.0.0, flatbuffers-python 2.0, FLTK 1.3.6, gc 8.0.4, GCC 8.4.0 + 9.4.0, GDAL 3.3.0, Gdk-Pixbuf 2.42.6, geopy 2.1.0, Ghostscript 9.54.0, git 2.32.0, GitPython 3.1.18, GLFW 3.3.4, gmsh 4.8.4, gnuplot 5.4.2, GnuTLS 3.7.2, Go 1.16.5, GObject-Introspection 1.68.0, gperftools 2.9.1, GraphicsMagick 1.3.36, Graphviz 2.47.2, GSL 2.7, GTK+ 2.24.33, Guile 2.2.7, h5py 3.2.1, HarfBuzz 2.8.1, Horovod 0.22.0, Hypre 2.21.0, ICU 69.1, ImageMagick 7.0.11-14, IOR 3.3.0, IPython 7.25.0, IRkernel 1.2, ispc 1.16.0, JupyterLab 3.0.16, LDC 1.26.0, libcerf 1.17, libepoxy 1.5.8, libgd 2.3.1, libStatGen 1.0.15, libxc 5.1.5, LittleCMS 2.12, LMfit 1.0.2, Lua 5.4.3, M4 1.4.19, MCR R2021a.3, medaka 1.4.3, Mercurial 5.8, minimap2 2.20, MMseqs2 13, MrBayes 3.2.7, MUMPS 5.4.0, NCCL 2.9.9, netCDF 4.8.0, Nim 1.4.8, nodejs 14.17.0, Nsight-Compute 2021.2.0, numba 0.53.1, NVHPC 21.5.eb, nvtop 1.2.1, Octave 6.2.0, OPARI2 2.0.6, openkim-models 20210128, OpenMPI 4.0.6, OTF2 2.3, p11-kit 0.24.0, Pango 1.48.5, parallel 20210622, petsc4py 3.12.0, picard 2.25.5, Pillow 8.2.0, PROJ 8.0.1, protobuf 3.17.3, protobuf-python 3.17.3, PSolver 1.8.3, PySCF 1.7.6, pyspoa 0.0.8, pytest-xdist 2.3.0, PyTorch 1.9.0, PyYAML 5.4.1, Qhull 2020.2, Quandl 3.6.1, R 4.0.5 + R 4.1.0, Ragout 2.3, RE2 2021-06-01, ReFrame 3.6.2, RepeatMasker 4.1.2, rgdal 1.5-23, RMBlast 2.11.0, Ruby 3.0.1, scikit-learn 0.24.2, Score-P 7.0, Seurat 4.0.3, slepc4py 3.12.0, spoa 4.0.7, Subread 2.0.2, Subversion 1.14.1, SuiteSparse 5.10.1, sympy 1.8, tensorboardX 2.2, TensorFlow 2.5.0, Tk 8.6.11, tmux 3.2a, torchtext 0.8.1, torchvision 0.9.1, UDUNITS 2.2.28, UFL 2019.1.0, utf8proc 2.6.1, VEP 103.1, VMD 1.9.4a51, vsc-mympirun 5.2.6, XCFun 2.1.1, Xvfb 1.20.11, Z3 4.8.11, ZeroMQ 4.3.4
  • minor enhancements, including:
    • update cuDNN 8.0.x easyconfigs with a download location (#12368)
    • add extensions to recent R easyconfigs: GxEScanR (#13039), cSEM (#13208), cubelyr + broom.mixed (#13252), grf (#13261), twang + xgboost (#13284), neuralnet (#13330)
    • add check to easyconfigs test suite to ensure OpenSSL wrapper is used in easyconfigs using a recent toolchain (#13079)
    • add gipaw to QuantumESPRESSO/6.7 (#13087)
    • add checksum for aarch64 installation file for CUDAcore easyconfigs (#13014, #13097)
    • add Perl dependency to makeinfo easyconfigs (#13166)
    • set minimal OpenSSL version to 1.1.1 for OpenSSL v1.1 wrapper (#13188)
    • add JIT support for CUDA 11 to PyTorch 1.7.1 (#13207)
    • add ninja --version as sanity check command in Ninja easyconfigs (#13222)
    • code cleanup + improvements for easyconfigs test suite (#13257)
  • various bug fixes, including:
    • download sources via git for XGBoost 20171120 easyconfig due to use of submodules (#6880)
    • add elfutils as build dependency for Clang 8.0.x and 9.0.1 (#13015) and Clang 11.0.1 (#13008) easyconfigs that have a CUDA dependency
    • add missing CMake option to Geant4 v10.7.1 in order to actually use external CLHEP (#13019)
    • add new checksum for mvabund extension to R v4.0.4 eaysconfigs (#13020, #13021)
    • add patch to fix numpy test_ccompiler_opt in SciPy-bundle v2021.05 (#13042)
    • add patch to fix installation of HDF 4.2.15 on aarch64 (#13059)
    • make sure that MbedTLS' Makefile uses python rather than python2 (#13061)
    • fix checksum for snpEff 5.0 (#13062)
    • fix source URL for LIBSVM 3.24 by downloading from GitHub (#13076)
    • add preinstallopts for minimap2 to fix installation on aarch64 (#13080)
    • add patch for GCC 10.2.0 to fix internal compiler error on aarch64 (#13086)
    • switch to NCCL 2.8.3 built from source for CuPy, Horovod, libgpuarray, PyTorch and TensorFlow using fosscuda/2020b (#13103)
    • add astor to dependencies of TensorFlow with 2019b (#13111) and 2020b (#13103, #13112) toolchains
    • break cyclic dependency between groff, makeinfo and Perl by adding Perl-minimal and makeinfo-minimal easyconfigs (#13163 - #13165)
    • add missing rgdal dep to R-INLA (#13179)
    • add patch to fix uniq operation in TensorFlow 2.4.1 (#13181)
    • add Perl build dependency for PnetCDF 1.12.1 (#13183)
    • disable own avx detection of libfabric v1.12.1 (#13215)
    • add GCCcore-[1-9][0-9].x to test_dep_versions_per_toolchain_generation (#13243, #13249, #13251)
    • add patch to fix installation of TensorFlow 2.0.x (#13248)
    • add patch for recent GCCcore versions to fix compatibility with CUDA 11 (#13290)
    • fix install step for glew (#13297)
    • update Boost 1.74.0 easyconfigs to use tagged_layout rather than boost_multi_thread (#13300)
    • avoid using PMIx from system instead of PMIx dependency specified via --with-pmix for OpenMPI 4.x (#13307)
    • add patch for GCCcore 10.3.0 to prevent issues when compiling with nvcc (#13310)
    • add patch for OpenMPI 4.0.x to fix building against (system) UCX version > 1.7 (#13329)
    • fix build of manta 1.6.0 on top of Boost 1.74.0 (#13338)
    • fix recent taxator-tk easyconfigs by adding (back) -DBoost_NO_BOOST_CMAKE=ON configure option (#13342)
  • other changes:
    • disable debuginfod for elfutils to minimize required dependencies (#13034)
    • add bare Python 3.9.5 easyconfig and use that as builddep for LLVM 11.1.0 (#13035)
    • remove misleading comment from Python >= 3.7 easyconfigs, libffi is now also required for Python itself (no longer bundled) (#13041)
    • use new custom easyblock in torchvision easyconfigs (#13102)
    • remove superfluous TensorFlow patch (#13223)
    • cleanup of easyconfigs for (bundles) of Python packages: remove default PYPI_SOURCE source URLs + use PythonBundle rather than Bundle easyblock (#13253, #13295, #13336)
    • update README with instructions for MATLAB easyconfigs (#12597)

EasyBuild v4.4.0 (June 2nd 2021)

feature release

framework

  • various enhancements, including:
    • enhance apply_regex_substitutions to allow specifying action to take in case there are no matches (#3440)
    • performance improvements for easyconfig parsing and eb startup (#3555)
    • add support for downloading easyconfigs from multiple PRs with --from-pr (#3605, #3707, #3708)
    • add support for prepending custom library paths in RPATH section via --rpath-override-dirs (#3650)
    • allow amending easyconfig parameters which are not the default (#3651)
    • update HierarchicalMNS for Intel OneAPI compilers (#3653)
    • add support for --sanity-check-only (#3655)
    • add support for running commands asynchronously via run_cmd + complete_cmd functions (#3656)
    • add support for using oneAPI versions of 'intel' toolchain components (#3665)
    • add toolchain definition for gofbf (foss with FlexiBLAS rather than OpenBLAS) (#3666)
    • add support for using ARCH constant in easyconfig files (#3670)
    • honor keyboard interrupt in eb command (#3674)
    • add toolchain definition for Fujitsu toolchain (#3677, #3704, #3712, #3713, #3714, #3717)
    • extend sanity check step to check whether specific libraries are not linked into installed binaries/libraries (#3678)
      • via banned-linked-shared-libs and required-linked-shared-libs EasyBuild configuration options
      • via banned_linked_shared_libs and required_linked_shared_libs methods in toolchain support
      • via banned_linked_shared_libs and required_linked_shared_libs methods in easyblock
      • via banned_linked_shared_libs and required_linked_shared_libs easyconfig parameters
    • add locate_solib function to locate Linux shared libraries (#3682)
    • add system agnostic function to locate shared libraries (#3683)
    • add update_build_option function to update specific build options after initializing the EasyBuild configuration (#3684)
    • allow opting out of recursively unloaded of modules via recursive_module_unload easyconfig parameter (#3689)
    • check for correct version values when parsing easystack file (#3693)
    • run post-install commands specified for a specific extension (#3696)
    • add support for --skip-extensions (#3702)
    • include PR title in output produced by --merge-pr (#3706)
  • various bug fixes, including:
    • avoid metadata greedy behaviour when probing for external module metadata (mostly relevant for integration with Cray Programming Environment) (#3559)
    • catch problems early on if --github-user is not specified for --new-pr & co (#3644)
    • re-enable write permissions when installing with read-only-installdir (#3649)
    • also run sanity check for extensions when using --module-only (#3655)
    • improve logging when failing to load class from exts_classmap (#3657)
    • fix use of --module-only on existing installations without write permissions (#3659)
    • correct help text for subdir-user-modules (#3660)
    • avoid picking up easyblocks outside of sandbox in framework tests (#3680)
    • use unload/load in ModuleGeneratorLua.swap_module, since swap is not supported by Lmod (#3685)
    • update HierarchicalMNS to also return 'Toolchain/<name>/<version>' as $MODULEPATH extension for cpe* Cray toolchains (#3686)
    • make EasyConfigParser.get_config_dict return a copy rather than a reference (#3692)
    • make sure that $TAPE is unset when using piped tar (#3698)
    • fix extending message for changed files in new_pr_from_branch (#3699)
    • enhance sched_getaffinity function to avoid early crash when counting available cores on systems with more than 1024 cores (#3701)
    • correctly strip extension from filename in extract_cmd and back_up_file functions (#3705)
  • other changes:
    • deprecate adding a non-existing path to $MODULEPATH (#3637)
    • bump cryptography requirement from 3.2.1 to 3.3.2 (#3643, #3648)
    • test bootstrap script in separate workflow, and limit test configurations a bit (#3646)
    • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#3647)
    • replace log_error parameter of which() by on_error (#3661, #3664)
    • don't skip sanity check for --module-only --rebuild (#3645)
    • move disable_templating function into the EasyConfig class (#3668)
    • pin GitPython version for Python<3.6, don't test bootstrap script against Python 3.8/3.9 (#3675)
    • tweak foss toolchain definition to switch from OpenBLAS to FlexiBLAS in foss/2021a (#3679)
    • suggest missing SSH key when not able to read from remote repository in --check-github (#3681)
    • drop support for Python 2.6 (#3715)

easyblocks

  • 3 new software-specific easyblocks:
    • FlexiBLAS (#2369, #2422, #2424, #2426)
    • dm-reverb (#2413)
    • custom easyblock to install OpenSSL wrapper for OpenSSL installed in OS, with fallback to build and install OpenSSL from source if not available in OS (#2429)
  • minor enhancements, including:
    • also add -pthread to prebuildopts of cryptography (#2270)
    • don't unpack Python wheel (*.whl) files by default in generic PythonPackage easyblock (#2366, #2442)
    • enable installation of samples for CUDA > 10.1 (#2374)
    • add option to disable pip connecting to PyPi (enable use of --no-index) (#2390)
    • update MotionCor2 easyblock to handle new version and be aware of CUDAcore (#2394)
    • make it possible to force disabling kernel features in Qt easyblock (#2403)
    • update imkl easyblock to support oneAPI versions (>= 2021.x) (#2407)
    • add"gurobi_cl --help as default sanity check command for Gurobi (#2411)
    • enhance BWA easyblock to copy includes and libraries (#2417)
    • allow default versions to be defined by ModuleRC easyblock (#2418)
    • enhance MesonNinja and CMakeMake easyblocks to create unused build dir when separate_build_dir is set (#2419)
    • enable sanity_pip_check by default for Python easyconfigs if pip >= 9.0 will be installed (#2423)
    • enhance FFTW easyblock to support SVE CPU feature and building with Fujitsu compiler (#2425)
    • make ScaLAPACK easyblock aware of FlexiBLAS (#2427)
    • update imkl easyblock to unpack example tarballs and set $MKL_EXAMPLES (+ some code cleanup) (#2430)
    • update list of system libs for TensorFlow 2.5 (#2432)
    • allow disabling MPI tests when installing Intel MPI (impi) via --disable-mpi-tests (#2440)
    • exclude bottleneck tests in PyTorch (#2450)
  • various bug fixes, including:
    • ensure lib subdirectory is found in stage 2 of GCC installation + fall back to lib64 (#2339)
    • fix permission on MATLAB installer config file so it can be written to (#2385)
    • fix problem with installing older CUDA versions that uses the Perl based installer (#2387)
    • enhance Python easyblock: add option to install pip with core Python, tweak defaults, create unversioned pip symlink (#2388)
    • fix installopts before installing the extension in GROMACS easyblock (#2391)
    • updated numpy easyblock to use read_file for patch (#2395)
    • use explicit build toolset and compiler path in Boost easyblock (#2402)
    • replace hardcoded 2021.1.1 with self.version in impi easyblock (#2405)
    • set $SANDCASTLE when running PyTorch tests to disable some tests as-if we are on Facebook's CI (#2412)
    • make GROMACS easyblock work with --module-only (#2414)
    • make sure OpenFOAM sanity checks don't require builddir write permissions (#2415)
    • make Tkinter easyblock work with --module-only (#2416)
    • also disable altivec with FFTW 3.3.9 on POWER (#2437)
    • make sure that self.python_cmd is set before using it in PythonPackage.sanity_check_step (#2447)
  • other changes, including:
    • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#2384)
    • use on_error rather than deprecated log_error named argument for which function (#2406)
    • remove cuda_compute_capabilities from custom easyconfig parameters for Clang, LAMMPS and TensorFlow (now supported as general easyconfig parameter) (#2433)

easyconfigs

  • added easyconfigs for new Fujitsu toolchain: FCC/4.5.0 (#12999, #12995, #13007), ffmpi/4.5.0 (#13000) and Fujitsu/21.05 (#13001, #13007)
  • add easyconfigs for updates of common toolchains: foss/2021a (#12867, #12975), intel/2021a (#12885, #12975)
  • added easyconfig for gomkl/2021a toolchain (#12987)
  • added example easyconfig files for 58 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 9.4.1, apex 20210420, astropy 4.2.1, binutils 2.36.1, BLIS 0.8.1, Bonito 0.3.8, BUSCO 5.1.2, canu 2.1.1, carputils 20210513, CastXML 0.4.3, ccache 4.2.1, CDO 1.9.10, CIRCexplorer2 2.3.8, CLHEP 2.4.4.0, CMake 3.20.1, CNVkit 0.9.8, CUDA(core) 11.3.0, CuPy 8.5.0, cURL 7.76.0, DFA 2.1.2, Doxygen 1.9.1, Eigen 3.3.9, FastANI 1.33, FFTW 3.3.9, GATK 4.2.0.0, GCC 10.3.0 + 11.1.0, GDB 10.2, gdc-client 1.6.0, GDRCopy 2.2, Geant4 10.7.1, Geant4-data 20210510, GeneMark-ET 4.65, glew 2.2.0, GLib 2.68.2, GLPK 5.0, GMP 6.2.1, Go 1.16.3, Graphviz 2.47.0, GROMACS 2021.2, GStreamer 1.18.4, GTDB-Tk 1.5.0, Gurobi 9.1.2, HMMER 3.3.2, Horovod 0.21.3, hwloc 2.4.1, hypothesis 6.13.1, IGV 2.9.4, impi 2021.2.0, imkl 2021.2.0, intel-compilers 2021.2.0, JasPer 2.0.28, Julia 1.6.1, Kraken2 2.1.1, KronaTools 2.8, libarchive 3.5.1, libdeflate 1.7, libdrm 2.4.106, libfabric 1.12.1, libreadline 8.1, libRmath 4.0.0, libsndfile 1.0.31, LIBSVM 3.24, LibTIFF 4.2.0, libunwind 1.5.0, libwebp 1.2.0, LLVM 11.1.0, LMDB 0.9.28, LUMPY 0.3.1, lz4 1.9.3, Mako 1.1.4, MATLAB 2021a, Mesa 21.1.1, meshalyzer 2.2, Meson 0.58.0, MetaBAT 2.15, metaWRAP 1.3, minimap2 2.18, Molden 6.8, MotionCor2 1.4.2, ncview 2.1.8, NetPIPE 5.1.4, nettle 3.7.2, NiBabel 3.2.1, Nilearn 0.7.1, Nim 1.4.6, Ninja 1.10.2, NLopt 2.7.0, NSS 3.65, numactl 2.0.14, NWChem 7.0.2, OpenBLAS 0.3.15, openCARP 6.0, OpenEXR 3.0.1, OpenMM 7.5.0, OpenMPI 4.1.1, OpenSSL 1.1 (wrapper), OSU-Micro-Benchmarks 5.7.1, Pandoc 2.13, parallel 20210322, parasail 2.4.3, PAUP 4.0a168, PCRE2 10.36, Perl 5.32.1, pigz 2.6, PMIx 3.2.3, Primer3 2.5.0, PRSice 2.3.3, py-aiger 6.1.14, pybind11 2.6.2, PyCharm 2021.1.1, pydot 1.4.2, pyproj 3.0.1, PySAT 0.1.7.dev1, PyTorch 1.8.1, python-parasail 1.2.4, Pylint 2.7.4, Python 3.9.5, Qt5 5.15.2, R-keras 2.4.0, rasterio 1.2.3, RAxML-NG 1.0.2, rclone 1.54.1, re2c 2.1.1, ReFrame 3.5.2, Rmath 4.0.4, Rust 1.52.1, Sambamba 0.8.0, samblaster 0.1.26, samclip 0.4.0, scikit-allel 1.3.2, SciPy-bundle 2021.05, SCons 4.1.0.post1, snakemake 6.1.0, SQLite 3.35.4, SRPRISM 3.1.2, Tcl 8.6.11, TCLAP 1.2.4, tmux 3.2, tqdm 4.60.0, UCX 1.10.0, Valgrind 3.17.0, WannierTools 2.5.1, wget 1.21.1, wxWidgets 3.1.4, X11 20210518, x264 20210414, x265 3.5, xorg-macros 1.19.3, YAXT 0.9.0, zarr 2.8.1, zstd 1.4.9
  • minor enhancements, including:
    • add additional extensions to R v4.0.3 and v4.0.4: miceadds, visdat, UpSetR, naniar, stringdist, image.binarization (#12735), lassosum (#12821), lslx, regsem, semPLS (#13005)
    • add GenABEL to R-bundle-Bioconductor (#12822)
  • various bug fixes, including:
    • disable automatic acceptance of NVHPC EULA (#12014)
    • enhance RStudio-Server, add patch to inherit environment variables, add sanity check commands to verify installation (#12544)
    • add fix to scipy to handle NaN arguments to vi function (#12551)
    • copy all binaries + examples & co for PAML v4.9j (#12567)
    • add patch to fix hardcoded num_cores in DMCfun extension included with R 4.0.x (#12583)
    • backport Charm++ patch for NAMD/2.14 on intel/2020a to handle newer glibc (#12594)
    • add setuptools_scm and pytest-runner extensions to Pylint easyconfigs (#12599)
    • fix typo in Delly easyconfig to actually do parallel build (#12633)
    • fix potential memory leak in OpenBLAS 0.3.12 (#12649)
    • consistently use pip to install Python packages in recent Python easyconfigs (#12650)
    • replace bintray source url for Groovy (#12652)
    • add missing Python & Perl dependencies to AUGUSTUS v3.4.0 with foss/2020b (#12662)
    • fix wget dependency: use libidn2 rather than libidn (#12670)
    • fix source URLs for recent ELPA versions (#12700)
    • override host compiler check in CUDAcore (#12701)
    • add Python build dependency to libpsl 0.21.0 easyconfigs (#12715)
    • fix error in libgpg-error 1.36 with gawk builtin (#12716)
    • add libtool build dependency to leidenalg (#12741)
    • fix source URLs for Boost 1.71.0 - 1.74.0 easyconfigs (#12743) and Boost.Python (#12744)
    • add patches for PyTorch 1.7.1 avoiding failures on POWER and A100 (#12753)
    • add patch for OpenPGM 5.2.122 eaysconfigs to fix non-existent directory in *.pc (pkgconfig) file (#12774)
    • add missing Perl build dependency to recent wget easyconfigs (#12787)
    • make sure Python dependency is used in preCICE 2.x easyconfigs (#12793)
    • don't skip source step in FastTree easyconfigs + fix SHA256 checksum for FastTree 2.1.11 (#12794)
    • add patch for rhdf5filters extension in Bioconductor 3.12 bundle to fix installation on aarch64 (#12836)
    • add IceLake detection to OpenBLAS 0.3.12 and 0.3.15 (#12865)
    • fix checksum for MaxBin 2.2.7 (#12869)
    • run make clean before building FragGeneScan, to clean up object files included in source tarball (#12870)
    • clean up install of KronaTools (#12871)
    • add UCX dependency to OneAPI versions of impi (#12873)
    • correct description in libdeflate easyconfig (#12886)
    • override Makefile with hardcoded CC=cc in UnZip easyconfigs (#12887)
    • fix compatibility of FLAIR v1.5.1-20200630 with rpy2 v3.x (#12899)
    • fix test step for libxc 4.3.4 and 5.1.x when using RPATH linking (#12912)
    • fix source URLs in BLAST 2.10.x easyconfigs (#12914)
    • add missing xproto build dependency to imake easyconfig (#12930)
    • add patch to fix GCC 10.2.0 rejecting valid code on PPC (#12948)
    • in easyconfig tests, check version of dependencies named Python, not if dependencies with certain versions are named Python (#12962)
    • update easyconfigs for binutils 2.35 to use binutils 2.35.2 source tarball instead to pick up bug fixes (#12967, #12988)
    • fix download URL for DB 18.1.40 (#12974)
    • fix test failure in TensorFlow 2.4.1 on recent CUDA drivers (#12979)
    • fix error in configopts for netCDF and HDF5 and add missing dependencies of ABINIT 9.x (#12981)
    • add patch to fix buffer overflow in OpenMPI 4.1.x (#12983)
  • other changes:
    • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#12565)
    • add -Java versionsuffix for Hadoop easyconfig using GCCcore/10.2.0 toolchain, since it depends on Java 1.8 (#12709)
    • remove unnecessary workaround for missing version of OpenDataCube and Spyder for 2020+ toolchains (#12757)
    • remove unpack_sources = False from recent easyconfigs that use a *.whl file as source (#12783)
    • whitelist Seaborn 0.10.1 for NanoComp 1.13.1 and NanoPlot 1.33.0 (#12790)
    • add check to make sure that source step is not being skipped (#12807)
    • use EasyConfig.disable_templating method in test suite (#12848)
    • disable usNIC by default in libfabric to avoid problems due to linking to both libnl and libnl-3 (#12854)
    • use OpenSSL wrapper as dependency in easyconfigs using GCCcore/10.3.0 toolchain (#12922, #12944)
    • dump easyconfig before initializing easyblock in order to compare it with original easyconfig (#12925)
    • remove postinstallcmds from imkl 2020.x easyconfigs, easyblock now installs examples (#12937)

EasyBuild v4.3.4 (Apr 9th 2021)

bugfix/update release

framework

  • various enhancements, including:
    • add support for filtering dependencies by using False as version (#3506)
    • add create_unused_dir function to create a directory which does not yet exist (#3551)
    • avoid running expensive module use and module unuse commands when using Lmod as modules tool, update $MODULEPATH directly instead (#3557, #3633)
    • create CUDA cache (for JIT compiled PTX code) in build dir instead of $HOME (#3569)
    • add "Citing" section to module files (#3596)
    • add support for using fallback arch=* key in dependency version specified as arch->version mapping (#3600)
    • also check for pending change requests and mergeable_state in check_pr_eligible_to_merge (#3604)
    • ignore undismissed changes requested review if there is an approved review by the same user (#3607, #3608)
    • sort output of eb --search in natural order (respecting numbers) (#3609)
    • enhance eb command to ensure that easybuild.main can be imported before settling on python* command to use (#3610)
    • add --env-for-shebang configuration option to define the env command to use for shebangs (#3613)
    • add templates for architecture independent Python wheels (#3618)
    • mention easyblocks PR in gist when uploading test report for it + fix clean_gists.py script (#3622)
    • also accept regular expression value for --accept-eula-for (#3630)
    • update validate_github_token function to accept GitHub token in new format (#3632)
  • various bug fixes, including:
    • fix $BLAS_LIB_MT for OpenBLAS, ensure -lpthread is included (#3584)
    • use --opt=val for passing settings from config file to option parser to avoid error for values starting with - or -- (#3594)
    • avoid raised exception when getting output from interactive command in run_cmd_qa (#3599)
    • add option to write file from file-like object and use in download_file (#3614)
    • make sure that path to eb is always found by tests (#3617)
  • other changes:
    • add pick_default_branch function to clean up duplicate code in tools/github.py (#3592)
    • refactor the CI configuration to use inclusion instead of exclusion (#3616)
    • use develop branch when testing push access in --check-github (#3629)
    • deprecate --accept-eula, rename to --accept-eula-for (#3630)

easyblocks

  • minor enhancements, including:
    • make OpenCV easyblock aware of protobuf, libwebp and OpenEXR dependencies provided via EasyBuild (#2346)
    • update CP2K easyblock w.r.t. running regtest for CP2K v8.1 (#2350)
    • update GROMACS easyblock for GROMACS/2021 with CUDA (#2353)
    • adjust call to python-config for Python >= 3.8 in VMD easyblock (#2355)
    • enhance cuDNN and CUDA easyblocks to support aarch64 (#2356)
    • pass down compiler flags provided by EasyBuild in g2clib easyblock (#2357)
    • update VTune easyblock for version 2020 (#2359)
    • make WRF and WPS easyblocks aware of (pre)configopts (#2361)
    • add Clang version 12.0.0 for AOCC 3.0.0 to mapping in custom easyblock for AOCC (#2362)
    • use PYPI_SOURCE as the default for source_urls of PythonPackage (#2364, #2370)
    • enhance PythonPackage easyblock to catch faulty version (0.0.0) for installed Python packages (#2367, #2377)
    • enhance BWA easyblock: pass compiler flags + use filetools functions (#2368)
  • various bug fixes, including:
    • set $R_LIBS_SITE rather than $R_LIBS when installing R packages (#2326)
    • update PETSc easyblock to take into account that ScaLAPACK installation may not have header files + fix building in parallel (#2348)
    • disable CMake user package repository in CMakeMake generic easyblock (#2351)
    • update LAPACK easyblock to keep control of compiler options for versions >= 3.9.0 (#2358)
    • also set $TORCH_CUDA_ARCH_LIST for PyTorch tests (#2363)
    • enhance Hadoop easyblock to avoid copying same native library twice (#2371)
    • fix pip extension download pattern for PythonPackage easyblock (#2372)
    • make the CUDA stub libs take preference over system libs when linking (#2373)
    • improve Python package version check and add unversioned_packages easyconfig parameter (#2377)

easyconfigs

  • added easyconfig for goblf/2020b toolchain (#12381, #12535)
  • added example easyconfig files for 41 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • AOCC 3.0.0, Arriba 2.1.0, ArviZ 0.11.1, arpack-ng 3.8.0 BCFtools 1.12, BEDTools 2.30.0, BUSCO 5.0.0, BioPerl 1.7.8, Blosc 1.21.0, Boost.Python 1.74.0, bitarray 1.2.1, bokeh 2.2.3, CP2K 8.1, CUDAcore 11.2.2, CellRanger 6.0.0, Clang 11.0.1, DIAMOND 2.0.7, Delly 0.8.7, dask 2021.2.0, dm-tree 0.1.5, Elk 7.0.12, Extrae 3.8.0, FLUENT 2021R1, FabIO 0.11.0, Fiji 20201104, Flye 2.8.3, FreeSurfer 7.1.1, GDAL 3.2.1, GEOS 3.9.1, GLFW 3.3.3, GMAP-GSNAP 2020-12-17, GROMACS 2021, GetOrganelle 1.7.4, gmsh 4.7.1, HTSeq 0.11.3, HTSlib 1.12, Hypre 2.20.0, hyperopt 0.2.5, iVar 1.3.1, igraph 0.9.1, Jansson 2.13.1, Kent_tools 411, LAPACK 3.9.1, LAST 1179, LibSoup 2.72.0, libxc 5.1.3, MAFFT 7.475, MCR R2020a.6 + R2020b.5 + R2021a.0.eb, MDTraj 1.9.5, MUMPS 5.3.5, MaSuRCA 4.0.1, Mercurial 5.7.1, Monocle3 0.2.3, NGS 2.10.9, NVHPC 21.2, NetLogo 6.2.0, Nextflow 21.03.0, ncbi-vdb 2.10.9, OSU-Micro-Benchmarks 5.7, OpenCV 4.5.1, OpenEXR 2.5.5, OptiX 7.2.0, PETSc 3.14.4, PLUMED 2.7.0, PROJ 7.2.1, PyAMG 4.0.0, PyCUDA 2020.1, PyCairo 1.20.0, PyOpenCL 2021.1.2, PyTorch-Geometric 1.6.3, p7zip 17.03, pFUnit 4.2.0, picard 2.25.1, pocl 1.6, preCICE 2.2.0, protobuf 2.5.0, pymatgen 2022.0.4, python-igraph 0.9.0, Qtconsole 5.0.2, R 4.0.4, RASPA2 2.0.41, RDFlib 5.0.0, ReFrame 3.5.1, Ruby 2.7.2, rnaQUAST 2.2.0, SAMtools 1.12, SDL2 2.0.14, SIMPLE 3.0.0, SPAdes 3.15.2, SUNDIALS 5.7.0, Seurat 4.0.1, Spark 3.1.1, scikit-image 0.18.1, silx 0.14.0, spglib 1.16.1, sympy 1.7.1, tensorboardX 2.1, tensorflow-probability 0.12.1, tmux 3.1c, USEARCH 11.0.667, VTK 9.0.1, VTune 2020_update3
  • minor enhancements, including:
    • verify checksum of all patch files in easyconfigs test suite (#12221)
    • add libwebp and OpenEXR dependencies for OpenCV 4.2.0 easyconfig with foss/2020a (#12227)
    • add sanity check commands for vorbis-tools (#12304)
    • add extensions to R-bundle-Bioconductor 3.12: motifmatchr (#12390), OUTRIDER + FRASER (#12510)
    • add DMCfun extension for R v4.0.3 + v4.0.4 (#12409)
  • various bug fixes, including:
    • add missing GNU time dependency to WRF 4.0.2 built with foss/2018b (#12179)
    • add archive source_urls for Hadoop and Spark (#12220)
    • add missing Python build dep for SeqAn 2.4.0 (#12222)
    • add missing pkg-config build dependency to VCFtools 0.1.16 (#12245), GObject-Introspection-1.64.0 (#12298), libsndfile (#12303)
    • set $HTSLIB_DIR in HTSlib for use by EnsEMBLCoreAPI & Bio-DB-HTS (#12253)
    • bump JasPer version to latest 2.0.24 for 2020b generation of easyconfigs + remove easyconfigs for ancient JasPer 2.0.1.4 with GCCcore/10.2.0 (#12277, #12288)
    • bump pip to 20.3.4 in Python 2.7.18 easyconfig to fix unicode error (#12293)
    • skip sanity check test in IPython-7.18.1-GCCcore-10.2.0.eb (#12294)
    • add missing Perl and Autotools build dependencies in recent WRF easyconfigs (#12301)
    • add missing groff build dependency for Perl 5.30.0 and 5.32.0 (#12307)
    • add linkcomm + rnetcarto extensions to R v4.0.3 (#12311)
    • add dependency on Flask in all ASE v3.21.1 easyconfigs (#12312)
    • remove hard-coded -xHost from MMseqs2-11-e1a1c (#12317)
    • revised outdated easyconfigs for libcerf + replaced obsolete homepages and source urls (#12323)
    • consistently include new_archive source URL in Qt5 easyconfigs + add missing checksums (#12325, #12426)
    • fix source URL and add alternate checksum for Hypre 2.14.0 (#12337)
    • add patch for recent netCDF easyconfigs to fix MPI_Info_f2c issue with OpenMPI (#12340)
    • add SourceForge fallback source URL for recent freetype easyconfigs (#12341)
    • revert to Seaborn 0.10.1 as dependency for NanoPlot 1.33.0 (#12345)
    • use -D_USE_METIS_5p1 in OpenSees v3.2.0 patch to correctly build on top of METIS v5.1.0 (#12403)
    • make sure that path to eb is always found by tests (#12436)
    • stop tests changing the EasyBuild easyconfigs (#12454)
    • use pip to install pkgconfig 1.5.1 (#12455)
    • add CI test checking if the Python default source_urls are used and fix CI check where use_pip=False was ignored (#12456, #12471)
    • fix source URLs in Arrow 0.x easyconfigs (#12475)
    • fix numpy tests for recent SciPy-bundle easyconfig on POWER (#12481)
    • don't download hwloc during FIRESTARTER build (#12482)
    • avoid 0.0.0 install version for various Python apps (#12519, #12522)
    • enable USER_SDPD package and disable building docs in LAMMPS 3Mar2020 (#12527)
    • update $R_LIBS_SITE rather than $R_LIBS in easyconfigs installing R packages (#12534)
    • add Python 3 build dep for HMMER 3.3.x test step (#12536)
  • other changes:
    • rename opencv_contrib and update to OpenCV v3.4.1 with contrib versionsuffix (#12229)
    • fix minor style issues in POV-Ray v3.7.0.8 easyconfigs (#12342)
    • enable -fPIC for g2clib (#12349)
    • consistently include Keras-Applications and Keras-Preprocessing extensions in Keras 2.3.1 easyconfigs (#12375)
    • remove PYPI_SOURCE source URL from easyconfigs using PythonPackage or PythonBundle (#12541, #12452, #12453)
    • require sanity_pip_check for all Python package/bundles (#12464)

EasyBuild v4.3.3 (Feb 23rd 2021)

bugfix/update release

framework

  • various enhancements, including:
    • advise PR labels in --review-pr and add support for --add-pr-labels (#3177)
    • add support for using customized HTTP headers in download_file (#3472, #3583)
    • also take toolchain dependencies into account when defining template values (#3541, #3560)
    • add support for --accept-eula configuration option + accept_eula easyconfig parameter (#3535, #3536, #3546)
    • detect SYSTEM toolchain as special case in easystack files (#3543)
    • enhance extract_cmd function to use cp -a for shell scripts (.sh) (#3545)
    • allow use of alternate envvar(s) to $HOME for user modules (#3558)
    • use https://sources.easybuild.io as fallback source URL (#3572, #3576)
    • add toolchain definition for iibff toolchain (#3574)
    • add %(cuda_cc_space_sep)s and %(cuda_cc_semicolon_sep)s templates (#3578)
    • add support for intel-compiler toolchain (>= 2021.x versions, oneAPI) (#3581, #3582)
  • various bug fixes, including:
    • add --init and --recursive options to git submodule update command that is used when creating source tarball for specific commit (#3537)
    • filter out duplicate paths in RPATH wrapper script (#3538)
    • don't clean up imported modules after verifying imports of included Python modules (#3544)
    • avoid no-op changes to $LD_* environment variables in ModulesTool (#3553)
    • fix UTF-8 encoding errors when running EasyBuild with Python 3.0.x-3.6.x (#3565)
    • create lib64 symlink as a relative symlink (#3566)
    • don't reuse variable name in the loop to fix adding extra compiler flags via toolchainopts (#3571)
    • symlink lib to lib64 if it doesn't exist (#3580)
    • include %(mpi_cmd_prefix)s and %(cuda_*)s templates in output of --avail-easyconfig-templates (#3586)
  • other changes:
    • rename EasyBlock._skip_step to EasyBlock.skip_step, to make it part of the public API (#3561)
    • make symlinking of posix_c.so to posix.so in test suite configuration conditional (#3570)

easyblocks

  • 2 new software-specific easyblocks:
    • AOCC (#2295), Intel compilers (v2021.x, oneAPI) (#2305)
  • minor enhancements, including:
    • run motorBike tutorial case as sanity check for recent (community) OpenFOAM versions (#2201)
    • add foamMonitor to sanity checks of OpenFOAM (#2256)
    • create versioned symlinks for CMake commands + create symlink for cmake3 in PyTorch easyblock if cmake3 command is not found (#2259)
    • improve Bazel easyblock: add support for running tests, enable static linking, use build dir rather than tmpdir, verbose output (#2285)
    • add support for skipping steps in Python packages installed as extension + print progress on individual steps for installing Python packages as extensions (#2290)
    • update BerkeleyGW easyblock to support GCC 10 and fftlib (#2297)
    • update QuantumESPRESSO easyblock to support GCC 10 (#2298)
    • update Clang easyblock to add support for building extra tools + leveraging hwloc and Z3 as optional dependencies (#2310)
    • add support for running TensorFlow CPU and GPU tests (#2263, #2292, #2312)
    • update impi easyblock for impi 2021.x (oneAPI) (#2313)
    • update QuantumESPRESSO easyblock to handle v6.7 (#2319)
    • update OpenFOAM easyblock for changes in v2012 (#2321)
    • add sanity check commands to GCC (including LTO support) (#2322)
    • update FLUENT sanity check for v2021R1 (#2334)
  • various bug fixes, including:
    • filter out user packages in LAMMPS easyblock if corresponding dependency isn't included + only set -DUSER-INTEL on x86_64 systems (#2254)
    • unify handling of pylibdirs and don't add duplicated $PYTHONPATH in PythonBundle (#2281)
    • enhance Amber easyblock to fix running of update_amber script when python command is not available in OS (#2282)
    • guard module unload statements in modules for Cray* toolchains (#2286)
    • set $PYTHONNOUSERSITE in PythonBundle.extensions_step to avoid picking up on Python packages installed in $HOME (#2289)
    • create less temporary directories for TensorFlow by (only) using --output_user_root (#2293)
    • fix logic w.r.t. enabling Python support in PETSc (#2299)
    • make builddeps a list of names in SLEPc easyblock (#2300)
    • make builddeps a list of names in Trilinos easyblock (#2301)
    • make sure the installation of libiberty.a in the binutils easyblock goes into a populated directory (#2308)
    • fix for building GCC with --sysroot on ppc64le (#2315)
    • fix OpenFOAM sanity check on POWER (#2320)
    • use library search paths of compiler for RPATH when building binutils with system compiler + enhance sanity check by running --version for binutils commands (#2323, #2327)
    • pass $CXXFLAGS to PDT's configure script via -useropt (#2324)
    • pass down compilation flags from build environment for ESMF (#2325)
    • update URLs for test data for WRF to https (#2335)
    • read MATLAB configuration file in binary mode to avoid UTF-8 encoding errors when using Python 3.6 (#2340)
    • fix Boost sanity check on POWER (#2291) and aarch64 (#2341)
  • other changes, including:
    • rework module-only tests to use unique software name (rather than 'foo') (#2287)
    • prefer default value for extra options in easyblock tests (#2280, #2302)
    • add check for accepted EULA in custom easyblock for NVHPC (#2311)
    • update optional feature support of TensorFlow (#2314)
    • make symlinking of posix_c.so to posix.so in test suite configuration conditional (#2330)

easyconfigs

  • add easyconfig for new iibff toolchain: iibff/2020b (#12185)
  • added easyconfigs for 6 new toolchains:
  • added example easyconfig files for 72 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ack 3.4.0, AmberTools 20, AMD-LibM 3.6.0-4, AMD-RNG 2.2, AMD-SecureRNG 2.2, annovar 20191024, ASE 3.21.1, AUGUSTUS 3.4.0, Bazel 3.7.2, bcgTree 1.1.0, BLAST+ 2.11.0, Bonito 0.3.5, Bowtie2 2.4.2, causalml 0.8.0-20200909, CGAL 5.2, ConnectomeWorkbench 1.4.2, CUDAcore 11.2.1, cuDNN 8.0.5.39, dcm2niix 1.0.20201102, DendroPy 4.5.2, DIAMOND 0.9.36 + 2.0.6, ecCodes 2.20.0, ELPA 2020.11.001, Emacs 27.1, FusionCatcher 1.30, gensim 3.8.3, GHC 8.6.5, gnuplot 5.4.1, GPAW 21.1.0, Graphviz 2.44.1, GROMACS 2020.5, Gurobi 9.1.0, HH-suite 3.3.0, HMMER 3.3.2, HTSlib 1.11, Horovod 0.21.1, imbalanced-learn 0.7.0, impi 2021.1.1, inferCNV 1.3.3, ITK 5.1.2, IQ-TREE 2.1.2, JasPer 2.0.24, JUBE 2.4.1, libgit2 1.1.0, libzip 1.7.3, likwid 5.1.0, MariaDB 10.5.8, medaka 1.2.0, Meep 1.6.0, mkl-service 2.3.0, MPICH 3.3.2, muParser 2.3.2, NanoComp 1.13.1, NanoPlot 1.33.0, networkx 2.5, NLTK 3.5, numba 0.52.0, NVHPC 20.11, nvtop 1.1.0, OpenCoarrays 2.9.2, OpenFOAM v2012, OpenJPEG 2.4.0, OpenMPI 4.1.0, parasail 2.4.2, PLUMED 2.6.2, PostgreSQL 13.2, pydicom 2.1.2, PyMC3 3.11.0, python-parasail 1.2.2, PyTorch 1.7.1, QIIME2 2020.11, QuantumESPRESSO 6.7, QuickFF 2.2.7, R 4.0.3, R-bundle-Bioconductor 3.12, ReFrame 3.4.1, RMBlast 2.10.0, RSEM 1.3.3, Salmon 1.4.0, scikit-build 0.11.1, SciPy-bundle 2020.03 w/ Python 2.7.18, Seaborn 0.11.1, SEPP 4.4.0, SHAPEIT4 4.2.0, SpaceRanger 1.2.2, Stacks 2.54, STAR 2.7.7.a, statsmodels 0.12.1, SuiteSparse 5.8.1, tbb 2020.3, TensorFlow 1.15.5 + 2.4.1, Theano 1.1.2, torchvision 0.8.2, V8 3.4.0, Wannier90 3.1.0
  • minor enhancements, including:
    • enable building of QtWebEngine in Qt5 easyconfig using foss/2017b or intel/2017b (#7302)
    • enable NVPTX offload in GCCcore 9.3.0 easyconfig (#11839)
    • also build shared library in recent HDF easyconfigs (#11847)
    • add support for HDF4 to GDAL v3.0.2 and v3.0.4 (#11855)
    • add patch for magma 2.5.4 with fosscuda/2019b to allow any sm_* value to be passed via GPU_TARGET (#11861)
    • add missing M4 build dependency to recent SuiteSparse versions (#11869)
    • enable tests for most recent Bazel versions (3.x) (#11894)
    • enable gipaw in QuantumESPRESSO 6.6 easyconfig (#11905)
    • add RCAL + sensemakr extensions to R 4.0.0 (#11921)
    • add additional extensions to R v4.0.3 easyconfig (#11922, #12057)
    • improve sanity_check_paths for AMD-LibM (#11933)
    • symlink include/lib subdirs + enhance sanity_check_paths for AMD-RNG v2.2-4 (#11934)
    • improve sanity_check_paths for AMD-SecureRNG (#11935)
    • update Clang 10+ dependencies & build extra tools (#12013)
    • add Inline extension to recent Perl easyconfigs (5.30+) (#12029)
    • add EnsDb.Hsapiens.v86 to Bioconductor 3.11 (#12078)
    • add sanity check command for bam-readcount v0.8.0 to check --version output (#12092)
    • add EnsDb.Hsapiens.v75 + Signac extensions to R-bundle-Bioconductor 3.12 (#12174)
    • add tensorboard profile plugin to recent TensorFlow 2.x easyconfigs (#12136, #12137)
  • various bug fixes, including:
    • added missing space in configopts in ParaView 5.8.0 easyconfigs using 2020a toolchain (#10989)
    • use bfd linker for glibc 2.30 (#11331)
    • add missing moduleclass in UCLUST easyconfig (#11477)
    • don't disable optarch for Clang 11.0.0 (#11814)
    • add patch to fix miscompilation bug on POWER for GCC 8.x and 9.x (#11837)
    • fix compilation of TensorFlow 2.3.1 with CUDA and glibc 2.26 on POWER (#11859)
    • disable building of manpages for GDCM to fix installation problem with docbook (#11866)
    • add patch for LLVM 6.0.0 to fix missing exported symbol LLVMInitializeInstCombine (#11873)
    • fix name of source file for GDRCopy v2.1 (#11887)
    • fix Tombo to work with rpy2 v3 when creating DataFrames (#11892)
    • fix GCCcore 8.1.0 w.r.t. removed sys/ustat.h in glibc 2.28 (#11896)
    • add git as a dependency to GitPython version 3.x (#11902)
    • fix undefined __ieee128 on ppc64le with glibc 2.26 for magma (#11930) and PyTorch (#11936)
    • update Hypre git location for PETSc 3.11.0 using downloaded dependencies (#11947)
    • fix source URL in expat easyconfigs (and consistently add custom sanity_check_paths) (#11960)
    • use libpng provided by EasyBuild in VTK to fix build issue on ppc64le (#11990)
    • add missing pkg-config build dependency for GObject-Introspection v1.66.1 (#11949)
    • add missing plotly-orca dependency for NanoPlot (#11967, #12015)
    • add patch for Boost 1.74.0 to fix missing include file (#12007)
    • fix for error: 'runtime_error' is not a member of 'std' in qtlocation for Qt5 v5.14.2 (#12012)
    • fix homepage for gnuplot 5.2.8, use http:// since homepage is not reachable via https:// (#12047)
    • fix OS dependencies for libfabric (#12058)
    • fix vector mul and div with broadcasts in -masm=intel mode in GCCcore v9.3.0 (#12065)
    • add missing ESMF dependency in NCO easyconfigs (#12071, #12072)
    • add patch to fix version for bam-readcount 0.8.0 (#12075)
    • add missing Perl build dep for (recent) libcerf versions, required for pod2html command (#12085)
    • add missing bzip2 dependency to recent ncbi-vdb easyconfigs (#12120)
    • add missing Perl build dependency for BLIS 0.8.0 (#12146)
    • use https://sources.easybuild.io as fallback source URL for UDUNITS (#12049, #12156, #12182)
    • correct the GCC version check to allow IBM VSX builds of GROMACS 2020.4 and 2020.5 (#12159)
    • add missing mkl-service dependency for Theano built with intel/2019b + enhance sanity check (#12172)
    • add patches to fix test problems with p4est 2.2 (#12028)
    • fix build of Bison using older system GCC (v4.x) (#12203)
    • fix lack of optimisation for SHAPEIT4 v4.1.3 (#12206)
    • add missing gnuplot dependency for OpenFOAM from v2.4.0 to v6 (#11801, #12208)
    • fix source URL for libspatialite (#12213)
    • add archive fallback source URL to MAGMA easyconfigs (#12214)
    • fix checksum for patch in make 4.2.1 easyconfig using GCC/7.3.0-2.30 (#12223)
  • other changes:
    • replace easyconfigs for bpp-core/bpp-phyl/bpp-seq v2.4.1 with a single easyconfig for BioPP v2.4.1 (using Bundle easyblock) (#11609)
    • add CESM-deps to whitelist in check for custom sanity_check_paths (#11916)
    • include '-4' in version for AMD-SecureRNG v2.2-4 (#11934, #11935)
    • switch to using python-parasail and tqdm dependencies in Bonito easyconfigs (#11937)
    • rename orca to plotly-orca (#12015)
    • remove duplicate extensions in R 3.5.x easyconfigs, and add test to detect such issues (#12059)
    • remove Python dependency from ecCodes v2.17.0 since it doesn't provide Python bindings (#12084)
    • update Java/1.8 wrapper to Java 1.8.0_281 (#11928, #12088)
    • update Bison (build) dependency for flex built with system compiler to v3.5.3 (#12111)
    • make symlinking of posix.so in test suite configuration conditional (#12123)
    • move make 4.3 easyconfigs to GCCcore toolchain (#12166)
    • move most recent BLIS and libFLAME easyconfigs from GCC to GCCcore (#12168)
    • rename SNAP to SNAP-HMM and update easyconfig (#12218)

EasyBuild v4.3.2 (December 10th 2020)

bugfix/update release

framework

  • add (experimental) support for specifying easyconfig files via an "easystack" file (#3479, #3511, #3515, #3517, #3520, #3521)
  • add definition for new gobff toolchain using BLIS and LibFLAME (#3505)
  • various enhancements, including:
    • add support for toolchain options like extra_cxxflags to specify extra compiler options (#2193)
    • fix combination of --copy-ec and --from-pr (#3482)
    • enhance copy_files function: support single file target, error on empty input list, support verbose mode (#3483)
    • cache result of fetch_files_from_pr function (mainly to speed up framework test suite) (#3484)
    • add locate_files function to filetools module (#3485)
    • add support for %(module_name)s template value (#3497)
    • clarify input format for --cuda-compute-capabilities in eb --help output (#3509)
    • add support for skipping unit tests (test step) via --skip-test-step (#3524)
  • various bug fixes, including:
    • also ignore vsc.* imports coming from from pkg_resources/__init__.py (setuptools) in fake vsc namespace (#3491)
    • don't pass username in github_api_get_request when no GitHub token is available (#3494)
    • also inject -rpath options for all entries in $LIBRARY_PATH in RPATH wrappers (#3495)
    • avoid TypeError being raised by list_toolchains (#3499)
    • check if PR is already merged in --merge-pr (#3502)
    • graciously handle wrong PR id in fetch_pr_data (#3503)
    • fix regression in apply_regex_substitutions: also accept list of paths to patch (#3507)
    • update installation procedure for EasyBuild in generated Singularity container recipes (#3510)
    • fix GitHub Actions workflow for test suite: run outside of repo checkout + also test bootstrap script with Python 3.9 (#3518)
    • bump cryptography from 2.9.2 to 3.2 for Python 2 in requirements.txt (#3519)
    • fix eb --help=rst when running with Python 3 (#3525)
  • other changes:
    • exclude test configurations with Lmod 7 and Python 3, except for Python 3.6 (#3496)
    • significantly speed up parsing of easyconfig files by only extracting comments from an easyconfig file when they're actually needed (#3498)
    • don't include file/ldd/readelf commands run during RPATH sanity check in --trace output (#3508)

easyblocks

  • 2 new software-specific easyblocks:
  • minor enhancements, including:
    • add -fallow-argument-mismatch option when building CP2K 7.1 or older with GCC 10.x (#2223)
    • update TensorFlow easyblock for upcoming TensorFlow 2.4 (#2225)
    • add support for building Clang with OpenMP offload support (#2229)
    • enhance OpenMPI easyblock to catch any --with-ucx* configure options (#2230)
    • take into account preinstallopts and installopts in custom easyblock for NCL (#2234)
    • add support for withnvptx easyconfig parameter, to enable GPU offloading, in GCC easyblock (#2235)
    • take into account versions like 4.x in OpenFOAM easyblock (#2239)
    • also add bin subdir to $PATH when installing a Python package (#2244)
  • various bug fixes, including:
    • fix two bugs in GROMACS easyblock when using GCC & MKL for FFT and BLAS/LAPACK (#2212)
    • fix version check in Qt5 easyblock w.r.t. disabling features on old Linux kernel versions (#2220)
    • always define $FCCPP in QuantumESPRESSO easyblock (not just when using Intel compilers) (#2221)
    • allow wxPython to be installed as an extension (#2227, #2275)
    • only configure Python with --enable-optimizations when compiling Python with (recent) GCC compiler (#2228)
    • fix sanity check for Boost MT libraries (#2231)
    • fix hardcoded path in NVHPC easyblock to support multiple architectures (#2233)
    • fix CPASSERT test faults on RHEL8 in CP2K easyblock (#2236)
    • stop silently ignoring failing numpy tests, but include support for ignoring (failing) numpy tests (#2238, #2271)
    • append to module guesses in easyblocks for Chapel, icc, imkl and impi (rather than overwriting guesses from parent easyblock) (#2242)
    • weed out duplicates when determining paths to include-fixed subdirectory in GCC easyblock (#2245)
    • prepend all hardcoded /usr/* paths with sysroot in Python's setup.py installation script (#2246)
    • don't try to patch newer versions of Bazel where the patches won't apply (#2249)
    • fix setting of $RUNPARALLEL in HDF5 easyblock (#2250)
    • move --build and --host logic to run_configure_cmd in GCC easyblock (#2252)
    • set $UCX_TLS in module for impi installation on top of UCX, and allow it to be overwritten in impi easyconfig file (#2253, #2258)
    • enhance PyTorch easyblock to ensure it finds MKL (via $MKLROOT) (#2257)
    • use integer division to determine number MPI ranks to use in WRF test step (#2266)
    • also specify locincpth and glibpth configure options for Perl based on --sysroot (#2268)
  • other changes, including:
    • add link to GCC mailing list thread confirming that binutils should not be configured with --with-sysroot=$EASYBUILD_SYSROOT when GCC is being configured like that (#2215)
    • pass paths to patch one by one to apply_regex_substitutions in GCC easyblock when --sysroot is set (#2217)
      • workaround for regression in apply_regex_substitutions introduced in EasyBuild v4.3.1 (which was fixed for v4.3.2)

easyconfigs

  • add easyconfigs for new gobff toolchain: gobff/2020.11 + gobff/2020.06-amd (#11761)
  • add easyconfigs for updates of common toolchains: foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b
  • added example easyconfig files for 41 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • BBMap 38.87, Boost 1.74.0, CUDA 11.1.1, CellRanger 5.0.0.eb, CheckM 1.1.3, Clang 11.0.0, cuDNN 8.0.4.30, DMTCP 2.6.0, FDS 6.7.5, FFmpeg 4.3.1, GROMACS 2020.4, Geant4 10.6.2, Ghostscript 9.53.3, GitPython 3.1.9, GlobalArrays 5.8, HDF5 1.10.7, h5py 3.1.0, hypothesis 5.41.5, JasPer 2.0.16, LittleCMS 2.11, libedit 20191231, libyaml 0.2.5, MPFR 4.1.0, magma 2.5.4, matplotlib 3.3.3, NCCL 2.8.3, NLopt 2.6.2, Nextflow 20.10.0, netCDF-Fortran 4.5.3, OpenBLAS 0.3.12, OpenMolcas 20.10, Pillow 8.0.1, PnetCDF 1.12.1, PyYAML 5.3.1, packmol 20.2.2, protobuf 3.14.0, psycopg2 2.8.6, pybind11 2.6.0, pycocotools 2.0.2, Qt5 5.14.2, RAxML-NG 1.0.1, RSeQC 4.0.0, rioxarray 0.1.1, SCOTCH 6.1.0, SciPy-bundle 2020.11, SentencePiece 0.1.94, StringTie 2.1.4, SuperLU 5.2.2, scikit-learn 0.23.2, snakemake 5.26.1, tqdm 4.51.0, vsc-mympirun 5.2.5, x264 20201026
  • minor enhancements, including:
    • add extension to R-bundle-Bioconductor 3.11: snpStats (#11586), SCANVIS (#11638)
    • add extensions to R 4.0.0: coloc, Exact, lmom, gld, DescTools (#11587); nlsem (#11733); mitools, survey, tableone, jstable (#11841)
    • add gxmapi extension (Python bindings) to GROMACS 2020.4 (#11640)
    • add missing extensions for QIIME2 to Perl 5.30.2 and 5.32.0 easyconfigs (#11654)
    • enable NVPTX offload support in GCCcore 10.2.0 easyconfig (#11720)
  • various bug fixes, including:
    • prevent Minimac4 easyconfig from downloading libStatGen from GitHub (#7982)
    • limit build parallelism for RAxML-NG to avoid build failure (#10363)
    • fix source_urls in Geant4 easyconfigs (#11596)
    • add alternate checksum for extensions in R easyconfigs: KernSmooth (#11600), codetools (#11616, #11736)
    • fix BBMap version check in FusionCatcher v1.20 (#11608)
    • add patch for TensorFlow 2.3.1 to fix installation on Arm64 (#11614)
    • add patch for GCCcore 10.2 to fix __has_include regression (#11627)
    • change default bitmaptype for IRkernel to cairo (#11645)
    • set $JUPYTER_PATH to make Jupyter find the ipywidgets extension in recent IPython easyconfigs (#11649)
    • add missing dependencies + fix moduleclass in CheckM easyconfigs (should be bio) (#11662)
    • use Python 2 build dep for nodejs 12.19.0 (#11679)
    • use correct OS deps in UCX (#11702)
    • in-place update to magma 2.5.4 for PyTorch 1.2.0 (#11723)
    • in-place update to magma 2.5.4 for PyTorch easyconfigs using fosscuda/2019b toolchain (#11726)
    • add missing Java dep to Prokka (#11732)
    • add patch to fix possible memory leak in OpenBLAS 0.3.3+ (#11745)
    • do not treat warnings as errors in Java v1.8_191-b26-OpenJDK (POWER) (#11755)
    • add missing PEAR dependency in easyconfig for GBprocesS v2.3 + enhance sanity check (#11767)
    • add missing gnuplot dependency in OpenFOAM easyconfigs (#11770, #11800)
    • consistently add Java as a dep for prokka 1.14.5 (#11782)
    • stick to http download URL in fetchMG easyconfig (https doesn't work) (#11788)
  • other changes:
    • rename XCfun to XCFun (#11603)
    • rename ambiguous Ray easyconfigs to Ray-assembler and Ray-project (#11727)
    • change 'rstudio' name to 'RStudio-Server' to agree with official name and better reflect what it provides (#11764)
    • rename Sumo to SUMO for consistency (#11791)

EasyBuild v4.3.1 (October 29th 2020)

bugfix/update release

framework

  • various enhancements, including:
    • further GCC toolchain fixes for aarch64 (#3433)
    • take into account --include-easyblocks-from-pr when uploading test reports (#3446)
    • add path to pkg-config files in sysroot to $PKG_CONFIG_PATH when --sysroot is specified (#3451)
    • add support for NVHPC compiler + toolchain (based on PGI) (#3454)
    • check for _VERSION and _PREFIX Cray environment variables with both software and module name (#3460)
    • allow including easyblocks from multiple PRs (#3480, #3481)
  • various bug fixes, including:
    • avoid UnicodeDecodeError in apply_regex_substitutions when patching files that include non-UTF-8 characters (#3450)
    • avoid appending lib stubs pattern to RPATH filter over and over again (#3452)
    • fix missing string template on error for incorrect extension sources value (#3461)
    • fix compatibility with Python 3.9 by renaming fancy root logger (#3465)
    • also remove empty checksums list specified in easyconfig file when using --inject-checksums (#3466)
    • avoid confusing error log message when determining impi version while trying to define value for %(mpi_cmd_prefix)s template (#3474)
    • unset $LD_LIBRARY_PATH when checking for OS dependencies with rpm & co (#3477)
    • don't change directory in download_repo function in tools.github (#3486)
    • take source_urls, checksums, patches into account when extension source is specified via sources (#3487)
  • other changes:
    • consider $EB_INSTALLPYTHON in eb command to specify python command to use for running EasyBuild (#3428)
    • use only the sub folder name for createSubmoduleDeps script (#3464)

easyblocks

  • 2 new software-specific easyblocks:
  • minor enhancements, including:
    • support having PyQt5 installed as part of Qt5 in QScintilla easyblock (#2040)
    • update TensorFlow easyblock to put Bazel build files in build directory + avoid unnecessary runtime patching (#2166)
    • update CBLAS easyblock for toolchains that include imkl (#2175)
    • add workaround for duplicate prefix path in Eigen CMake config (#2176)
    • enable CTEST_OUTPUT_ON_FAILURE for CMakeMake test step (#2181)
    • add XLA build support to TensorFlow easyblock (#2182)
    • also consider libfabric dep (--with-ofi) when setting default OpenMPI configure options (#2184)
    • make easyblock for installing CMake aware of --sysroot (#2187)
    • make OpenBLAS respect the parallelism set by easybuild (#2191)
    • handle option of building Michigan State University CCT3 & CCSD3A methods in GAMESS_US easyblock (#2194)
    • add support to RubyGem easyblock for installing zipped gems (#2203)
    • update ScaLAPACK easyblock to support installation with CMake for recent versions (>= v2.1.0) (#2205)
    • update Score-P easyblock to add support for NVHPC toolchain (#2206)
  • various bug fixes, including:
    • add torch/lib subdirectory in Python lib dir to $LD_LIBRARY_PATH for PyTorch installations (#2183)
    • update MUMmer easyblock to use apply_regex_substitutions and copy_file functions (#2185)
    • configure OpenMPI 4.x with --without-verbs when using UCX (#2188)
    • take into account that zlib may be listed in --filter-deps in custom easyblock for XML R package (#2189)
    • add sanity check commands to Clang easyblock and print warning for missing ncurses (#2193)
    • enhance OpenFOAM easyblock to add symlinks for libraries to ensure mpi versions have preference over dummy versions (#2196)
    • leverage installed OpenSSL/BoringSSL when cURL is used as a dependency for TensorFlow (#2197)
    • add -ffree-line-length-none to gfortran flags in Siesta easyblock (#2204)
    • respect --disable-mpi-tests in Siesta easyblock (#2207)
  • other changes, including:
    • set $EB_INSTALLPYTHON in module generated for EasyBuild rather than setting $EB_PYTHON, to allow overriding Python command to be used for running EasyBuild with $EB_PYTHON (#2109)
    • remove unused custom easyblock for DIRAC (#2192, #2198)

easyconfigs

  • added easyconfigs for 2 new toolchains:
  • added example easyconfig files for 75 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 9.2.1, ASE 3.20.1, Autotools 20200321, Bazel 3.6.0, Biopython 1.78, CCL 1.12, CMake 3.18.4, CUDA 11.0.2, cURL 7.72.0, deepdiff 5.0.2, fmt 7.0.3, GATK 4.1.8.1, GLib 2.66.1, GROMACS 2020.3, GTK+ 3.24.23, git 2.28.0, HMMER 3.3.1, Horovod 0.20.3, ICU 67.1, IPython 7.18.1, ichorCNA 0.3.2, JupyterHub 1.1.0, JupyterLab 2.2.8, LLVM 11.0.0, libarchive 3.4.3, libcircle 0.3, libevent 2.1.12, libfabric 1.11.0, libglvnd 1.3.2, libunwind 1.4.0, libxcb 1.13, MAFFT 7.471, MDSplus 7.96.12, MEGAHIT 1.2.9, MMseqs2 11-e1a1c, Mako 1.1.3, Mesa 20.2.1, Meson 0.55.3, medaka 1.1.3, mpifileutils 0.10.1, NASM 2.15.05, NSPR 4.29, NSS 3.57, Ninja 1.10.1, nettle 3.6, nglview 2.7.7, nodejs 12.19.0, OpenImageIO 2.1.12.0, OpenRefine 3.4.1, OpenSSL 1.1.1h, PCRE2 10.35, PSI4 1.3.2, Pango 1.47.0, PyGEOS 0.8, PyOpenGL 3.1.5, PyQt5 5.15.1, PyQtGraph 0.11.0, PyRETIS 2.5.0, Python 3.8.6, pandas 1.1.2, phonopy 2.7.1, picard 2.22.1, pixman 0.40.0, protobuf 3.13.0, pyEGA3 3.4.0, pytest 6.0.1, ReFrame 3.2. re2c 2.0.3, SAMtools 1.11, SCons 4.0.1, SQLite 3.33.0, Spyder 4.1.5, Subversion 1.14.0, sbt 1.3.13, spglib-python 1.16.0, spoa 4.0.0, TINKER 8.8.1, TRIQS 3.0.0, Taiyaki 5.1.0, TensorFlow 2.3.1, Tkinter 2.7.18 + 3.8.6, torchvision 0.7.0, UCX 1.9.0, V8 3.2.0, VirtualGL 2.6.2, vsc mympirun 5.2.0 X11 20201008, XGBoost 1.2.0, XZ 5.2.5, Xerces-C++ 3.2.3, xarray 0.16.1, ZeroMQ 4.3.3, zstd 1.4.5
  • minor enhancements, including:
    • use more EasyBuild installed dependencies for TensorFlow 2.2.0 (#11224)
    • add additional extensions to R 4.0.0 easyconfig (#11340, #11430, #11487)
    • add additional extensions to Bioconductor 3.11 bundle (#11341, #11488)
    • make libtirpc easier to use as replacement of rpc in glibc (for RHEL8) (#11355)
    • add libevent, libfabric and PMIx dependencies to OpenMPI 4.0.3 (for foss/2020a & iomkl/2020a) (#11387, #11568)
    • build LibTIFF with -fPIC (#11527)
    • update Java/1.8 wrapper to also support aarch64 (#11545)
  • various bug fixes, including:
    • add Python 3 as build dep for Xvfb 1.20.8 easyconfigs (#10745)
    • patch out bug in collective primitive in TensorFlow 2.2.0 (#11175)
    • add missing groff build dependency for Perl (provides nroff tool requires to install man pages) (#11200)
    • add pocl dependency to GDAL easyconfig using fosscuda/2019b toolchain to make sure it builds on POWER (#11273)
    • add libtirpc as a build dep for HDF to fix installation on RHEL8 (#11279)
    • fix build problems with make 4.2.1 on RHEL8 (#11282, #11371)
    • change $LIBS in Ghostscript 9.27 easyconfig to include location of zlib library to link with (#11291)
    • remove --no-dist-info configuration option for SIP in recent PyQt5 easyconfigs (#11307)
    • make sure correct zlib is used in recent Ghostscript easyconfigs (#11319)
    • remove GLog and GFlags from PyTorch 1.2.0 (#11327), 1.3.1 (#11325), 1.4.0 (#11322) and 1.6.0 (#11323)
    • use PyTorch easyblock for PyTorch 1.3.1 (#11325)
    • add missing git build dependency for OpenImageIO 2.0.12 (#11328)
    • fix HDF 4.2.14 easyconfigs for RHEL8 (#11330)
    • add patch to fix installation of LAMMPS 7Aug2019 on AMD Epyc systems (#11334)
    • fix dependency on Bowtie of v0.x in seq2HLA easyconfigs (#11339)
    • fix installation of Hadoop v2.10.0 on RHEL8 (#11358)
    • add patch to fix installation of Sailfish v0.10.1 on RHEL8 (#11364)
    • add patch to fix installation of FuSeq v1.1.2 on RHEL8 (#11365)
    • fix installation of Qt5 5.14.1 on top of zlib provided by Gentoo + stick to Python 2 as build dep (#11385, #11386)
    • add patch for LAME configure script to make it check for correct ncurses symbol (#11388)
    • add protobuf-python as a dependency and corresponding sanity check to PyTorch 1.6 (#11390)
    • fix Multiwfn 3.6 installation on RHEL8 (#11402)
    • fix OpenFOAM 2.3.1 installation with intel/2019b on RHEL8 (#11409)
    • fix broken worker easyconfigs (#11412)
    • add ncurses runtime dependency to Clang easyconfigs (#11415, #11416, #11419, #11472)
    • fix installation of Bioconductor 3.11 bundle on aarch64 (#11417)
    • add patch to libunwind fixing a failure on POWER (#11421)
    • fix infinite loop build bug on ppc64le for R 4.0.0 (#11428)
    • fix compilation of Qt5 v5.12.3 and v5.13.1 on Ubuntu 20.04 (#11434)
    • fix PyVCF easyconfig, only supports Python 2 (#11437)
    • add patches to fix miscomputation (on POWER) and performance issues for OpenBLAS (#11443, #11444, #11445)
    • add missing DB dependency (required for DB_File) to easyconfigs for Perl (#11451, #11452)
    • fix dbarts extension in R v4.0.0 easyconfigs for non-x86_64 (#11453)
    • use Homebrew source mirror to auto-download sources for DB v18.1.25 and v18.1.32 (#11454)
    • add missing UnZip dependency for Python 3.8.2 (#11458)
    • add support for building OpenBLAS on ARM TSV110 with GCC 8.3 (#11464)
    • allow Kent_tools to build when MySQL installed at the OS level (#11471)
    • add missing moduleclass to easyconfigs for:
    • fix source for SQLite 3.31.1 (#11483)
    • fix installation of worker 1.6.11 with intel/2019b on RHEL 8.2 (#11498)
    • fix checksum in NAMD 2.12 easyconfigs + add source URL (#11515)
    • add BLAS/LAPACK check to GPAW patch adding EasyBuild configuration files (#11523)
    • backport fixes for Score-P v6.0 (#11540)
    • add XZ build dep to easyconfigs for libarchive v3.4.0 and v3.4.2 (#11561)
    • add patch for OpenMPI 3.1.4 adding device parameters for ConnectX-6 (#11575)
  • other changes:
    • update README on constructing source file for MATLAB (#6341)
    • remove easyconfigs for Taiyaki that depend on PyTorch 1.3.1, since latest version still requires PyTorch 1.2.0 (#11301)
    • make CI error messages less confusing ("is" -> "should be") (#11314)
    • remove extensions from R-bundle-Bioconductor 3.11 easyconfigs that are also included in R 4.0.0 (#11429)
    • cache M4 source tarball to avoid test failures because of download problems (#11469)
    • rename jupyterhub to JupyterHub (#11571)

EasyBuild v4.3.0 (September 13th 2020)

feature release

framework

  • various enhancements, including:
    • add script to create sources entries for git submodules (#3369, #3436)
    • add templates for CUDA compute capabilities (#3382)
      • %(cuda_compute_capabilities)s, %(cuda_sm_comma_sep)s, %(cuda_sm_space_sep)s
    • add EasyBuild configuration option --generate-devel-module (#3388)
      • to allow disabling generating of "devel" modules via --disable-generate-devel-module
    • set up a minimal build environment when using system compiler (#3399)
      • by default, $CC is set to gcc and $CXX is set to g++ when using system toolchain
      • minimal build environment can be customized via --minimal-build-env configuration option
    • add --sysroot configuration option to specify alternative location of system root (#3419)
      • this is useful when installing software in a Gentoo Prefix environment (for example)
  • various bug fixes, including:
    • allow including easyblocks from multiple locations, by combining --include-easyblocks and --include-easyblocks-from-pr (#3311)
    • also escape backslashes in quote_py_str() (#3386)
    • use one argument module swap statements in Tcl modulefiles (required by Modules 4.2.3+) (#3397)
    • fix copying of (non-existing) file with apply_patch (#3400)
    • create symlink from lib64 to lib subdir in installation directories to avoid that GCC prefers /lib64 system directories (#3401)
    • fix default value for lib64_fallback_sanity_check build option (#3402)
    • correctly determine commit status in --merge-pr (#3406)
    • stop installing ccache wrapper for Fortran compiler (#3409)
    • fix issues with applying PR patch in --from-pr (#3414)
    • make RPATH wrapper script more robust by using python -E -s -S to run rpath_args.py (#3422)
    • don't inject -Wl,-rpath options when -x c++-header compiler option is used (#3424)
    • fix lack of -mno-recip on aarch64 by tweaking GCC options used when precise toolchain option is enabled (#3425)
    • make sure self.start_dir is set in ExtensionEasyBlock (#3426, #3435)
    • exclude local variables from typo check in easyconfig files (#3427)
  • other changes:
    • stick to cryptography 2.9.2 when using Python 2.7 to avoid broken test suite in CI (#3392)
    • automatically enable --ignore-locks with --fetch (#3404)
    • switch to status badge based on tests run in GitHub Actions CI in README (#3415)
    • make flake8 code style checks pass (#3416, #3417)
    • limit Travis to only test with Python 2.6 + Lmod 7 (#3418)
    • ignore deprecation warning raised for cryptography when using Python 3.5 produced by output of test suite (#3423)

easyblocks

  • 2 new software-specific easyblocks:
  • minor enhancements, including:
    • update MATLAB easyblock to use new binary installer for versions >= 2020a (#2058)
    • add use_pip_requirement custom easyconfig parameter to PythonPackage easyblock to allow providing a requirements file to the pip command, as a source (#2064)
    • update CP2K easyblock for recent versions (>= 7.0) (#2069)
    • add multi_deps support into custom easyblock for QScintilla (#2077)
    • update Mothur easyblock for v1.44.0 and higher (#2084)
    • update MotionCor2 easyblock to add support for v1.3.2 (#2100)
    • update Tinker easyblock to handle skipping of tests depending on version and link with fftw_omp (#2102)
    • launch test & sanity check commands through mpirun for netcdf4-python if MPI support is enabled (#2106)
    • check for installation of pip & setuptools in Python 3.4+ (#2108)
    • update QuantumESPRESSO easyblock to support version 6.6 (#2112)
    • allow NAMD to be built on POWER, and also use the CUDA arch info (#2113, #2123)
    • update Libint easyblock for versions >= 2.6.0 + add custom easyconfig parameter to enable Fortran support (#2116)
    • update TensorFlow easyblock to use system/EasyBuild installed libraries (#2117, #2165, #2163, #2172)
    • add support in NAMD easyblock to pass additional C++ compiler options for building Charm++ component with + wrap them in single quotes (#2118)
    • automatically add required -G Ninja option when using CMakeNinja easyblock + add generator custom easyconfig parameter for CMakeMake (#2120)
    • make several easyblocks aware of --sysroot EasyBuild configuration option: binutils (#2147, #2159), CMakeMake (#2152), GCC (#2143), Perl (#2142), Python (#2148, #2149)
    • make Mesa easyblock aware of aarch64 (#2153)
    • enhance sanity check in custom Doxygen easyblock to catch broken installation (#2171)
  • various bug fixes, including:
    • make TensorFlow easyblock ignore the PKG_REVISION identifier if NCCL version if it exists (#2085)
    • remove version check against the version.txt file in CUDA easyblock (#2097)
    • add lib symlink in tbb installation directory when building from source (#2103)
    • handle GNUInstallDirs special cases in CMakeMake easyblock (#2105, #2124)
    • patch ELPA's manual_cpp script to fix hardcoded /usr/bin/python (#2107)
    • make TensorFlow easyblock also set $GCC_HOST_COMPILER_PREFIX to specify binutils location (#2110)
    • ensure stand-alone Python package being installed is in view when running pip check by loading fake module first (#2114)
    • be more patient when running interactive configure script for WRF (#2119)
    • make sure self.start_dir is set to a full path before constructing installation command in RPackage easyblock (#2125)
    • correctly check whether modinc easyconfig parameter is set to True in CP2K easyblock (#2138)
    • update PSI easyblock to correctly find Python and enable PCMSolver/CheMPS2 (#2141)
    • fix running GROMACS tests when using eb --rpath (#2144, #2154)
    • remove existing Python installation directory if both eb --rpath and --enable-optimizations configuration option are used (#2146)
    • ensure libQt5Core.so is compatible with older Linux kernels by disabling renameat2 and getentropy features (#2151)
    • solve issue where pybind11 picks up on the system Python instead of one provided by a module (#2158)
    • fix Qt5 easyblock to support installation on Arm/aarch64 (requires platform to be linux-g++) (#2160)
    • fix OpenFOAM easyblock to support installation on Arm/aarch64 systems (#2162)
    • explicitly enable/disable CUDA options in PyTorch easyblock + fix download check in sanity check + fix for disabling of *NNPACK on POWER systems (#2164)
    • fix sanity check in Mathematica easyblock for 11.x versions older than 11.3 (#2168)
    • unset $COLUMNS if it is set to 0 before running Perl's configure script (#2169)
  • other changes:
    • filter out Python in SLEPc configure (#2101)
    • switch to status badge based on tests run in GitHub Actions CI in README (#2126)
    • fix code style issues to make flake8 checks pass (#2128 - #2137, #2140, #2145, #2155)
    • limit test configurations in Travis CI to only Python 2.6 (#2139)

easyconfigs

  • added easyconfigs for 2 new toolchains:
    • gomkl/2020a and iomkl/2020a (#11036)
  • added example easyconfig files for 49 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Bazel 3.4.1, Bonito 0.2.2, binutils 2.35, CP2K 7.1, Clang 10.0.1, ccache 3.7.11, ctffind 4.1.14, datamash 1.5, ELPA 2020.05.001, Emacs 26.3, Flye 2.8.1, GCC(core) 10.2.0, googletest 1.10.0, HDF 4.2.15, Horovod 0.19.5, imageio 2.9.0, JUBE 2.4.0, Julia 1.5.1, Kent_tools 401, Libint 2.6.0, libxsmm 1.16.1, MDSplus 7.96.8, MDTraj 1.9.4, MariaDB 10.4.13, Meson 0.55.1, MotionCor2 1.3.2, NAMD 2.14, NCO 4.9.3, OpenFOAM 8, OpenMPI 4.0.5, OptiX 6.5.0, Pandoc 2.10, Perl 5.32.0, PostgreSQL 12.4, PyCUDA 2019.1.2, PyFR 1.9.0, PyTorch 1.6.0, PyZMQ 18.1.1, patchelf 0.12, pocl 1.5, pycocotools 2.0.1, pyproj 2.6.1.post1, QuantumESPRESSO 6.6, RDKit 2020.03.3, rgdal 1.5, Salmon 1.3.0, Spark 3.0.0, scikit-image 0.17.1, scipy 1.4.1, snpEff 5.0, sympy 1.6.2, TINKER 8.7.2, tqdm 4.47.0, Unicycler 0.4.8, VMD 1.9.4a43
  • minor enhancements, including:
    • also build Python libraries for ParaView 5.8.0 (#10927)
    • add extensions to recent Bioconductor easyconfigs: FlowSorted.Blood.EPIC (#11021), DRIMSeq + stageR (#11053)
    • add extensions to recent R easyconfigs: AICcmodavg + biomod2 (#11030), qqman (#11052), poLCA (#11081), coxed (#11094), testit + data.tree (#11135), celestial + fasterize (#11206)
    • add Config::Simple extension to Perl 5.30.x easyconfigs (#11051)
    • update TensorFlow v2.1.0 (#11109) and v2.0.0 (#11233) easyconfigs to provide more dependencies via EasyBuild
    • add CUDA compute capabilities to torchvision-0.5.0 (#11241)
  • various bug fixes, including:
    • patch to fix exporting images with PyQtGraph v0.10.0 (#10848)
    • add missing Python dependency to PETSc 3.11.1 (#10907) and PETSc 3.12.x (#10908) easyconfigs
    • use CMakeMake easyblock for installing magma to avoid C++11 related failures on POWER (#10929)
    • fix source URL for Graphviz v2.40.1 (#10944)
    • fix lapack.h for use with C++ in OpenBLAS 0.3.9 easyconfigs (#10960)
    • add missing build dep on M4 for 2019b versions of netCDF-Fortran (#10972)
    • update easyconfig for PyTorch 1.4 to use custom easyblock and run on POWER (#11000)
    • create symlinks to incorrectly named directories in OpenBabel-3.1.1 so $BABEL_LIBDIR and $BABEL_DATADIR work properly (#11004)
    • add missing Python build dep to recent ELPA easyconfigs (#11011)
    • use is_generic_easyblock from filetools in easyconfigs test suite (#11020)
    • fix sources in Portcullis v1.2.2 easyconfigs (#11038)
    • add patch for FFTW 3.3.8 to avoid use of -no-gcc when building with Intel compilers, to fix installation on CentOS 8 (cfr. #10932) (#11050)
    • add missing Python build dep for BEDTools 2.29.x (#11054)
    • add missing SciPy-bundle and Kent_tools (for bedPartition command) dependencies to FLAIR (#11057)
    • add patch to fix bug in LiBiS v20200428 easyconfig (#11059)
    • use FFTW provided via EasyBuild for ScaFaCoS (#11060)
    • fix undefined reference to qfloat16::mantissatable in Qt5.14.1 (#11063)
    • add alternative checksum for rstantools 2.0.0 extension (#11081)
    • update checksums for R 3.6.0 packages and add patch for ppc (#11088)
    • install scikit-learn 0.23.1 as a bundle and include required threadpoolctl extension (#11089)
    • update pybind11 easyconfigs to use custom easyblock to install with pip (#11091)
    • add recent six as extension to archspec installed on top of Python 3.7.4 (#11092)
    • add missing Seaborn dependency to LiBis easyconfig (#11095)
    • add missing dependencies for OpenPIV + switch to PythonBundle easyblock and include progressbar2 as extension (#11096)
    • add missing argparse dep to TEtranscripts easyconfig (#11097)
    • add missing pkg-config build dep in Octave 5.1.0 easyconfigs (#11100)
    • don't statically link MUSCLE, to avoid requiring that glibc-static is installed in OS (#11102)
    • add missing pkg-config build dependency in recent R-bundle-Bioconductor easyconfigs (#11104)
    • add patch to h5py 2.8.0 (#11119) and 2.9.0 (#11118) easyconfigs to avoid MPI_Init on import h5py
    • add patch to support libbfd 2.34 API change in Score-P 6.0 (#11123)
    • use pip to install protobuf-python in 2019b toolchain (requires re-downloading source tarball!) (#11143, #11260)
    • add missing Keras-Applications extension to TensorFlow 2.2.0 easyconfigs with foss*/2019b toolchain (#11156)
    • add missing pocl dependency in R 3.6.0 (#11157)
    • update Meson build dep to 0.55.1 for GLib, X11, Mesa & co to fix aggressive RPATH stripping (#11178)
    • disable generating of man pages in recent libdrm easyconfigs to avoid installation failure if docbook-xsl is not installed (#11182)
    • add fontconfig and bzip2 as direct dependencies for Qt5 to fix installation with --rpath (#11183)
    • fix failing make check for MPFR 4.x (#11187) and GMP (#11188) when installing with eb --rpath
    • add pkg-config as a build dependency for libglvnd (#11189)
    • add missing libiconv dep in recent Doxygen easyconfigs (#11191, #11257)
    • enhance Java/11 wrapper to also support for aarch64/Arm (#11192)
    • add pkg-config as a build dependency to Ghostscript 9.52, needed on aarch64/arm (#11194)
    • add patch for pycrypto extension in recent Python easyconfigs to remove hardcoded /usr/include which causes problems when eb --sysroot is used (#11202)
    • fix installation of R v3.6.3 and v4.0.0 with foss/2020a on Arm (aarch64) (#11213)
    • update PyTorch 1.4 easyconfigs to use custom easyblock (and do less downloading during installations) (#11219)
  • other changes:
    • don't require custom sanity_check_paths for CUDA bundle easyconfigs (#10936)
    • move intervaltree and sortedcontainers to main Python easyconfigs (#10969, #10970)
    • disable qtwayland in Qt5 v5.14.1 (#11107)
    • remove mklml (small MKL) from PyTorch 1.3.1 and 1.4.0 easyconfigs (#11019)
    • use pip to install h5py 2.10.0 (#11044)
    • stop testing easyconfig PRs with Travis, only use GitHub Actions from now on (#11008, #11055)
    • switch to Kent_tools built from source as dep for FusionCatcher (#11057)
    • fall back to using PR target branch when determining "merge base" between PR branch & target branch fails in test suite (#11069)
    • rename gtest to googletest (#11082)
    • rename sdsl-lite to SDSL (to use one single name) (#11084)
    • stop using remove_usr_bin patch in TensorFlow easyconfig, no longer required with updated TensorFlow easyblock (#11087)
    • extend timeout for libxc-4.3.4 to avoid failing tests (#11126)
    • move GitHub Actions status badge to top of README (#11138)
    • fix code style issues in test (#11146)
    • enable flake8 on CI and fix issues (#11147)
    • prefer gc GitHub site for source downloads (#11208)
    • prefer https over ftp in source_urls of IgBLAST easyconfig (#11244)

EasyBuild v4.2.2 (July 8th 2020)

bugfix/update release

framework

  • various enhancements, including:
    • add support for using sources and git_config for extensions in exts_list (#3294)
    • add support for software minver template (like %(pyminver)s, etc.) (#3344, #3345)
    • add support for updating dictionary or tuple easyconfig parameters with self.cfg.update (#3356)
  • various bug fixes, including:
    • fix crash in --avail-easyconfig-constants when using --output-format=rst + ensure sorted output (#3341)
    • always take into account builddependencies when generating template values, also when we're not iterating over builddependencies (#3346)
    • fix running command as easybuild user in generated Singularity definition file (#3347)
    • allow ignoring versionsuffix in --try-update-deps (#3350, #3353)
    • retain order of paths when generating prepend_path statements for module file (don't sort them alphabetically) (#3367)
    • also put easyblocks used by extensions in reprod directory (#3375)
    • also copy template values in EasyConfig.copy method to ensure they are defined when installing extensions (#3377)
    • skip lines that start with module-version when determining whether a module exists in ModulesTool.exist (#3379)

easyblocks

  • 3 new software-specific easyblocks:
  • minor enhancements, including:
    • use wclean -platform instead of wcleanPlatform for OpenFOAM v2006 & newer (#2088)
  • various bug fixes, including:
    • only build OpenCV with IPP support on x86_64 systems (#2056)
    • make sure CFLAGS and MYCFLAGS are used in Lua easyblock (#2062)
    • also accept exist_lic as valid value for license_file in IntelBase easyblock (#2067)
    • fix minor bug in shared libs handling and correctly setup SuiteSparse variables in Trilinos easyblock (#2071)
    • make sure PythonBundle uses correct python command in extensions filter + also add lib64/python*/site-packages to $PYTHONPATH (if it exists) (#2075, #2081)
    • fix build environment for WRF by patching shebang in compile script (#2079)
    • fix order of intel64/lib paths in generated module for impi (and drop intel64/lib/release_mt) (#2080)
    • set $XDG_CACHE_HOME to avoid abuse of $HOME/.cache/pip when installing DOLFIN (#2082)
    • make VMD easyblock Python 3 compatible (#2083)
    • rename include-fixed subdirectory in GCC installation to avoid problems after OS upgrade (#2087, #2093, #2094)
    • use glob pattern to determine name of Mathematica installation script (#2089)
    • use mpirun for sanity check commands in LAMMPS easyblock (#2096)

easyconfigs

  • added easyconfigs for 2 new toolchains:
    • golf/2020a (#10672)
    • intel/2020.06, based on intel/2020a but with impi 2018 update 5 (#10864)
  • added example easyconfig files for 36 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Armadillo 9.900.1, astropy 4.0.1, BLAST+ 2.10.1, BioPerl 1.7.7, Blitz++ 1.0.2, Bonito 0.2.0, bokeh 2.0.2, CFITSIO 3.48, CGAL 4.14.3, CLHEP 2.4.1.3, cutadapt 2.10, dask 2.18.1, Elk 6.3.2, GATE 9.0, GLM 0.9.9.8, GRASS 7.8.3, Geant4 10.6, geopandas 0.8.0, giflib 5.2.1, HDF5 1.12.0, HISAT2 2.2.0, Hadoop 2.10.0, IPython 7.15.0, inferCNV 1.2.1, Julia 1.4.2, LibSoup 2.70.0, MATIO 1.5.17, MRtrix 3.0.0, Mathematica 12.1.1 MultiQC 1.9, NGS 2.10.5, NiBabel 3.1.0, Nipype 1.4.2, ncbi-vdb 20.10.7, numba 0.50.0, OpenBabel 3.1.1, OpenFOAM v2006, PDT 3.25.1, PRSice 2.3.1, ParaView 5.8.0, ParmEd 3.2.0, PyQt5 5.13.2, Pysam 0.16.0.1, parallel 20200522, plotly.py 4.8.1, pybedtools 0.8.1, ROOT 6.20.04, ReFrame 3.0, Roary 3.13.0, rjags 4-10, rstudio 1.3.959, SPAdes 3.14.1, SRA-Toolkit 2.10.8, Saxon-HE 9.9.1.7, Seaborn 0.10.1, Seurat 3.1.5, SimPEG 0.14.1, Spark 2.4.5, StringTie 2.1.3, scikit-allel 1.2.1, scikit-learn 0.23.1, snpEff 4.3t, Valgrind 3.16.1, VarScan 2.4.4, vsc-mympirun 5.1.0, WebKitGTK+ 2.27.4, wxPython 4.0.7.post2, zarr 2.4.0
  • minor enhancements, including:
    • add extensions to R 4.0.0 easyconfig: drgee + stdReg (#10833), copCAR (#10911), ngspatial (#10913), drugCombo (#10914)
    • add extensions to R-bundle-Bioconductor 3.11 easyconfig: BSgenome.Cfamiliaris.UCSC.canFam3 (#10840), SingleR (#10904)
    • include extra extension and support for MPI in MAFFT v7.453 and v7.470 (#10853)
    • add Array::Transpose to Perl (#10878)
  • various bug fixes, including:
    • fix dependencies and configuration of CoinUtils ecosystem (#10450)
    • fix Togl configure patch so that it completely ignores TCL_SRC_DIR and TK_SRC_DIR (#10662)
    • change Xerces-C++ to official CMakeMake build (fixes missing links to curl) (#10664)
    • add -fPIC to toolchainopts in easyconfig for Lua 5.3.5 with system toolchain (#10671)
    • remove hardcoded X86 target in LLVM easyconfigs (#10677)
    • switch to https homepage and source_urls in libGLU easyconfigs (#10686)
    • add patch for h5py 2.10.0 to avoid triggering MPI_Init at import (#10687)
    • add alternative checksum for pkgmaker, doRNG, cobs extension in R 3.6.0 easyconfigs (#10692)
    • update UDUNITS source_urls to https sources (#10693)
    • add missing M4 to netCDF-Fortran easyconfigs using 2020a toolchain (#10695, #10697)
    • add Rgraphviz patch to R-bundle-Bioconductor easyconfigs (#10710)
    • add M4 builddependency to SuiteSparse 2019b easyconfigs (#10720)
    • make sure WHAM is built with correct compiler (#10736)
    • define MAX_JOBS in easyconfigs of PyTorch from v1.1.0 to v1.4.0 (#10772)
    • add dm-tree and lz4 as dependencies to Ray v0.8.4 (#10775)
    • fix source URL in recent ant easyconfigs (#10790)
    • bump versions of GO.gb/org.Hs.eg.db/PFAM.db extensions in Bioconductor 3.11 bundle, since sources for old versions have disappeared (#10791)
    • add patch to Armadillo easyconfigs using the foss toolchain to prevent it from picking up MKL if installed system-wide (#10812)
    • add missing kerneltree extension in FLAIR easyconfig (#10860)
    • fix source URLs in Eigen 3.2. (#10872) and 3.3. (#10869) easyconfigs
    • refer to issue in GitHub repo in configparser patch, since Bitbucket repo is disappearing (#10873)
    • switch to github.com source URL for MetaPhlAn (#10874)
    • switch to GitHub sources for ScientificPython 2.9.4 (#10875)
    • switch to GitHub source URL for HPDBSCAN (#10876)
    • download x265 3.2/3.3 sources from bitbucket.org/multicoreware/x265_git (#10905)
    • fix download URL for libatomic in gc 7.6.12 easyconfigs (#10915)
    • fix sanity_check_paths in CFITSIO-3.48-GCCcore-9.3.0.eb easyconfig (#10917)
    • add missing dependencies for geopandas 0.7.0 (#10923)
  • other changes:
    • rename OpenPyXL 2.6.4 easyconfig to openpyxl (#10916)

EasyBuild v4.2.1 (May 20th 2020)

bugfix/update release

framework

  • various enhancements, including:
    • also mention CPU architecture (x86_64, POWER) in comment for test reports (#3281)
    • add support for enhancing existing sanity check in easyconfigs, as opposed to overwriting paths/commands (#3288)
    • clean up locks when EasyBuild session is cancelled with a signal like SIGTERM (#3291, #3321)
    • add find_glob_pattern function to filetools module (#3297)
    • add constants for common OS dependencies (OS_PKG_IBVERBS_DEV, OS_PKG_OPENSSL_DEV, ...) (#3309, #3334)
    • flesh out get_mpi_cmd_template function from Mpi.mpi_cmd_for method (#3312)
    • add variable moddependpaths to specify extra $MODULEPATH entry to consider for loading dependency modules (#3324)
    • allow copying of tweaked easyconfigs when using --try-* with --copy-ec (#3332)
  • various bug fixes, including:
    • make ModulesTool.exist more robust w.r.t. module wrappers, aliases, defaults, etc. (#3216, #3337)
    • clean up rst output of --list-toolchains (#3246)
    • cast CPU arch name provided by archspec to a regular string (#3286)
    • get pr_title and pr_descr build_options in new_pr_from_branch instead of new_pr (and commit_msg in both) (#3298)
    • make pypi_source_urls more robust by using HTMLParser rather than xml.etree.ElementTree (#3303, #3329)
    • fix broken test for --include-easyblocks-from-pr (#3304)
    • don't use distutils.dir_util in copy_dir (#3310)
    • print trace message for sanity check command before running it (#3316)
    • fix problems with processing of easyconfigs using a Cray* toolchain when there are no actual external modules (#3319)
    • make test_find_eb_script more robust in case $EB_SCRIPT_PATH is already set (#3320)
    • fix several small problems with --try-update-deps (experimental feature) (#3325, #3326, #3330)
    • add --disable-job in eb command used in jobs, to prevent infinite job cycle (#3328)
    • avoid empty entries in $LD_LIBRARY_PATH and other path-like environment variables (#3333)
  • other changes:
    • fix code style issues in easybuild.tools + add flake8 linting test (#3282)
    • introduce contextmanager for disabling templating and reduce resolving errors (#3287)
    • add change_into_dir named argument to extract_file + print deprecation warning if it's not specified (#3292)
    • improve install_eb_dep.sh script to install EasyBuild dependencies in CI environment (#3314)

easyblocks

  • add generic easyblock for installing Go packages: GoPackage (#2042)
  • minor enhancements, including:
    • update config.guess for all R packages, required installing R + extensions on Linux/POWER systems (#1949)
    • add support for preinstallopts and install in subdirectory to Tarball generic easyblock (#1989, #2049)
    • rewrite GROMACS easyblock to install all four variations (single/double precision, with/without MPI) in the same directory (#1991)
    • add custom subdir_version easyconfig parameter for FLUENT (#2021)
    • use updated config.guess in GCC easyblock (#2033, #2059)
    • add extra question pattern to support installing CPLEX 12.10 (#2038)
    • add support for building NWChem on top of external GlobalArrays + also define $LAPACK_LIB (required for NWChem 7.x) (#2043)
    • execute minimal test in sanity check commands in impi easyblock (#2045)
    • update for MotionCor2 easyblock for v1.3.1 (#2046)
    • fixes + enhancements for PETSc easyblock (#2048)
  • various bug fixes, including:
    • use correct version in ELPA preprocessor flag used for QuantumESPRESSO v6.x (#2027)
    • generically find the arch folder and add top-level bin/lib symlinks in PDT & TAU easyblocks (#2029)
    • fix typo in LAMMPS easyblock preventing disabling the USER-INTEL package via configopts (#2031)
    • let CMakeMake remove easybuild_obj build directory if it already exists (#2032)
    • include own lib dir in RPATH before system lib dirs in binutils easyblock (#2044)
    • clean $CPATH before building ROOT to avoid clash between external LLVM loaded as a dependency and internal LLVM used by ROOT (#2047)
    • don't let extract_file change directory in various easyblocks (#2051)
    • make postinstallcmds available to Mathematica easyconfigs + add bin/Executables to $PATH (#2052)
    • fix the extra dirs added to PATH in FreeSurfer easyblock (#2053)
    • correct download url for test data in WPS easyblock (#2055)
    • fix typo in warning in TensorFlow easyblock (#2057)
    • fix failing sanity check under --module-only in GCC easyblock (#2059)
  • other changes:
    • add configure options for CubeLib/CubeWriter dependencies in Score-P easyblock (#2030)
    • remove local find_glob_pattern in Blender & ROOT easyblocks, use function provided by filetools instead (#2037)

easyconfigs

  • added easyconfigs for new common toolchains: foss/2020a (#10483, #10492), intel/2020a (#10494)
  • added example easyconfig files for 66 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ADF 2019.303, BRAKER 2.1.5, Bazel 2.0.0, Bonito 0.1.4, Boost.Python 1.72.0, Bowtie2 2.4.1, CMake 3.16.4, CPLEX 12.10, CVXOPT 1.2.4, Coreutils 8.32, cURL 7.69.1, DFTB+ 19.1, ecCodes 2.17.0, expat 2.2.9, FFmpeg 4.2.2, FriBidi 1.0.9, GATK 4.1.5.0, GCC(core) 10.1.0, GDAL 3.0.4, GEOS 3.8.1, GLib 2.64.1, GMP 6.2.0, GROMACS 2020.1, GTK+ 3.24.17, GenomeThreader 1.7.3, GffCompare 0.11.6, Ghostscript 9.52, GlimmerHMM 3.0.4c, GlobalArrays 5.7.2, gmpy2 2.1.0b4, gmsh 4.5.6, gpustat 0.6.0, gradunwarp 1.2.0, HDF5 1.10.6, hwloc 2.2.0, hypothesis 5.6.0, ICU 66.1, IPython 7.13.0, ImageMagick 7.0.10, Julia 1.4.1, KMC 3.1.2rc1, Kraken2 2.0.9, LMfit 1.0.0, Longshot 0.4.1, libarchive 3.4.2, libffcall 2.2, libffi 3.3, libgd 2.3.0, libjpeg-turbo 2.0.4, librsvg 2.48.4, libsigsegv 2.12, lrslib 7.0a, MEME 5.1.1, MPC 1.1.0, Mako 1.1.2, Mesa 20.0.2, Meson 0.53.2, MotionCor2 1.3.1, MultiQC 1.8, matplotlib 3.2.1, NGS-Python-2.10.4, NGS 2.10.4, NSPR 4.25, NSS 3.51, NWChem 7.0.0, Nextflow 20.04.1, Ninja 1.10.0, Normaliz 3.7.4, nanopolish 0.13.1, ncbi-vdb 2.10.4 netCDF 4.7.4, OpenBLAS 0.3.9, OpenEXR 2.4.1, OpenMPI 4.0.3, OpenSSL 1.1.1e, openpyxl 3.0.3, PAPI 6.0.0, PCRE 8.44, PCRE2 10.34, PLUMED 2.6.0, PMIx 3.1.5, PROJ 7.0.0, Perl 5.30.2, Pillow 7.0.0, PyYAML 5.3, Python 2.7.18 + 3.8.2, parallel 20200422, Qt5 5.14.1, R-bundle-Bioconductor 3.11, R 3.6.3 + 4.0.0, RMBlast 2.9.0, Racon 1.4.13, Ray 0.8.4, Rust 1.42.0, re2c 1.3, rioxarray 0.0.24, rootpy 1.0.1, rstudio 1.2.5042, SCons 3.1.2, SDL2 2.0.10, SIONlib 1.7.6, SQLite 3.31.1, SRA-Toolkit 2.10.4, Salmon 1.2.0, ScaLAPACK 2.1.0, SciPy-bundle 2020.03, Stacks 2.53, StringTie 2.1.1, SuiteSparse 5.7.1, snappy 1.1.8, spaln 2.4.03, sympy 1.5.1, Tcl 8.6.10, TensorFlow 2.2.0, Tk 8.6.10, Tkinter 3.8.2, tbl2asn 20200302, torchvision 0.5.0, UCX 1.8.0, UMI-tools 1.0.1, utf8proc 2.5.0, util-linux 2.35, worker 1.6.12, wxWidgets 3.1.3, X11 20200222, XZ 5.2.5, x264 20191217, x265 3.3, zsh 5.8, zstd 1.4.4
  • minor enhancements, including:
    • add additional extensions for recent versions of R (#10359, #10585, #10586, #10621) and R-bundle-Bioconductor (#10585, #10596, #10621)
    • add additional extensions for recent versions of Perl (#10412, #10546, #10623)
    • include LLVM linker in Clang 7.0.1 on GCC 7.3.0-2.30(#10458)
    • include static lib and header in nimimap2 easyconfigs for foss-2018b and GCC-8.2.0* (#10464)
    • add alternate checksum for EMBOSS (#10607)
  • various bug fixes, including:
    • fix incorrect checksums for Amber patches (#8870)
    • add patches to fix installation of R 3.6.2 on POWER (#9830)
    • add missing build dep. pkg-config in GObject-Introspection 1.63.1 w/ Python 3.7.4 easyconfig (#10380)
    • add Perl as a build dependency for recent Autoconf/Automake easyconfigs (#10408, #10426)
    • fix source_urls in ICU easyconfigs (#10417)
    • disable USER-INTEL package in LAMMPS easyconfigs using intel/2019b, since it results in an installation that produces incorrect results (#10418)
    • fix undefined reference to qfloat16::mantissatable in Qt5-5.13.1-GCCcore-8.3.0 (#10425)
    • get rid of double '-' in versionsuffix of torchtext easyconfig (#10472)
    • fix broken Mako easyconfigs (#10480, #10627)
    • move builddependencies to dependencies in OTF2 and Score-P easyconfigs (#10496)
    • add missing cURL dep for LAMMPS (#10527)
    • add Python 2 build dependency for OpenPGM (#10539)
    • use OS_PKG_IBVERBS_DEV constant for OS dependency in PyTorch 1.4.0 easyconfigs (#10540)
    • add missing Bison build dep in Graphviz easyconfigs (#10541)
    • use https in homepage for Mathematica 12.0.0 + clean up sanity check commands (now done by easyblock) (#10559)
    • add missing PyVCF dependency for BAMSurgeon (#10564)
    • remove FFTW dependencies from LAMMPS easyconfigs, no longer needed (MKL can be used too now) (#10565)
    • fix ITK v5.0.1 easyconfig w.r.t. locale and location of libjpeg-turbo library (#10592)
    • add patch to fix missing const qualifiers for ncurses (#10606)
    • fix OS dependency for rstudio for Debian-based systems (#10608)
    • fix Rmath paths in easyconfig for FastQTL v2.184 (#10612)
    • add symlink for Arlequin commands + fix sanity check commands (#10620)
    • fix recent binutils easyconfigs using system toolchain for Fedora 32 / GCC 10 (#10633)
    • replace '/path/to' with actual installation prefix in FuSeq scripts (#10640)
  • other changes:
    • check sdist with different Python versions in CI (#10388)
    • use Bison 3.3.2 as build dep for flex 2.6.4 (#10403)
    • mention http:// Pfam website rather than ftp:// in load message of BiG-SCAPE easyconfig (#10439)
    • archive old Singularity configs (#10591)
      • Singularity is not well suited to install via EasyBuild because it requires admin privileges to enable setuid
    • stop using old hpcugent URL for cloning framework/easyblocks repos in CI (#10635)
    • use SYSTEM constant for toolchain in easyconfigs already use system toolchain (#10638)

EasyBuild v4.2.0 (April 14th 2020)

feature release

framework

  • add support for --try-update-deps (experimental feature), to upgrade dependencies based on available easyconfigs (#2599)
  • adding locking to prevent two parallel builds of the same installation directory (#3009)
  • significantly speed up -D/--dry-run by avoiding useless 'module show' (#3203)
  • add support for creating an index & using it when searching for easyconfigs (#3210)
  • additional GitHub integration features:
  • various other enhancements, including:
    • add a contrib/hooks dir with some examples of hooks used (#2777)
    • also mention working directory + input passed via stdin (if any) in trace output of run_cmd (#3168)
    • probe external modules for missing metadata that is not provided via external module metadata file (#3174)
    • also update $CMAKE_PREFIX_PATH and $CMAKE_LIBRARY_PATH in generated module file (#3176)
    • optionally call log.warning in print_warning (#3195)
    • add an option to git_config to retain the .git directory (#3197)
    • allow use of SYSTEM as --try-toolchain option (#3213)
    • mention CPU arch name in comment for uploaded test report, if it's known by archspec (#3227)
    • make --merge-pr take into account --pr-target-branch (#3236)
    • make --check-contrib print a warning when None is used for checksums (#3244)
    • update install-EasyBuild-develop.sh script and create script for 2020a merge sprint (#3245)
    • add template for mpi_cmd_prefix (#3264)
    • update copy_dir to include option to merge directories (#3270)
    • support template name for CUDA version (#3274)
  • various bug fixes, including:
    • use correct module for errors_found_in_log (#3119)
    • fix EasyConfig.update code to handle both strings and lists as input (#3170)
    • fix removing temporary branch on --check-github (#3182)
    • fix shebang even if first line doesn't start with '#!' (#3183)
    • make bootstrap script work with Python 3 (#3186)
    • read patch files as bytestring to avoid UnicodeDecodeError for patches that include funky characters (#3191)
    • fix online check in --check-github: try repeatedly and with different URLs to cater for HTTP issues (#3194)
    • don't crash when GitPython is not installed when using Python 3 (#3198)
    • fix os_name_map for RHEL8 (#3201)
    • don't add shebang to binary files (#3208)
    • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#3219)
    • don't filter out None values in to_checksums, leave them in place (#3225)
    • fix defining of $MPI_INC_* and $MPI_LIB_* environment variables for impi version 2019 and later (#3229)
    • use correct target account/repo when creating test report & posting comment in PR (#3234)
    • reorganize EasyBlock.extensions_step to ensure correct filtering of extensions (#3235)
    • also support %(installdir)s and %(builddir)s templates for extensions (#3237)
    • unset $GITHUB_TOKEN in Travis after installing token, to avoid failing test_from_pr_token_log (#3252)
    • fix reporting when skipping extensions (#3254)
    • avoid API rate limit errors on online check in --check-github (#3257)
    • show easyconfig filenames for parallel build (#3258)
    • make EasyConfig.dump aware of toolchain hierarchy, to avoid hardcoded subtoolchains in dependencies easyconfig parameters (#3261)
    • fix use of --copy-ec with a single argument, assume copy to current working directory (#3262)
    • fix posting of comment in PR with --upload-test-report (#3272)
    • take into account dependencies marked as external modules when composing template values like %(pyver)s (#3273)
  • other changes:
    • increase timeout & use api.github.com for connectivity check in check_github (#3192)
    • restore flake8 default ignores (#3193)
    • enable tracking of test suite coverage using coveralls (#3204)
    • make tests use easybuilders/testrepository rather than hpcugent/testrepository after it was moved (#3238)
    • improve raised error in remove_dir and deprecate rmtree2 (#3228)

easyblocks

  • 7 new software-specific easyblocks:
  • minor enhancements, including:
    • make ParMETIS easyblock compatible with custom configopts (#1774)
    • update Trinity easyblock for v2.9.0 (#1906)
    • disable ROCM and Android workspace explicitly in TensorFlow easyblock (#1944)
    • update QuantumESPRESSO easyblock for version 6.5 (#1947)
    • update Siesta easyblock to support MaX-1.0 release (#1954)
    • update Ferret easyblock for versions >= 7.5.0 (#1956)
    • update XCrySDen easyblock to support Togl dependency (#1959)
    • pass value for TARGET specified in buildopts to testopts and installopts in OpenBLAS easyblock (#1960)
    • fix netCDF(-Fortran) support in Siesta easyblock (#1967, 1971)
    • add NCDF_PARALLEL and METIS support to Siesta easyblock (#1973)
    • add support for use_pip_extras custom easyconfig parameter in PythonPackage easyblock (#1980)
    • update Open Babel easyblock for version 3.0.0 (#1992)
    • allow differing names for TensorFlow wheel (#1995)
    • make MATLAB runtime available from MATLAB (#2008)
  • various bug fixes, including:
    • fix linking of Hypre to external BLAS/LAPACK + support building (only) static/shared library (#1885)
    • fix MPI-CXX dependency of PETSc (#1917)
    • limit amount of parallelism in TensorFlow easyblock (#1934)
    • support GCCcore and gcc4.8 (if that dir exists) in function get_tbb_gccprefix in tbb easyblock (#1943)
    • restore default flake8 warnings (#1950)
    • remove tests from build_step and raise error on failed tests in OpenBLAS easyblock (#1952, #1955, #1962)
    • add optional runtest to the catch for FATAL ERRORS to OpenBLAS easyblock (#1958)
    • ensure right 'python' command is used to determine Python lib dir when system Python is used with PythonBundle easyblock (#1961)
    • make sure lib/python*/lib-dynload exists in Python installation (#1966)
    • in version 6.0 of TensorRT, libnvinfer.a is renamed libnvinfer_static.a (#1970)
    • handle configopts without configure args in CMake easyblock (#1974)
    • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#1976)
    • don't insist that pylibdir always exists in OpenCV easyblock (#1977)
    • also set $TRINITY_HOME environment variable in Trinity easyblock (#1979)
    • fix sanity check for OpenFOAM-Extend >= 4.1 (#1981)
    • fix pattern matching in regex subst for I_MPI_ROOT in impi easyblock (#1986)
    • use remove_dir instead of deprecated rmtree2 in various easyblocks (#1993)
    • fix "AttributeError: module 'git' has no attribute 'Git'" that may occur when using Python 3 (#1994)
    • don't sanity check for QtWebEngine in Qt easyblock when building for POWER (#2000)
    • fix installation of TensorFlow in some environments, by setting $PYTHONNOUSERSITE (& more) (#2002, #2020)
    • make sure libxml2 is built with XZ provided as dependency (#2005)
    • look for Python version directories with suffixes in ROOT easyblock (#2010)
    • enable TK, FLTK and OPENGL configure options in VMD easyblock (#2013)
    • update the contributing docs (#2014)
    • fix numexpr easyblock to allow (correctly) installing it as extension (#2022)
  • other changes:
    • simplify various CMakeMake-based easyblocks by enhancing CMakeMake (w.r.t. CMAKE_BUILD_TYPE, shared vs static libs, -fPIC) (#1929)
    • enable out of tree build by default in CMakeMake easyblock (#1933)
    • force building Clang without CUDA when it is not found as a proper dependency (#1968)

easyconfigs

  • added example easyconfig files for 114 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABySS 2.1.5, Arrow 0.16.0, BCFtools 1.10.2, BEDTools 2.29.2, BUSCO 4.0.5, BerkeleyGW 2.1.0, binutils 2.34, CVXPY 1.0.28, CharLS 2.1.0, CheckM 1.1.2, Clang 10.0.0, CppUnit 1.15.1, canu 1.9, cutadapt 2.8, DIAMOND 0.9.30, davix 0.7.5, ELPA 2019.11.001, FastANI 1.3, FastQC 0.11.9, Ferret 7.5.0, GATK 4.1.4.1, GCCcore 9.3.0, GDB 9.1, GMAP-GSNAP-2019-09-12, GObject-Introspection 1.63.1, GPAW 20.1.0, GROMACS 2020, GTDB-Tk 1.0.2, GTK+ 3.24.13, Go 1.14.1, Gradle 6.1.1, GraphicsMagick 1.3.34, Graphviz 2.42.2, Gurobi 9.0.1, gSOAP 2.8.100, gnuplot 5.2.8, gtest 1.10.0, HDDM 0.7.5, HTSlib 1.10.2, HarfBuzz 2.6.4, Horovod 0.19.1, Hypre 2.18.2, IGV 2.8.0, IQ-TREE 1.6.12, IRkernel 1.1, iccifort 2020.0.166, igraph 0.8.0, impi 2019.6.166, ispc 1.12.0, Java 13(.0.2), Julia 1.4.0, Keras 2.3.1, Kraken2 2.0.8-beta, kim-api 2.1.3, LAST 1045, LASTZ 1.04.03, LLVM 9.0.1 + 10.0.0, LMfit 0.9.14, LS-PrePost 4.7.8, likwid 5.0.1, MAFFT 7.453, MATLAB 2019b, MMseqs2 10, Maven 3.6.3, Meson 0.53.1, MethylDackel 0.5.0, Mono 6.8.0.105, medaka 0.12.0, Nextflow 20.01.0, ncdf4 1.17, netcdf4-python 1.5.3, nodejs 12.16.1, numba 0.47.0, numexpr 2.7.1, Octave 5.1.0, OpenBLAS 0.3.8, OpenBabel 3.0.0, OpenCV 4.2.0, OpenFOAM-Extend 4.1-20191120, OrthoFinder 2.3.11, PETSc 3.12.4, PGI 19.10, PMIx 2.2.1, Pango 1.44.7, PyTables 3.6.1, PyTorch 1.4.0, parasail 2.4.1, pydicom 1.4.2, pyproj 2.4.2, Qhull 2019.1, QuantumESPRESSO 6.5, R-bundle-Bioconductor 3.10, RDKit 2019.09.3 Racon 1.4.10, ReFrame 2.21, Ruby 2.7.1, rjags 4-9, rpy2 3.2.6, SLEPc 3.12.2, SPAdes 3.14.0, SPAdes 3.14.0, STAR-Fusion 1.8.1, STAR 2.7.3a, Seaborn 0.10.0, SeqAn 1.4.2, Seurat 3.1.2, SimpleElastix 1.1.0, SimpleITK 1.2.4, Stacks 2.5, Stata 16, StringTie 2.1.0, scikit-optimize 0.7.4, statsmodels 0.11.0, TensorFlow 1.15.2 + 2.0.1, Tkinter 2.7.16, Trim_Galore 0.6.5, Trimmomatic 0.39, Trinity 2.10.0, tbb 2020.2, tqdm 4.41.1, XCrySDen 1.6.2, XGBoost 0.90, xarray 0.15.1, xmlf90 1.5.4
  • minor enhancements, including:
    • add easyconfig for Java 11.0.6 on ppc64le and alter the Java 11 wrapper to support both x86_64 and ppc64le (#9371)
    • add additional extensions for R: HiddenMarkov (#9685), lmerTest (#9853), VSURF + Rborist (#10355)
    • change Mesa 19.1.7 + 19.2.1 easyconfigs to use custom easyblock for Mesa (#9764)
    • build shared libs and install header files for Ghostscript (#9785)
    • add MUMPS as dependency in PETSc 3.12.4 easyconfigs (#9880, #9891)
    • add Perl extensions: Term::ReadLine::Gnu (#9901), URI::Escape and Set::IntervalTree (#10049)
    • add dat directory to aNCI (#9929)
    • add patch to create a symlink from libsvm.so.$(SHVER) to libsvm.so in LIBSVM easyconfigs (#10045)
    • build SUNDIALS with 'pic' (#10278)
    • add BSgenome.Hsapiens.UCSC.hg38 + MEDIPS extensions to R-bundle-Bioconductor v3.10 (#10298)
    • fix checksums for mkl-dnn and tbb extensions (moved to oneAPI repo) in PyTorch easyconfigs (#10367)
    • update Java/1.8 wrapper to Java/1.8.0_241.eb (#10305)
  • various bug fixes, including:
    • use CMake for building double-conversion (#9659)
    • update recent libdrm easyconfigs to use custom easyblock & avoid hardcoded x86-specific sanity check (#9694)
    • add alternate checksum for OpenMolcas 18.09 (#9701)
    • use Github to download releases for MariaDB-connector-c (#9702)
    • add -DOMPI_SKIP_MPICXX in configopts for MathGL, to avoid using mpicxx during build (#9703)
    • make installing independent of build folder in pybind11 easyconfig (#9738)
    • add Lua as a dependency to gnuplot (#9773)
    • stick to http:// source URLS for ISL in GCCcore easyconfigs, since https:// doesn't work (#9784)
    • add alternative checksums for farver/fracdiff/pkgmaker/rngtools/doRNG/cobs extensions in R 3.6.2 easyconfigs (#9789)
    • add patch for OpenBLAS 0.3.4 w/ GCC/8.2.0-2.31.1 to fix broken tests (#9865)
    • revert removal of AVX512 vmovd with 64-bit operands in binutils 2.32 easyconfigs (#9866)
    • fix inline asm in dscal: mark x, x1 as clobbered, in OpenBLAS 0.3.8 (#9867)
    • add missing sanity_check_commands to cutadapt v1.18 and v2.7 easyconfigs (#9869)
    • don't overwrite configopts in BLAST+ easyconfigs, append to it (#9875)
    • add alternate checksum for LaplacesDemon in R 3.6.x easyconfigs (#9879, #10382)
    • fix redefining of preconfigopts in OpenCV easyconfigs (#9895)
    • use symlinks for terminfo files instead of hard links in ncurses 6.1 easyconfigs (#9912)
    • fix NCIPLOT build flags (#9915)
    • add missing patch to iccifort libxc easyconfigs (#9918)
    • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#9925)
    • re-enable building utils in Siesta 4.1-MaX-1.0 release (#9936)
    • fix homepage and source URLs in SLEPc easyconfigs by using https (#9943)
    • fix source URLs for rgeos after source tarball was moved to CRAN archive (#9954)
    • add dependencies on Python 3 and SciPy-bundle in Trinity v2.9.1 easyconfig (#9957)
    • patch GCC lisanitizer for glibc 2.31 (#9966)
    • add Zip as build dependency for recent Bazel versions (#9972)
    • fix checksums in Jellyfish v2.3.0 easyconfigs (#9997)
    • fix source URLs for ParMGridGen easyconfigs (#10019)
    • disable unintended Octave support in all libsndfile easyconfigs (#10027)
    • fix sources for LS-PrePost 4.6 (#10236)
    • security update for vsc-mympirun 4.1.9 (#10185)
    • configure libwebp to also install libwebpmux (#10274)
    • ensure that CVS easyconfigs are included in source tarball produced by 'python setup.py sdist' (#10326)
    • fix undefined reference error due to libxc 4.3.4 built with CMake (#10356)
    • fix source_urls for tbb: use (new) official 'oneapi-src' GitHub repository (#10361)
    • update checksums and homepage in tbb easyconfigs (#10285)
  • other changes:
    • use new custom easyblock in recent CMake easyconfigs (#9871, #9923)
    • add check for redefined easyconfig parameters in easyconfig tests (#9876)
    • use M4-1.4.18.eb for test installation in easyconfigs test suite (#9926)
    • use https:// in homepage/source_urls of zlib-1.2.11.eb (#10018)
    • add -GCCcore-9.2.0 versionsuffix for intel/2020.00 components (#10083)
    • add checksum of new tbb 2019_U9 source tarball, next to original one + update homepage (#10237)
    • add comment informing about manually setting Gallium drivers in easyconfigs for Mesa v19.1.7 and v19.2.1 (#10276)

EasyBuild v4.1.2 (March 16th 2020)

bugfix release

Note

This release includes a bug fix for the leaking of your GitHub token in the EasyBuild (debug) log file.

We strongly encourage that you revoke the GitHub tokens you are using currently, via https://github.com/settings/tokens, and to replace them using a new token (using eb --install-github-token --force ).

More information in https://github.com/easybuilders/easybuild-framework/pull/3248.

framework

  • fix gitdb dependency on Python 2.6 in test configuration (#3212)
  • fix broken test for --review-pr by using different PR to test with (#3226)
  • censor authorization part of headers before logging ReST API request (#3248)

easyblocks

(no changes)

easyconfigs

(no changes)

EasyBuild v4.1.1 (January 16th 2020)

bugfix/update release

framework

  • various enhancements, including:
    • add check_log_for_errors function (in easybuild.tools.run) to detect and handle multiple errors (#3118)
    • implement support for eb --show-ec to show contents of specified easyconfig file (#3132)
    • also update $XDG_DATA_DIR (share/) and $GI_TYPELIB_PATH environment variables (lib/girepository-) in generated module files (#3133)
    • add support for --copy-ec to copy easyconfig file to specified location (#3142)
    • mention --disable-* option in --help output for boolean options enabled by default (#3151)
    • add --cuda-compute-capabilities configuration option (#3161)
  • various bug fixes, including:
    • ignore imports from vsc namespace made from pkgutil.py (#3120)
    • only actually change permissions using os.chmod in adjust_permissions if the current permissions are not correct already (#3125)
    • use shutil.copyfile to just copy file contents if target path exists and is owned by someone else (#3127)
    • fix or avoid warnings that commonly arise in build log (#3129)
    • disable buffering in asyncprocess.Popen using bufsize=0, to fix run_cmd_qa missing output (#3130)
    • update pip & install wheel package in generated Singularity container recipes (#3136)
    • avoid crash in modify_env & unset unset_env_vars when using (older versions) of Python 3.5 & 3.6 by using list(...) (#3140)
    • take into account that lib64 could be a symlink to lib (or vice versa) in get_software_libdir function (#3141)
    • only parse docstring if it exists in gen_easyblock_doc_section_rst function (#3144)
    • only add useful entries for $CPATH, $(LD_)LIBRARY_PATH and $PATH (non-empty directories) (#3145, #3152)
    • fix --list-software=detailed when using Python 3 by leveraging sort_looseversions function from py2vs3 module (#3146)
    • ensure subdirectories in software install directory have correct search (exec) permission (#3147)
    • take into account that a checksum value may be a tuple of valid checksum in EasyBlock.check_checksums (#3153)
  • other changes:
    • bump to Lmod 8.2.9 in GitHub CI config (#3115)
    • update copyright statements for 2020 (#3149)
    • make Hound CI code style checker ignore "Black would make changes" produced by flake8-black (#3162)

easyblocks

  • new software-specific easyblock for cryptography (to fix missing -pthread for all versions) (#1874)
  • minor enhancements, including:
    • update WPS easyblock for v3.6 & newer (#1315)
    • update FSL easyblock to support FSL v6.0.2 & newer (#1860)
    • add setup_cmake_env function in CMakeMake easyblock which can be leveraged in other easyblocks, and use it for OpenFOAM (#1869)
    • remove obsolete configure options for Python + build with optimizations/LTO enabled for recent Python versions (#1876)
    • update WPS easyblock for recent versions: set $WRF_DIR to point to location of WRF installation (#1886)
    • make sure $LIBLAPACK_MT is set before using it in ESMF easyblock (#1887)
    • remove useless PATH entries + add PKG_CONFIG_PATH in imkl easyblock (#1900)
    • enhance tbb easyblock to support building on POWER (#1912)
    • enhance TensorFlow easyblock to pick up on --cuda-compute-capabilities, and issue a warning if no CUDA compute capabilities are specified (#1913)
    • add custom easyconfig parameter build_type to generic CMakeMake easyblock (#1915, #1922)
  • various bug fixes, including:
    • fix for conda packages that rely on particular versions of Python (#1836)
    • fix path for intel and netCDF lib directories in NCL easyblock (#1862)
    • fix CUDA 10.1 installation on POWER (#1871)
    • change Bazel easyblock to prefer using Java dependency rather than included JDK (fix for POWER9) (#1875)
    • remove optarch warning in GROMACS for Cray toolchains (#1879)
    • also fix $WM_COMPILE_OPTION in OpenFOAM rc scripts to make debug builds work correctly (#1880)
    • limit MPI ranks used for running WRF test cases to max. 4 + include contents of rsl.error.0000 output file in case test failed (#1884)
    • update $PYTHONPATH + add python -c 'import mrtrix3' as sanity check command for recent MRtrix versions (#1889)
    • update sanity check in SAMtools easyblock for version 1.10 (#1890)
    • make sure $PYTHONNOUSERSITE it set when performing sanity check for (bundles of) Python package(s) (#1891)
    • fix install dir subdir for WPS v4.0+ that is considered for $PATH and $LD_LIBRARY_PATH (#1895)
    • impi: don't rebuild libfabric if the source code is not present (#1896)
    • also copy component patches to self.cfg in Bundle generic easyblock (#1897)
    • skip patch step in Bundle generic easyblock (per-component patches are still applied) (#1898)
    • derive easyblock for iccifort only from icc easyblock (not ifort), to avoid adding include subdir to $CPATH (#1899)
    • add export LANG=C to preinstallopts instead of install_script path in CUDA easyblock (#1902)
    • stop setting updating $CPATH and $LIBRARY_PATH for GCC and GCCcore, not required (#1903)
    • remove $LIBRARY_PATH entries in iccifort easyblock, already known to icc et al (#1904)
    • use major/minor version of Python command being used if req_py_majver/req_py_minver are not specified (#1907)
    • define $EB_PYTHON in module for EasyBuild installation, to make sure correct Python version is used at runtime (#1908)
    • fix Python easyblock to allow configuring build of Python v3.8 (Setup.dist script was renamed to Setup) (#1909)
    • fix netCDF easyblock for version 4.4.0 (#1911)
    • correct comment about when we set RUNPARALLEL in HDF5 easyblock (#1914)
    • do not sanity check on MATLAB compiler, since it requires a separate license (#1916)
    • build HDF5 without MPI C++ extension to avoid breaking linkage for C software that requires HDF5 (#1918, #1919)
    • override set_pylibdirs method in VersionIndependentPythonPackage to hard set self.pylibdir to 'lib' (#1924)
  • other changes:
    • increase timeout for interactive installation command in CUDA easyblock to 1000 sec. (#1878)
    • disable running of sudo apt-get update in GitHub CI config, since it's failing (and we don't really need it) (#1882)
    • stop requiring Python dep for SWIG, just configure with --without-python if Python is not a dependency (#1894)
    • update copyright statements for 2020 (#1905)
    • make Hound CI code style checker ignore "Black would make changes" produced by flake8-black (#1923)

easyconfigs

  • added example easyconfig files for 27 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Beast 1.10.4, Boost.Python 1.71.0, Clang 9.0.1, ESMF 8.0.0, FSL 6.0.3, fastp 0.20.0, freeglut 3.2.1, GDAL 3.0.2, GEOS 3.8.0, GROMACS 2019.4, GSL 2.6, hwloc 2.1.0, Jellyfish 2.3.0, Julia 1.3.1, LibTIFF 4.1.0, libxml2 2.9.10, lxml 4.4.2, Mothur 1.43.0, mayavi 4.7.1, molmod 1.4.5, netCDF-C++4 4.3.1, netCDF-Fortran 4.5.2, numactl 2.0.13, OpenFOAM 7, OpenFOAM v1912, OpenMM 7.4.1, OpenMPI 4.0.2, PLUMED 2.5.3, PROJ 6.2.1, plotly.py 4.4.1, pocl 1.4, QuickFF 2.2.4, R 3.6.2 w/ foss/2019b and fosscuda/2019b, ReFrame 2.20, SAMtools 1.10, SUNDIALS 5.1.0, SWIG 4.0.1, Salmon 1.0.0, SuiteSparse 5.6.0, snakemake 5.7.1, TensorFlow 2.1.0 w/ fosscuda/2019b, torchvision 0.4.2, WPS 4.1, WRF 4.1.3
  • added easyconfigs for intel/2020.00 toolchain (#9575)
  • minor enhancements, including:
    • add POWER9 support to CUDA 10.1 easyconfigs (#9442)
    • build CMake in parallel (#9543)
    • use NCCL for GPU ops in Horovod 0.18.2 easyconfig (#9562)
    • update Java/1.8 wrapper to Java/1.8.0_231 (for x86_64) (#9585)
  • various bug fixes, including:
    • fix remote launch of broker and workers for SCOOP (#9366)
    • fix failing RPATH sanity check for NCL 6.6.2 due to missing dependencies (+ add easyconfig using foss/2018b) (#9388)
    • add missing 'wheel' extensions to Spark 2.4.0 easyconfig using intel/2018b toolchain (#9424)
    • add missing OS dependencies in Java 1.8 easyconfig used on POWER systems (#9454)
    • fix build of recent Bazel versions on Power9 + stick to Java/1.8 as dependency (#9455)
    • fix CMake 3.15.3 build on Power (+ enable building in parallel) (#9469)
    • fix source URLs in xorg-macros easyconfigs (#9477, #9578)
    • add missing wcwidth extension to Python 2.7.15 + 2.7.16 easyconfigs & enable 'pip check' in sanity check (#9479)
    • remove (wrong) GI_TYPELIB_PATH and XDG_DATA_DIRS in various easyconfigs (#9528, #9577, #9615)
    • use xorg-macros as dependency in X11 easyconfigs (rather than installing it as a bundle component) (#9546)
    • fix lpsymphony extension for R-bundle-Bioconductor (#9548)
    • add correct 'old-versions' source URL to all Mesa easyconfigs (#9569)
    • add missing SHA256 checksums for Armadillo (#9572)
    • also define $AUGUSTUS_BIN_PATH and $AUGUSTUS_SCRIPTS_PATH in generated module file for AUGUSTUS (#9579)
    • add SSL OS dependencies for GDAL 3.0.0 (#9586)
    • add missing jupyter_contrib_core extension for IPython 7.7.0+ + consistently include jupyter_nbextensions_configurator extension (#9587)
    • patch libcxx (Clang 8.0.0) on pcc64le for incomplete IBM128 long double in GCC (#9590)
    • patch for GCCcore 8.2.0 to fix '__float128 is not supported on this target' on ppc64le (#9591)
    • fix broken easyconfigs for cyvcf2 v0.11.5 by adding missing 'monotonic' extension (#9601)
    • use absolute path for extraction to allow relocating the build dir for g2log-1.0 (#9604)
    • add alternate SHA256 checksum for kallisto-0.43.1 after re-release under same version without code changes (#9611)
    • add additional valid checksum for MASS 7.3-51.4 extension in R 3.6.0 easyconfigs (#9621)
    • update ctffind website (#9622)
    • make sure we use easybuild Clang in pocl easyconfigs (#9624)
    • make postinstallcmds independent of current working directory in OpenCV 3.1.0 easyconfigs (#9628)
    • update source_urls to include old releases folder in libsodium easyconfigs (#9632)
    • fix source URLs for ant v1.10.5 - v1.10.7 (#9633)
    • update URLs to new location of libxc (#9635)
    • add alternate SHA256 checksum for rda_1.0.2-2.1 extension in R 3.6.0 (#9644)
    • update source URLs in QCA 2.1.0 easyconfigs (#9647)
    • fix Python 3.5.1 easyconfig: bitstring 3.1.3 sources no longer available on PyPI (#9649)
    • fix tesseract 4.1.0 dependencies (#9650)
    • make ICU 64.2 depend on Python3 instead of Python 2, to avoid picking up system Python 3.x (#9652)
    • use True (boolean value) rather than 'True' (string value) for boolean easyconfig parameters (#9657)
    • fix pyfits easyconfig by adding missing d2to1 extension (#9687)
  • other changes:
    • disable running of sudo apt-get update in GitHub CI config, since it's failing (and we don't really need it) (#9492)
    • require that sanity_pip_check is enabled in new/changed easyconfigs (#9516, #9576)
    • update copyright statements for 2020 (#9598)
    • allow missing '-Python-*' versionsuffix for existing easyconfig files changed in PRs (#9634)

EasyBuild v4.1.0 (December 4th 2019)

bugfix/update release

framework

  • various enhancements, including:
    • performance improvements:
      • skip validation when copying EasyConfig object for extension (#3071)
      • correctly specify that ActiveMNS & co are singleton classes when using Python 3 (#3073)
      • don't call out to prohibitively expensive getRootLoggerName in getLogger, just use 'root' instead (#3074)
      • fix inconsistent module path usage that leads to repeated reloading in HMNS (#3099)
    • add support for specifying different dependency version based on processor architecture (#3047)
    • support use of glob patterns for paths to files with external modules metadata (#3075)
    • take into account that external modules may not be visible directly (due to module hierarchy) (#3083)
    • add support for including 'extensions' statement in Lua modules with Lmod 8.2.8+ (#3085, #3107, #3110)
    • add support for --sync-pr-with-develop (#3087)
    • add support for --new-branch-github, --new-pr-from-branch, --sync-branch-with-develop, --update-branch-github (#3103)
    • fix typo in docstring for new_branch_github (#3106)
  • various bug fixes, including:
    • correctly handle iccifortcuda toolchain with standalone iccifort in det_toolchain_compilers (#3055)
    • init git repo with git.repo.clone() instead of copy_dir() (#3062)
    • fix regular expression so depends-on statements are recognized correctly in Tcl module files (#3065)
    • update GitPython to latest version that supports Python 2.6 in requirements.txt to fix broken test_new_update_pr (#3066)
    • imply --disable-pre-create-installdir with --inject-checksums (#3069)
    • handle patches in extensions more like normal patches (#3067)
    • take into account that platform.linux_distribution and platform.dist was removed in Python 3.8 (#3078)
    • always include mandatory easyconfig parameters in dumped easyconfig (#3081)
    • hide backup module file when using Lmod 6.x (fixes #9302) (#3089)
    • add better error message when mandatory key is missing from a dictionary easyconfig parameter (#3092)
    • also create symlinks for default modules in class module folders (#3093)
    • fix semantics of --set-default-module: only set default for specified easyconfigs, not for the ones that are installed as dependencies via --robot (#3094)
    • fix various issues in extracting comments from original easyconfig file and including them again in dumped easyconfig (#3095)
    • don't use %(version)s template in exts_default_options in dumped easyconfig (#3096)
    • fix generated module statements in case only a single version is listed in multi_deps (#3097)
    • fix broken test_show_system_info on macOS due to 'Python' binary (#3105)
    • take into account that dependency version could be a dict rather than a string value in template_constant_dict (#3111)
  • other changes:
    • deprecate running EasyBuild with Python 2.6 via new check_python_version() function (#3076)
    • deprecate support for using Lmod 6.x (#3077)
    • trim set of test configurations in Travis CI (#3086)
    • flesh out env_vars_external_module from Toolchain._simulated_load_dependency_module (#3088)

easyblocks

  • new software-specific easyblock for cuDNN, to allow setting cudnnarch (#1855)
  • refactored software-specific easyblock for Xmipp, based on Scons (#1837)
  • minor enhancements, including:
    • add prebuildopts to Bazel build command (#1838)
    • add support to Toolchain generic easyblock for defining $EB* environment variables for toolchain components that use an external module (#1849)
    • add support for running 'pip check' during sanity check in generic PythonPackage easyblock (#1853)
  • various bug fixes, including:
    • clean up /tmp/cuda-installer.log in CUDA easyblock, to avoid segfault in cuda-installer (#1835)
    • minor fix to name of Gctf binary (#1840)
    • move BLAS toolchain existence check earlier in SuperLU easyblock (#1842)
    • fixes for TensorFlow easyblocks w.r.t. Bazel build options & __init__ in top-level google-protobuf package dir (#1843)
    • fix support for sequential version in MUMPS easyblock (#1845)
    • change default value of files_to_copy to None in MakeCp generic easyblock + code cleanup & use change_dir, copy_dir, copy_file and mkdir function from filetools (#1848)
    • prepend -L$EBROOTZLIB/lib to LDFLAGS in SCOTCH easyblock (#1850)
    • improve configuration in netCDF and netcdf4_python easyblocks (#1852)
    • fix CUDA header paths for TensorFlow versions < 1.14 (#1854)
    • handle incorrect regex better in generic CmdCp easyblock (#1861)
    • add missing docstrings in cmakeninja easyblock (#1867)
  • other changes:
    • add GitHub Actions workflow to run easybuild-easyblocks test suite (#1844)

easyconfigs

  • added example easyconfig files for 46 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • awscli 1.16.290, BLIS 0.6.0, Bazel 1.1.0, Biopython 1.75, Blender 2.81, bokeh 1.4.0, CONCOCT 1.1.0, CUDA 10.2.89, Catch2 2.11.0, CellRanger 3.1.0, CheckM 1.0.18, dask 2.8.0, deepTools 3.3.1, FastANI 1.2, Flye 2.6, GDCM 3.0.4, GTDB-Tk 0.3.2, Glade 3.8.6, Hadoop 2.9.2, h5py 2.10.0, hypothesis 4.44.2, IPython 7.9.0, Kaiju 1.7.2, Kraken 1.1.1, libsodium 1.0.18, MEGAHIT 1.2.8, Mesa 19.2.1, MetaBAT 2.14, matplotlib 3.1.1, metaWRAP 1.2.2,cNCCL 2.4.8, NGS 2.10.0, NiBabel 2.5.1, netCDF 4.7.1, networkx 2.4, numba 0.46.0, OpenCV 3.4.7, OpenCoarrays 2.8.0, OpenEXR 2.4.0, OpenFOAM v1906, OpenImageIO 2.0.12, ParaView 5.6.2, Pillow 6.2.1, PyTorch 1.3.1, PyYAML 5.1.2, Pysam 0.15.3, picard 2.21.1, prokka 1.14.5, protobuf 3.10.0, R-keras 2.2.5.0, Racon 1.4.7, SCOTCH 6.0.9, SRPRISM 3.1.1, Salmon 0.14.2, SciPy-bundle 2019.10, Subread 2.0.0, scikit-image 0.16.2, scikit-learn 0.21.3, TRIQS 2.2.1, TensorFlow 1.15.0, TensorFlow 2.0.0 w/ fosscuda/2019b, Tkinter 3.7.4, ToFu 1.4.1, tbb 2019_U9, Xerces-C++ 3.2.2, Xmipp 3.19.04, yaff 1.6.0
  • added easyconfigs for intelcuda/2019a toolchain (#9271)
  • minor enhancements, including:
    • tweak Java 1.8 wrapper to use different Java version on POWER systems (#9081)
    • add jupyter_nbextensions_configurator extension to IPython 7.7.0 easyconfigs (#9133)
    • add additional extensions to R 3.6.0 easyconfigs (#9184, #9275)
    • add additional extensions to R-bundle-Bioconductor 3.9 easyconfig (#9185, #9349, #9410)
    • enhance sanity check in cutadapt 1.18 easyconfigs + consistently use PythonBundle & use_pip (#9219)
    • update cuDNN 7.6.4.38 easyconfigs to support both x86_64 and ppc64le (#9331)
    • tweak NCCL 2.4.8 easyconfig to support x86_64 and ppc64le (#9336)
    • define $SPARK_HOME in generated module file for Spark 2.4.0 (#9408)
    • add sanity check command for matplotlib 3.x with Python 3 to check import from mpl_toolkits (#9413, #9414)
  • various bug fixes, including:
    • explicitly set SYSCONFDIR configure option in TurboVNC easyconfig (#9137)
    • patch pigz Makefile so zlib provided by EasyBuild is picked up (#9138)
    • add libjpeg-turbo as dependency to recent LibTIFF easyconfigs, to avoid picking up LibTIFF installed in system (#9146)
    • add freetype as dependency to OpenImageIO, to avoid picking up freetyype installed in system (#9147, #9152)
    • fix definition of fosscuda/2019b to make sure it works with hierarchical MNS (#9178)
    • add missing setuptools_scm extension required to build dateutil extension in Python 3.7.0 easyconfigs (#9209)
    • add Python as build dependency for recent Bazel versions (#9223, #9299, #9342)
    • fix homepage & description in Bioconductor easyconfigs (#9225)
    • fix checksum in Stacks 2.41 easyconfig after sneaky re-release (#9232)
    • apply fixes to ImageJ 1.51k easyconfig (#9245)
    • consistently use patch for OpenCV 3.4.7 (#9279)
    • use protobuf 3.10.0 as build dep for TensorFlow 2.0.0 w/ fosscuda/2019b + use nodocs variant of git as build dep (#9298)
    • add Jasper dependency to Qt5 v.5.13.1 (#9313)
    • fix Python 3.7.2 required OpenSSL version for old OS to the one provided on the same toolchain (#9324)
    • add missing extensions required by Sphinx & pytest to easyconfigs for Python 3.7.2 and 3.7.4 (#9329)
    • update TensorFlow v1.14.0 + v2.0.0 CUDA patch to handle compiler wrappers like ccache (#9333)
    • patch binutils 2.31.1 and 2.32 to fix compatibility with RHEL8 (#9335)
    • add missing extensions in TensorFlow 2.0.0 easyconfigs (+ update to tensorboard/tensorflow-estimator 2.0.1) (#9338)
    • fix logic to determine location of scripts dir + ensure right compiler flags are used in KAT easyconfigs (#9360)
    • add missing GCCcore-6.3.0_fix-sanitizer_linux.patch in GCCcore 6.4.0 easyconfig (#9362)
    • fix linker errors when linking with libhts.a for MetaBAT 2.12.1 (#9379)
    • add egg-info file via patch in VTK v8.2.0, for Python 2.7.15, 3.7.2, 3.7.4 (#9386)
    • promote binutils to a runtime dependency for Python in GCCcore based builds (#9402)
    • fix archive URL typo for ncdf4 (#9407)
    • fix problems with mpl_toolkits namespace for matplotlib easyconfigs using Python 2 (#9415, #9416, #9417)
  • other changes:
    • ignore commented out lines in easyconfig files when checking for http:// URLs (#9224)
    • add GitHub Actions workflow to run easybuild-easyconfigs test suite (#9231, #9255)
    • archive old patches for Xmipp 3.1 (#9256)
    • speed up easyconfigs test suite by avoiding re-parsing and re-ordering of easyconfigs (#9236)
    • only run easyconfigs test suite with Python 2.7 & 3.6 + Lmod 7 in Travis CI (#9297)
    • archive ACML easyconfigs (#9367)
    • update CMake build in Eigen 3.3.7 to use more recent toolchain (#9398)

EasyBuild v4.0.1 (October 15th 2019)

bugfix/update release

framework

  • various enhancements, including:
    • add 'parallel' to list of config templates (#3036)
    • add GitHub Actions workflow to run easybuild-framework test suite (#3039)
    • add 'retest' as a reason to --close-pr, to close/re-open PRs to trigger re-test in Travis (#3040)
    • define $EB_SCRIPT_PATH in 'eb' wrapper script, and consider it before location of 'eb' determined via $PATH in get_paths_for function (#3046)
    • add support for --remove-ghost-install-dirs configuration option, and warn about (potential) ghost install dirs by default when --force/--rebuild is used (#3050)
  • various bug fixes, including:
    • update bootstrap script to support installing EasyBuild v4.0 (#3017)
    • fix broken test_download_repo due to archiving of easyconfigs (#3019, #3023)
    • avoid that --inject-checksums introduces list of patches for extensions as a single long line (#3025, #3034)
    • enhance regex in fix_shebang method to fix more Python/Perl shebangs + avoid patching binary files (#3029)
    • delete test gist that is created by --check-github (#3031)
    • disable templates when defining easyconfig parameters in EasyConfig.set_keys() (#3037)
    • avoid setting GC3Pie's max_in_flight to None if --job-max-jobs is not specified (#3038)
    • fix use of obtain_file method for extensions (#3042)
    • error out if some GC3Pie job failed (#3044)

easyblocks

  • one new generic easyblock: CMakeNinja (#1829)
  • new software-specific easyblock for Gctf (#1827), MotionCor2 (#1819)
  • minor enhancements, including:
    • update OpenFOAM easyblock for changes in version 1906 w.r.t. wamke rules (#1772)
    • add %(cudaarch)s template variable so that it can be used in sources (#1797)
    • update Boost easyblock for versions >=1.71.0 (#1814)
    • update RepeatMasker easyblock for version 4.0.9 (#1815)
    • add --verbose flag to 'pip install' when running EB in debug mode (#1822)
    • update TensorFlow easyblock to support TensorFlow 2.0 (#1823)
    • add support in TensorFlow easyblock to run a custom test script as smoke test (#1824)
    • add support for installing QScintilla on top of PyQt5 (#1825)
    • update VEP easyblock to make installation compatible with Bio::EnsEMBL::XS (#1828)
  • various bug fixes, including:
    • enhance TensorFlow easyblock to support installing TF 1.14.0 with CUDA and MPI support (#1811, #1816)
    • avoid UnicodeDecodeError when reading 'configure' script and checking for 'Generated by GNU Autoconf' in ConfigureMake (#1817, #1821)
    • don't require 'python' command to install libxml2 without Python bindings (#1818)
    • make sure "generic=True" actually turns on generic build in GCC easyblock (#1826)
    • fix compatibility of Trilinos easyblock with Python 3 (#1831)

easyconfigs