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:
    • 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)
  • various bug fixes, 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)

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

  • added example easyconfig files for 58 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Armadillo 9.700.2, arpack-ng 3.7.0, BLASR 5.3.3, Bazel 0.26.1 + Bazel 0.29.1, Cufflinks 20190706, DL_POLY_Classic 1.10, FFmpeg 4.2.1, Go 1.13.1, Horovod 0.18.1, IOR 3.2.1, Julia 1.2.0, LLVM 9.0.0, Mesa 19.1.7, Molden 6.1, Mono 6.4.0.198, NCO 4.8.1, , Net-core 3.0.0, Nim 1.0.0, OpenFOAM 2.2.x, PGI 19.7, PLUMED 2.5.2, PMIx 3.1.4, PostgreSQL 11.3, psycopg2 2.8.3, QGIS 3.4.12, QScintilla 2.11.2, Qt5 5.13.1, ReFrame 2.19, Rust 1.37.0, Spack 0.12.1, TAMkin 1.2.6, TensorFlow 1.14.0 w/ fosscuda/2019a, TensorFlow 2.0.0 w/ foss/2019a, UCX 1.6.1, VEP 96.0, xarray 0.13.0
  • added easyconfigs for fosscuda/2019a toolchain (#9066)
  • minor enhancements, including:
    • add EBImage extension to easyconfig for R-bundle-Bioconductor 3.9 (#8982)
    • add check for http:// URLs in easyconfig files added/changed in PRs (#9012)
    • add bbmle/emdbook/SOAR/rasterVis/tictoc extensions to R 3.6.0 easyconfigs (#9037)
    • updated PyQt5 5.12.1 easyconfig to also build sip files + minor readability changes (#9071)
    • enabled SQLITE_ENABLE_COLUMN_METADATA, which is needed for GDAL (and QGIS) (#9118)
    • also install include/GL/internal/ for recent Mesa installations (#9129)
  • various bug fixes, including:
    • add ncurses as dependency to lftp (#8646)
    • add patch for gettext 0.19.8* to avoid picking up global git config that could break the installation (#8957)
    • fix source URLs in GlimmerHMM easyconfigs (#8980)
    • add patch for PyTorch 1.2.0 to use version of torchvision that is compatible with PyTorch 1.2.0 (#8986)
    • clarify the comment regarding the optarch setting in ITK-5.0.1 (#8991)
    • fix homepage & description in easyconfig file for YAPS (#8993)
    • add patch for PyTorch 1.2.0 to fix failing softmax test on Intel Sandy Bridge (#9010)
    • fix permissions for TRF (#9034)
    • ICU needs Python 2.7+ to build, so add that as builddependency (#9053)
    • fix urls for Anaconda and Miniconda (#9087)
    • use a cuDNN version that has support for the CUDA version in fosscuda/2019a (CUDA 10.1) in PyTorch, TensorFlow and Theano easyconfigs (#9112)
  • other changes:
    • make sources in CUDA 10.1.105 use %(cudaarch)s template value (to use different source on POWER systems) (#8136)
    • update Java/1.8 wrapper to Java/1.8.0_221 (#9038)
    • allow divergent Java dep version as long as it's indicated by versionsuffix (#9041)

EasyBuild v4.0.0 (September 20th 2019)

feature release (incl. backwards-incompatible changes)

framework

easyblocks

  • fixes due to backwards-incompatible changes in easybuild-framework v4.0.0
    • use is_system_toolchain() rather than checking toolchain name against DUMMY_TOOLCHAIN_NAME constant (#1690, #1728)
  • fix compatibility of various easyblocks with Python 3 (#1640, #1644, #1648, #1721, #1794, #1808, #1795, #1796, #1807, #1809)
  • new software-specific easyblocks for OpenMPI (#1789, #1801), iccifort (#1799) and numexpr (#1803, #1804)
  • various other enhancements, including:
    • removed checks for Boussinesq and sonic solvers for OpenFOAM 7, since those have been deprecated (#1733)
    • update Paraver easyblock to support recent versions (#1790)
  • various bug fixes, including:
    • update the PyPI trove classifiers (#1723)
    • make the plugins build use the correct Tcl library version in VMD easyblock (#1786)
    • use *_MT libs for BLAS/LAPACK only if openmp is enabled in Trilinos easyblock (#1791)
    • filter out empty entries in $CPATH or $C_INCLUDE_PATH when building Perl, since that breaks the build (#1800)
    • set $XDG_CACHE_HOME in TensorFlow easyblock to avoid that pip (ab)uses $HOME/.cache (#1802)
    • don't load modules for dependencies in CrayToolchain.prepare_step (#1805)
  • other changes:
    • drop requirement for setuptools as runtime dependency (#1689)
    • enable 'check_ldshared' in generic PythonPackage easyblock by default for recent Python versions (#1788)
    • stop trying to use setuptools.setup in setup.py, always use distutils.core.setup instead (#1793)

easyconfigs

  • fixes due to changes in easybuild-framework v4.0.0
  • fix compatibility with Python 3: also run easyconfigs tests with Python 3.5, 3.6 and 3.7 (#7778, #7836, #8293)
  • added easyconfigs for new common toolchains: foss/2019b (#8567), intel/2019b (#8681)
  • added example easyconfig files for 28 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Blosc 1.17.0, bokeh 1.3.4, cURL 7.66.0, csvkit 1.0.4, dask 2.3.0, Extrae 3.7.1, FSL 6.0.1, GLibmm 2.49.7, git 2.23.0, IPython 7.7.0, numexpr 2.7.0, OSU-Micro-Benchmarks 5.6.2, OpenBLAS 0.3.7, OpenSSL 1.1.1d, ParaView 5.5.2, Paraver 4.8.1, Perl 5.30.0, PnetCDF 1.10.0, Porechop 0.2.4, PyTables 3.5.2, PyTorch 1.2.0, Python 2.7.16 + 3.7.4, parallel 20190622, phonopy 2.2.0, QIIME2 2019.7, Qiskit 0.12.0, REMORA 1.8.3, scikit-image 0.15.0, spglib-python 1.14.1.post0, torchvision 0.3.0, X11 20190717
  • various additional minor enhancements, including:
    • add several extensions to R 3.6.0 easyconfigs (#8843, #8881)
    • add pRoloc to R-bundle-Bioconductor v3.9 (#8882)
    • clean up OpenMPI 3.1.* and 4.* easyconfigs to use custom OpenMPI easyblock (#8889, #8890)
    • update numexpr easyconfigs to use custom easyblock for numexpr (#8901)
    • switch to PythonBundle & enable use_pip in old dask easyconfig files (#8922)
    • update CrayCCE, CrayGNU, CrayIntel and CrayPGI toolchains to 19.06 (#8944)
  • various bug fixes, including:
    • make TensorFlow 1.7.0 work for AMD CPUs (#6256)
    • make sure that right Python wrapper is used in VTK8 (#7296)
    • update the PyPI trove classifiers (#8298)
    • add missing checksum for matplotlib v3.0.3 (#8643)
    • add patch to plugins/Make-arch to use the correct Tcl library version in VMD (#8820)
    • fix issue where 'print_qiime_config.py -t' sanity check command fails for QIIME 1.9.1 because of missing subdir in $PYTHONPATH (#8838)
    • update homepage info in likwid (#8846)
    • disable threading in preprocessCore extension included with Bioconductor 3.9 to work around conflict with OpenBLAS's threading (#8847)
    • add -lrt patch to PyTorch 1.1.0 easyconfig (#8852)
    • fix incorrect escaping in SIP configure options in PyQt5 easyconfigs (#8856)
    • add missing Autotools build dep for fastq-tools (#8858)
    • add missing deps for zlib, bzip2, and XZ for angsd (#8867)
    • apply patch to R package uroot in R 3.6.0 (#8872)
    • consider archive source URL for all extensions in R-tesseract easyconfig (#8897)
    • add pkg-config build dep for tesseract v4.0.0 (#8898)
    • fix source_urls in byacc easyconfig files (#8899, #8908)
    • add missing cairo dependency to PRINSEQ easyconfig file (#8902)
    • configure OpenMPI 1.10.x with --without-ucx to avoid problems when ucx-devel is installed in the OS (#8903)
    • add GDAL 3.0.0 for Python 2.7.15 and fix the Python 3.7.2 version (#8912)
    • fix homepage & description in scikit-image easyconfigs (#8916)
    • add faulthandler patches to Python 3.7.0 easyconfigs (#8832)
  • other changes:
    • archive ancient CUDA 5.0.35 easyconfigs with creative way of determining sources (#7796)
    • remove ancient easyconfigs from archive (#8542)
    • archive easyconfigs using deprecated toolchains (#8557, #8558, #8585)
    • archive ancient versions of GC3Pie/GCC/OpenMPI/ORCA (#8586) & CPLEX (#8765)
    • rename SALMON to SALMON-TDDFT to fix name clash with Salmon (#8613)
    • bump AnnotationDb version in bundle for Bioconductor 3.9 (#8854)
    • stop trying to use setuptools.setup in setup.py, always use distutils.core.setup instead (#8866, #8892, #8894)
    • archive easyconfigs using ancient Cray* toolchains (#8945)

EasyBuild v3.9.4 (August 23rd 2019)

bugfix/update release

framework

  • various enhancements, including:
    • add support for specifying checksum via dict providing a filename-to-checksum mapping (#2946)
    • enhance 'completed' message with how much time was needed for the installation (#2956)
    • add support for specifying tuple of alternative checksums (#2958)
    • support using 'system' as alias for 'dummy' toolchain + SYSTEM constant (#2960)
    • ensure 'docurls' easyconfig parameter value is a list of string values, not a single string value (#2963)
    • automatically enable --ignore-osdeps when using --check-contrib or --check-style (#2965)
  • various bug fixes, including:
    • escape '+' in search queries + handle invalid search queries better (#2967)
    • also consider extension patches when determining for which easyconfig a given patch file is intended in --new-pr/--update-pr (#2969)
    • unset $CDPATH early on if it is defined (#2970)
    • create specified temporary log directory if it doesn't exist yet in init_logging (#2972)
    • don't indicate first multi_deps version as default in module help text when multi_deps_load_default=False (#2973)
  • other changes:
    • deprecate toolchains older than gompi/2016a and foss/2016a (#2951)

easyblocks

  • new software-specific easyblock for MSM (#1770, #1775, #1776)
  • minor enhancements, including:
    • allow specifying the license file directly in MATLAB easyblock (#1712)
    • enhance CPLEX easyblock to also build Python bindings (#1738)
    • workaround for XCrySDen for Tcl 8.6 (#1749)
    • update WIEN2k easyblock to support version 19.1 (#1758)
    • resolve custom %(cudaarch)s template value for CUDA sources (#1766)
    • enhance sanity check for Blender to make sure that Cycles render engine is available (#1779)
  • various bug fixes, including:
    • only check for qtwebengine in custom easyblock for Qt(5) if glibc is sufficiently recent (#1771)
    • correctly define comp.src in Bundle easyblock, to fix compatibility with easyblocks that leverage self.src (#1777)
    • fix Bundle.check_checksums to checksums for extensions are also checked (#1778)

easyconfigs

  • added example easyconfig files for 36 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ASE 3.18.0, BEDTools 2.28.0, Bowtie 1.2.3, bzip2 1.0.8, CPLEX 12.9, CUDA 10.1 update 2, cyvcf2 0.11.5, EIGENSOFT 7.2.1, GC3Pie 2.5.2, GCC(core) 9.2.0, GPAW 19.8.1, GlobalArrays 5.7, IMB 2019.3, imageio 2.5.0, jemalloc 5.2.0, nodejs 10.15.3, PyTorch 1.1.0, pybedtools 0.8.0, Quandl 3.4.8, R 3.6.0 w/ intel/2019a, R-bundle-Bioconductor 3.9, Salmon 0.14.1, Scalasca 2.5, Score-P 6.0, Stacks 2.41, TensorFlow 1.14.0, ToFu 1.4.0, WIEN2k 19.1, Wannier90 3.0.0, XCrySDen 1.5.60
  • minor enhancements, including:
    • add patch and dependencies to easyconfig for Qt5 5.12.3 to fix Xlib support & enhance the installation (#8544)
    • update nodejs to version 10.15.3 and build libnode and libv8 shared libs (#8546)
    • add extensions to R 3.6.0 easyconfig: MIIVsem (#8565), medflex (#8680), Rserve/spls (#8758), Boruta/CovSel/ctmle/BayesPen (#8805)
    • include PyQtWebEngine bindings in easyconfig for PyQt5 5.12.1 using Python 3.7.2 (#8572)
    • switch GLX backend to Gallium in Mesa-19.0.1 (#8594)
  • various bug fixes, including:
    • fix typo in description in GroopM easyconfig file (#8346)
    • add missing bugfix patch to easyconfig for OpenMPI 3.1.4 (#8566)
    • downgrade AtomPAW to last supported version in ABINIT 8.10.3 (#8571)
    • switch easyconfig for glew 2.1.0 to ConfigureMake easyblock (#8595)
    • fix checksum for source tarball in foss/2018b easyconfig of NAMD v2.13 (#8602)
    • update URL for bzip2 easyconfigs (#8614)
    • add patch for M4 1.4.17 to fix installation on top of glibc 2.28 (#8666)
    • add patch for Bison 3.0.4 to fix installation on top of glibc 2.28 (#8675)
    • avoid needless requirement for matplotlib < 3.0.0 in MultiQC easyconfigs (#8691)
    • fix checksum in OpenMPI 1.8.8 easyconfigs (#8692)
    • add alternative checksums for nlme/mgcv/foreign/boot extensions in R 3.5.1 and 3.6.0 easyconfigs (#8564, #8762)
    • add missing core-counter dependency for worker 1.6.8 (#8749)
    • add missing pkg-config build dependency in various easyconfigs for (#8763, #8775, #8777, #8776, #8764, #8787, #8816)
    • add patch to Python 3.7.2 easyconfig to fix faulthandler segfault (#8781)
    • set $CPLUS_INCLUDE_PATH in easyconfigs for older matplotlib versions (#8785)
    • patch out removed glibc 2.28 header from GCC libsanitizer (#8789)
    • include sysmacros.h directly to work around removal from glibc header in numactl easyconfig (#8790)
    • adapt gzip's bundled gnulib for glibc 2.28 (#8791)
    • add libtirpc and depend on it in easyconfig for libdap 3.20.3 (#8792)
    • add missing YAML extension to Perl 5.28.0 easyconfig (required by BioPerl scripts) (#8806)
  • other changes:
    • remove broken easyconfigs for ciftify due to non-trivial missing dependencies (#8560)

EasyBuild v3.9.3 (July 8th 2019)

bugfix/update release

framework

  • various enhancements, including:
    • add a URL whatis line to generated module files (#2933)
  • various bug fixes, including:
    • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#2928)
    • honor --tmp-logdir when determining location of temporary log file (#2937)

easyblocks

  • minor enhancements, including:
    • also install docs and demos in Rosetta easyblock (#1745)
    • update HEALPix easyblock to work with latest version of HEALPix' configure.sh (#1752)
    • make HPCG log pattern more generic, it changed in 3.1 (#1753)
    • allow bootstrapping GCC with profile-guided optimizations (#1756)
    • only require vsc-base for EasyBuild 2.x and 3.x in EasyBuildMeta easyblock (#1757)
    • extend question patterns with 'https' URL entry in Modeller easyblock for recent versions (#1762)
    • modextrapaths implemented on easyblock level, sanity_check_step, gcc_target added in HEALPix easyblock (#1763)
    • update OpenBLAS easyblock to be aware of POWER9 support in OpenBLAS 0.3.6 (#1765)
  • various bug fixes, including:
    • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#1751)
    • fix scripts installation path in SNPhylo easyblock (#1759)
    • be more patient when running interactive Allwmake.firstInstall command for recent OpenFOAM-Extend versions (#1761)
    • also add --without-go configure option for SWIG as we "disable everything by default" (#1754)
    • don't assume cmake arguments when configure_cmd is set in CMakeMake easyblock (#1750)

easyconfigs

  • added example easyconfig files for 25 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 8.10.3, CFITSIO 3.47, GDB 8.3, GROMACS 2019.3, HEALPix 3.50, HPCG 3.1, Nilearn 0.5.2, OpenBLAS 0.3.6, Xerces-C++ 3.2.0
  • minor enhancements, including:
    • update easyconfig for CFITSIO 3.45 with https and sanity check (#8472)
    • add AtomPAW and Wannier90 support to ABINIT 8.10.2 easyconfig (#8506)
    • add 'resample' extension to R 3.5.1 + 3.6.0 easyconfigs (#8538)
  • various bug fixes, including:
    • fix source URLs for Mesa 17.{2,3} with fosscuda toolchain (#8446)
    • add in Boost dependency to canu-1.8 easyconfigs using foss toolchain (#8470)
    • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#8483)
    • fix incorrect order of extensions for Python-2.7.14 easyconfigs (pycparser and cffi must come before cryptography) (#8495)
    • suppress installation of libbfd and libopcode for GDB (#8496)
    • fix KronaTools easyconfigs to make sure symlinks in bin are not broken (#8508)
    • make additional configopts in PETSc easyconfigs work after uncommenting (#8522)
    • add pkg-config build dep to easyconfig for pocl 1.2 (#8528)
    • download correct source tarball for Net-core 2.1.8 (#8530)
    • fix 'Permission denied' error when running 'cp -a' for ANTs 2.3.1 installation by first removing the .git subdirectories causing them (#8535)
    • fix checksum for boot 1.3-22 extension in R 3.6.0 easyconfig (#8537)

EasyBuild v3.9.2 (June 9th 2019)

bugfix/update release

framework

  • various enhancements, including:
    • enhance (experimental) support for generating Singularity container recipes/images (#2884, #2900, #2902, #2903, #2907, #2909, #2910, #2913, #2915)
      • add support for specifying container configuration via --container-config (--container-base option has been removed)
      • add support for providing custom template for container recipe via --container-template-recipe
      • add support for 'sif' Singularity 3.x container image format
      • add support for specifying non-image based Singularity bootstrap agents
      • install default set of OS packages in container recipes starting from scratch
      • configure Lmod and update Lmod spider cache in generated Singularity container recipes
      • configure EasyBuild via environment variables (to allow overriding configuration settings via options to 'eb' command)
      • also consider /tmp/easybuild/sources in source path (to allow seeding in sources in container build environment)
      • updated documentation is available at https://easybuild.readthedocs.io/en/latest/Containers.html
  • various bug fixes, including:
    • make sure that easyconfig file for EasyBuild version being bootstrapped is found in robot search path (#2899)
    • remove interpreter options when fixing script shebang (#2905, #2906)
    • fix crash on iterated installation when using Cray toolchains (#2914)
    • disable checking of read/exec permissions when checking for availability of 'sudo' command (#2918)
  • other changes:
    • stick to vsc-base < 2.9.0 in bootstrap script to avoid requiring 'future' dependency (#2892)

easyblocks

  • new software-specific easyblock for ELPA (#1621)
  • minor enhancements, including:
    • allow Boost to build both Python 2 and Python 3 libraries (#1718)
    • update CPLEX sanity check: convert tool was removed in CPLEX 12.8 (#1737)
    • don't try to patch CROSSTOOL script for recent Bazel versions (since it's no longer there) (#1741)
  • various bug fixes, including:
    • fix version check on using '-log' option to 'Allwmake' in OpenFOAM easyblock (#1739)
    • fix GROMACS easyblock for list-type configopts (#1740)
    • fix configure step for GROMACS version < 4.6 (#1742)

easyconfigs

  • added example easyconfig files for 17 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • BLAST+ 2.9.0, Boost.Python 1.70.0, DIAMOND 0.9.24, EMAN2 2.3, ecCodes 2.12.5, GDAL 3.0.0, ImageMagick 7.0.8-46, Libint 2.5.0, matplotlib 2.2.4, NLopt 2.6.1, OrfM 0.7.1, PGI 19.4, PostgreSQL 11.3, R 3.6.0, R-bundle-Bioconductor 3.8, Rust 1.35.0, STAR 2.7.1a
  • minor enhancements, including:
    • use CMake rather than configure script for libxc 4.3.4 (#8361, #8453)
    • add 'cobs' extension to R 3.5.1 easyconfigs (#8389)
    • add sanity check command to PSI4 1.2.1 easyconfigs to ensure that 'import psi4' works (#8393)
    • include the provided backports patch in QuantumESPRESSO-6.4.1 (#8405)
    • add Logger::Simple, Scalar::Util::Numeric, YAML, Object::InsideOut extensions to Perl 5.28.1 easyconfig (#8432)
    • update Java 1.8 to 1.8.0_212 (#8443)
  • various bug fixes, including:
    • add missing build dependency on gettext to ATK/2.28.1 for fosscuda/2018b (#8402)
    • add patch to fix OpenBLAS v0.3.1 matrices multiplication issue (#8396)
    • make Eigen a build dependency for nanopolish (#8448)
  • other changes:
    • clean up ELPA 2018.11.001 easyconfig to use custom easyblock for ELPA (#8360)
    • remove unused checksum for ballgown extension in Bioconductor 3.7 easyconfigs (#8363)

EasyBuild v3.9.1 (May 20th 2019)

bugfix/update release

framework

  • various enhancements, including:
  • various bug fixes, including:
    • only call 'scontrol release' when there's at least one job submitted (#2834)
    • fix small bug in find_eb_script + various minor issues with tests (related to environment in which tests are run) (#2835)
    • list build dependencies before runtime dependencies, so dependencies listed via multi_deps are loaded first in toolchain environment (#2839)
    • allow setting parallel to 0 or False to disable adding the -j argument (#2842)
    • be more careful when using single quotes for Tcl syntax (#2847)
    • append to existing .modulerc file rather than overwriting it (if --force is used) (#2848)
    • correctly resolve template values used for extensions (#2852)
    • update template values after updating iterative easyconfig parameters (#2854)
    • add top-level directories of hierarchical module naming scheme to $MODULEPATH before loading dependencies (#2857)
    • inject dependencies specified via multi_deps before normal build dependencies (#2861)
    • include Python version(s) in PR titles auto-generated by --new-pr (#2863, #2880)
    • update HierarchicalMNS for GCCcore toolchain (#2870)
    • bump iteration index counter at the correct time (#2886)
    • don't specify --ntasks-per-node when submitting Slurm jobs (#2887)
    • fix order of easyconfig parameters in output generated by 'eb --avail-easyconfig-params --output-format rst' (#2888)
  • other changes:
    • lower required version in Slurm job backend to 16.05 (#2833)
    • add Lmod 8 to test suite (#2849)
    • deprecate useless 'skip_lower' named argument in template_constant_dict, always define *lower templates (#2856)
    • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#2876)

easyblocks

  • one new generic easyblock: CMakeMakeCp (#1725)
  • new software-specific easyblock for Blender (#1595), Lua (#1396), OpenBLAS (#1693, #1697)
    • OpenBLAS easyblock also supports installation on POWER systems
  • minor enhancements, including:
    • enhance VMD easyblock to also build Surf & Stride + pick up netCDF for VMD >= 1.9.3 (#1314)
    • update CGAL easyblock to support CGAL 4.12 & newer (#1679)
    • update QuantumESPRESSO easyblock for v6.4.1 (#1692)
    • enhance Advisor & VTune easyblocks, since no license is required starting with version 2019 update 3 (#1694, #1695)
    • handle new multi-deps Python setup with $EBPYTHONPREFIXES for Tensorflow (#1702)
    • make CHARMM easyblock pick up on prebuildopts and runtest (#1707)
    • change default value for 'use_pip' to None, so we can discriminate from 'use_pip' being set to False explicitly (#1709)
    • make PythonPackage aware of (pre)testopts (#1715)
    • enable GPU offloading in Clang if CUDA is included as a dep (#1716)
    • add support to Clang easyblock for also building libc++ and RTTI (#1717)
    • rebuild internal libfabric for impi 2019.x & more recent (#1730)
    • update Q&A patterns in SAS easyblock for version 9.4 + add support for custom license file path (#1731)
  • various bug fixes, including:
    • only install mkl-dnn by default with TensorFlow on x86-64 systems (#1666)
    • make sure ldconfig can be found before using it in CUDA easyblock (#1684)
    • use temporary directory for pip cache (rather than $HOME/.cache/pip) in PythonPackage easyblock (#1687)
    • allow oversubscription when testing FFTW on top of OpenMPI >= 3.0 (#1688)
    • make sure $HOME/.cache/pip isn't used while installing Tkinter (#1691)
    • set default exts_filter in PythonBundle, so already installed extensions in a bundle can be skipped (#1701)
    • instruct Bazel to not use $HOME/.cache/bazel in TensorFlow easyblock (#1704)
    • also set $XDG_CACHE_HOME during installation of Python, to ensure that 'pip' that comes along with it doesn't touch $HOME/.cache/pip (#1705)
    • use -fp-model precise if FMA instructions are missing in GROMACS easyblock (#1706)
    • make sure Perl install dir follows a standard format (#1708)
    • attach source_urls directly to sources for components in generic Bundle easyblock (#1711)
    • avoid that --no-build-isolation option is specified multiple times in PythonPackage easyblock (#1713)
    • fix prefix in impi compiler wrappers (#1727)
    • only embed zlib in binutils if it is listed a build dependency (#1732)
  • other changes:
    • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#1724)

easyconfigs

  • added easyconfigs for new toolchains:
  • added example easyconfig files for 52 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Boost 1.70.0, cairo 1.16.0, CGAL 4.14, Clang 8.0, cutadapt 2.1, dask 1.1.4, ELPA 2018.11.001, FFmpeg 4.1.3, GCC 9.1.0, GEOS 3.7.2, GLib 2.60.1, gmsh 4.2.2, GROMACS 2019.2, GTK+ 3.24.8, h5py 2.9.0, hwloc 1.11.12, Hypre 2.15.1, Mathematica 12.0.0, matplotlib 3.0.3, Mesa 19.0.1, NBO 7.0, NCL 6.6.2, NCO 4.7.9, NiBabel 2.4.0, numba 0.43.1, OpenMPI 3.1.4, OrthoFinder 2.3.3, PCMSolver 1.2.3, PETSc 3.11.1, PROJ 6.0.0, PyQt5 5.12.1, PyTorch 1.0.1, PyYAML 5.1, Qt5 5.12.3, QuantumESPRESSO 6.4.1, R 3.5.1 (w/ intel/2018b), RNAIndel 1.0.0, Ruby 2.6.3, scikit-learn 0.20.3, SLEPc 3.11.0, sympy 1.4, Tkinter 3.7.2, Vim 8.1.1209, VTK 8.2.0, wrf-python 1.3.1, wxPython 4.0.4, wxWidgets 3.0.4, xarray 0.12.1, zstd 1.4.0
  • minor enhancements, including:
    • enable auto-download of VMD 1.9.3 + add patches for Surf and Stride (#7305)
    • add mlegp extension in R 3.5.1 easyconfigs (#7814)
    • add pkg-config file to bzip2 easyconfigs (#8200)
    • allow use of 'use_pip = False' in easyconfigs if pip doesn't work (#8220)
  • various bug fixes, including:
    • fix checksums for nlme extensions in R easyconfigs (#7814, #8054)
    • add missing XZ dependency for Pysam > 0.12 (#7971)
    • define $GRACE_HOME in Grace easyconfigs, so that font dir can be located (#8048)
    • $XDG_DATA_DIRS must be set for GTK+ (#8089)
    • add missing FriBidi dependency for Pango 1.43.0 (#8103)
    • add (back) custom sanity_check_paths in recent Pango easyconfigs (#8106)
    • fix missing extensions in cutadapt 1.16 easyconfigs (#8130)
    • add missing cURL dependency for recent SAMtools versions (#8131)
    • add singledispatch extension to Python 2.7.15 easyconfig using GCCcore/8.2.0 toolchain (#8164)
    • add missing X11 dependency for Gdk-Pixbuf 2.38.1 (#8222)
    • make sure hdf5r picks up HDF5 dependency in R 3.5.1 easyconfigs (#8223)
    • enable zstd compression in GRASS 7.6.0 easyconfig (#8224)
    • add missing ICU dependency on ICU for Harfbuzz 2.4.0 (#8226)
    • disable AVX512 DGEMM kernels in OpenBLAS 0.3.5 (#8227)
    • fix homepage/description in OrthoFinder easyconfig (#8234)
    • add Parallel::ForkManager extension to Perl 5.28.x easyconfigs (#8247)
    • replace LibUUID dependencies with util-linux (#8258)
    • add jemalloc & pkg-config as build deps for Salmon 0.12.0 (#8264)
    • fix MAJIQ easyconfig by fixing order of extensions + avoid numpy test hang (#8272)
    • fix shebang in GLib Python script + clarify runtime dependency on Python (#8277)
    • add pkg-config and expat as (build) dependency for DBus (#8283)
    • define $GI_TYPELIB_PATH in GTK+ and Pango easyconfigs (#8246, #8286)
    • add pkg-config build dep to PROJ 6.0.0 easyconfig (#8309)
    • fix source URLS in recent libcerf easyconfigs (#8332, #8243)
    • make zlib a real dependency rather than a build dep in recent binutils easyconfigs (>= 2.28) (#8340)
    • add fix-ib-query patch to OpenMPI 2.1.x and 3.0.x easyconfigs (#8341)
    • set $XDG_CACHE_HOME to $TMPDIR before 'pip install' in Arrow 0.12.0 easyconfigs (#8347)
  • other changes:
    • remove xbitmaps dependency from motif (#7530)
    • require custom sanity_check_paths in easyconfigs touched in PRs when generic easyblock is used (#8101, #8123)
    • use CMake built with GCCcore toolchain when installing Eigen 3.3.4+ (#8261)
    • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#8299)
    • use custom easyblock for OpenBLAS in OpenBLAS 0.3.x easyconfigs (#8345, #8339)

EasyBuild v3.9.0 (April 12th 2019)

feature release

framework

  • various enhancements, including:
  • various bug fixes, including:
    • fix argument name in close_pr (#2752)
    • fix undefined variable 'prefix' in Compiler._set_compiler_vars (#2757)
    • fix test account for GitHub-related tests (#2760)
    • make sure read permissions are always set in permissions_step (#2770)
    • make test for dep_graph function robust against changing order of lines in resulting dot file (#2772)
    • fix problem with import_available_modules when running from easybuild-framework directory (#2786)
    • prepend location of test easyblocks to $PYTHONPATH to test_generate_software_list, rather than append (#2788)
    • use pid in backup name candidate to reduce risk of two processes colliding (#2796)
    • automatically enable --ignore-osdeps when using --preview-pr (#2799)
    • use temporary checkout of repository as robot path for --new-pr and --update-pr to determine locations for patch files (#2803)
    • avoid relying on order in which keys are processed in to_dependency (#2804)
    • fix yeb format to work with PyYAML 5 (#2809)
    • fix typo in error message for use of unknown easyconfig parameter (#2817)
    • enhance log_file_format to fix problem when %(name)s template value is used for log directory (#2818)
    • iterate over subdirectories in order in find_egg_dir_for of bootstrap script, to ensure oldest vsc-install is picked (#2819)
    • replace -Wl,--enable-new-dtags compiler option with -Wl,--disable-new-dtags in RPATH wrapper script (#2821)
    • updated COMPILER_F77 for PGI >= 19.1 (#2823)
    • added FFTW_STATIC_LIBS_MT to FFTW_MAP_CLASS, otherwise FFTW_STATIC_LIBS_MT are incorrectly defined (#2822)
    • sort available version list when selecting/generating easyconfig (#2732)
  • other changes:
    • use assertEqual rather than assertEquals (which is deprecated) (#2746)
    • test with Tmod 4.1.4 (packaged in RHEL8) in Travis CI (#2747)
    • replace deps by hidden deps instead of removing them from the lists (#2748)
    • ensure non-zero exit code for all test subsuites (+ fix trivial style issues) (#2773)
    • silence printed deprecation warnings for easyconfigs/toolchains while running (easyconfigs) test suite (#2781)
    • avoid printing of messages/warnings in framework test suite (#2782)
    • enable silent mode for --new-pr and --update-pr (#2802)
    • update Travis config to reflect that PyYAML 5.x is no longer compatible with Python 2.6 (#2807)

easyblocks

  • new software-specific easyblock for TensorRT (#1627)
  • minor enhancements, including:
    • make sure CMake doesn't pick up on system Boost in CMakeMake generic easyblock (#1618)
    • modified ConfigureMake and CMakeMake generic easyblocks to allow changing configure_cmd, build_cmd and install_cmd to fit various needs (#1628, #1658)
    • update ANSYS easyblock to deal with changed versioning scheme (#1631)
    • add extra path to builddir for SNPhylo >= 20160204 (#1632)
    • add better support for TensorRT to TensorFlow (#1634)
    • add support for newer versions of wxPython to wxPython easyblock (#1635)
    • update OCaml easyblock to support OPAM 2.x (#1638)
    • update sanity check in TensorFlow easyblock for TensorFlow 1.13.x (#1642)
    • make ConfigureMake, MesonNinja and SCons generic easyblocks aware of pretestopts (#1645)
    • add support for installing Python packages with 'pip' without using --ignore-installed (#1647)
    • add support to CMakeMake easyblock to specify compilers using absolute file path (#1652, #1655)
    • stop checking for deprecated pgf77 in sanity check of PGI easyblock (#1653)
    • accommodate version 10.1 in CUDA easyblock (#1654)
    • install sitecustomize.py with Python to support Python package installations for multiple Python versions in a single directory (#1657)
    • enhance SAMtools easyblock to also install libhts.a and include/htslib (when applicable) (#1661)
    • tweak PythonPackage & PythonBundle to update $EBPYTHONPREFIXES rather than $PYTHONPATH for multi-Python installations + make sanity_check_step aware of multi_deps (#1664, #1678)
    • replace -openmp with -fopenmp when building TINKER with Intel compilers (+ modernize easyblock) (#1668)
    • make sure Meson is configured with -Dlibdir=lib so it doesn't install libraries in lib/x86_64-linux-gnu on Debian/Ubuntu multiarch systems (#1673)
    • allow for external libfabric via ofi_libfabric parameter in impi easyblock (#1676)
    • pass down compiler names and options to Qt5 5.8 & more recent via corresponding QMAKE_* configuration options (#1677)
  • various bug fixes, including:
    • create symlinks to .modulerc in symlinked module directories (#1636)
    • add missing import in FFTW easyblock (#1641)
    • fix finding of Python 3 include subdir + libpython*.so in OpenBabel easyblock (#1633)
    • add no_qa pattern for interactive installation command for ABAQUS (#1637)
    • make serial, smpar and dm+sm builds of WRF work and pass tests (#1646)
    • configure CP2K with correct DATA_DIR value rather than relying on $CP2K_DATA_DIR environment variable (#1650)
    • CP2K fixes: only call configure_LAPACK/ScaLAPACK when imkl is not used, prefer using 2^2 MPI processes for tests (#1651)
    • also take into account custom easyconfig parameters from CMakeMake in BamTools easyblock (#1656)
    • make sure Perl scripts are installed in the right location (#1660)
    • make sure setenv is used for CUDA_PATH etc. (#1663)
    • cleanup sanity_check_paths in numpy & scipy easyblocks (#1665, #1667)
    • always set self.pylibdir in PythonPackage.set_pylibdirs(), which is important when installing Python packages for multiple Python versions via multi_deps (#1671)
    • fix custom definition of load_module method in LAPACK module (#1675)
  • other changes:
    • replace 'except OSError, err:' pattern with 'except OSError as err:' (for compatibility with Python 3.x) (#1639)
    • clean up Java easyblock to use filetools functionality (#1649)

easyconfigs

  • added easyconfigs for new toolchains: intel/2019.02 (#7598), intel/2019.03 (#7846)
  • added example easyconfig files for 68 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • AFNI 19.0.01, Arrow 0.7.1, BLAST+ 2.8.1, CUDA 10.1.105, GCC(core) 8.3.0, GTK+ 3.22.30, Java (OpenJDK) 11(.0.2), Meson 0.50.0, MultiQC 1.7, Nim 0.19.2, Ninja 1.9.0, netCDF 4.6.2, netCDF-Fortran 4.4.5, PCRE 8.43, Perl 5.28.1, PGI 19.1, Python 3.7.2, RELION 3.0.4, Ruby 2.6.1, SCons 3.0.4, SQLite 3.27.2, SuiteSparse 5.4.0, TINKER 8.6.1, TensorFlow 1.13.1, X11 20190311
  • minor enhancements, including:
    • add various extensions to R 3.5.1 easyconfigs: asnipe (#7572), liquidSVM (#7597), oddsratio/mltools/h2o (#7744), mlegp (#7814), bartMachine/lqa (#7865), PresenceAbsence/GUTS/GenSA (#7905), parsedate (#7935), circular (#7975)
    • add ujson extension in recent Python easyconfigs (#7517)
    • run various checks on easyconfigs that are touched in pull requests and involve Python packages (#7754)
    • add cpanminus extension to recent Perl easyconfigs (#7866)
    • also install ANTs scripts (and set $ANTSPATH as required by those scripts) (#7940)
    • add missing configopts in GATE 8.1 easyconfig to enable Davis feature (#8000)
  • various bug fixes, including:
    • add patch for Mesa 18.1.1 to detect MIT-SHM (#7536)
    • add proper description to MINC-2.4.03 (#7551)
    • add libunwind dependency to recent Mesa easyconfig when building with foss/GCC (#7629)
    • add/reorder missing/misplaced extensions in Python 2.7.15 and 3.6.6 easyconfigs (#7696)
    • fix Jellyfish dependency in easyconfig for Kraken 1.0 (Jellyfish 1.x is required) (#7743)
    • use https:// in most recent XZ easyconfigs (#7782)
    • add patch for OpenMPI 3.1.x to fix ib-query 'Invalid argument' error (#7789)
    • build OpenBLAS with -fno-tree-vectorize (asm constraint bugs for <0.3.6) + cleanup & SHA256 checksums (#7790, #7793)
    • extra patch for TensorFlow 1.12.0 to remove -B/usr/bin from linker_bin_path_flag in cuda_configure.bzl (#7800)
    • fix easyconfig for STAR-Fusion 1.5.0 (#7802)
    • fix checksums for boot/nlme extensions in R easyconfigs (#7814, #8054)
    • add patch for OpenMPI 3.x to fix UCX memory leak (#7535, #7824)
    • replace ncurses-devel OS dependency in CMake easyconfigs using dummy toolchain with proper ncurses dependency (#7834)
    • use PythonBundle for snakemake-5.2.4-foss-2018b-Python-3.6.6.eb (+ fix moduleclass) (#7842)
    • use correct buildopts + add missing zlib dependency in StringTie 1.3.5 easyconfig (#7845)
    • update GStreamer to not enable dw and fix some missing dependencies (#7889)
    • add missing XZ dependency to most recent Pysam easyconfigs (#7897)
    • expat: add configure option --without-docbook to avoid docbook2X dependency (#7930)
    • fix source URLs for mawk (#7960)
    • fix LWM2, OTF2, OPARI2, and Score-P download URLs (#7994)
    • use https:// in homepage & source_urls for OpenMPI and hwloc easyconfigs (#8013, #8014, #8015 and #8016)
    • add missing bokeh dependency for dask 1.0.0 (+ add dask-jobqueue) (#8029)
    • fix checking of binutils build dep in easyconfig tests (#8038)
  • other changes:
    • avoid use of .items() in R (bundle) easyconfigs, to fix compatibility with EasyBuild running on top of Python 3 (#7791)
    • trim down test configuration: only test with Lmod 6.x with Tcl/Lua on Python 2.6/2.7 (#7795, #7798)
    • use %(pyshortver)s template in (old) SIP easyconfigs (#7797)
    • add PyTorch to whitelist for not having 'use_pip' enabled (#7844)
    • don't use local variable 'pylibdir' in list comprehension in PyQt easyconfig, since that doesn't work in Python 3 (#7848)
    • use pip instead of setup.py with h5py/2.7.1 and 2017b toolchains (#7864)
    • prefer https:// over ftp:// for source_urls in recent GROMACS easyconfigs (#7948)
    • rename arrow to Arrow for old easyconfig (#8007)

EasyBuild v3.8.1 (January 29th 2019)

bugfix/update release

framework

  • various minor enhancements, including:
    • speed up checking of OS dependencies (#2703)
    • add support for 'eb --show-system-info' (#2722)
    • add support for '%(arch)s' template value in easyconfig files (x86-64, aarch64, ppc64le, ...) (#2728)
  • various bug fixes, including:
    • add timestamp to reprod dir while in tmp space (#2705)
    • avoid '+' in directory name for g++ rpath wrapper (#2710)
    • pre-install vsc-install < 0.11.4 in bootstrap script to avoid requiring 'mock' Python package (#2717)
    • fix check in --merge-pr whether PR is eligible for merging in to only consider the status of the last test report (#2720)
    • don't recreate build directory when 'buildininstalldir' is enabled for iterative installations (#2724)
    • filter (CUDA) lib*/stubs paths in RPATH wrapper script (#2725)
  • other changes:
    • replace 'except IOError, err:' pattern with 'except IOError as err:' for compatibility with Python 3.x (#2711)
    • make all print statements compatible with Python 3 (#2715)
    • avoid use of sys.maxint in dependencies_for (#2716)

easyblocks

  • minor enhancements, including:
    • update Ferret easyblock to handle Ferret 7.3 (#1349)
    • add support for defining $LDSHARED when installing Python packages if Python's value doesn't use toolchain compiler ($CC) (#1455)
    • update CP2K easyblock to add support for CP2K 6.1, and fix incorrect LibInt references (#1545)
    • make OpenFOAM easyblock handle debug build (#1609)
    • handle multiple installation keys for MATLAB (#1610)
    • run 'make check' in parallel for GROMACS since it involves more compilation (#1611)
    • update OpenCV easyblock for recent versions (3.4.x >= 3.4.4 + 4.0.x) (#1616)
  • various bug fixes, including:
    • check current start_dir value before appending 'src' subdirectory in MrBayes easyblock (#1582)
    • avoid that (system) Intel compilers are always considered when building SuiteSparse (#1612)
    • fix missing import statement in ROOT easyblock (#1614)
    • answer SELinux question with 'no' in Mathematica easyblock (#1617)
    • disable "build isolation" feature in pip > 10.x in PythonPackage generic easyblock (#1623)
  • other changes
    • cleanup in Perl and PerlModule easyblocks (#1603)

easyconfigs

  • added easyconfigs for new toolchains foss/2019a (#7371), intel/2019a (#7372) and iomkl/2019.01 (#7375)
  • added example easyconfig files for 43 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Amber 18, Arrow 0.12.0, Biopython 1.73, Boost 1.69.0, CP2K 6.1, canu 1.8, Ferret 7.3, GATE 8.1.p01, GROMACS 2019, Geant4 10.5, HPL 2.3, libxsmm 1.10, matplotlib 3.0.2, NEURON 7.6.5, Octave 4.4.1, OpenBLAS 0.3.5, OpenCV 3.4.5 + 4.0.1, OpenFOAM v1812, PGI 18.10, PLUMED 2.5.0, ROOT 6.14.06, Theano 1.0.3, TopHat 2.1.2, Yade 2018.02b
  • minor enhancements, including:
    • add additional extensions to R 3.5.1 easyconfigs:
      • statnet (#7370), NMF, ComICS, dtangle, MCMCpack, shinythemes (#7420), csSAM (#7423), bridgedist (#7477)
    • add DeconRNASeq and GSVA extensions to R-bundle-Bioconductor 3.7 easyconfigs (#7421)
    • also install header files and CMake module for SeqAn 2.4.0 built with foss/2018b (#7434)
    • add download URL for intel/2018a components (#7436)
    • add missing checksums for protobuf easyconfigs using dummy toolchain (#7492)
  • various bug fixes, including:
    • fix source URL in Doxygen easyconfigs (#7324)
    • add fallback source URL for recent pigz versions (#7346)
    • promote FriBiDi to runtime dep of Pango rather than only build dep (#7369)
    • add --without-systemdsystemunitdir configure option to recent DBus easyconfigs (#7373)
    • fix issue of building M4 1.4.18 with glibc 2.28 (#7384)
    • fix broken source URLs in MariaDB easyconfigs (#7413)
    • bump up build dependency of flex 2.6.4 from Bison 3.0.4 to 3.0.5 (#7414)
    • disable building of OpenColorIO Python bindings since Python is not included as a dependency (#7416)
    • add missing build dependencies in old Harfbuzz/Pango easyconfigs (2016a generation) (#7433)
    • fix XML-LibXML linking with Intel compiler and GCCcore Perl (#7440)
    • prevent non-critical error from stopping Guile v1.8.8 build (#7446)
    • use %(arch)s template rather than hardcoding 'x86_64' in XML-Parser easyconfigs (#7450)
    • use uniform configopts for Guile 1.8.8 (#7452)
    • fix configopts in PyQt5 easyconfig files to avoid installation of files in Python/Qt5 installation directories (#7470)
  • other changes:
    • fix homepage in easyconfigs for foss toolchains (#7482) and intel toolchains (#7483)

EasyBuild v3.8.0 (December 18th 2018)

feature release

framework

  • various enhancements, including:
    • support use of version ranges in --filter-deps (#2357)
    • add support for --list-prs (#2400, #2668)
    • add support for --close-pr (#2401)
    • allow setting optarch compiler flags in the easyconfig via toolchainopts easyconfig parameter (#2595)
    • add option to skip pre-creation of install directory: --disable-pre-create-installdir (#2629, #2637)
    • flesh out setting up of configuration into dedicated 'set_up_configuration' function (#2638)
    • clean error when 'eb' is cancelled by user (#2641)
    • add support for using Slurm as backend for --job, via --job-backend=Slurm (#2642, #2666)
    • save easyblocks along with easyconfig in 'reprod' subdirectory of install directory (#2653)
    • add support for deprecating easyconfig files & toolchains (#2656)
    • changed EasyConfig.update to be able to specify not to allow duplicate values (#2657)
    • move adding of dependencies to prepare step instead of check readiness step (#2674)
    • add support for disabling mapping of (sub)toolchains when --try-toolchain is used, via --disable-map-toolchains (#2682)
    • add 'astro' and 'quantum' module classes (#2693)
  • various bug fixes, including:
    • make --from-pr always try to apply PR patch on top of PR target branch (#2631)
    • fix bug that could cause to silently overwrite an existing easyconfig when using --try-* (#2635)
    • don't pass down specific environment variables into submitted jobs (#2643)
    • update template constants for source URLs to use https (#2648)
    • fix lib64 fallback for 'lib'/'lib64' dirs entry in sanity_check_paths (#2649)
    • change PGI F90 Fortran compiler to pgf90 (#2650)
    • use --set-upstream-to in install-EasyBuild-develop.sh script to deal with deprecated/no longer supported --set-upstream (#2651)
    • fix order of keys in 'toolchain' value for dumped easyconfig file (name, version) + run style check on dumped easyconfigs in dump tests (#2660)
    • ensure checksums beside sources in dumped easyconfigs (#2661)
    • fix problems with easyconfig file saved in 'reprod' directory by copying it before running any installation steps (#2664)
    • make print functions more robust w.r.t. arguments being passed to format the message to be printed (#2670)
    • use 'git am' to apply patch for PRs in fetch_easyconfigs_from_pr (#2680)
    • correctly define $LIBFFT_MT for Intel MKL (#2688)
    • don't always require easyconfig files to resolve dependencies (#2690, #2692, #2697, #2698, #2699)
  • fixes for Travis CI config:
    • stop testing with Lmod 6.6.3, testing with Lmod 6.5.1 is sufficient (#2627)
    • Python 2.6 requires python-daemon 1.x as dep for GC3Pie (#2673)
    • stick to idna<2.8 with Python 2.6 in Travis + distable broken test for HgRepository (#2678)
  • other changes:
    • always skip symlinks in adjust_permissions (#2644)
    • flesh out 'avail_easyblocks' function from support for --list-easyblocks (#2663)
    • deprecate the ictce toolchain (#2667)
    • deprecate goolf and goolfc toolchains (#2676)
    • deprecate intel toolchains older than intel/2016a (+ iccifort & iimpi subtoolchains) (#2677)
    • deprecate ancient gompi toolchain versions (#2684)
    • use 'tar xzf' (gzip) rather than 'tar xZf' (ancient compress) to unpack *.tar.Z source files (#2686)
    • flesh out 'set_parallel' method to it can be called separately (#2687)

easyblocks

  • new generic easyblocks:
    • PythonBundle for installing a bundle of Python packages (#1553)
    • MesonNinja for installing using Meson & Ninja (#1561)
  • new software specific easyblock for RepeatMasker (#1600)
  • minor enhancements, including:
    • add -fno-delete-null-pointer-checks compiler flag for OpenFOAM versions older than v3.0 (#1311)
    • add support for building Tau with OTF included as dependency (#1313)
    • add support for Intel MPI version 2019 (#1546)
    • also populate the include dir for CP2K (#1554)
    • add custom easyconfig parameter in GCC easyblock to control use of gold linker: use_gold_linker (#1555)
    • replace '-' with '_' in default 'import' check for Python packages (#1560)
    • update WRF and WPS to support version 4 (#1563)
    • adapt PSI easyblock for PSI4 > 1.2 (#1568)
    • update Siesta easyblock to 4.1-b4 and add custom test_step (#1573)
    • enhance Mothur easyblock to support use of Boost and HDF5 as dependencies (#1576)
    • enhance sanity check for icc & ifort: also check for compilers_and_libraries_*/linux subdirectory (#1577)
    • update Trinity easyblock for latest version 2.8 (#1579)
    • add version check in sanity check step of SCOTCH easyblock (+ code cleanup) (#1580)
    • add support in Clang easyblock to skip running of all tests (#1584)
    • update WRF easyblock to allow serial HDF5 + pick up on parallel netCDF (#1592)
    • avoid hardcoding 'PREFIX=<installdir>' in build/install options when using SCons easyblock (#1594)
    • enable TensorFlow to detect any MPI runtime (#1597)
    • enhance Bundle easyblock to allow installation of bundle components with additional easyblocks + build components in parallel (#1598)
    • enhance Trilinos easyblock to support building against MKL (#1601)
  • various bug fixes, including:
    • make FDTD_Solutions easyblock do the install by copying files instead of 'rpm rebuild' (#1307)
    • re-add missing VT_(S)LIB_DIR env variable to itac module (#1309)
    • fix in QuantumESPRESSO easyblock: ifort compiler needs -assume byterecl (#1556)
    • extract targets from buildopts in Quantumespresso easyblock (#1558)
    • fixes for TensorFlow easyblock (#1559)
      • pass $PYTHONPATH while building TensorFlow
      • disable cross-compilation mode if optarch is set
      • fix sanity check for installing TensorFlow as extension
    • added a test to disable compiling FFTW with MPI if the toolchain does not support MPI (#1562)
    • fix permissions problem with CUDA nvvp tar files + correctly handle numactl symlink in LLVM subdir in PGI easyblock (#1569)
    • fix TensorFlow test tempdir problem (#1572)
    • tweak VMD easyblock so that configopts don't contain duplicate values (otherwise it fails to rebuild) (#1575)
    • fix running netcdf4-python tests to also support installation as extension (#1578)
    • added the openmp flags in the linker flags in MUMPS easyblock (#1585)
    • avoid hardcoding --with-rdma configure option in MVAPICH2 easyblock (#1586)
    • fix location of path-to-source argument in configure command of CMakeMake (#1591)
    • fix GROMACS use of MKL for non-Intel compilers (e.g. gomkl toolchain) (#1596)
  • other changes
    • inform Hound CI about Python 2 builtins (#1604)

easyconfigs

  • added easyconfigs for new toolchains: intel/2018.04 (#7171), intel/2019.00 (#7218), intel/2019.01 (#7219)
  • added example easyconfig files for 36 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • CheMPS2 1.8.8, Clang 6.0.1 + 7.0.0, dask 1.0.0, FFmpeg 4.1, GCC(core) 6.5.0 + 7.4.0, GPAW 1.4.0, HMMER 3.2.1, IPython 7.2.0, ITK 4.13.1, Keras 2.2.4, LLVM 7.0.0, Mothur 1.41.0, MultiQC 1.6, NAMD 2.13, OpenBLAS 0.3.4, OpenMPI 3.1.3 + 4.0.0, PSI4 1.2.1, Qt5 5.11.2, QuantumESPRESSO 6.3, Rust 1.30.1, Spark 2.4.0, Spyder 3.3.1, TensorFlow 1.11.0 + 1.12.0
  • minor enhancements, including:
    • install misc tools for angsd (#6995)
    • add libXp component to X11 bundle for GCCcore 6.4.0 (#7062)
    • also install shared libraries for LZO (#7073)
    • add extensions to R 3.5.1 easyconfigs: gllvm (#7123), grpreg (#7140), gamlss + gamlss.tr (#7263)
    • install Tk private headers (#7155)
    • add File::Next extension to Perl 5.28.0 easyconfig (#7276)
  • various bug fixes, including:
    • fix installation of scikit-image 0.13.x by including missing required PyWavelets extension (#7061)
    • add missing dependencies to easyconfig for GC3Pie 2.5.0 (#7066)
    • stop setting ignored 'full_sanity_check' easyconfig parameter in easyconfigs (#7094)
    • add missing checksums in X11/2016* easyconfigs (#7095)
    • add missing checksums in X11/2017* easyconfigs (#7096)
    • add missing cffi & pycparser extensions to recent Python easyconfigs (#7105, #7118)
    • fix homepage in QuantumESPRESSO easyconfigs (#7114)
    • use empty toolchain version in picard easyconfigs to ensure Java dependency is loaded during installation (#7116)
    • fix checksum for mgcv extension in R 3.5.* easyconfigs (#7122)
    • add missing 'patsy' extension in ARCH easyconfig + switch to using PythonBundle easyblock (#7124)
    • add missing (dummy) sklearn extension in NeuroKit easyconfig (#7126)
    • fix order of extensions in recent IPython easyconfigs to make 'pip check' pass (#7131)
    • fix missing required Python packages in ASE 3.16.2 easyconfigs (#7139)
    • fix source_urls in CP2K easyconfigs (for official releases) (#7240)
    • update SCOTCH 6.0.5 easyconfigs in-place to 6.0.6 to fix wrong download URL (#7159)
    • add Autotools build dep in patchelf easyconfig (#7175)
    • STREAM fixes: use https + versioned source (#7193)
    • fix checksum in Molden easyconfig (#7251)
    • fix source URL for ADMIXTURE (#7258)
    • fix source URLs & versions + build procedure for SKESA (#7275)
    • fix checksum for TRF 4.09 (#7278)
    • add missing zlib dependency for NSS (#7293)
    • add required build deps for QtWebEngine in recent Qt5 easyconfigs (#7300)
    • fix ImageMagick source URLs: use launchpad.net for old versions, switch to GitHub for 7.0.8-* onwards (#7301)
  • other changes:
    • update Java/1.8 wrapper to Java 1.8.0_192 (#7097)
    • don't enable optarch toolchain option in VCFtools easyconfigs, since it's enabled by default (#7106)
    • stop using lowopt in libxc 4.2.3 easyconfigs (#7115)
    • deprecate easyconfigs for ictce toolchains + intel toolchains older than intel/2016a (#7231)
    • deprecate easyconfigs for goolf(c) + corresponding gompi(c) subtoolchains (#7243)

EasyBuild v3.7.1 (October 18th 2018)

bugfix/update release

framework

  • various enhancements, including:
    • generate .modulerc.lua when Lua syntax and Lmod >= 7.8 is used (#2597)
    • allow --force to use regex if --try-toolchain can not map intelligently (#2605)
    • add support for disabling modules tool version check (#2610)
    • add support to ModuleGenerator.modulerc method to also write .modulerc file (#2611)
    • check whether module file being wrapped exists in same directory as module wrapper when using Lmod 6.x (#2611)
  • various bug fixes, including:
    • stop relying on 'easy_install' in bootstrap script, use 'python -m easy_install' instead (#2590)
    • fix templating of values in list_software function (#2591)
    • fix composing of lib64 fallback paths in sanity check (#2602)
    • determine file_info for all easyconfigs before any actual copying in copy_easyconfigs function (#2604)
    • also check for module wrappers in ModulesTool.exist method (#2606)
    • add trailing newline to module load message if it's not there yet (#2613)
    • retain all dependencies when determining dependency tree of a toolchain (#2617)
    • protect exts_lists from templating in dump method (#2619)
    • making CUDA capability detection more robust (#2621)
  • other changes:
    • lower required Lmod version to 6.5.1 (#2593)

easyblocks

  • new software specific easyblocks for fastStructure (#1529)
  • minor enhancements, including:
    • support bypassing use of system type obtained with recent config.guess in ConfigureMake (#1531)
    • enhance generated module file for FreeSurfer (#1543)
    • add option in Qt easyblock to check for QtWebEngine component in sanity check (#1544)
    • also install CP2K as a library + code cleanup in CP2K easyblock (#1547)
  • various bug fixes, including:
    • fix checking for downloaded dependencies for stand-alone installations in PythonPackage generic easyblock (#1530)
    • also specify --host option to configure script based on config.guess result in ConfigureMake easyblock (#1532)
    • use short module name when creating module wrapper in ModuleRC generic easyblock (#1535)
    • use DOT_MODULERC constant in ModuleRC easyblock rather than hardcoding '.modulerc' (#1533)
    • use --no-deps when installing .whl in TensorFlow easyblock if extension are being installed, move test run to sanity check (#1537)
    • use os.getcwd() rather than self.startdir in TensorFlow easyblock to fix installation of TensorFlow as extension in a bundle (#1540)
    • add symlink to wrapped module file when creating .modulerc in temporary location (#1539)
    • properly handle Python dependency in Qscintilla easyblock (#1499)
  • other changes:
    • cleanup Tarball easyblock by using copy_dir function (#1541)

easyconfigs

  • added easyconfigs for new toolchain foss/2018.08 with GCC/8.2.0 (#6992)
  • added example easyconfig files for 26 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • binutils 2.31.1, dask 0.19.4, GCC(core) 8.2.0, OpenBLAS 0.3.3, OpenMPI 3.1.2, Pillow 5.3.0, PyCUDA 2018.1
  • minor enhancements, including:
    • add clustree + plotly extensions (+ deps) for R 3.5.1 (#6901)
    • add tclsh symlink to recent Tcl easyconfigs (#6915)
    • update GROMACS 2016.3 with NVML patches (#6936)
    • use make=make in build options for ParMGridGen easyconfigs (#6952)
    • add Data::Dump as extension to Perl (dependency for GIMIC) (#7004)
  • various bug fixes, including:
    • inhibit -Werror in binutils 2.26 as new system GCC has case fallthrough warnings (#5793)
    • change fastStructure easyconfig to use custom easyblock (#6893)
    • fix toolchain for tbb dependency in Bowtie2-2.3.4.2-foss-2018b.eb (#6927)
    • fix uroot installation in R-3.5.1-foss-2018b (#6934)
    • add missing Python packages in TensorFlow 1.10.x easyconfigs (#6940)
    • add missing dep for Szip in 2017b builds of netCDF (#6942)
    • fix missing comment from OpenBabel-2.4.1-fix-link-path-tests.patch (#6943)
    • add patch to Python 3.6.1 - 3.6.3 that removes comment in comment (#6946)
    • add missing ulimit_unlimited=True (see issue #6484) in the newest Python builds (#6959)
    • solve 'version UUID_1.0 not found' problem in LibUUID easyconfigs (#6962)
    • eliminate dependency on ancient problematic LibUUID library, replace with util-linux (#6963)
    • force building of ccmake for CMake 3.12.1 + fix deps (#6967)
    • fix broken installation for Python 3.6.2 & 3.6.3 with PyNaCl as dep for paramiko extension by explicitly including previous PyNaCl version as extension (#6971)
    • fix source URL for ADMIXTURE (no https) + add SHA256 checksum (#6982)
    • add missing NSS/DBus dependencies to Qt 5.10.1 easyconfigs built with foss toolchain to ensure that QtWebEngine component gets installed (#7005)
    • add 'openssl' OS deps in Perl 5.28.0 easyconfig for Net::ssleay (#7008)
    • add missing checksum for ipaddress extension in Python easyconfigs (#7021 and #7033)
    • add missing extensions to Python 2.7.14 (#7022 and #7023), 3.6.2 (#7025), 3.6.3 (#7027) and 3.6.4 (#7029 and #7030)
    • add missing OS dependencies for git (#7028)
    • create default configuration for RTG-Tools (#7032)
    • also run checks on changed files when target branch for PR is something different than 'develop' (#7034)
  • other changes:
    • removed dead 'bzip.org' source URL for bzip2 source tarball (#6983)

EasyBuild v3.7.0 (September 25th 2018)

feature release

framework

  • minimal Lmod version requirement bumped to 6.6.3 (#2575)
  • various enhancements, including:
    • add support to bootstrap script to force install specific EasyBuild version (#2382, #2580)
    • consider potential of multiple subtoolchains when resolving dependencies (#2464, #2465, #2466, #2585)
    • fall back to downloading using the requests Python package (if installed) when urllib2 fails due to SSL error (#2538)
    • make --try-toolchain more aware of subtoolchains (#2539)
      • subtoolchain of original toolchains are now mapped to subtoolchains of target toolchain
    • add support for BLIS and goblf toolchain that uses BLIS for BLAS (#2540)
    • allow skipping of sanity check step via 'skipsteps' easyconfig parameter (#2549)
    • add support for --check-contrib (#2551)
      • equivalent with --check-style, but also verifies presence of SHA256 checksums (+ more checks in the future)
    • added support to 'download' sources from git (#2555)
    • add 'parse' hook to add support for applying site-specific customisations to the 'raw' easyconfig (#2562, #2566)
    • lift invalidating of module caches into helper method that can be used by easyblocks (#2571)
    • always dump a fully parsed easyconfig to the 'reprod' subdir of the installation directory (#2574)
    • add 'modulerc' method to ModuleGenerator class (#2575)
  • various bug fixes, including:
    • make GC3Pie stop build process if a dependency failed (#2474)
    • filter out patched files in test/ in fetch_easyconfigs_from_pr (#2547)
    • check GC3pie version using the pkg_resources API rather than using __version__ (which was removed in GC3Pie 2.5.0) (#2554)
    • fix enforcing of checksums for extensions (#2561, #2570, #2579)
    • skip running of configuration checks while only a single configuration level is taken into account during --show-config (#2567)
    • fix error statements in modules tool version checks (#2576)
    • fix finding of software subdirectory for specified patch file in --new-pr/--update-pr (#2577)
    • take into account dependency 'wrappers' in check_conflicts (#2583)
    • stick to pycparser < 2.19 with Python 2.6 in Travis config (#2584)
  • other changes:
    • use namelower as default for 'github_account' easyconfig parameter (#2528)
    • use .counts() rather than deprecated .stats() for GC3Pie (#2573)

easyblocks

  • new generic easyblock: ModuleRC (#1503, #1518)
  • new software specific easyblocks for BWISE (#1497) and VEP (#1512)
  • minor enhancements, including:
    • update QuantumESPRESSO easyblock: stop building in installation dir, do not use external FoX dependency, support for recent versions (#1312)
    • updates to TensorFlow easyblock:
      • require cuDNN if CUDA support is enabled, enable mkl-dnn by default, fix problem with internal protobuf problem, add awareness for TensorRT & NCCL (#1453)
      • add support for IntelMPI (#1507)
    • update WIEN2k easyblock for version 18.1 (#1460)
    • add CUDA 'stubs' subdirectory to $LIBRARY_PATH (#1464)
    • add support for building ScaLAPACK on top of BLIS (#1467)
    • handle X11 better and make 'static' a build flag in Amber easyblock (#1468)
    • update Boost easyblock for Boost 1.67.0 (name change in Python 3.x library files) (#1472)
    • add CEI/bin to $PATH for ANSYS 19 & newer (#1476)
    • enhance SCons easyblock to enable building in parallel (#1477)
    • add awareness for CCOLAMD and CAMD in Trilinos easyblock (#1480)
    • add support to apply (binary) patches after main CUDA install (#1481, #1483)
    • add support for only building Python bindings (+ code cleanup) in Boost easyblock (#1484, #1495)
    • provide control over subdirectory in which R packages are installed (#1485)
    • added regex to fix $WM_PROJECT_VERSION correctly in OpenFOAM easyblock (#1489)
    • improve PGI siterc so it allows -pthread switch (#1494)
    • customise check_checksums method in Bundle easyblock to fix checking of checksums for components (#1496)
    • include a pkgconfig file 'hdf5.pc' to HDF5 installations (#1504)
    • (download &) use an updated config.guess script in generic ConfigureMake easyblock (#1506, #1522, #1523, #1524)
    • make IntelBase generic easyblock aware of (pre)installopts (#1509)
    • update Siesta easyblock for v3.2 to 4.1-b3 (#1510)
    • take (pre)installopts into account in RPackage generic easyblock (#1513)
    • update DOLFIN easyblock for latest version (#2018.1) (#1521)
  • various bug fixes, including:
    • drop useless definition of $NLSPATH in IntelBase + fix ipp library paths (#1442)
    • fix order of arguments in log message in PythonPackage easyblock (#1459)
    • run ldconfig in post-install step of CUDA easyblock to create missing symlinks in 'stubs' subdirectory (#1473)
    • take into account that only name/version may be specified for some components in Bundle easyblock (#1474)
    • make SuperLU easyblock consider both lib and lib64 subdirectories (#1479)
    • use short build dir for Trilinos to dance around "Argument list too long" problem + link with libmetis.a (#1486)
    • correct check for Red Hat 6 based OS in TensorFlow easyblock (#1487)
    • improve configuration choice in FSL easyblock (#1498)
    • don't check for mcc in MATLAB sanity check as it requires a specific toolbox license (#1514)
    • make sure Bazel doesn't write files in $HOME/.cache when building TensorFlow (#1519)
    • enable VSX on POWER for FFTW >= 3.3.7 (#1520)
    • add librt as dependency when linking Trilinos with SuiteSparse (#1525)
  • other changes:
    • switch to using CMake install procedure for Eigen 3.3.4 & newer (#1482)
    • bump Lmod version used in Travis config to 6.6.3 (now required by framework) (#1505)

easyconfigs

  • added easyconfigs for new toolchains: fosscuda/2017b (#6706), intelcuda/#2017b (#6709), iomkl/2018b (#6661)
  • added example easyconfig files for 49 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Bazel 0.16.0, Boost 1.67.0 + 1.68.0, CUDA 10.0.1, DOLFIN (FEniCS) 2018.1, FSL 5.0.11, GC3Pie 2.5.0, GROMACS 2018.3, HTSlib + SAMtools 1.9, IPython 6.4.0, matplotlib 3.0.0, OpenCoarrays 2.2.0, OpenFOAM 6 & v1806, PyTorch 0.4.1, Python 3.6.6, R 3.5.1, TensorFlow 1.10.1, Trilinos 12.12.1, WIEN2k 18.1
  • minor enhancements, including:
    • add test to enforce SHA256 checksums in touched files in pull requests to develop (#5005)
    • add various extensions to recent R easyconfigs (#6590, #6686, #6858)
    • add mpmath extension to Python 3.6.4 + 3.7.0 easyconfigs (#6607, #6713)
    • add Java 1.8 easyconfig that can be updated in-place to more recent JDK 1.8.x (#6712)
    • add iso_c_binding support to arpack-ng 3.6.2 (#6718)
    • add XML::Parser, XML::RegExp & XML::DOM extensions to Perl(#6744)
    • add tabulate extension to all Python > 3.6 easyconfigs (#6809)
    • enable MPI version of arpack-ng 3.5.0 (#6840)
    • add wish symlink to wish8.6 in recent Tk easyconfigs (#6870)
    • add libXp and printproto to X11 bundle (#6873)
  • various bug fixes, including:
    • define '_GNU_SOURCE' to ensure that 'reallocarray' is defined in flex 2.6.4 easyconfigs, fixes bootstrap crash (#5792, #6766)
    • added tabix dependency in VCFtools (#6584)
    • added zlib dependency to BWA (#6591), BEDTools (#6592), VCFtools (#6653)
    • add checksums to googletest easyconfigs (#6611)
    • fix source URL + add checksum to wkhtmltopdf-0.12.3-Linux-x86_64.eb (#6628, #6641)
    • don't use external FoX dependency in QuantumESPRESSO 6.2 (#6638)
    • update hwloc easyconfigs with libxml2 and libpciaccess dependencies (#6639)
    • fix gettext build dep for Mono-5.10.0.160 (#6640)
    • remove no longer existing config option --enable-mpi-thread-multiple in OpenMPI 3.x easyconfigs (#6645)
    • fix homepage in recent HDF5 easyconfigs (#6687)
    • add expat dependency to Mesa v18.1.1 (#6706)
    • add missing --with-trio-flavor=netcdf flag to ABINIT 8.x easyconfigs (#6711)
    • remove useless definition of $TORCH_CUDA_ARCH_LIST in PyTorch easyconfig that doesn't use CUDA (#6719)
    • fix building GCCcore 6.3.0 on recent OSs by backporting patches from 6.4.0 (#6727)
    • fix source_urls in bzip2 easyconfigs (#6728)
    • specify location of dependencies in configure options for libgd (to avoid system libraries being used instead) (#6731)
    • also install docs/man pages in recent git easyconfigs (versions 2.1x.y) (#6751)
    • add CMake build dep for Eigen 3.3.4 (#6756, #6784)
    • add expat dependency to Perl 5.26.0 (#6758)
    • add ncurses OS dependency to CMake for Debian distros (#6783)
    • fix checksums for pkgmaker, rngtools & RcppProgress extensions in R 3.4.3 easyconfigs (#6815)
    • add pkg-config build dependency to GTS (#6819)
    • do not check if hwloc-dump-hwdata utility was installed, since it's only built on x86 systems (#6836)
    • patch libxc 3.x and 4.0.x to compile on POWER (#6868)
    • consistently add patch for paycheck extension in Python 3.6/3.7 to fix UTF8 issue with README (#6892)
  • other changes:
    • bump Lmod version used in Travis config to 6.6.3 (now required by framework) (#6834)

EasyBuild v3.6.2 (July 11th 2018)

bugfix/update release

framework

  • various enhancements, including:
    • add support for including environment variable that is resolved at "module load time" in user module path (#2395)
      • {RUNTIME_ENV::EXAMPLE} is replaced by value of $EXAMPLE when module is loaded
    • also support generating Docker container recipes & image via --containerize (still experimental) (#2479)
    • add support for specifying source URLs directly in 'sources' (#2520)
    • perform early 'raw' parse of provided easyconfig file to check for syntax error or faulty inputs (#2523)
    • add 'bitbucket_account' easyconfig parameter and template, and let BITBUCKET* templates use it (#2525)
  • various bug fixes, including:
    • take into account --filter-deps when re-loading build dependencies in extensions_step (#2516)
    • fix for offline use of bootstrap script: ignore errors when determining source URLs if source tarballs are provided (#2517)
    • fix error message that is raised for incorrect type of value in sanity_check_paths (#2524)
  • other changes:
    • move flake8 config into setup.cfg + fix style issues in easybuild/tools/options.py (#2511)
    • make test that verifies that BuildOptions does not support updating a bit more flexible (#2518)

easyblocks

  • new software-specific easyblock for OpenCV (#1444)
  • minor enhancements, including:
    • use $CPATH/$LD_LIBRARY_PATH for CMake's find_path/find_library functions in CMakeMake easyblock (#1165)
    • make cdft lib compilation optional for Intel MKL, by detecting MPI availability (#1393)
    • add use_glibcxx11_abi easyconfig parameter in Boost easyblock (#1434)
    • enable filtering of paths in $CPATH and $LIBRARY_PATH in TensorFlow easyblock (#1436)
    • add support for building GROMACS with --optarch=GENERIC (#1440)
    • check current stack limit and set it to 'unlimited' if possible in Python easyblock (#1441)
    • trivial update for Q&A in SAS easyblock (#1448)
    • allow skipping tests when installing Perl extensions, by setting 'runtest' to False (#1451)
    • add support for installing Intel products using serial numbers (#1452)
    • update version check to FFTW 3.3.8 for tests to pass on POWER (ppc64le) (#1454)
  • various bug fixes, including:
    • build MPFR in GCC stage 1 without LTO if (system) GCC used is too old (#1435)
    • make sure xmlpatterns always gets built with Qt (#1437)
    • fix symlink check in NWChem easyblock + use change_dir/remove_file/symlink functions (#1438)
  • other changes:
    • move flake8 configuration to setup.cfg and make HoundCI aware of it (#1430)

easyconfigs

  • added easyconfigs for new toolchains: foss/2018b (#6424), fosscuda/2018b (#6555) and intel/2018b (#6409)
  • added example easyconfig files for 28 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • GROMACS 2018.2, HDF5 1.10.2, IPython 6.3.1, Kraken 1.0, Mesa 18.1.1, netCDF 4.6.1, NWChem 6.8, OpenBLAS 0.3.1, OpenMPI 3.1.1, Perl 5.28.0, Python 2.7.15, R 3.5.0, X11 20180604
  • minor enhancements, including:
    • add hint on file name differences between downloaded and expected in cuDNN easyconfig (#6042)
    • add 'gee' extension to R 3.4.4 easyconfigs (#6376)
    • enable building of MPI libraries in VTK 8.1.0 easyconfigs (#6460, #6429)
  • minor changes, including:
    • rename 'Canu' to 'canu' for v1.7 (#6389)
    • update existing easyconfigs for OpenCV 3.4.1 to use new custom easyblock for OpenCV (#6509)
    • fix software name in Bsoft easyconfig (#6557)
  • various bug fixes, including:
    • fix SAMtools dependency for ChimPipe, required SAMtools < 1.0 (#5930)
    • skip installing of documentation in easyconfig for jemalloc 5.0.1 (#6428)
    • stop including GCCcore 6.4.0 as build dep for GCCcore 8.1.0 (#6431)
      • no longer needed with updated GCC easyblock
    • add patch for GCCcore 6.4.0 to fix compilation problems on glibc 2.26 systems (#6432, #6495)
    • fix checksums for pkgmaker/rngtools/RWeka/RcppProgress/mgcv extensions in R 3.4.4 easyconfigs (#6446, #6502)
    • added necessary compiler flag for Guile 1.8.8 (#6457)
    • build hwloc 1.11.10 with -fno-tree-vectorize to avoid segfaulting lstopo on Intel Skylake (#6461)
    • add patch for binutils 2.30 to fix assertion failure (#6463)
    • sync extensions in Python-3.6.4-iomkl-2018a.eb easyconfig with other Python 3.6.4 easyconfigs using 2018a toolchain (#6471)
    • enable checking/setting of unlimited stack limit in Python 3.6.x easyconfigs using an 'intel' toolchain (#6485, #6492)
    • add missing libxml2 dependency for HDF5 1.10.1 (#6498)
    • also copy eggnog-mapper scripts (#6522)
    • fix missing dependencies for Perl modules included as extensions for Perl 5.26.1 (#6532) and 5.28.0 (#6533)
    • fix location of include directory in libffi 3.2.1 easyconfigs (#6565)
  • other changes
    • also check for multiple dependency variants in easyconfigs using GCCcore 7.3.0 & newer (#6444)

EasyBuild v3.6.1 (May 26th 2018)

bugfix/update release

framework

  • various enhancements, including:
    • add support for enabling fallback in sanity check to consider lib64 equivalent for seemingly missing libraries (#2477)
    • add GITHUB_LOWER_SOURCE constant (#2491)
    • add 'exts_download_dep_fail' as known easyconfig parameter (#2493)
    • add support for passing custom messages on failing sanity check for extensions (#2494)
    • add definition for fosscuda toolchain (#2507)
  • various bug fixes, including:
    • make --inject-checksums always re-order source_urls/sources/patches/checksums (#2487)
    • fix git remote url in CONTRIBUTING.md (#2490)
    • make flake8 happy in easyblock.py (#2492)
    • handle missing permissions for adding labels in --new-pr (#2497)
    • restore tweaked $TMPDIR value after loading module (for sanity check) (#2498)
    • enhance get_module_path function to auto-detect generic vs software-specific easyblock class names (#2502)
    • don't blindly overwrite an existing easyconfig in tweak_one (#2504)
    • take account that PlaintextKeyring may be provided via keyrings.alt (#2505)
    • prepend location for temporary module file to $MODULEPATH with high priority + mark it as default in load_fake_module method (#2506)

easyblocks

  • minor enhancements, including:
    • add support for detecting auto-downloaded dependencies in PythonPackage easyblock (#1377)
      • disabled by default, can be enabled using "download_dep_fail = True" in easyconfig file
    • add support to enable integration of pscom in psmpi easyblock (#1397)
    • set $CMAKE_*_PATH when CMake is loaded in PythonPackage easyblock (#1398)
    • update WIEN2k easyblock for v17 (#1405)
    • disable jemalloc support in TensorFlow on CentOS 6 & co (+ minor cleanups) (#1412)
    • update Maple easyblock to support recent versions (#1414)
    • enable nc-config usage for netCDF in ESMF >=7.1 (#1419)
    • enhance PETSc easyblock for version 3.9 (#1421)
    • check output of MATLAB installation command for invalid installation key error (#1423)
    • fix suffix for Boost Python library in Boost 1.67.0 & newer (#1424)
    • support adding specific paths to $PATH for generic Binary easyblock via 'prepend_to_path' custom easyconfig parameter (#1426)
  • minor changes, including:
    • assume PGI Community edition is used when no license file is specified (#1427)
  • various bug fixes, including:
    • fix imkl sanity check overwriting base libs with interface libs (#1392)
    • install Chimera in a subdirectory to avoid its dependencies being added to the environment (#1413)
    • add conditional so "--with-x" is only added to configopts if left unspecified in R easyblock (#1415)
    • make configure and make look for FoX in $EBROOTFOX in QuantumESPRESSO easyblock (#1420)
    • fix path for $ICEM_ACN in ANSYS easyblock (#1422)
    • avoid hardcoding defaults in question patterns in Doris easyblock (#1428)

easyconfigs

  • added easyconfigs for new toolchains fosscuda/2018a (#6363) and giolfc/2017b (#5799)
  • added example easyconfig files for 24 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Boost 1.67.0, ESMF 7.1.0r, GATK 4.0.4.0, GCC 8.1.0, GROMACS 2018, OpenBLAS 0.3.0, PETSc 3.9.1, PGI 18.4, TensorFlow 1.8.0, WIEN2k 17.1
  • minor enhancements, including:
    • add py_expression_eval extension to (recent) Python 2.7.14 & 3.6.4 easyconfigs (#6285)
    • add README for Java with information on downloading source tarball (#6294)
    • add several extensions to Perl 5.26.1 easyconfigs, incl Dist::Zilla & dependencies (#6297)
    • also include archive URLs for Bioconductor 3.6 (#6311)
    • add README.md file for installing icc/ifort (#6317)
  • various bug fixes, including:
    • consistently specify 'intel-mkl' component in recent Intel MKL easyconfigs (#6234)
    • add pkg-config as build dependency to libdrm (#6243)
    • add pkg-config build dep to most recent libdrm easyconfigs (#6244)
    • fix checksum for foreign extension in R 3.4.3 and R 3.4.4 easyconfigs (#6245)
    • fix installation of Libint 2.4.2 by building with -std=c++11 (#6251)
    • fix source spec for networkx 2.1 extension in scikit-image easyconfig (#6254)
    • avoid that Nipype downloads dependencies for included extensions (#6261, #6263)
    • consistently include patch for FLTK 1.3.4 (#6265)
    • fix Perl shebang in MCL v14.137 scripts (#6269)
    • add patch to build particular source file of matrixStats extension in R 3.4.4 easyconfig with -O1 to work around ICE in Skylake systems (#6278)
    • add pkg-config build dependency to FFmpeg >= 3.3.1 (#6291)
    • change back checksum for libdap 3.19.1 (#6305)
    • add patch for Automake 1.15 to fix issue with recent Perl versions (#6358)
    • fix glog causing intel error in Intel compilers on Intel Skylake (#6360)
    • include ICU as dependency in recent R easyconfigs (v3.4.3 & v3.4.4) (#6371)
    • fix checksum for RSEM 1.3.0 after sneaky re-release (#6379)

EasyBuild v3.6.0 (April 26th 2018)

feature release

framework

  • (experimental) support for generating Singularity container recipes & (optionally) images via 'sudo singularity' (#2332, #2480, #2481, #2482, #2483)
  • include -ftree-vectorize and -fno-math-errno in default compiler optimisation flags for GCC (#2388)
    • this significantly improves performance of generated binaries when building with a GCC-based toolchain
    • can be disabled if needed via the vectorize toolchain option
  • several enhancements/fixes to GitHub integration support:
    • loosen commit message requirements for --new-pr w.r.t. to patches as long as all easyconfigs are new (#2438)
    • automatically add 'new' and/or 'update' labels in --new-pr (#2384)
    • add force_in_dry_run=True to copy_file in copy_patch_files (#2442)
    • test for custom commit message when deleting a file instead of when adding a patch (#2443)
    • make diff_stat pattern also match output of older git versions in tests for --new/update-pr (#2444)
    • remove duplicates from --new-pr title (#2478)
  • add support for "eb --fetch" to only download sources (even without having a modules tool installed) (#2457)
  • add definitions for a bunch of new toolchains:
    • golf (#2458), gmkl (#2460), gomkl (#2455), pmkl (#2460)
    • toolchains including CUDA: gmklc, gomklc, iimklc, iompic, iomklc (#2461)
  • various minor enhancements, including:
    • avoid that '--inject-checksums' adds lines longer than 120 characters (#2434)
    • enable caching of $HOME/.cache/pip in Travis config (#2435)
    • replace raw strings with bytes literal as iterator sentinels in checksum calculation (#2446)
    • new command-line option '--job-max-jobs' to cap nr of submitted build jobs with GC3Pie (#2378)
    • add configuration for houndci + flake8 (#2451)
    • add Accept header when downloading file (#2437)
    • include running of 'eb --check-github' in Travis config (#2449, #2454)
    • flesh out common code blocks in test/framework/options.py (#2452)
    • support 'depends_on' load statements in generated modules via --module-depends-on and module_depends_on easyconfig parameter (#2391)
    • fix compatibility with Modules v4.1.x (#2470)
    • add support to run_cmd to enable streaming output (#2476)
  • various bug fixes, including:
    • determine whether included easyblocks are generic or not based on class they define (#2432)
    • make sure GitHub token is used in test for --preview-pr (#2436)
    • take into account that toolchain components may be hidden when determining toolchain composition (#2440)
    • stick to autopep8 1.3.4 when testing with Python 2.6 (#2462)
    • strip off .lua extension when backing up modules to ensure Lmod 6.x doesn't pick up on them (#2463)
    • check for modulecmd.tcl before modulecmd in bootstrap script to discriminate between Modules 4.1.x vs 3.2.10 (#2468)
    • fix derive_alt_pypi_url after PyPI switching to sha256 in package URLs + fix broken test for pypi_source_urls + fix bootstrap script (#2471)
    • make sure that both 'get_git_revision' and 'this_is_easybuild' return regular strings rather than Unicode strings (#2472)

easyblocks

  • new software-specific easyblock for Nim (#1402)
  • minor enhancements, including:
    • enhance RPackage easyblock to support installing from unpacked sources (#1383)
    • add support to PythonPackage easyblock to install with 'pip install --editable' (#1384)
    • add $EBROOTIFORT/include in $CPATH for ifort (#1385)
    • add houndci + flake8 configuration (#1388)
    • add additional location to $PATH for FLUENT installations (#1389)
    • make PythonPackage generic easyblock aware of 'unpack_options' easyconfig parameter (#1391)
    • minor updates to ABAQUS easyblock to support latest version (#1394)
    • add support for extracting sources in Binary easyblock (#1401)
  • various bug fixes, including:
    • fix linking to FFTW for Doris: should be -lfftw3f (#1387)
    • fix for installing TensorFlow 1.6.0: use the absolute path for the C compiler when compiling with GPU support (#1386)
    • also take lib64 into account for binutils libraries (#1399)
    • make sanity check in MPICH easyblock aware of libraries in lib64 subdir (#1403)
    • take into account that self.debuggerpath may not be set in icc easyblock (#1408)
    • extend noqa in configure step of Qt easyblock (#1409)

easyconfig

  • added easyconfigs for new toolchain golf/2018a (#6080)
  • added example easyconfig files for 39 new software packages:
  • added new easyconfigs for existing toolchains:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 8.6.3, Anaconda2 5.1.0, Anaconda3 5.1.0, binutils 2.30, dask 0.17.2, FFmpeg 4.0, GCC(core) 7.3.0, GROMACS 2016.5, HTSlib 1.8, LLVM 6.0.0, Mesa 17.3.6, netCDF 4.6.0, Octave 4.2.2, OpenCV 3.4.1, PLUMED 2.4.1, PROJ 5.0.0, PostgreSQL 10.3, Qt5 5.10.1, R 3.4.4, SAMtools 1.8, Spack 0.11.2, TensorFlow 1.7.0, VTK 8.1.0
  • minor enhancements, including:
    • add test to ensure there's only one variant for each dependency in dep graph of easyconfigs using particular toolchains (#5970, #6023)
    • add extensions required by CODEX2 v20180227 to Bioconductor w/ R 3.4.3 (#5972)
    • add config file for https://pre-commit.com/ (#5785)
    • add custom sanity check paths for GraphicsMagick consistently (#5997)
    • add custom sanity check paths to recent Ghostscript easyconfigs (#5998)
    • add svd, Rssa, JBTools, RUnit, DistributionUtils and gapfill extensions for R 3.4.3 (#6099)
    • add additional extensions to Bioconductor 3.6 bundle (#6136)
    • add xlrd extension to recent Python 2.x and 3.x easyconfigs (#6162)
  • minor changes, including:
    • use gettext 0.19.8.1 on top of libxml2 2.9.7 as dep for git built with foss/2018a (#5993)
    • bump hwloc dep for OpenMPI 2.1.2 that is part of iomkl/2018a to v1.11.8 (#5994)
    • use non-interactive plotting backend by default for matplotlib 2.1.2 (#6024)
    • don't use bare Perl as dependency for git with foss/2018a, use variant with extensions (#6058)
  • various bug fixes, including:
    • fix moduleclass & add custom sanity_check_paths in gettext easyconfigs (#5991)
    • drop use of --disable-dlopen in (recent) OpenMPI easyconfigs due to negative performance impact (#6060)
    • add missing XZ dep in Python 3.6.4 easyconfigs built with */2018a toolchain (#6065)
    • add 10 packages that were previously downloaded in Python 3.6.4 easyconfigs (#6081)
    • add patch for Tensorflow 1.6 & 1.7 to include missing -lrt link flag (needed in CentOS6) (#6089)
    • fix checksums for R extensions that were updated in place in easyconfigs for R versions 3.4.3 & 3.4.4 (#6118)
    • include pkg-config as build dep in recent R easyconfigs (required for at least nloptr) (#6122)
    • remove Intel-specific workaround for 'undefined symbol: __stack_chk_guard' issue from Python 3.6.4 foss/2018a easyconfig (#6130)
    • add configopt --without-matlab/octave to all NLopt easyconfigs (#6132)
    • also consider lib64 in sanity_check_paths for Bison 3.0.4 (#6170)
    • don't use libyaml built with dummy as dep for PyYAML (#6208)
    • add missing pkg-config build dep in recent GObject-Introspection, GLib & cairo easyconfigs (#6216)
    • don't include (ancient version of) Time::HiRes as Perl extension, since it's a core Perl module (#6225)
      • this fixes problems with the installation of BioPerl and proovread
    • add missing XML-LibXML dependency in recent BioPerl easyconfigs (#6226)
    • add --without-ada configure option in recent ncurses easyconfigs (#6228)
    • add patch for snaphu to fix segmentation fault due to use of short integer (#6230)

EasyBuild v3.5.3 (March 7th 2018)

bugfix/update release

framework

  • various enhancements, including:
    • re-enable testing against environment modules, bump Lmod to 7.7.16 (#2425)
    • print which hook is being executed in the command line output (#2427)
  • various bug fixes, including:
    • fix order in result of gen_list_easyblocks and gen_easyblocks_overview_rst (#2421)
    • fix target account for branch pushed when using --new-pr (#2426)

easyblocks

  • minor enhancements, including:
    • make GROMACS easyblock select build type based on value for 'debug' in 'toolchainopts' (#1374)
    • re-enable testing against environment modules, bump Lmod to 7.7.16 (#1376)
    • enhance Gurobi easyblock to support installing Python bindings (#1378)

easyconfigs

  • added example easyconfig files for 2 new software packages:
    • CNVkit and hmmlearn (#5954)
  • added additional easyconfigs for various supported software packages, including:
    • matplotlib 2.1.2, TensorFlow 1.6.0
  • minor enhancements, including:
    • re-enable testing against environment modules, bump Lmod to 7.7.16 (#5944)
    • add cghFLasso extension to R 3.4.3 easyconfigs (#5953)
    • add 'Math::CDF' extension to recent Perl modules (#5957)
  • various bug fixes, including:
    • add missing --enable-ld-version-script configure option for LibTIFF 4.0.9 built with GCCcore/6.4.0 (#5945)
    • hard disable UCX support in recent OpenMPI versions, to dance around bug in OpenMPI configure script (#5949)

EasyBuild v3.5.2 (March 2nd 2018)

bugfix/update release

framework

  • various enhancements, including:
    • add functionality to skip devel module with naming scheme (#2374)
    • add pagination support in clean_gists.py (#2379)
    • allow basic compiler modulenames to be specified as keys in --optarch (#2387)
    • initial set of OHPC module meta data for EasyBuild (#2392)
    • allow different target account in post_comment_in_issue (#2399)
    • declare support for RPATH linking stable (#2409)
  • various bug fixes, including:
    • update bootstrap script to be compatible with Modules v4 (#2390)
    • avoid fatal error when determining glibc version on non-glibc Linux system (e.g. Alphine Linux) (#2398)
    • exclude location of RPATH wrappers from $PATH to avoid fork bomb (#2410)
    • fix target account for --update-pr in case it's different from GitHub account being used to push branch (#2419)

easyblocks

  • new software-specific easyblocks for COMSOL (#1317), Stata (#1241) and TensorFlow (#1287, #1361)
  • enhance GCC easyblock to support building generically (via 'generic' easyconfig parameter or --optarch=GENERIC) (#1336)
  • minor enhancements, including:
    • make GROMACS easyblock aware of building for KNL via --optarch=MIC-AVX512 (#1360)
    • unset $PERL_MM_OPT and $PERL_MB_OPT when installing Perl modules to avoid problems (#1362)
    • add custom 'use_pip_for_deps' easyconfig parameter to PythonPackage easyblock (#1366)
    • add support for 'default_component_specs' easyconfig parameter in Bundle easyblock (#1369)
  • various bug fixes, including:
    • fix logic in icc easyblock w.r.t. location of debugger libraries (libipt library for gdb) (#1224)
    • fix Tkinter easyblock to install Tkinter 3.x (#1347)
    • let impi modules also update $MANPATH (#1354)
    • enhance Octave extension filter to avoid false positives (#1355)
    • make CUDA easyblock aware of 'preinstallopts' easyconfig parameter (#1367)
    • fix handling of per-component (checksums for) patches in Bundle easyblock (#1369)

easyconfigs

  • added example easyconfig files for 24 new software packages:
  • added new easyconfigs for existing toolchains: giolf/2018a (#5777), goolfc/2017b (#5768), iomkl/2018a (#5878)
  • added additional easyconfigs for various supported software packages, including:
    • CP2K 5.1, IPython 6.2.1, OpenFOAM v1712, Perl 5.26.1, Python 3.6.4, TensorFlow 1.5.0, X11 20180131
  • minor enhancements, including:
    • add feather and tidyverse as extensions for R 3.4.3 (#5693)
    • build recent PLUMED versions with all modules enabled (#5696)
    • add MAST/splatter/scDD to Bioconductor 3.6 bundle (#5704)
    • add dummies as extension for R 3.4.3 + monocle/scde/ROTS (+ deps) to Bioconductor 3.6 bundle (#5724)
    • include io and statistics extensions to Octave 4.2.1 easyconfigs (#5798)
    • switch to using TensorFlow as backend for recent versions of Keras (#5821)
  • various bug fixes, including:
    • using the correct binutils in jemalloc 5.0.1 easyconfig using GCCcore/6.4.0 (#5659)
    • fix source URLs for MPC (#5662)
    • add Tkinter as dependency for ASE & matplotlib using Python 3.6.3 (#5658)
    • fix versions for updated extensions in Bioconductor 3.6 bundle (#5704, #5724, #5880)
    • fix missing M4 build dependency in nettle easyconfigs (#5722)
    • fix homepage for OpenFOAM 4.x & 5.x, should be openfoam.org (#5422, #5780)
    • add matplotlib, cairo & PyCairo dependencies for graph-tool 2.26 + enhance sanity check (#5787)
    • fix hardcoded version in scikit-image easyconfigs (#5822)
    • fix pkgconfig moduleclass, 'data' doesn't make much sense (#5817)
    • add sanity check in recent matplotlib easyconfigs to ensure that Tkinter is available (#5689, #5896)
    • correct MPI path when building ABINIT with 'foss' toolchain (#5760)
    • patch Hyperopt to make it work with networkx 2.0 (#5642)
    • add Tkinter sanity check to ASE easyconfigs (#5691, #5909)
    • include autotools as build dep in git easyconfigs (#5718)
    • fix sanity check paths for Debian OS in JasPer easyconfigs (#5897)
    • fix source_urls for recent versions of ABINIT (#5908)
    • add patch for recent GDAL easyconfigs using intel toolchain to fix icc get stuck on compiling ceos.c (#5915)
    • add explicit zlib dependency in Tkinter 2.x and 3.x (#5797, #5926)
    • fix source URLs & homepage in Singularity easyconfigs (#5927)
    • fix installation of TensorFlow 1.3 via binary wheel after introducing TensorFlow easyblock (#5938)

EasyBuild v3.5.1 (January 16th 2018)

bugfix/update release

framework

  • various enhancements, including:
    • add definition of giolfc toolchain (#2359)
    • add support for Environment Modules 4 (#2365)
  • various bug fixes, including:
    • install SQLAlchemy < 1.2.0 with Python 2.6 in Travis config (#2367)
    • make code in easybuild/tools/job/gc3pie.py forward-compatible with GC3Pie 2.5 (#2373)

easyblocks

  • minor enhancements, including:
    • auto-detect default build target for Clang (#1115)
    • build GROMACS for target architecture based on --optarch (#1163)
    • ensure correct $PYTHONPATH for recent OpenBabel versions (#1219)
    • enhance Amber easyblock with support for OpenBLAS and better Intel MPI support (#1305)
    • also support only installing AmberTools through Amber easyblock (#1305)
    • also pick locations for CUPTI headers & libraries in CUDA easyblock (#1306)
    • update patching out of sanitizer tests for recent Clang versions (>=5.0) (#1327)
    • update known questions for Qt5 to support installing recent versions (#1328)
    • update BamTools easyblock for v2.5.0 (#1332, #1337)
    • disable libfox target if external module found in QuantumESPRESSO easyblock (#1333)
    • add support for linking Octave with multi-threaded BLAS/LAPACK library (#1340)
    • support install_target in PythonPackage + deprecate use_easy_install & use_setup_py_develop (#1341, #1342)
  • various bug fixes, including:
    • make RubyGem easyblock use $GEM_* environment variables except if as extension of Ruby itself (#1247)
    • move initialisation in SystemCompiler & SystemMPI easyblocks to the prepare step (#1282)
    • enable skipping sanitizer tests by default in Clang easyblock, they can't be relied on (#1329)
    • fix quotes when using $ORIGIN in RPATH locations for DOLFIN (#1338)
    • fix sanity check for shared libraries in Trilinos easyblock (#1339)

easyconfigs

  • added easyconfigs for foss/2018a and intel/2018a common toolchains (#5577), (#5578)
  • added example easyconfig files for 26 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • BLAST+ 2.7.1, BamTools 2.5.0, Boost 1.66.0, Clang 5.0.0, dask 0.16.0, FFmpeg 3.4.1, GROMACS 2016.4, HDF5 1.8.20, matplotlib 2.1.1, PLUMED 2.4.0, Pillow 5.0.0, Qt5 5.9.3, QuantumESPRESSO 6.2, Ruby 2.5.0, Rust 1.22.1
  • minor enhancements, including:
    • include gomms in list of extensions for R 3.4.3 (#5547)
    • clean up BamTools easyconfigs to rely on updated easyblock + add SHA256 checksums (#5575)
    • add Time::HiRes to recent Perl versions (#5616)
    • add DNAcopy & dupRadar extensions to bundle for Bioconductor 3.6 (#5587, #5618)
    • switch to using install_target rather than now deprecated use_easy_install and use_setup_py_develop (#5625)
  • various bug fixes, including:
    • avoid auto-downloading of parcel in gdc-client 1.3.0 easyconfig (#5523)
    • fix permissions on make_raw_alos.pl script in ROI_PAC installation (#5546)
    • remove erroneous patch for Intel compiler support in Perl 5.26.0 easyconfig built with GCCcore/6.4.0 (#5561)
    • include HWxtest as extension to fix issue with diveRsity in R 3.4.3 easyconfig file (#5570)
    • add pkg-config as build dependency for fontconfig, harfbuzz, gnuplot, pango (#5580)
    • fix versions of updated extensions in BioConductor bundle (#5587, #5618)
    • add missing libpng dependency in ROOT 6.10.08 easyconfigs (#5595)
    • fix option passed to configure in M4 (#5606)
    • rename SIBELia to Sibelia (#5603)
    • add patch for binutils 2.26 to fix compatibility with GCC 6.x (#5611)
    • fix for dependencies was set twice in OpenMPI 3.0.0 easyconfig (#5619)
    • fix download URL in comment of Kent tools easyconfigs (#5633)
    • add SHA256 checksums to various easyconfigs (#5635, #5636, #5639)
    • add rdma-core-devel to OS dependencies for OpenMPI 3.0.0 (#5648)

EasyBuild v3.5.0 (December 15th 2017)

feature release

framework

  • add support for implementing pre- and post-step hooks (#2343)
  • various enhancements, including:
  • various bug fixes, including:
    • fix typo in 'giolf' toolchain definition (#2327)
    • fix minor issues with --inject-checksums (#2333)
    • fix error message when 'gv' Python package is not available (#2340)
    • install paramiko version < 2.4.0 for Python 2.6 in Travis config (#2344)
    • disable broken log rotation, avoid duplicate logging of output of executed commands under '--debug' (#2347)
    • also include $ORIGIN and absolute paths to 'lib' and 'lib64' subdirectories in RPATH locations (#2358)
    • fix repo references in install-EasyBuild-develop.sh script (#2360)

easyblocks

  • new software-specific easyblock for Bazel (#1286) and Octave (#1304)
  • new generic easyblock for installing Octave packages as extensions (#1304, #1318)
  • minor enhancements, including:
    • remove foamExec & wdot from sanity checks, add blockMesh & checkMesh + enable logging for recent OpenFOAM versions (#1205, #1272)
    • add exceptions for FFTW/3.3.6 on POWER with GCC 5/6/7 (#1274)
    • add support for Spectrum MPI to the SystemMPI easyblock (#1275)
    • allow skipping of steps for Bundle components + fix issues with templates & formatting of error message (#1278)
    • update HPCG easyblock for v3.0 by changing configure syntax (#1284)
    • correctly configure for BLAS/LAPACK in R easyblock & check configure output (#1292, #1300)
    • make R easyblock set configure options for dependencies (#1297, #1303)
    • allow tuning of build command in PythonPackage via custom 'buildcmd' easyconfig parameter (#1299)
    • set default Java encoding to UTF8 when installing Trinity (#1302)
    • also define $CUDA_ROOT in generated module for CUDA (#1234)
    • make the ScaLAPACK easyblock capable of building in parallel (#1288, #1321, #1324)
  • various bug fixes, including:
    • avoid changing $CPATH, $LD_LIBRARY_PATH an $LIBRARY_PATH in generated modules for Intel Advisor, Inspector, and VTune (#1229)
    • fix check for Intel MKL in PSI easyblock (#1273)
    • fix missing space in fftw easyblock (#1277)
    • fix use of FFTW on top of Intel MKL in CP2K easyblock (#1281)
    • fix wrong sanity check for Boost when using Python 3.x (#1283)
    • pick up per-component checksums in Bundle generic easyblock (#1285)
    • correctly pass down optimization flags in CP2K easyblock (#1293)

easyconfigs

  • added example easyconfig files for 39 new software packages:
  • added new easyconfigs for existing toolchains: intel/2017.09 (#5303), intel/2018.00 (#5129), intel/2018.01 (#5345)
  • added additional easyconfigs for various supported software packages, including:
    • CGAL 4.11, CMake 3.10.0, Caffe 1.0, FFTW 3.3.7, GATE 8.0, gnuplot 5.2.2, HPCG 3.0, HTSlib 1.6, Keras 2.1.2, LLVM 5.0.0, Mesa 17.2.5, mpi4py 3.0.0, netCDF 4.5.0, OpenFOAM 5.0, ParaView 5.4.1, R 3.4.3, Ruby 2.4.2, Rust 1.21.0, SCons 3.0.1, Szip 2.1.1, Theano 1.0.0, VTK 8.0.1, X11 20171023
  • minor enhancements, including:
    • add SHA256 checksums to Autoconf (#5304), Automake (#5305), libtool (#5306) and M4 (#5307) easyconfigs
    • avoid hardcoding extension versions in worker easyconfig, include 'perl' as OS dep (#5324)
    • enable building ScaLAPACK in parallel with enhanced ScaLAPACK easyblock (#5331)
    • include RInside extension in R 3.4.0 easyconfig (#5354)
    • clean up configure options that are now handled by R easyblock (#5478, #5485)
    • update Octave easyconfigs to use Octave easyblock, add extensions for latest Octave versions (#5484, #5503, #5507)
    • add Log4perl extension to Perl 5.26.0 easyconfigs (#5511)
  • various bug fixes, including:
    • add missing extensions required by MultiQC & stick to networkx 1.11 (#5240)
    • disable optarch when using Intel compilers and enable tests in all libxc easyconfigs (#5256, #5257)
    • avoid downloads when installing matplotlib 2.1.0 w/ Python 2.7.14 (#5267)
    • fix $CPATH in recent libffi easyconfigs + enhance sanity check & add checksum (#5271)
    • use Github source URL, run autogen.sh + include Autotools build dep for numactl (#5286, #5296, #5297, #5299, #5302)
    • add hwloc to GROMACS dependencies (#5295)
    • fix source_urls (& sources spec) for GATE (#5367)
    • consistently add Autotools build dep in recent netCDF easyconfigs (#5394)
    • fix check in test suite for binutils build dep when GCCcore used as toolchain (#5436)
    • libdap 3.19.1 checksum changed (#5473)
    • disable new rfkill feature in easyconfig for util-linux 2.31 since it requires a recent kernel (#5480)
    • add missing PROJ dependency in recent GDAL easyconfigs (#5481)
    • fix name in TensorFlow easyconfigs (was 'TensorFlow') (#5495)
    • fix checksum for Szip 2.1.1 (#5517)
    • fix order of extensions for FSLeyes, add missing MarkupSafe (dep for Jinja2) (#5520)

EasyBuild v3.4.1 (October 17th 2017)

bugfix/update release

framework

  • various enhancements, including:
    • improve trace output for executed commands + drop requirement for --experimental for --trace (#2306)
    • add giolf toolchain definition: GCC, IntelMPI, OpenBLAS, (Sca)LAPACK and FFTW (#2310)
    • add support for --force-download and --ignore-checksums (#2313, #2314)
    • flesh out pypi_source_urls from derive_alt_pypi_url (#2319)
  • various bug fixes, including:
    • also check for use of --rebuild next to --force to skip sanity check with --module-only (#2307)
    • ensure $TMPDIR is set to a short path for OpenMPI v2.x (#2311)
    • guard 'module load' commands in generated modules under --recursive-unload to avoid load storms (#2316)
    • correctly deal with use of special characters in description & co (#2320)
    • fix incorrect FFT_INC_DIR for Intel MKL (#2323)

easyblocks

  • add generic 'SystemMPI' easyblock (#1106, #1261, #1262)
  • add software-specific easyblock for SAS (#1263)
  • minor enhancements, including:
    • run 'wcleanAll' or 'wcleanPlatform -all' before building OpenFOAM (#780, #1258)
    • enhance generic 'SystemCompiler' easyblock (#1106)
    • clean up --trace output for Python & Python packages (#1248)
    • update Intel MPI easyblock to support 2018.* versions (#1253)
    • add support for Intel MPI and Intel MKL to ScaLAPACK easyblock (#1255)
    • enhance GCC easyblock to also put symlinks in place for cc/c++/f77/f95 commands (#1256)
  • various bug fixes, including:
    • allow that 'gcc -print-multiarch' fails in icc easyblock (#1249)
    • fix prefix subdirectory for older versions of icc (in particular 2011.3.174) (#1250)
    • use remove_file rather than os.remove in generic IntelBase easyblock to correctly deal with broken symlinks (#1251)
    • fix sanity check for MXNet easyblock + correctly detect unpacked source directory (#1257)
    • avoid building CP2K twice due to incorrect attempt at running 'make clean' first (#1266)

easyconfigs

  • added easyconfigs for new toolchain giolf/2017b (#5140)
  • added example easyconfig files for 13 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Anaconda2/3 4.4.0, Blender 2.79, Boost 1.65.1, CMake 3.9.4, FFmpeg 3.3.4, GCC 5.5.0, h5py 2.7.1, Keras 2.0.8, matplotlib 2.1.0, mympingpong 0.8.0, OpenCV 3.3.0, OpenFOAM-Extend 4.0, OpenMPI 2.1.2 + 3.0.0, Pillow 4.3.0, Python 2.7.14 + 3.6.3, SAMtools 1.6, scikit-image 0.13.0, scikit-learn 0.19.0, Tensorflow 1.3.0, vsc-mympirun 4.0.2
  • minor enhancements, including:
    • add xkeyboard-config component in X11 bundle (#5066)
    • clean up use of wcleanAll in OpenFOAM-Extend easyconfigs, now handled by OpenFOAM easyblock (#5131)
    • also install run_rcorrector.pl with Rcorrector (#5135)
    • add SHA256 checksum to PyCUDA easyconfig (#5154)
    • fix/improve description in HDF5 easyconfigs (#5182)
    • include heatmap3 extension for R 3.4.0 (#5185)
    • add ComplexHeatmap to Bioconductor 3.5 bundle + dep pkgs in R 3.4.0 easyconfig (#5195)
  • various bug fixes, including:
    • fix source URLs for AUGUSTUS 3.2.3 (#5119)
    • fix building Bison 2.5 on systems with recent glibc (#5130)
    • also consider rdma-core-devel as alternative to libibverbs-devel OS dependency (#5132)
    • consistently use empty toolchain version in icc & ifort easyconfigs to ensure that GCC(core) dep is loaded during installation (#5133, #5134)
    • add patches for Boost 1.64.0 to fix known issues (#5148)
    • remove PyCUDA easyconfig for intel/2017a, doesn't work due to incompatibility between GCC 6.3.0 & CUDA 8 (#5156)
    • add missing Perl extensions in easyconfig for Worker 1.6.7 (#5157)
    • fix checksums for packages that download from github.com/x/y/archive (#5162)
    • add missing libpng dependency to g2lib-1.4.0 easyconfig using intel-2017a (#5196)
    • fix source_urls for Szip 2.1 & include SHA256 checksum (#5206)
    • remove unneeded --with-fft-incs configure option for ABINIT (#5207)
    • disable optarch for libjpeg-turbo 1.5.1 built with intel/2017a (#5214)
    • update $R_LIBS in plotly easyconfig (#5215)
    • include NLopt as a dependency in R easyconfigs that include nloptr as extension (#5217)

EasyBuild v3.4.0 (September 10th 2017)

feature release

framework

easyblocks

  • minor enhancements, including:
    • update Siesta easyblock for versions 4.0.1 and 4.1-b3 (#1218)
    • updates GAMESS-US easyblock for version 20170420R1 + move ddikick.x when ddi_comm is set to 'sockets' (#1221)
    • update MRtrix easyblock for 3.0 & beyond + use copy function (#1230)
    • update ROOT easyblock to support recent versions that require using CMake, add sanity check, clean up/enhance make_module* (#1236)
    • enhance icc easyblock to include multipath include dir in $CPATH (#1237, #1242)
  • various bug fixes, including:
    • use plumed-patch command rather than 'plumed patch' in GROMACS easyblock (#1212)
    • remove 'provides' line from setup.py (#1217)
    • fixed wrong use of build_type in self.cfg in WRF easyblock that resulted in an raised exception (#1220)
    • added a call to super post_install_step in CUDA easyblock (#1226)
    • fix $MCRROOT definition in generated module file under --module-only in MCR easyblock (#1228)
    • fix permissions for directories in SuiteSparse (#1238)
    • fix function signature for fetch_extension_sources in OCaml easyblock (#1240)

easyconfigs

  • added easyconfigs for foss/2017b and intel/2017b common toolchains (#4768), (#4618)
  • added new easyconfigs for existing toolchains:
  • added example easyconfig files for 31 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Boost 1.65.0, binutils 2.29, GAMESS-US 20170420-R1, GCC(core) 7.2.0, gzip 1.8, HDF5 1.8.19, LLVM 4.0.1, MRtrix 3.0_RC2, Perl 5.26.0, ROOT 6.10.04, Spark 2.2.0
  • minor enhancements, including:
    • add checksums to Perl 5.24.1 easyconfigs (#4973, #4992)
    • add additional extensions for R 3.4.0 and Bioconductor 3.5 bundle (#5007, #5028, #5029, #5062, #5079)
    • also define $INCLUDEPATH and $LIBRARY_PATH in Tesla-Deployment-Kit easyconfig (#5018)
    • add check to see whether binutils is included as build dep when GCCcore toolchain is used (#5084)
  • various bug fixes, including:
    • added Rmpi patch file for R built with intel toolchains incl. impi 5.x (#4623)
    • use single-line description in setup.py (#4881)
    • fix version and source for Seurat + add extensions required by Seurat in R 3.4.0 easyconfig (#4889)
    • add zlib as dependency to util-linux easyconfigs (#4900, #4998)
    • use modextrapaths instead of modextravars in OpenMM easyconfig (#4903)
    • update deprecated PLINK urls (#4920, #5006)
    • fix moduleclass for Cookiecutter (#4947)
    • fix order of OpenMPI dependency in iomkl/2016.09* easyconfigs, must come after icc/ifort (#5024)
    • fix typo in comment in util-linux easyconfigs & add SHA256 checksums (#5052)
    • remove superfluous $CPATH update in GLib 2.44.0 easyconfig (#5053)
    • update ncurses to not build a separate libtinfo but provide a soft link instead + force linking to ncurses in libreadline (#5067, #5074)
    • include Autotools as build dep for netCDF (#5077)
    • add missing binutils build dep for texinfo (#5099)

EasyBuild v3.3.1 (July 12th 2017)

bugfix/update release

framework

  • various enhancements, including:
    • add support for 'allow_prepend_abs_path' easyconfig parameter (#2254)
    • support for --merge-pr (#2266)
  • various bug fixes, including:
    • resolve symlinks to location of 'eb' in get_paths_for (#2248)
    • fall back to checking location relative to 'eb' location in find_eb_script (#2249)
    • respect --suffix-modules-path value for user-specific module path extensions (#2250)
    • update EasyBuild bootstrap script to download distribute tarball from http://easybuilders.github.io/easybuild/files (#2256)
    • fix default target GitHub account/organisation for --new-pr & co + fix tests that got broken by migration to github.com/easybuilders (#2258)
    • fix checking for new easyconfigs in copy_easyconfigs, pick up specified commit message as PR title if none was provided (#2259)
    • get rid of references to hpcugent after move to github.com/easybuilders (#2261)
    • automatically enable --ignore-osdeps under --new-pr and --update-pr (#2262)

easyblocks

  • minor enhancements, including:
    • enhance HDF5 easyblock: define $HDF5_DIR & include -DMPICH_IGNORE_CXX_SEEK in $CXXFLAGS (#1200)
    • consistently pass down (named) arguments in prepare_step, and check for it in the tests (#1202)
    • remove no longer supported VersionIndependentPythonPackage generic easyblock (#1202)
    • update ABAQUS easyblock for recent versions, incl. support for installing hotfixes (#1203)
    • get rid of references to 'hpcugent' organisation after move to github.com/easybuilders (#1206)
    • make Boost easyblock fully aware of (pre)configopts, (pre)buildopts and (pre)installopts (#1207)
    • drop check for 'ipython' in sanity check of Anaconda easyblock, to also support Miniconda (#1210)

easyconfigs

  • added example easyconfig files for 6 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • ABAQUS 2017, GCC(core) 6.4.0, Keras 2.0.5, NCBI-Toolkit 18.0.0, numpy 1.13.0, Tensorflow 1.2.0
  • minor enhancements, including:
    • add SVG and Statistics::Basic to recent Perl versions (#4796)
    • remove buildopts from HDF5 easyconfigs, taken care of by updated HDF5 easyblock now (#4779)
    • include joblib as extension in recent Python easyconfigs (#4805)
    • changed moduleclass in mpi4py to better reflect what it is and to not confuse HMNS (#4807)
    • get rid of references to 'hpcugent' organisation after move to github.com/easybuilders (#4815, #4837)
    • add Rtsne as extension to R 3.4.0 (#4831)
  • various bug fixes, including:
    • use PYPI_SOURCE as source URL in Tensorflow easyconfigs (#4786)
    • fix homepage for skewer (#4791)
    • sync/fix source_urls & homepage in HDF5 easyconfigs (#4800)
    • fix ubsan error blocking build of GCCcore 6.1.0, 6.2.0, 6.3.0 with system GCC 7.1 (#4813)

EasyBuild v3.3.0 (June 26th 2017)

feature release

framework

  • various enhancements, including:
  • various bug fixes, including:
    • make sure test account & accompanying token is used in tests for github.py (#2220, #2224)
    • only use MPD for old versions of Intel MPI (<4.1) in mpi_cmd_for (#2221)
    • escape dots in package filename to ensure correct match in derive_alt_pypi_url (#2225)
    • fix GNU_SOURCE template by adding missing /gnu/ (#2235)
    • catch exception shutil.Error in copy_file (#2239)
    • report full error and traceback on unhandled exception in test report (#2240)
    • fix --set-default-module flag (#2243)

easyblocks

  • added easyblocks for MXNet (#1135), Tkinter(#1184)
  • minor enhancements, including:
    • enhance sanity check for NCL (#1169, #1179)
    • enable building of shared FFTW libraries (#1180)
    • include update statements for $CPATH and $*LIBRARY_PATH in generated module in numpy easyblock (#1183)
    • stop using deprecated 'copytree' function from easybuild.tools.filetools (#1185)
    • update SAMtools easyblock for v0.1.17 (#1189)
    • update MATLAB easyblock for 2016b & 2017a versions (adjust permissions and change dir) (#1182, #1197)
    • consider $EB_*_LICENSE_SERVER(_PORT) in MATLAB and ANSYS easyblocks (#1195)
    • add omp_num_threads custom parameter in CP2K easyblock to allow defining $OMP_NUM_THREADS during testing (#1196)
  • various bug fixes, including:
    • fix Siesta easyblock to enable and verify parallel build (#1186)
    • fix bug in alias definition in impi easyblock for mpigxx, mpiicpc and mpiifort (#1192)

easyconfigs

  • enable automatic style checks in easyconfig tests (#2506)
  • added example easyconfig files for 28 new software packages:
  • added new easyconfigs for existing toolchains:
  • added additional easyconfigs for various supported software packages, including:
    • ABINIT 8.2.2, BLAST+ 2.6.0, Bowtie2 2.3.2, FFmpeg 3.3.1, NCL 6.4.0, Rust 1.18.0, SAMtools 1.5, VTK 7.1.1
  • minor enhancements, including:
    • use 'git diff --name-only' and $TRAVIS_COMMIT_RANGE in Travis config to get list of changed files (#4606, #4619)
    • add tuneR, seewave, soundecology, vcfR extensions for R 3.4.0 (+ libsndfile as dep) (#4628, #4680, #4747)
    • also copy README for GapFiller (#4631)
    • enable inclusion of version symbol by using --enable-ld-version-script configure option for LibTIFF (#4639)
    • add SHA256 checksums for libpciaccess to discriminate from old tarballs that required running autogen.sh (#4688)
    • fix NE_GLOBAL_DIR path for ne by also specifying PREFIX in buildopts (#4698)
    • more (trivial) style fixes (#4761)
    • avoid use of import in ANSYS & MATLAB easyconfigs (#4762)
    • set $OMP_NUM_THREADS during CP2K test step via dedicated easyconfig parameter (#4763)
    • avoid use of 'import' in BFAST easyconfigs, just strip of 'a' from version (#4764)
    • add the docopt module to all Python 2017a easyconfigs (#4770)
    • stop using deprecated 2-element tuple format in sources, use equivalent dict format instead (#4774)
  • various bug fixes, including:
    • fix typo in statsmodels source url (/sources/ -> /source/) (#4612)
    • add location to DotLib.pm to $PERL5LIB for SSPACE_Basic (#4638)
    • add missing /gnu/ in ftpmirror.gnu.org source_urls, or use GNU_SOURCE where possible (#4653)
    • consistently use --with-harfbuzz=no configure option in freetype easyconfigs (#4668)
    • use --with-x=yes in R easyconfigs that include X11 as a dependency (#4701)
    • remove '4.0' in tbb description (#4707)
    • add lib sanity check paths for Debian compatibility in nettle (#4722)
    • fix source URLs for HDF5 (#4749)

EasyBuild v3.2.1 (May 12th 2017)

bugfix/update release

framework

  • various enhancements, including:
    • make hardcoded max ratio for failures in adjust_permissions configurable (#2213)
    • allow https:// on direct download in sources (#2214)
  • various bug fixes, including:
    • bump version bootstrap script to sync with latest update (#2208)
    • fix crash during module generation when '%' character is used in description (#2209)

easyblocks

  • added easyblock for Siesta (#1105)
  • minor enhancements, including:
    • enhance GROMACS easyblock to build with PLUMED support (#1121)
    • enhance NAMD easyblock: add OpenMP support, update for recent NAMD versions (2.12), fix compatibility with Tcl versions other than 8.5 (#1173)

easyconfigs

  • added example easyconfig files for 12 new software packages:
  • added new easyconfigs for existing toolchains:
  • added additional easyconfigs for various supported software packages, including:
    • HDF5 1.10.1, NAMD 2.12, OpenFOAM 4.1, pandas 0.20.1, ParaView 5.2.0, R 3.4.0, R-bundle-Bioconductor 3.5, Tensorflow 1.1.0
  • minor enhancements, including:
    • update source URLs in libpciaccess easyconfigs (#3960)
    • enable use of double precision floating point in METIS 5.1.0 foss/2016a easyconfig (#4555)

EasyBuild v3.2.0 (May 5th 2017)

feature release

framework

  • various enhancements, including:
    • add support for marking installed module file as new default version using --set-default-module (#2110)
    • additional easyconfig parameters for documentation: docpaths, examples, site_contacts, upstream_contacts, usage (#2113)
    • add support for --allow-use-as-root-and-accept-consequences (#2123)
    • enable extraction of patches from compressed files before applying them (#2128)
    • alphabetically sort functions and methods in module_generator module (#2132)
    • introduce function ensure_iterable_license_specs (#2157)
    • bump Travis config to use Lmod 7.4 (#2176)
    • implement copy_dir function in filetools (#2177)
    • clarify error message when no software-specific easyblock was found (#2178)
    • make log.deprecated more verbose by also printing deprecation warnings to stderr (#2179)
    • add copy function to filetools for easy copying of lists of files/directories (#2180)
    • add support for --verify-easyconfig-filenames (#2185)
    • add support for --package-tool-options (#2187)
    • take into account inline trailing comments in fetch_parameters_from_easyconfig (#2192)
    • add support for customising easyconfig parameters on a per-extension basis (#2194)
    • perform sanity check after stage 2 of EasyBuild bootstrap script, module file should be in place (#2199)
    • change order in which module commands are checked, consider Lmod first (#2201)
  • various bug fixes, including:
    • fix use of compiler-specific --optarch value in combination with --job (#2183)
    • call run_all_steps in regtest mode rather than running steps individually (#2203)

easyblocks

  • added easyblocks for Doris (#1154, #1161), VMD (#1148) and WRF-Fire (#1153, #1159)
  • minor enhancements, including:
    • update IntelBase, PGI and TotalView easyblocks to allow list of license files/servers via 'license_file' easyconfig parameter (#1129)
    • update Bowtie2 easyblock to set correct build options, copy more files, extend sanity check (#1146)
    • added the option to build Boost with multi-threading support (#1147)
    • allow libpng as OS dependency for WPS (#1150)
    • extend Boost TIME_UTC patch to Boost versions <= 1.49.0 (#1152)
    • enhance Python sanity check to check for Tkinter support if Tk is included as a dependency (#1156, #1158)
    • add support to install Python extensions without unpacking (#1166)
    • enhance TBB easyblock to also support building open source versions (#1168)
  • various bug fixes, including:
    • update FFTW easyblock: --enable-avx-128-fma depends on the fma4 CPU feature (AMD), not fma (#1142)
    • fix problems when usempi not defined in toolchain in NAMD easyblock (#1162)

easyconfigs

  • added example easyconfig files for 34 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • BamTools 2.4.1, Boost 1.64.0, GCC 7.1.0, IPython 5.3.0, LLVM 4.0.0, Mesa 17.0.2, Octave 4.2.1, OpenMPI 2.1.0, PETSc 3.7.5, PGI 17.3, Perl 5.24.1, Python 2.7.13 + 3.6.1 (incl. numpy 1.12.1, scipy 0.19.0), R 3.3.3, SuiteSparse 4.5.5
  • various enhancements, including:
    • sync Bowtie2 easyconfigs, consistently use Bowtie2 easyblock (#4380)
    • use pl2 source tarball for FFTW 3.3.6 which already includes patch for F03 interface (#4529)
  • various bug fixes, including:
    • add missing XZ dep in easyconfig for libunwind 1.1 w/ GCC/4.9.2, sync sanity_check_paths across libunwind easyconfigs (#4369)
    • use 'use_fma4' rather than deprecated 'use_fma' easyconfig parameter in FFTW easyconfigs using intel toolchain (#4384)
    • fix pkgconfig patch for Qhull (#4451)
    • also use patch for METIS 5.1.0 to enable use of doubles in easyconfig for foss/2016b (#4467)
    • add dependency NLopt for R extension nloptr (#4481)
    • fix issue with configparser and backports namespace blocking inclusion of nbconvert with IPython (#4504)
    • change source_urls of pycrypto to encrypted https://pypi.python.org/... (#4505)
    • fix sources spec for HMMER 3.1b2 + minor style fixes + better sanity check (#4531)
    • also build IMB-IO in IMB 4.1 easyconfig using foss/2016a (#4539)

EasyBuild v3.1.2 (March 20th 2017)

bugfix/update release

framework

  • fix broken packaging support by fixing run_cmd bug with shell=False (#2153)
  • minor enhancements, including:
    • implement change_dir function in filetools module (#2155)
    • use checker_state in trailing whitespace style check + add dedicated test (#2160, #2169)
    • consider both pycodestyle and pep8 Python modules in style checks (#2161)
    • make bootstrap script aware various modules-related $EASYBUILD_* environment variables (#2170)
  • various bug fixes, including:
    • interpret statements that extend $MODULEPATH in modpath_extensions_for method (#2104)
      • also fixes inclusion of superfluous load statements in modules installed in user HMNS module tree (cfr. #2172)
    • take into account that $PATH or $PYTHONPATH may be empty when running tests (#2149)
    • handle duplicates in --include-* (#2151)
    • exclude dependencies of dependencies that extend $MODULEPATH (#2152)
    • add ld.bfd to RPATH wrappers (#2156)
    • fix test_vsc_location, vsc.__file__ may not be available when vsc is installed as a namespace package (#2159)
    • fix reported problems with scripts & docs tests (#2164)
    • fix --try-software-version using non-greedy matching + lookahead assertion, add test for tweak_one (#2166)
    • avoid creating empty modulefile directories when using modaltsoftname (#2168)
    • fix fftw_libs for MKL without interface libraries (#2171)

easyblocks

  • add easyblock for QScintilla (#1127)
  • minor enhancements, including:
    • auto-disable quad precision on POWER and ARM in FFTW (#1102, #1138)
    • allow "download install" for PETSc (#1114)
    • modify Trinity sanity check for versions 2.3 and above (#1133)
    • make unpacking Python extensions optional (#1134)
    • update SAMtools easyblock for version 1.4 (#1139)
  • various bug fixes, including:
    • reduce number of environment variables in icc and ifort modules (#1126, #1143)
    • also run tests with Tcl module syntax, Lua is the default in EasyBuild v3.x (#1128)
    • rename member variable to avoid conflict with member of base class in PGI (#1137)
    • don't set $FPATH environment variable in multiple easyblocks (#1140)

easyconfigs

  • add patch to FFTW 3.3.6 easyconfigs to fix MPI F03 interface (#4334)
    • note that this warrants rebuilding FFTW that is a part of foss/2017a
  • added example easyconfig files for 14 new software packages:
  • added additional easyconfigs for various supported software packages, including GROMACS 2016.3, PGI 17.1, SAMtools 1.4
  • various enhancements, including:
  • various bug fixes, including:
    • correctly set $PYTHONPATH in ROOT easyconfigs (#4239, #4331)
    • correct libjpeg turbo references in GDAL (#4276)
    • make sure that HDF5 provided via EasyBuild is used in BLASR easyconfigs (#4278)
    • fix issues with miRDeep2 installation (#4291, #4301, #4316)
    • also run tests with Tcl module syntax, Lua is the default in EasyBuild v3.x (#4315)
    • fix PostgreSQL homepage + minor style fixes (#4318)
    • detect use of '$root', which is not compatible with module files in Lua syntax (#4330)
    • fix homepage/source_urls for ViennaRNA (#4338)
    • pass down $FFLAGS via FLAGS_OPT in SWASH easyconfigs (#4341)
    • remove include/GL/wglext.h from Mesa sanity check (#4354)
    • rename S.A.G.E. to SAGE, can't have directories with trailing dot in Windows (#4368)

EasyBuild v3.1.1 (March 7th 2017)

bugfix/update release

framework

  • minor enhancements, including:
    • print more useful error message when no compiler-specific optarch flag is defined (#1950)
    • add ec parameter to expand_toolchain_load() (#2103)
    • clarify unstable/closed PR warning message (#2129)
  • various bug fixes, including:
    • ensure that $EBEXTSLIST* is also included in generated module under --module-only (#2112)
    • fix formatting issues in generated documentation for --list-software and --avail-easyconfig-licenses (#2121)
    • fix problem with backticks in description breaking 'fpm' packaging command (#2124)
    • replace --enable-new-dtags with --disable-new-dtags instead of removing it in RPATH wrapper script (#2131)
    • only perform is_short_modname_for sanity check in det_short_module_name if modaltsoftname is available (#2138)
    • fix logic in make_module_dep w.r.t. excluding loads for toolchain & toolchain components (#2140)
    • skip test_check_style if pep8 is not available (#2142)

easyblocks

  • minor enhancements, including:
    • change the sanity check for MCR 2016b since the directory structure has changed (#1096)
    • update NWChem easyblock for version 6.6.x and to handle different versions of OpenMPI for older versions (#1104)
    • allow per-component source_urls with templating in Bundle easyblock (#1108)
    • add slib to $LD_LIBRARY_PATH for itac (#1112)
    • consider both lib and lib64 in CGAL sanity check (#1113)
    • add support for installing Intel tools that do not require license at installation time (#1117)
      • required for Intel MPI and Intel MKL version 2017.2.174
    • remove prefix_opt as custom easyconfig parameter for Qt easyblock (#1120)
  • various bug fixes, including:
    • use '-prefix <path>' rather than '--prefix=<path>' for configure in Qt (#1109)
    • fix indentation problem in PETSc easyblock (#1111)

easyconfigs

  • added example easyconfig files for 16 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • binutils 2.28, Cantera 2.3.0, CGAL 4.9, GMP 6.1.2, IPython 5.2.2, JasPer 2.0.10, NWChem 6.6, matplotlib 2.0.0, PCRE 8.40, Qt5 5.8.0, Vim 8.0, X11 bundle v20170129, VTK 7.1.0, Yade 2017.01a
  • added new easyconfigs for existing toolchains:
  • various enhancements, including:
    • fix style in several easyconfigs (#4174, #4176, #4190, #4233)
    • add sanity check command to Yade easyconfig to make sure that 'import yade' works, include bzip2 as dep (#4193)
    • add PDF::API2 extension to Perl 5.24.0 easyconfigs + sync exts_list (#4221)
  • various bug fixes, including:
    • add Bison and gettext as build deps for X11 (#4111)
    • clean up dependencies in libdrm (#4113)
    • make sure Ghostscript picks up external libraries (#4118)
    • fix ippicv source download and library install for OpenCV v3.1.0 (#4126)
    • fix software name for OrthoMCL + modernise OrthoMCL easyconfigs (#4134, #4135)
    • get rid of backticks in gettext descriptions, causes problems when packaging with FPM (#4146)
    • remove duplicate sources specification in OpenMPI (#4150)
    • fix definition of buildopts/installopts in Cantera easyconfig (#4133, #4164, #4177)
    • use http:// rather than ftp:// source URLs in CFITSIO easyconfigs (#4167)
    • add patch for XZ 5.2.2 to include 5.1.2alpha symbols required by 'rpm' command on CentOS 7.x (#4179)
    • add patch for Boost v1.61-1.63 to fix problem with make_array/array_wrapper in Boost serialization library (#4192)
    • set CMAKE_PREFIX_PATH to ncurses install directory in CMake easyconfigs (#4196)
    • switch to lowopt=True for libxc v2.2.* and v3.* (#4199)
    • remove custom sanity_check_paths, since it's identical to that used by the R easyblock (#4200)
    • fix version (& homepage) in ea-utils easyconfigs (#4205)
    • remove --with-threads configure option in OpenMPI-2.* (#4213)
    • fix check for Szip library in configure script for netCDF 4.1.3 (#4226)
  • fix source_urls in several easyconfigs, including:
    • bsoft, cutadapt, EMBOSS, GnuTLS, ImageMagick, LibTIFF, Mercurial, netCDF, netCDF-Fortran, pigz, ROOT and Subversion (#4227)

EasyBuild v3.1.0 (February 3rd 2017)

feature release

framework

  • various enhancements, including:
    • ARM: GCC optimal/generic architecture compiler flags (#1974)
    • add support for --check-style to check style in easyconfig files (#1618, #2038)
    • add HOME and USER from env to available cfg file constants (#2063)
    • --optarch can now be specified on a toolchain basis (#2071)
    • implement get_cpu_features function in systemtools (#2074, #2078)
    • support use of linalg without MPI, add iimkl toolchain definition (#2082)
    • spoof HTTP request header with empty agent (#2083)
    • exclude dependencies of dependencies that extend $MODULEPATH in make_module_dep (#2091)
  • various bug fixes, including:
    • make fetch_github_token more robust against RuntimeError from keyring (#2070)
    • POWER: Fix --optarch=GENERIC for GCC (#2073)
    • fix docstring in toolchain class (#2075)
    • skip test cases involving .yeb if PyYAML is not installed, silence test in options subsuite (#2081)
    • fix traceback with 'eb --check-github' if GitPython is not installed (#2085)
    • fix regex for determining list of patched files in GitHub diff (#2088)
    • modify robot so that it only appends dependencies of tweaked easyconfigs (#2090)
    • escape metacharacters in paths passed to re.compile in dry_run_set_dirs (#2098)
    • fix broken error message in get_toolchain_hierarchy + dedicated test case (#2099)

easyblocks

  • new easyblock for FFTW (#1083)
  • various enhancements, including:
    • update sanity check for flex 2.6.3, no more libfl_pic.a library (#1077)
    • cleanup build before proceeding with full Boost (#1080)
    • update CP2K easyblock: copy data dir, support version 4.1, support ELPA, fix psmp build with foss toolchain (#996, #1020, #1043, #1084)
    • add sanity check support for OpenSSL 1.1 (#1087)
    • support the latest changes in Inspector 2017 (#1047)
    • update NEURON easyblock to support the lack of hoc_ed in 7.4 (#987)
    • add support for WPS 3.8 (#1079)
    • also consider setuptools in EasyBuildMeta easyblock (#1093)
  • various bug fixes, including:
    • (correctly) define $ROSETTA3_DB in Rosetta easyblock (#1092)

easyconfigs

  • added easyconfigs for foss/2017a and intel/2017a common toolchains (#3968, #3969)
  • added example easyconfig files for 16 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Boost 1.62.0 + 1.63.0, CP2K 4.1, GSL 2.3, PLUMED 2.3.0, Qt5 5.7.1, WRF 3.8, WPS 3.8, Yade 2016.06a, zlib 1.2.11
  • various enhancements, including:
    • update FFTW 3.3.5 easyconfigs to use FFTW easyblock & enable running of tests (#3985)
    • add FME extensions (+ deps) in R 3.3.1 easyconfigs (#4063)
  • various bug fixes, including:
    • add libxml2 dependency on HDF5 (#3759)
    • remove unnecessary dependency in libmatheval (#3988)
    • fix permissions on SWASH binaries (#4003)
    • add conda-forge channel to perl-app-cpanminus (#4012)
    • add missing deps (libpthread-stubs, libpciaccess) to libdrm 2.4.70 (#4032)
    • modloadmsg style fixes in multiple easyconfigs (#4035)
    • include X11 as dep for Molden (#4082)
    • remove incorrect definition for $ROSETTA3_DB, now (correctly) defined via Rosetta easyblock (#4083)
  • fix source URLs for several easyconfigs, including:
    • arpack-ng 3.1.3 + 3.1.5 (#4050), ChIP-Seq 1.5-1 (#4050), Ghostscript 9.10, 9.14 + 9.16 (#4050), Git 1.7.12, 1.8.2 + 1.8.3.1 (#4050), HBase 1.0.2 (#4043), libevent 2.0.22 (#4037), libsodium 1.0.3 (#4046), lynx 2.8.7 (#4050), Maven 3.2.2 and 3.3.3 (#4039), MEME 4.8.0 (#4050), PCC 20131024 (#4044), S-Lang 2.3.0 (#4045), Spark 1.3.0 (#4041), splitRef 0.0.2 (#4040)

EasyBuild v3.0.2 (December 22nd 2016)

bugfix release

framework

  • various bug fixes, including:
    • also skip dependencies of dependencies marked as external module in get_toolchain_hierarchy (#2042)
    • disable verbose setvar in modules.py (#2044)
    • force copying of easyconfigs in --new-pr/--update-pr, even when combined with -x (#2045)
    • fix verification of filename for easyconfigs used to resolve deps (#2051)
    • skip RPATH sanity check when toolchain did not use RPATH wrappers (#2052)
    • check whether file-like paths are readable before reading them in systemtools module (#2065)
  • various small enhancements, including:
    • add 'rpath' toolchain option to selectively disable use of RPATH wrappers (#2047)

easyblocks

  • various enhancements, including:
    • enhance DL_POLY_Classic easyblock to support building with Plumed support (REVIEW) (#829)
    • make the Allinea easyblock search for the templates in the easyconfig paths (#1025)
    • make FortranPythonPackage aware of (pre)buildopts (#1065)
    • update sanity check for Mono to support recent versions (#1069)
    • fix Eigen sanity check for latest version 3.3.1 (#1074)
  • various bug fixes, including:
    • skip RPATH sanity check for binary installations (#1056)
    • pass CXXFLAGS and LDFLAGS to Boost bjam (#1064)
    • make pip ignore already installed versions of the package being installed (#1066)
    • don't pass empty string as custom installopts for numpy in test_step (#1067)
    • make the Rosetta EasyBlock work in --module-only mode (#1073)

easyconfigs

  • added example easyconfig files for 13 new software packages:
  • added additional easyconfigs for various supported software packages, including:
    • Mono 4.6.2.7, PGI 16.10, ROOT 6.08.02
  • various enhancements, including:
  • various bug fixes, including:
    • add X11 develop libs to ncview easyconfig (#3881)
    • fix source_urls in pkg-config easyconfigs (#3907)
    • install numpy/scipy as .egg to ensure shadowing of numpy/scipy in parent Python installation (#3921)
    • fix broken source URL + homepage for Infernal (#3928)
    • fix test that verifies dumped easyconfig, take into account that dumped dependencies may include hardcoded dependency (#3932)
    • include libGLU as dependency in freeglut easyconfigs with recent Mesa (#3936)
    • add patch for FreeSurfer to fix issue with MATLAB 2013 (#3954)

EasyBuild v3.0.1 (November 30th 2016)

bugfix release

framework

  • important changes
    • always use Intel-specific MPI compiler wrappers (mpiicc, mpiicpc, mpiifort) for toolchains using both Intel compilers and Intel MPI (#2005)
  • various small enhancements, including:
    • use setvar in modules.py to define environment variables (#2011)
    • include output of sanity_check_commands in the build log (#2020)
  • various bug fixes, including:
    • fix testing of bootstrap script in Travis config (#2003)
    • use correct module syntax in bootstrap script if Lmod is not used (i.e. Tcl) (#2007)
    • fix packaging issue with non-Python scripts in easybuild/scripts (#2015)
      • fixes issue where RPATH wrapper template script (rpath_wrapper_template.sh.in) was not included in the v3.0.0 release
    • make tests more robust against running headless (#2016)
    • avoid rewrapping already wrapped compiler/linker command with RPATH wrapper script (#2022)
    • fix log.error traceback due to 'raise EasyBuildError' involving a '%s' in error message (#2024)
    • make sure 'modules_tool' attribute is also defined for extensions (#2026)
    • only dump easyconfig with modified deps due to --minimal-toolchains to 'reprod' subdir of install dir (#2028)
    • avoid appending '-h' to sanity check commands specified as a string (#2030)
    • fix bug in list_software_rst: always include version suffix regardless of value (#2032)

easyblocks

  • various enhancements, including:
    • update SAMtools easyblock for recent versions (#1048)
  • various bugfixes, including:
    • fix QuantumESPRESSO easyblock to handle gipaw correctly (#1041)
    • always specify name of serial Fortran compiler to ALADIN, it already knows to use MPI wrapper commands (#1050)

easyconfigs

  • added example easyconfig files for 7 new software packages:
  • added additional easyconfigs for various supported software packages
  • various enhancements, including:
    • add ipywidgets and widgetsnbextension extensions to IPython 5.1.0 easyconfigs (#3818, #3823)
    • run dadi test suite as a sanity check command (#3858)
  • various bug fixes, including:
    • fix incorrect descriptions for ifort (#3817)
    • fix modulename for Jinja2 and Pygments (#3823)
    • fix download URL in BLAST 2.2.26 easyconfig (#3861)

EasyBuild v3.0.0 (November 16th 2016)

feature release

framework

  • backward-incompatible changes:
    • make robot always consider subtoolchains, even without --minimal-toolchains (but in reverse order) (#1973)
    • clean up behaviour that was deprecated for EasyBuild v3.0 (#1978)
    • change default config to use Lmod/Lua for modules tool/syntax, GC3Pie as job backend (#1985)
    • the minimal required version of Lmod was bumped to 5.8 (#1985)
  • major new features:
  • various other small enhancements, including:
    • add support for 'devel' log level (#1815)
    • make remove_file aware of --extended-dry-run + add dedicated unit test (#1932)
    • add support for filtering out setting/updating particular environment variables from generated modules (#1943)
      • see --filter-env-vars
    • clean up output of EasyBuild bootstrap script & add version (#1944)
    • improved ARM platform/CPU detection (#1953)
    • use '0' as letter dir for funky software names that don't start with a letter, e.g., 3to2 (#1954)
    • make bootstrap script aware of vsc-install for offline installation (#1955)
    • add support for blas_family() and lapack_family() methods in Toolchain instances (#1961)
    • make copy_file dry-run aware (#1963)
    • reorganise test easyconfigs to match structure in easyconfigs repo (#1970)
    • add a toolchain compiler option for enforcing IEEE-754 conformance (#1975)
    • support for intelcuda compiler toolchain (#1976)
    • check that each glob pattern matches at least one file expand_glob_paths (important for --include-*) (#1980)
    • enhance bootstrap to auto-skip stage 0 in case a suitable setuptools is already available (#1946, #1984)
    • simplify GC3Pie version check (#1987)
    • include suggestion on how to change configuration w.r.t. modules tool/syntax (#1989)
  • various bug fixes, including:
    • fix test for find_easybuild_easyconfig (#1931)
    • remove existing module file under --force/--rebuild (#1933)
    • fix combining --search and --try-* (#1937)
    • fix appending to existing buildstats in FileRepository.add_easyconfig (#1948)
    • fix handling of iterate easyconfig parameters, restore them during cleanup (#1949)
    • fix filtering loads for (hidden) build deps from generated module (#1959)
    • handle multi-flag compiler options on all types of options (#1966)
    • fix --list-software by making letter_dir_for function aware of '*' wildcard name (#1969)
    • skip dependencies of toolchain marked as external modules when determining module hierarchy (#1977)
    • bump page limit in fetch_latest_commit_sha, spit out more meaningful error if too many branches were encountered (#1981)
    • fix CUDA-related issues in HierarchicalMNS (#1986)

easyblocks

  • backwards incompatible changes:
    • remove deprecated GenomeAnalysisTK/GATK easyblock (#1001)
    • remove deprecated 'get_netcdf_module_set_cmds' function from netCDF easyblock (#1015)
    • remove deprecated 'get_blas_lib' function from LAPACK easyblock (#1016)
    • remove QLogicMPI easyblock (#1023)
  • new easyblock for installing Anaconda (#950)
  • add generic easyblock for Conda installations (#950)
  • various enhancements, including:
    • enable use of GCCcore as toolchain for Clang, fail if no GCC prefix is found (#1002)
    • also build Boost MPI library in parallel (#1005, #1038)
    • enhance g2clib easyblock to allow to install 1.6.0 or higher (#1006)
    • update QuantumESPRESSO easyblock to support packaging changes in 6.0 (#1007)
    • add support to Scons generic easyblock to provide argument to specify installation prefix (#1008)
    • update IntelBase and imkl easyblocks to handle the 2017 versions of compilers/imkl (#1012)
    • leverage toolchain.linalg functionality in ScaLAPACK easyblock, use copy_file (#1014)
    • allow netCDF-C++4 to be used with ESMF (#1019)
    • update Advisor easyblock to support latest versions (#1021)
    • update CBLAS easyblock to build with foss toolchain (#1024)
    • update Gurobi easyblock to use copy_file (#1028)
    • add support for giving /lib preference over /lib64 & co in GCC installation (#1030, #1035)
    • enable installation of libiberty by default for binutils (#1030)
    • avoid CMake fiddling with the RPATHs injected by EasyBuild via --rpath in CMakeMake and METIS easyblocks (#1031, #1034)
    • simplify scipy sanity check to make it more robust w.r.t. version updates (#1037)
  • various bug fixes, including:
    • make sure 'None' doesn't appear in modules generated with --module-only (#998)
    • fix ATLAS easyblock for non-x86 systems (#1003)
    • fix 'usempi' and 'with_mpi' usage to allow for a serial build of Amber 16 (#1013)
    • add both lib/python2.7/site-packages/{,wx-3.0-gtk2} to $PYTHONPATH for wxPython (#1018)
    • only hard inject RPATH for /usr/lib* directories when building binutils with dummy toolchain (#1026)
    • make HDF5 easyblock handle --filter-deps correctly (#1027)
    • update Travis config w.r.t. changes framework config defaults and required Lmod version (#1029)
    • be more patient when running Mathematica Q&A installer (#1036)

easyconfigs

  • backwards incompatible changes:
    • archive easyconfigs using old inactive toolchains
      • see #3725, #3728, #3729, #3730, #3731, #3732, #3733, #3735, #3736, #3737, #3738
      • only taken into account by EasyBuild if --consider-archived-easyconfigs is enabled
      • no easyconfigs available outside of archive for QLogicMPI + 15 toolchains:
        • ClangGCC, cgmpich, cgmpolf, cgmvapich2, cgmvolf, cgompi, cgoolf, gmacml, goalf, gpsmpi, gpsolf, iiqmpi, intel-para, ipsmpi, iqacml
    • fix name in PyTables easyconfigs (was 'pyTables') (#3785)
  • added example easyconfig files for 32 new software packages:
  • added easyconfigs for new 'intelcuda' toolchain (#3750)
  • added new easyconfigs for existing toolchains:
    • goolfc/2016.08 (#3796), goolfc/2016.10 (#3666, #3775), intel/2017.00 (#3543), intel/2017.01 (#3757), iomkl/2016.09-GCC-4.9.3-2.25 (#3680), iomkl/2016.09-GCC-5.4.0-2.26 (#3772)
  • added additional easyconfigs for various supported software packages, including:
    • Advisor 2017 update 1, Amber 16, ATLAS 3.10.2, GROMACS 2016, Octave 4.0.3, OpenFOAM 3.0.1, PyTables 3.3.0, QuantumESPRESSO 6.0, Rust v1.12.1
  • various other enhancements, including:
    • STREAM builds using ~56GiB and ~111GiB (#3670)
  • various bug fixes, including:
    • fix source spec in VASP easyconfig, ensure static linking with Intel MKL (#3381)
    • fix source URL in GCCcore 6.2.0 easyconfig (#3608)
    • correct STAMP dependency in i-cisTarget, must be 1.3 (#3613)
    • consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs (#3623)
    • fix source URLs for Cython (#3636)
    • add Bison as build dep and M4 as runtime dep for flex 2.6.0 (#3656)
    • enable parallel building of flex 2.6.0 (#3630)
    • add zlib and bzip2 dependencies to X11 bundle (#3662)
    • use 'letter_dir_for' function rather than just grabbing 1st letter of software name in easyconfigs tests (#3664)
    • add patch to fix typo in GRIT 2.0.5 (#3675)
    • fix typo in patch for WRF 3.8.0 (#3702)
    • use $CC, $CXX rather than $I_MPI_CC, $I_MPI_CXX in patch for OpenFOAM 4.0 (#3703)
    • patch FLTK to fix 'undefined symbol' issue when building Octave (#3704)
    • include Pillow as a proper dep for scikit-image rather than as extension, since it has deps itself (#3723)
    • update Travis config w.r.t. changes framework config defaults and required Lmod version (#3773)
    • don't limit parallellism to 4 in recent GCC easyconfigs (#3776, #3777, #3778)
    • include M4 as dependency in flex 2.5.39 easyconfigs + fix consistency issues (#3782)
    • consistently apply patch for ncurses 6.0 (#3792)
    • eliminate dependency on mpi-mic-rt in ifort (#3793)
    • include Autotools as build dependency in all beagle-lib and MrBayes easyconfigs (#3794)
    • make OpenBLAS use the LAPACK version specified in the easyconfig (v0.2.18 & v0.2.19) (#3795)
    • include original download URL for ISL source tarball in GCC easyconfigs (#3798)
    • disable installing libiberty for binutils built with intel toolchain (#3802)

EasyBuild v2.9.0 (September 23rd 2016)

feature release

framework

  • note: vsc-base 2.5.4 or more recent is now required
  • various small enhancements, including:
    • change option --color choices to auto/always/never (#1701, #1898, #1911)
    • add support for 'hidden' easyconfig parameter (#1837)
    • add support for using ccache and f90cache compiler caching tools (#1844, #1912)
      • see --use-ccache and --use-f90cache
    • update Cray metadata for 16.06 CrayPE release (#1851)
    • also include patch files in --new-pr and --update-pr (#1852)
    • handle deleted files in --new-pr (#1853)
    • add support for --install-latest-eb-release (#1861)
    • add support for hiding toolchains, see --hide-toolchains and 'hidden' key in 'toolchain' spec (#1871)
    • add template for GitHub source URL (#1872)
    • add support for combining --new-pr/--update-pr and --robot (#1881)
    • add support for --list-software and --list-installed-software (#1883, #1910, #1917)
    • print message on which extension is being installed, incl. progress counter (#1886, #1914)
    • add support for --github-org to specify GitHub organisation rather than GitHub user (#1894)
    • add support for running Lmod in debug mode (#1895)
    • avoid needless use of deepcopy, speed up support for templating in easyconfigs (#1897)
    • convert all_dependencies to a property in EasyConfig class (#1909)
    • add support for --mpi-cmd-template (#1918)
    • add support for --disable-mpi-tests (#1920)
  • various bug fixes, including:
    • merge with develop when using --from-pr (#1838, #1867)
    • ensure --new-pr doesn't open empty pull requests (#1846)
    • better error handling for outdated GitPython module in --check-github (#1847)
    • fix formatting for generated easyblocks documentation (#1860)
    • make sure the robot ignores filtered dependencies when creating toolchain cache (#1862)
    • honor --filter-deps under --minimal-toolchains (#1863)
    • correct format for 'param' and 'author' tags in docstrings (#1866)
    • ignore failing bootstrap test in Travis config file (#1870)
    • make sure all output of executed command is included in generated temporary log file (#1873, #1874)
    • ensure --show_hidden is used in the correct location for 'avail' with Lmod (#1875)
    • make sure self.path is passed down in copy method of EasyConfig object (#1884)
    • take into account possible multi-line modloadmsg in ModuleGeneratorLua (#1885)
    • fix extracting .bz2 source files (#1889)
    • don't resolve path to Lmod command (#1892)
    • fix skipping of stage 0 in bootstrap script (#1893)
    • fix function signature of log.deprecated compared to fancylogger.deprecated (#1896, #1899)
    • apply patch to Tcl/C environment modules tool for Tcl 8.6 support in Travis config (#1901)
    • fix combining --extended-dry-run with --from-pr (#1902)
    • also template dict keys (#1904)
    • don't pass '--try-*' command-line options to EB instance running within job script (#1908)
    • add workaround for incorrectly passing command line arguments with --job (#1915)
    • fix issues with --module-only (#1919, #1924, #1925)
      • correctly deal with specified start_dir
      • do not remove installation directory when build-in-installdir is enabled
    • make sure 'which' function returns path to a file (#1921)
    • fix :param:, :return: tags in docstrings & add test for it (#1923)

easyblocks

  • new easyblocks for 6 software packages that require customized support:
  • various enhancements, including:
    • extend OpenFoam-Extend sanity check for decomp libraries (#784)
    • enhance Java easyblock to support installing Java 6.x (#940)
    • make QuantumESPRESSO easyblock aware of multithreaded FFT (#954)
    • extend PSI easyblock to use PCMSolver and CheMPS2 (#967)
    • make Boost easyblock add definition for $BOOST_ROOT to generated module file (#976)
    • add support to Bundle easyblock to install list of components (#980)
    • enhance & clean up libxml2 easyblock to also enable installing without Python bindings (#984)
    • update Libint easyblock for Libint 2.1.x (#985)
    • update sanity check for OpenFOAM to support OpenFOAM 4.x (#986)
    • make easyblocks that run MPI tests aware of 'mpi_tests' build option (#993)
  • various bug fixes, including:
    • fix compatibility of OpenFOAM easyblock with --module-only (#784)
    • fix testing of --module-only compatibility for OpenFOAM and IMOD easyblocks (#784)
    • add 'include/libxml2' to $CPATH in libxml2 easyblock (#981)
    • fix compatibility of IntelBase generic easyblock with --module-only (#994)
    • make sure correct config script is used for Tcl/Tk deps of R (#995)

easyconfigs

  • added example easyconfig files for 88 new software packages:
  • added new easyconfigs for existing toolchains:
  • added additional easyconfigs for various supported software packages, including:
    • FFTW 3.3.5, GCC 4.9.4 + 6.2.0, GROMACS 5.1.4, IPython 5.1.0, LLVM 3.9.0, Mesa 12.0.1, OpenCV 3.1.0, OpenFOAM 4.0, OpenMPI 2.0.1, ParaView 5.1.2, PGI 16.7, QuantumESPRESSO 5.4.0, Qt5 5.7.0, R-bundle-Bioconductor 3.3, VTK 7.0.0, Yade 2016.06a
  • various enhancements, including:
    • adjust PSI4 easyconfigs for updated easyblock (#3312)
    • clean up libxml2 easyconfigs according to updated libxml2 easyblock (#3479, #3509)
    • significantly speed up verifying of dumped easyconfig by resorting to 'shallow' parsing (#3520)
    • include sanity checks for all MATIO config files (#3528)
    • remove --with-tcl-config/--with-tk-config from R easyconfig, already done in R easyblock (#3580)
  • various bug fixes, including:
    • disable testing in all ParaView 4.4.0 easyconfigs, required download is too much of a PITA (#3178)
    • add SQLite as dep to GDAL 2.1.0 easyconfigs (#3342)
    • add zlib/SQLite/LibTIFF as dep to R 3.3.1 easyconfigs (#3342)
    • add bzip2 as a dependency of freetype (#3464)
    • specify correct MPI target in FDS easyconfigs (#3488)
    • add tcsh as OS dep in NAMD easyconfigs (#3491)
    • statically link ncurses/libreadline in Lua easyconfig with 'dummy' toolchain (#3545)
    • add M4 as dep for flex 2.6.x (#3542, #3550)
    • add bzip2 and libxcb dependencies to FFmpeg 3.x easyconfigs (#3548)
    • make sure & check that Graphviz does not install Tcl bindings in Tcl install prefix (#3556)
    • add missing patches for extensions in Python 3.x easyconfigs (#3557)
    • add missing XZ dependency to libxml2 2.9.4 easyconfigs, change gettext dep of XZ to build-only dep (#3568)
    • enable running of tests for HPCG (#3578)
    • fix buildopts in tabix easyconfigs (#3584)

EasyBuild v2.8.2 (July 13th 2016)

bugfix release

framework

  • various small enhancements, including:
    • add support for rst output for --list-* and --avail-* (#1339)
    • add support for 'eb --check-conflicts' (#1747, #1807, #1833)
    • ensure nice error message when non-existing path is passed to apply_regex_substitutions (#1788)
    • add check for module output, empty stdout is a sign of trouble with Lmod (#1793)
    • add multi-threaded FFT to toolchain (#1802)
    • avoid special characters like '[', ']' in path to temporary directory (#1808)
    • add support for --zip-logs (#1820)
    • add support for --extra-modules (#1821)
    • add type conversion for 'checksums' and 'patches' parameter in .yeb easyconfigs (#1826, #1840)
    • add support for filtering tests by name (#1828)
    • add support for --avail-toolchain-opts (#1830, #1839)
    • use absolute path for robot and easyconfig files (#1834)
    • add backup URL for tarballs hosted on SourceForge in install_eb_dep.sh script (#1843)
  • various bug fixes, including:
    • fix installation of Lua in install_eb_dep.sh script (#1789)
    • fix OpenMP flag for Cray compiler wrappers (#1794)
    • only reset $MODULEPATH before loading a module if environment was reset (#1795)
    • include vsc-install as dependency in setup.py (#1805)
    • cache $PATH & $PYTHONPATH in test setUp, restore them in tests where 'eb' is used (#1806)
    • don't reset $MODULEPATH in stage 2 of bootstrap script, support forced installation during stage 2 (#1810)
    • fix issue with templates defined by deps being required while still parsing deps (#1812)
    • skip unneeded unuse/use commands on tail of $MODULEPATH in check_module_path (#1813)
    • fix auto-convert for all *dependencies params in .yeb easyconfigs, ensure version is a string (#1818)
    • fix keyring version in Travis config (#1819)
    • fix dumping of .yeb easyconfig files in easyconfigs archive (#1822)
    • fix format of supported easyconfig templates in help output (#1825)
    • stick to pydot 1.1.0 for Python 2.6 in Travis config (#1827)

easyblocks

  • new easyblocks for 5 software packages that require customized support:
  • various enhancements, including:
    • add support for building & installing old GROMACS versions (#569, #960)
    • add support for building Boost with Cray toolchain (#849)
    • libxsmm support for CP2K (#942)
    • pick up specified components for imkl (#943)
    • add support for building GROMACS with double precision (#946, #960)
    • add support for building GROMACS with CUDA support and using dynamic libraries using Cray toolchains (#951, #960)
    • also install vsc-install in EasyBuildMeta easyblock, if tarball is provided (#957)
    • enhance PSI easyblock to support PSI4 1.0 (#965)
  • various bug fixes, including:
    • also install scripts with MRtrix 0.3.14 (#941)
    • enhance Qt easyblock to support Qt3 (#944)
    • create 'release' symlink in MRtrix install dir (#947)
    • fix make_installdir in Inspector & VTune easyblocks (#952)
    • make Binary and MakeCp easyblocks aware of 'keepsymlinks' (#959)
    • correctly define $G4* environment variables in Geant4 easyblock (#961, #970)
    • prepend tmp install path to $PYTHONPATH in numpy test step, move to build dir when removing 'numpy' subdir (#963)
    • correct full path to ALADIN config file & patch it to use right Fortran compiler flags (#964)
    • ensure correct compiler command/flags are used for SAMtools (#966)

easyconfigs

  • added example easyconfig files for 54 new software packages:
  • added easyconfigs for update of common toolchains: foss/2016b (#3271), intel/2016b (#3270)
  • added new easyconfigs for existing toolchains: CrayGNU/2016.03 & CrayGNU/2016.04 (#3291), foss/2016.06 (#3184), intel/2016.03-GCC-5.4 (#3185)
  • added additional easyconfigs for various supported software packages, including:
    • Boost 1.61.0, GCC 5.4.0, GROMACS 3.3.3, HDF5 1.8.17, netCDF 4.4.1, numpy 1.11.0, Perl 5.24.0, PETSc 3.7.2, Python 2.7.12, Python 3.5.2, Qt 3.3.8, R 3.3.1
  • various enhancements, including:
    • use check_conflicts function in easyconfigs tests (#2981)
    • also include vsc-install in list of sources for recent EasyBuild easyconfigs, to support offline installation (#3203)
    • enable building of libmysqld.* in MariaDB easyconfigs (#3230)
    • add ALDEx2, phyloseq to bundles for Bioconductor 3.2 (#3211, #3241)
    • add biom, geepack, lubridate, pim to list of R 3.2.3 extensions (#3186, #3211, #3275)
  • various bug fixes, including:
    • add patch for Boost 1.60.0 to fix bug resulting in TypeError (#3162)
    • add fftw dependency to CP2K 2.6.0 easyconfigs using CrayGNU (#3176)
    • fix location of libelf.h, only (also) installed as include/libelf.h is there's no /usr/include/libelf.h (#3201)
    • fix software name for Guile & GnuTLS (was 'guile' & 'gnutls') (#3207)
    • added missing space in Geant4 configopts to specify -DGEANT4_INSTALL_DATA (#3209)
    • fix Cython download URL in Python 2.7.11 easyconfigs (#3212)
    • add missing build deps for X stack in easyconfigs using foss/2016a or intel/2016a (#3222, #3308)
    • fix overruling of exts_list in Perl 5.22.2 easyconfig (#3224)
    • add missing dependency on GMP in R 3.2.3 easyconfigs (#3226)
    • don't hard specify toolchain for binutils build dep in likwid easyconfig, since it matches parent toolchain (#3240)
    • fix homepage & source_urls in HMMER easyconfigs (#3246)
    • stick to pydot 1.1.0 for Python 2.6 in Travis config (#3282)
    • add python-dev(el) to OS deps in GC3Pie easyconfigs (#3310)

EasyBuild v2.8.1 (May 30th 2016)

bugfix release

framework

  • various bug fixes, including:
    • fix error message on missing module command in bootstrap script (#1772)
    • expand '~' in paths specified to --include-* (#1774)
    • break after deleting cache entry to avoid attempt to delete cache entry again (#1776)
    • avoid changing $MODULEPATH when prepending with symlink of path already at head of $MODULEPATH (#1777)
    • filter out duplicates in find_flexlm_license (#1779)
    • stick with GitPython < 2.0 with Py2.6 in Travis configuration (#1781)
    • don't use LooseVersion to define version_major/version_minor (#1783)

easyblocks

  • various enhancements, including:
    • update MRtrix easyblock for version 0.3.14 (#932)
    • update Inspector easyblock for recent versions (#934)
    • update VTune easyblock for recent versions (#935)
    • add debug message to IntelBase easyblock w.r.t. switching to 'exist_lic' (#936)

easyconfigs

  • added example easyconfig files for 13 new software packages:
  • added new easyconfigs for existing toolchains: intel/2016.03-GCC-4.9 (#3088)
  • added additional easyconfigs for various supported software packages, including:
    • Boost 1.61.0, ESMF 7.0.0, Inspector 2016 update 3, IPython 4.2, netCDF-C++4 4.3.0, netCDF-Fortran 4.4.4, Perl 5.22.2, VTune 2016 update 3
  • various bug fixes, including:
    • apply libreadline patch to fix bug triggering segmentation fault (#3086)

EasyBuild v2.8.0 (May 18th 2016)

feature + bugfix release

framework

  • significant speedup improvements of EasyBuild itself, thanks to:
    • stop creating ModulesTool instances over and over again (#1735)
    • cache result of 'module avail' calls (#1742)
  • add support for using PGI as toolchain compiler (#1342, #1664, #1759, #1761, #1764)
    • incl. new toolchain definitions pompi and pomkl (#1724)
  • add test configuration for Travis (#1733, #1737, #1743, #1767)
  • various other enhancements, including:
    • add get_total_memory() function in systemtools module (#1623)
    • ignore __init__.py files in --include-* (#1704)
    • use -fopenmp rather than -openmp for Intel compilers, since -openmp is deprecated (#1718)
    • add modules to metadata for Cray modules (#1721)
    • make sure user write permissions are set after failed removal attempt of installation directory (#1722)
    • escape special characters in software name in find_related_easyconfigs (#1726)
    • add support for CrayPGI compiler toolchain (#1729)
    • ensure read permission to all installed files for everybody (unless other options specify otherwise) (#1731)
    • also consider $LMOD_CMD in bootstrap script (#1736)
    • translate PyPI download URL to alternate URL with a hash (#1749)
    • make get_software_libdir compatible with -x (#1750)
    • set $LMOD_REDIRECT to 'no' when initialising Lmod (#1755)
    • add test for broken modules tool setup affecting 'module use' (#1758)
  • various bug fixes, including:
    • isolate 'options' tests from easyblocks other than the ones included in the tests (#1699)
    • don't run 'module purge' in tests, since EasyBuild may be made available through a module (#1702)
    • avoid rehandling --include-* options over and over again during --show-config (#1705)
    • remove useless test_cwd (#1706)
    • fix bootstrap script: make sure setuptools installed in stage0 is still available at end of stage1 (#1727)
    • forcibly create target branch in --update-pr (#1728)
    • remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#1730)
    • (re)install vsc-base during stage1 using --always-copy in bootstrap script, if needed (#1732)
    • use os.path.realpath in test_wrong_modulepath to avoid symlinked path breaking the test (#1740)
    • unset $PYTHONPATH in before tested bootstrapped EasyBuild module (#1743)
    • take into account that paths in modulepath may be symlinks in test_module_caches (#1745)
    • change to install dir rather than buildpath in sanity check of extension, latter may not exist (#1746, #1748)
    • only load modules using short module names (#1754)
    • (re)load modules for build deps in extensions_step (#1762)
    • fix modpath_extensions_for method: take into account modules in Lua syntax (#1766)
    • fix broken link to VSC website in license headers (#1768)

easyblocks

  • add test configuration for Travis (#895, #897, #900, #926)
  • new easyblocks for 4 software packages that require customized support:
  • various other enhancements, including:
    • update SuiteSparse easyblock for version >= 4.5 (#863)
    • enhance imkl easyblock to install on top of PGI (#866, #916)
    • enable runtime logging of install cmd in IntelBase (#874)
    • enhance Qt easyblock to support installing with dummy toolchain (#881)
    • delete libnuma symbolic links in PGI installation directory (#888)
    • enhance PDT easyblock to support installing with dummy toolchain (#894)
    • add support for building Clang with OpenMP support (#898)
    • update Score-P easyblock for additional compilers, MPI libraries & dependencies (#889)
    • drop deprecated 'testrb' from sanity check in Ruby easyblock (#901)
    • enhance WRF easyblock to support versions >= 3.7 (#902)
    • update QuantumESPRESSO easyblock for version 5.3.0 (#904)
    • add support in PythonPackage easyblock to use 'setup.py develop' (#905)
    • update Qt easyblock for Qt 5.6.0 (#908)
    • extend bzip2 easyblock to also build dynamic libraries (#910)
    • make threading an explicit option rather than relying on MPI library in SCOTCH easyblock (#914)
    • update PGI easyblock to install siterc file so PGI picks up $LIBRARY_PATH (#919)
    • enhance sanity check paths for compiler commands in PGI easyblock (#919)
    • also filter out -ldl from $LIBBLAS & co for Intel MKL in numpy easyblock (#920)
    • define $MIC_LD_LIBRARY_PATH for impi (#925)
  • various bug fixes, including:
    • don't hardcode Python version in test_make_module_pythonpackage (#876)
    • make PythonPackage easyblock compatible with --module-only (#884, #906)
    • remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#891)
    • fix passing compiler configure option in PDT easyblock (#894)
    • fix bug in Score-P easyblock w.r.t. --with-libbfd (#889)
    • fix extension filter for Ruby (#901)
    • fix ACTIVATION_TYPES list in IntelBase + minor style change (#913)
    • correctly define $MIC_LD_LIBRARY_PATH in imkl 11.3.x and newer (#915)
    • fix broken link to VSC website in license headers (#927)

easyconfigs

  • added example easyconfig files for 69 new software packages:
  • add test configuration for Travis (#2942, #2944, #2954, #3061)
  • added easyconfigs for new PGI-based toolchains
  • added new easyconfigs for existing toolchains:
    • foss/2016.04 (#3013), intel/2016.02-GCC-5.3 (#2523), intel/2016.03-GCC-5.3 (#3009)
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • incl. CGAL 4.8, Clang 3.8.0, icc/ifort 2016.2.181 & 2016.3.210, imkl 11.3.2.181 & 11.3.3.210, impi 5.1.3.181, LLVM 3.8.0, OpenCV 2.4.12, pandas 0.18.0, Qt 5.6.0, Scalasca 2.3, Score-P 2.0.1, SuiteSparse 4.5.2, WRF 3.8
  • various other enhancements, including:
    • enhance ORCA easyconfig for compatibility with SLURM (#1819)
    • enable -fPIC in GraphicsMagick easyconfig, required by Octave (#2764)
    • clean up binutils easyconfigs to use binutils easyblock (#3006)
    • add include/GraphicsMagick to $CPATH in GraphicsMagick easyconfigs (#3034)
    • update SuiteSparse easyconfigs according to updated SuiteSparse easyblock (#3050)
  • various bug fixes, including:
    • fix Perl extensions download urls (#2738)
    • add Autoconf as build dep for GCCcore (#2772)
    • fix versions of extensions in Bioconductor 3.2 bundles (#2769)
    • fix (build) deps for intel/2016a easyconfigs of cairo, libXext, libXrender (#2785, #2874)
    • use 'env' wherever preconfig/build/installopts is used to set environmental variables (#2807, #2811, #2812)
    • add zlib as explicit dep in Tk easyconfigs (#2815)
    • consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs (#2774, #2779, #2816)
    • fix homepage and description in Pygments easyconfigs (#2822)
    • include pkg-config as build dependencies for libXau, libXdmcp, libxcb (#2827)
    • consistently use XORG_*_SOURCE constants (#2829, #2830, #2848)
    • update source URLs in ScientificPython easyconfig files (#2847)
    • add checksums in SuiteSparse easyconfigs (#2849)
    • fix build deps for GObject-Introspection (#2852)
    • correctly specify Perl location in git easyconfig (#2866)
    • fix bitstring 3.1.3 download URL in Python easyconfigs, source tarball on PyPI disappeared (#2880)
    • fix Perl dependency in worker easyconfigs, it requires non-standard Perl modules (#2884)
    • add XZ as dependency in Python 3.5.1 easyconfigs, required for lzma (#2887)
    • fix download URL for packmol (#2902)
    • drop usempi toolchain in numexpr easyconfigs, not needed (#2937)
    • fix use of resolve_dependencies in tests according to changes in framework (#2952)
    • add dependency extensions for MarkupSafe and jsonscheme in IPython 3.2.3 easyconfigs (#2967)
    • add patch for matplotlib 1.5.1 to fix Tcl/Tk library paths being used (#2971)
    • add xproto build dependency for makedepend v1.0.5 (#2982)
    • disable parallel build for Doxygen (#2986)
    • fix source URLs for FreezeThaw and Tie::Function extensions for Perl v5.22.1 (#2988)
    • add sed command in worker easyconfig files to fix module_path in conf/worker.conf (#2997, #3000)
    • drop toolchainopts from Eigen easyconfigs, since it is headers-only (#3025)
    • clean up dummy bzip2 easyconfig, define buildopts rather than defining $CC and $CFLAGS via os.environ (#3036)
    • use %(pyshortver)s template rather than hardcoding 2.7 in VTK easyconfigs (#3052)
    • correct install location of OpenCV Python bindings (#3054)
    • include XZ as dependency for libunwind (#3055)
    • add patch to fix broken OpenSSL tests due to expired certificates (#3057)
    • fix broken link to VSC website in license headers (#3062)

EasyBuild v2.7.0 (March 20th 2016)

feature + bugfix release

framework

  • stabilize Cray support
    • enable 'dynamic' toolchain option by default for Cray* toolchains (#1581)
    • remove FFTW from the Cray toolchains definition (#1585)
    • add external modules metadata for Cray systems (#1638)
    • fix independency of Cray toolchains w.r.t. toolchain build environment (#1641, #1647)
    • remove requirement to use --experimental for Cray toolchains (#1663)
  • enable Python optimization mode in 'eb' (#1357)
  • improved GitHub integration
    • improve error handling on git commands + better logging for --new-pr/--update-pr (#1590)
    • use git rather than https in --new-pr/--update-pr (#1602)
    • add -u as shorthand for --upload-test-report (#1605)
    • fix --from-pr for PRs that include renamed/deleted files (#1615)
    • add support for --install-github-token and --check-github (#1616)
    • fix fetch_easyconfigs_from_pr w.r.t. duplicate files in PRs (#1628)
  • various other enhancements, including:
    • add support for --search-filename and --terse (#1577)
    • support complete bash completion (#1580)
    • add support for %(*ver)s and %(*shortver)s templates (#1595, #1604)
      • incl. %(javaver)s, %(javashortver)s, %(perlver)s, %(perlshortver)s, %(pyver)s, %(pyshortver)s, %(rver)s, %(rshortver)s
    • define HOME constant that can be used in easyconfig files (#1607)
    • implement support for generating 'swap' statements in module files (#1609)
    • add support for --show-config (#1611, #1620)
    • simplified support for --minimal-toolchains (#1614, #1619, #1622, #1625, #1646)
    • add support for --dump-env-script (#1624)
    • enhance ModulesTool.exist to also recognize partial module names (#1630)
    • improve error message for toolchain definition errors (#1631)
    • make default is_short_modname_for check less strict to support versionless external modules as deps (#1632)
    • mention hostname in comment made by --upload-test-report (#1635)
    • support providing additional relative path for prefix in external module metadata (#1637)
    • add ThematicModuleNamingScheme (#1645)
    • enhance logging format: remove logger name, mention location instead (#1649, #1654)
    • update kernel versions for SLES12 (#1659)
    • raise EasyBuildError rather than ImportError in only_if_module_is_available decorator (#1662)
  • various bug fixes, including:
    • fix Lmod spider output in generated modules (#1583)
    • correctly define 'easybuild' namespaces (#1593, #1666, #1680)
      • this change requires that the setuptools Python package is available (at runtime)
      • using custom easyblocks by adding them in the Python search path ($PYTHONPATH) may require adjustments, i.e. also using pkg_resources.declare_namespace in the __init__.py files; we highly recommend to use --include-easyblocks instead, see http://easybuild.readthedocs.org/en/latest/Including_additional_Python_modules.html
      • note: this has the side-effect of not being able anymore to reliably use 'eb' in the parent directory of the easybuild-framework repository (#1667)
    • fix template for savannah.gnu.org source URL (#1601)
    • stop running 'module purge', only restore environment (#1608)
    • fix license headers: Hercules foundation is now FWO (#1629)
    • avoid that fancylogger tries to import mpi4py to determine MPI rank (#1648)
    • fix error in tests when 'file' backend is not available in Python keyring (#1650)
    • update develop install script (#1651)
    • handle allowed system deps during prepare_step rather than during parsing of easyconfig (#1652)
    • add function to find FlexLM licenses: find_flexlm_license (#1633, #1653)
    • fix availability check for external modules with partial module name (#1634, #1643)
    • fix bootstrap script to ensure setuptools is also installed (#1655)
    • fix issue in bootstrap script with vsc-base being picked up from the OS (#1656)
    • fix bootstrap script for environment where 'python' is Python 3.x (#1660)
    • remove --experimental for tests related to --package (#1665)
    • ensure path to setuptools is included in $PYTHONPATH being used to test scripts (#1671)
    • sanitize environment before initializing easyblocks (#1676)
    • remove reload statements in include.py, since they are not required and break --include-toolchains (#1679)

easyblocks

  • new easyblocks for 6 software packages that require customized support:
  • various other enhancements, including:
    • implement support for 'use_pip' in PythonPackage easyblock (#719, #831)
    • add support in CUDA easyblock to install wrappers for host compilers (#758)
    • update sanity check for picard version 1.124 and above (#796)
    • use 'module swap' for all components in CrayToolchain (#823)
    • update PSI4 easyblock to cope with changed name of PSI4 data dir (#824)
    • use find_flexlm_license function and avoid defining $CPATH in PGI easyblock (#837)
    • use find_flexlm_license function in IntelBase generic easyblock (#839)
    • add unit test to check module file generated by PythonPackage easyblock (#841)
    • rework MVAPICH2 easyblock on top of new MPICH easyblock (#844)
    • add CUDA support in CP2K easyblock (#850)
    • also define $LD in buildopts for GATE (#855)
    • use find_flexlm_license function in TotalView easyblock (#839)
    • enhance MakeCp easyblock to also support renaming of files while copying them (#859)
    • hunt for usable 'python' command in PythonPackage easyblock when system Python is used (#861)
    • add sanity check in easybuild/__init__.py w.r.t. current working dir (#869)
    • change suffix of original file to .easybuild when using fileinput in impi easyblock (#870)
  • various bug fixes, including:
    • make sure Python unicode settings match that of the system Python (#817)
    • remove FFTW related statements in HPL easyblock, since HPL doesn't require FFTW at all (#822)
    • use pkg_resources.declare_namespace rather than pkgutil.extend_path to declare 'easybuild' namespaces (#827)
    • fix license headers: Hercules foundation is now FWO (#836)
    • fix check for non-empty lib dirs in PythonPackage easyblock (#840)
    • consider all Python lib dirs in sanity check for libxml2 (#842)
    • correctly handle deprecated configure options (--with-hwloc/--enable-mpe) in MVAPICH2 easyblock (#853)
    • use correct configure option for checkpoint/restart in MVAPICH2 easyblock (#854)
    • ensure list of Python lib dirs always has a 'lib/...' entry (#858)
    • check whether rpm/rpmrebuild commands are available using 'which', rather than checking for OS deps (#864)
    • fix test_step in UFC easyblock (#872)

easyconfigs

  • added example easyconfig files for 63 new software packages:
  • added new easyconfigs for existing toolchains:
    • intel/2016.02-GCC-4.9 (#2620), gmpolf/2016a & gmvolf/2016a (#2589)
  • stable Cray-specific easyconfigs
    • delete deprecated Cray toolchains and easyconfig files (#2400)
    • don't hardcode PrgEnv version, remove craype and fftw components in Cray toolchains (#2554)
    • remove -XC versionsuffix for stable definitions for Cray* toolchains (#2714)
    • support for various software packages with CrayGNU and CrayIntel toolchains: CP2K, GROMACS, WRF
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including BWA 0.7.13, CMake 3.4.3, GATE 7.2, GROMACS 5.1.2, Mesa 11.1.2, netCDF 4.4.0, Perl 5.22.1, Python 3.5.1, R 3.2.3, R-bundle-Bioconductor 3.2, scipy 0.17.0, SuiteSparse 4.5.1
  • various other enhancements, including:
    • copy contrib dir in Velvet easyconfigs so scripts are also available (#2456)
    • redefine matplotlib 1.5.1 easyconfig as a bundle, also include cycler extension (dep for matplotlib) (#2470)
    • add bitstring extension to Python 2.7.11 easyconfigs (#2471)
    • enable building of MetaVelvet in Velvet 1.2.10 easyconfigs (#2473)
    • add custom sanity check for libjpeg-turbo (#2480)
    • add Velvet easyconfigs that include BioPerl dependency, so VelvetOptimizer can use it (#2495, #2729, #2733)
    • add source URL in RAxML 7.2.6 easyconfigs (#2536)
    • update MPICH easyconfigs to use new MPICH easyblock (#2589)
    • free libX11 & co from unneeded Python dependency/versionsuffix (#2549, #2563, #2605, #2664)
    • add '--enable-utf --enable-unicode-properties' configure options in PCRE easyconfigs (#2561)
      • required for latest R versions
    • add HCsnip, metagenomeSeq in Bioconductor 3.1 bundles (#2553, #2578)
    • add additional extensions in R 3.2.x easyconfigs that are required for extra Bioconductor extensions (#2547, #2556)
    • update psmpi easyconfig files to use the new psmpi easyblock (#2619)
    • add easyconfig for Python 2.7.11 on top of X11-enabled Tk (#2614, #2621)
    • add virtualenv as extension in Python 2.7.11 easyconfigs (#2660)
  • various bug fixes, including:
    • fix software name for GTK+ (was 'gtk+'), PyCairo (was 'pycairo') and Gdk-Pixbuf (was 'gdk-pixbuf') (#2468)
    • don't hardcode CC/CXX in OpenMPI easyconfigs (#2472)
    • remove Google Code source URL for mpi4py (#2474)
    • rename ffmpeg to FFmpeg (#2425, #2481)
    • use available easyblock for flex (#2486)
    • fix determining list of easyconfigs in unit test suite, don't assume locations are correct (#2530)
    • fix specifying DB dependency in DB_File easyconfigs (#2539)
    • remove hard-coded -xSSE4.2 for numpy/scipy with Intel compilers (#2546)
    • fix license headers: Hercules foundation is now FWO (#2550)
    • add --with-zlib configure argument in libxml easyconfigs (#2555)
    • don't hardcode optarch=True in xextproto/xtrans easyconfigs (#2601)
    • change toolchain version to '' in easyconfigs that use dummy toolchain and include dependencies (#2612)
    • GLib doesn't require libxml2 with Python bindings (#2632)
    • add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with '--' in build path (#2634)
    • add missing 'pkgconfig' dependency for h5py (#2476, #2650)
    • correct software name in FastQC easyconfigs (was 'fastqc'), use 'dummy' toolchain for all FastQC version (#2657, #2666)
    • add missing libxml2 dependencies in GLib easyconfigs (#2658)
    • fix Xerces-C++ download location (#2668)
    • enable XML::Bare extension in all Perl easyconfigs (#2672)
    • update dead link for SuiteSparse (#2679)
    • remove custom exts_filter in easyconfigs used PythonPackage easyblock (#2683, #2685)
    • add M4 as build dep for binutils & flex (#2681)
    • add missing dependencies in Python 3.5.x easyconfigs: SQLite, Tk, GMP (#2704)
    • fix (OS) deps, add checksums, remove parameter definition with default values in MVAPICH2 easyconfigs (#2707)
  • style cleanup in various easyconfigs (#2378, #2387, #2395, #2396, #2488-#2493, #2496-#2500, #2502-#2504, #2602)
    • working towards automated style review of pull requests

EasyBuild v2.6.0 (January 26th 2016)

feature + bugfix release

framework

  • add (experimental) support for opening/updating (easyconfigs) pull requests (--new-pr, --update-pr) (#1528)
  • sanitize environment before each installation by undefining $PYTHON* (#1569, #1572)
  • various other enhancements, including:
    • allow user-local modules with hierarchical naming schemes (--subdir-user-modules) (#1472)
    • enhance --extended-dry-run output to include paths for requirements in make_module_req (#1520)
    • rewrite read_file to use 'with' (#1534)
    • add support for eb --last-log (#1541)
    • support using fixed install dir scheme (--fixed-installdir-naming-scheme) (#1546)
    • add edge attributes for build dependencies in --dep-graph output (#1548)
    • check whether dependencies marked as external module are hidden (#1552)
    • implement support for --modules-header (#1558)
    • add support to specify 'else' body for conditional statements in modules (#1559)
    • add extra test for --include-easyblocks for generic easyblocks (#1562)
    • allow user to define the default compiler optimization level (--default-opt-level) (#1565)
    • make toolchain.get_variable more robust w.r.t. dummy toolchain (#1566)
  • various bug fixes, including:
    • fix missing 'yaml' module check in tests (#1525)
    • fix 'develop' install script (#1529)
    • correctly quote FPM option values in packagin support (#1530)
    • correctly handle '.' in software name w.r.t. $EB* environment variables (#1538)
    • exclude logs and test reports from packages (#1544)
    • also pass down --job-cores for pbs_python job backend (#1547)
    • skip dependencies marked as external modules when packaging (#1550)
    • fix syntax for set_alias statement in Lua syntax (#1554)
    • handle the case of all 'offline' nodes correctly for --job (#1560)
    • fix test_modules_tool_stateless unit test for stateless ModulesTool with Lmod as modules tool (#1570)

easyblocks

  • add generic easyblock for Cray toolchains (#766)
  • new easyblocks for 2 software packages that require customized support:
  • various other enhancements, including:
    • update BamTools easyblock for versions 2.3.x and newer: some shared libraries are now static) (#785)
    • don't hardcode .so, use get_shared_lib_ext instead (#789, #790, #791, #793, #794, #803, #815)
    • enhance CPLEX easyblock by adding more subdirs to $PATH, define $LD_LIBRARY and $CPLEXDIR (#797)
    • make sanity check for netcdf4-python work with both egg and non-egg installs (#799)
    • update sanity check in PETSc/SLEPc easyblocks for v3.6.x (#800)
    • update Trinity easyblock for 2.x versions (#802)
    • update DOLFIN easyblock for v1.6.0 (#804)
    • check for libkokkoscore.a rather than libkokkos.a for Trilinos 12.x (#805)
    • add an option to skip the sanitizer tests of Clang (#806)
    • update Molpro easyblock to support binary installs and 2015 version (#807)
    • make ConfigureMake more robust w.r.t. custom easyconfig parameters (#810)
  • various bug fixes, including:
    • add back support for Eigen 2.x in Eigen easyblock (#798)
    • fix for vsc-base being picked up from OS in EasyBuildMeta easyblock (#813)
    • remove setuptools.pth if it includes absolute paths after installing EasyBuild (#813)

easyconfigs

  • add easyconfigs for foss/2016a and intel/2016 common toolchains (#2310, #2311, #2339, #2363)
    • incl. easyconfigs for Boost, CMake, Python, Perl using these toolchains
  • added example easyconfig files for 21 new software packages:
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including BamTools 2.4.0, Boost 1.60.0, Clang 3.7.1, DOLFIN/FFC/FIAT/Instant/UFL 1.6.0, GATE 7.0, GCC 5.3.0, LLVM 3.7.1, pandas 0.17.1, PETSc 3.6.3, SAMtools 1.3, scipy 0.16.1, SLEPc 3.6.2, Trilinos 12.4.2, Trinity 2.1.1, VTK 6.3.0
  • various other enhancements, including:
    • added new Cray* toolchain versions with pinned dependency versions (#2222)
    • don't hardcode .so, use SHLIB_EXT constant instead (#2245)
    • add custom sanity check in GEOS easyconfigs (#2285)
  • various bug fixes, including:
    • add Autotools (M4) as a build dependency in GMP v6.x easyconfigs (#2096)
    • remove argparse from list of extensions in Python 3.2+ easyconfigs, since it became part of stdlib (#2323)
  • various style fixes, including:
    • get rid of tabs (#2302)
    • remove trailing whitespace (#2341)

EasyBuild v2.5.0 (December 17th 2015)

feature + bugfix release

framework

  • add support for IBM XL compilers on Power7 and PowerPC (BlueGene) (#1470)
  • add support for generic compilation using --optarch=GENERIC (#1471)
  • update experimental support for .yeb easyconfigs (#1515)
    • support clean way to specify toolchain + dependencies in .yeb easyconfigs
  • various other enhancements, including:
    • add support for 'whatis' easyconfig parameter (#1271)
    • add support for SLES 12 and kernel 3.12.x (#1412)
    • add GCCcore toolchain definition (#1451)
    • use 'diff --git' lines to determine patched files in pull request with --from-pr (#1460)
    • add proper option parser to bootstrap script (#1468)
    • add get_gcc_version() function in systemtools module (#1496)
    • don't load fake module in sanity_check_step during a dry run (#1499)
    • allow string values to be passed in make_module_req by hoisting them into a list (#1502)
    • add support for listing build dependencies as hidden dependencies (#1503)
    • also consider lib32/pkgconfig and lib64/pkgconfig for $PKG_CONFIG_PATH (#1505)
    • add support to make_module_dep to specify module to unload before loading a dependency module (#1506)
    • add support to make_module_extra to specify alternative root/version for $EBROOT/$EBVERSION (#1508)
    • packaging support is no longer considered experimental (#1510)
  • various bug fixes, including:
    • also consider lib64 in sanity check performed during EasyBuild bootstrap (#1464)
    • also add description/homepage to packages created with FPM (#1469)
    • fix develop setup script to install EasyBuild-develop module in subdirectory (#1480)
    • don't create a whole set of temporary 'minimal-easyconfigs' subdirs with --minimal-toolchains (#1484)
    • only keep polling if exit code is None in run_cmd_qa, to correctly deal with negative exit codes (#1486)
    • fix bootstrap script for missing sys_platform by using newer distribute 0.6.49 in stage 0 (#1490)
    • make sure that extra custom easyconfig parameters are known for extensions (#1498)
    • add missing import for EasyBuildError in easybuild/toolchains/linalg/libsci.py (#1512)
    • isolate tests from possible system-wide configuration files (#1513)
    • only use glob in make_module_req on non-empty strings (#1519)
      • this fixes the problem where $CUDA_HOME and $CUDA_PATH are not defined in module files for CUDA

easyblocks

  • update easyblocks for Intel tools to support 2016 versions (#691, #745, #756, #777)
    • IntelBase easyblock has been enhanced to support specifying which components to install
  • new easyblocks for 3 software packages that require customized support:
  • various other enhancements, including:
    • update numpy and SuiteSparse easyblock to use scikit-umfpack (#718)
    • add an option to allow removal of the -Dusethreads flag in Perl easyblock (#724)
    • update Doxygen easyblock for 1.10.x (CMake) (#734)
    • update sanity check in Qt easyblock for Qt 5.x (#740)
    • add support for multilib build of GCC on PowerPC (#741)
    • add support to OpenFOAM and SCOTCH easyblocks to support 64-bit integers, via 'i8' toolchain option (#744)
    • fix sanity check to support numpy 1.10 (dropped _dotblas.so) (#757, #761, #762)
    • update IPP easyblock for v9.x (#759)
    • cleaner output for PythonPackage under dry run, make numpy easyblock dry-run aware (#760, #671)
    • add support for using netCDF-Fortran as dependency in ALADIN easyblock (#764)
    • add support for tbb 4.4.x in tbb easyblock (#769)
    • add support for specifying altroot/altversion in Bundle easyblock (#773)
    • update OpenFOAM easyblock for OpenFOAM-Extend 3.2 + use apply_regex_substitutions (#770)
  • various bug fixes, including:
    • fix module path extension of system compiler in HMNS setup (#742)
    • only restore $PYTHONPATH if it was defined in EasyBuildMeta easyblock (#743)
    • make sure $PYTHONPATH is defined correctly in module file for Python packages created with --module-only (#748)
    • fix WRF easyblock to produce correct module under --module-only --force (#746, #752)
    • don't hardcode 'openPBS' in GATE easyblock, use value for default_platform easyconfig parameter (#753)
    • avoid adding lib subdirs to $*LIBRARY_PATH if no libraries are there in PythonPackage easyblock (#755)
    • fix installing Python bindings for libxml2 to correct installation prefix (#765)

easyconfigs

  • add GCCcore easyconfig that can be used as base for all compilers (without getting in the way) (#2214)

    • along with easyconfig for GCC/4.9.3-2.25: bundle of GCCcore 4.9.3 and binutils 2.25
    • intended to replace the GNU toolchain
  • added example easyconfig files for 39 new software packages:

  • added new easyconfigs for existing toolchains:

  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...

    • including CMake 3.4.1, HDF5 1.8.16, netCDF 4.3.3.1, netCDF-Fortran 4.4.2, numpy 1.10.1, Octave 4.0.0, OpenFOAM 3.0.0, OpenFOAM-Extend 3.2, Python 2.7.11
  • various other enhancements, including:

    • add tidyr to R 3.2.1 easyconfigs (#2174)
    • enable C++ support in MIGRATE-N (#2178)
    • also installed shared libraries for AMD and UMFPACK in SuiteSparse (#2061)
    • fix software name for ParaView (was: Paraview) (#2132)
    • enable building of shared libraries for binutils (#2133)
    • harden binutils built with dummy toolchain by linking to system libraries via RPATH (#2228)
    • enhance easyconfig unit tests to check that each easyconfig file is in the right subdirectory (#2232)
  • various bug fixes, including:

    • fix ALADIN patch file to not use relative paths, and adjust list of ALADIN sources accordingly ((#2207), (#2213))
    • rename patch files for OpenFOAM to be in line with other patches (#2226)
    • fix typo in bzip2 source URLs (#2204)
    • force linking of ncurses in libreadline (#2206)
    • enable -fPIC in all zlib 1.2.8 easyconfigs (#2220)
    • move Net-LibIDN/SRA-Toolkit/bbftpPRO/o2scl easyconfigs to right location (#2232)
    • restrict parallel build in OpenFOAM-Extend easyconfigs via 'maxparallel', not 'parallel' (#2233)

EasyBuild v2.4.0 (November 10th 2015)

feature + bugfix release

framework

  • add support for --extended-dry-run/-x (#1388, #1450, #1453, #1455)
  • fix checking of sanity check paths w.r.t. discriminating between files and directories (#1436)
    • this impacts several easyconfig files where sanity_check_paths was not 100% correct
  • make 'eb' script aware of Python v3.x, fall back to using python2 if required (#1411)
  • add experimental support for parsing .yeb easyconfig files in YAML syntax (#1447, #1448, #1449)
  • add experimental support for resolving dependencies with minimal toolchains (#1306)
  • various other enhancements, including:
    • refactor extract_cmd function to get rid of if/elif/else spaghetti blob (#1382)
    • add support for --review-pr (#1383)
    • add apply_regex_substitutions function to perform runtime patching from easyblocks (#1388, #1458)
    • add support for specifying alternate name to be part of generated module name (#1389)
      • via 'modaltsoftname' easyconfig parameter
    • support overriding # used cores via --parallel (#1393)
    • also define $FC and $FCFLAGS in build environment (#1394)
    • add support extracting for .tar.Z files (#1396)
    • include easybuild/scripts in installation (#1397)
    • ignore hidden directories in find_base_dir (#1413, #1415)
    • add only_if_module_is_available decorator function to guard functionality that uses optional dependencies (#1416)
    • give easyblocks the possibility to choose maxhits for run_cmd_qa (#1417)
    • use class name (string) rather than License instances as values for software license constants (#1418)
    • support controlling recursive unloading of dependencies via 'recursive_module_unload' easyconfig parameter (#1425)
    • implement basic support for type checking of easyconfig parameters (#1427)
    • support auto-converting to expected value type for easyconfig parameters (enabled by default) (#1428, #1437)
    • add support for --rebuild command line option, alternative for --force which doesn't imply --ignore-osdeps (#1435)
    • add support for Mercurial easyconfig repository (#979, #1446)
    • add dedicated class for psmpi toolchain MPI component, and use it in gpsmpi and ipsmpi toolchains (#1454)
  • various bug fixes, including:
    • fix extracting of comments from an easyconfig file that includes 'tail' comments (#1381)
    • fix dev version to follow PEP-440, as required by recent setuptools versions (#1403)
    • allow get_cpu_speed to return None if CPU freq could not be determined (#1421)
    • relax sanity_check_paths in EasyBuild bootstrap script to deal with possible zipped .egg (#1422)
    • use empty list as default value for src/patches in Extension class (#1434)
    • skip symlinked files in adjust_permissions function (#1439)
    • fix HierarchicalMNS to always use full version number (#1440)

easyblocks

  • 3 new generic easyblocks: OCamlPackage (#467), SCons (#689, #700), Waf (#722)
  • new easyblocks for 2 software packages that require customized support:
  • various other enhancements, including:
    • add support for installing OpenFOAM with external METIS, CGAL and Paraview (#497)
    • update netCDF easyblock updated for netCDF v4.3.3.1 (#674)
    • update Rosetta easyblock for recent Rosetta versions (#677)
    • make unpacked source dir detection in easyblock for VSC-tools a little bit more flexible (#679)
    • add support for building with Plumed support enabled in CP2K easyblock (#681)
    • update Go easyblock for Go v1.5 (#683)
    • use apply_regex_substitutions function in WRF easyblock (#685)
    • update MUMPS easyblock for 5.x (#686)
    • implement runtime patching of $WM_* and compiler variables for OpenFOAM (#688)
    • specify sequential compiler to use in compiler command that gets injected in OpenFOAM easyblock (#692)
    • make PythonPackage and WRF easyblocks dry-run aware (#696)
    • add support in PythonPackage for installing with easy_install + installing zipped eggs (#698, #711, #715)
    • update Bowtie easyblock for recent Bowtie versions (#707)
    • update CUDA easyblock for CUDA 7.x(#708)
    • also consider config/make.sys.in for want in QuantumESRESSO easyblock (#714)
    • define $NWCHEM_LONG_PATH if needed in NWChem easyblock (#720)
    • remove custom post-install step in PDT easyblock (#723)
      • no longer needed now that adjust_permissions functions ignores symlinks
    • use $LIBS in HPL easyblock (#727, #736)
  • various bug fixes, including:
    • also define $MCRROOT for MCR in module (#687)
    • add missing 'super' call in configure_step of easyblock for python-meep (#694)
    • only prepend existing non-empty paths to $PYTHONPATH in PythonPackage easyblock (#697)
    • fix extra_options definition in CMakePythonPackage easyblock (#698)
    • fix dev version to follow PEP-440, as required by recent setuptools versions (#702, #703, #704)
    • consider both lib and lib64 in sanity check paths for flex (#705)
    • also copy signature file and don't copy CMake files in Eigen easyblock (#709)
    • fix directory names in make_module_req_guess of ANSYS easyblock (#713)
    • fix imports for set_tmpdir in easyblock unit tests after function was moved in EasyBuild framework (#726)
    • use --with-tcltk* configure options for Python to point to ensure Tcl/Tk deps are picked up (#729)
    • fix order of subdirs for QuantumESPRESSO binaries (#730)
    • correctly handle having both $FC/$FCFLAGS and $F90/$F90FLAGS defined when building MVAPICH2 (#732)
    • fix OpenSSL sanity check paths: lib/engines is a directory (#731, #733)
    • fix sanity check paths for netcdf-python (#735)

easyconfigs

  • added example easyconfig files for 45 new software packages:
  • added new easyconfigs for existing toolchains: gimkl/2.11.5 (#2093)
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including Clang + LLVM 3.7.0, CMake 3.3.2, CUDA 7.5.18, hanythingondemand v3.0.1, Mesa 11.0.2, mpi4py v2.0.0, ncurses 6.0, OpenFOAM 2.4.0, Paraview 4.4.0, Python 3.5.0, QuantumESPRESSO v5.2.1
  • various other enhancements, including:
    • enable 'pic' toolchain option in libxml2 easyconfigs (#1993)
    • extend list of R libraries included in R v3.2.1 easyconfigs (#2042, #2046, #2067, #2072)
    • add Rsubread in Bioconductor easyconfigs (#1971)
  • various bug fixes, including:
    • fix software name for BEEF (was 'libbeef') (#1679)
    • add patch to install qhull.pc (pkgconfig) file with Qhull (#1975)
    • don't enable experimental nouveau API in libdrm easyconfigs (#1994)
    • fix dev version to follow PEP-440, as required by recent setuptools versions (#1997)
    • correct homepage in Cufflinks easyconfigs (#2060)
    • fix imports for set_tmpdir in easyblock unit tests after function was moved in EasyBuild framework (#2097)
    • add patch for Tk 8.6.4 to fix problem with tk.tcl not being found (#2102)
    • don't use %(version)s template in toolchain version, causes problems with HierarchicalMNS (#2104)
    • fix sanity check paths in several easyconfig (#2109, #2120, #2121, #2125)
      • required because of bug fix in sanity_check_step implementation
      • CVXOPT, h5py, LIBSVM, libunistring, MDP, monty, PhyloCSF, Pyke, pandas, pycosat, pyhull, pymatgen, python-dateutils, Seaborn, Theano, XML-LibXML, XML-Simple

EasyBuild v2.3.0 (September 2nd 2015)

feature + bugfix release

framework

  • requires vsc-base v2.2.4 or more recent (#1343)
    • required for mk_rst_table function in vsc.utils.docs
  • various other enhancements, including:
    • add support for generating documentation for (generic) easyblocks in .rst format (#1317)
    • preserve comments in easyconfig file in EasyConfig.dump() method (#1327)
    • add --cleanup-tmpdir option (#1365)
      • enables to preserve the used temporary directory via --disable-cleanup-tmpdir
    • enhance EasyConfig.dump() to reformat dumped easyconfig according to style guidelines (#1345)
    • add support for extracting .iso files using 7z (p7zip) (#1375)
  • various bug fixes, including:
    • correctly deal with special characters in template strings in EasyConfig.dump() method (#1323)
    • rework easybuild.tools.module_generator module to avoid keeping state w.r.t. fake modules (#1348)
    • fix dumping of hidden deps (#1354)
    • fix use of --job with hidden dependencies: include --hidden in submitted job script when needed (#1356)
    • fix ActiveMNS.det_full_module_name() for external modules (#1360)
    • fix EasyConfig.all_dependencies definition, fix tracking of job dependencies (#1359, #1361)
    • fix ModulesTool.exist() for hidden Lua module files (#1364)
    • only call EasyBlock.sanity_check_step for non-extensions (#1366)
      • this results in significant speedup when installing easyconfigs with lots of extensions, but also results in checking the default sanity check paths if none were defined for extensions installed as a module
    • fix using module naming schemes that were included via --include-module-naming-schemes (#1370)

easyblocks

  • new easyblocks for 2 software packages that require customized support:
  • various other enhancements, including:
    • enhance BWA easyblock to also install man pages (#650)
    • enhance tbb easyblock to consider lib dirs in order and also define $CPATH, $LIBRARY_PATH, $TBBROOT (#653, #654)
    • call PythonPackage.configure_step in ConfigureMakePythonPackage.configure_step (#668)
    • add 'foldx3b6' as possible binary name in FoldX easyblock (#671)
    • enhance/cleanup MATLAB easyblock (#672)
    • move preparing of 'intel' subdir in $HOME to configure_step in IntelBase easyblock (#673)
  • various bug fixes, including:
    • add missing super call in post_install_step of imkl easyblock (#648, #660)
    • fix regex used to correct I_MPI_ROOT in impi mpivars.sh scripts (#662)
    • fix regex used to patch .mk file in configure step of SuiteSparse easyblock (#666)
    • correctly specify installation prefix via $GEM_HOME in RubyGem easyblock (#667)
    • add custom sanity check in scipy easyblock (#669)
    • specify to always use the bfd linker for OpenFOAM, to stay away from using ld.gold (#670)

easyconfigs

  • added example easyconfig files for 19 new software packages:
  • added new easyconfigs for existing toolchains: GNU/4.9.3-2.25 (#1836), foss/2015b (#1695), intel/2015b (#1696)
    • add easyconfigs using this toolchain for BLAST+ 2.2.31, Boost 1.58.0, CP2K 2.6.1, OpenFOAM 2.3.1, Perl 5.20.2 + 5.22.0 (bare), Python 2.7.10, R 3.2.1
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including Boost 1.59.0, CP2K 2.6.1, GCC 5.2.0
  • various other enhancements, including:
    • enhance texinfo easyconfig w.r.t. texmf, only use it as a build dependency (#1840)
    • enable building of ld.gold in binutils 2.25 (#1885)
  • various bug fixes, including:
    • fix enabling MPI support for h5py 2.5.0 (#1825)
    • fix versions of Bioconductor packages + add a couple extra (#1828, #1852, #1895, #1917)
    • put dummy values in place for builddir/installdir templates in easyconfigs unit tests (#1835)
    • fix easyconfigs unit tests w.r.t. changes made in framework (#1853, #1870, #1874, #1875)
    • add GMP as missing dep in Python 2.7.10 easyconfigs, required for pycrypto extension (#1858)
    • specify installation prefix for SIP (#1888, #1892)
    • add custom sanity check paths in various easyconfigs (#1889, #1894, #1897 - #1909)
      • required because of fix in EasyBuild framework, causing default sanity check paths to be considered for extensions that are installed as a module
      • affected easyconfigs include: AnalyzeFMRI, Biggus, bibtexparser, DB_File, DBD-Pg, DBD-SQLite, DBD-mysql, evmix, fmri, FPM, GraphViz, gsl, GSSAPI, MDP, mpi4py, ncdf, ncdf4, netifaces, NetLibIDN, networkx, ordereddict, Parallel-ForkManager, paycheck, PyQuante, Pyke, PyQt, r2py, rjags, runjags, scikit-learn, SOBAcl, vsc-processcontrol, vsc-mympirun-scoop, XML, XML-Dumper, XML-Parser, XML-Twig, YAML-Syck
    • don't enable 'static' toolchain option in SuiteSparse 4.4.3 easyconfig (#1911)
    • add --exclude unpack options for OpenFOAM 2.3.1 to avoid cyclic symlink causing problems when unpacking (#1925)

EasyBuild v2.2.0 (July 15th 2015)

feature + bugfix release

framework

  • add support for using GC3Pie as a backend for --job (#1008)
  • add support for --include-* configuration options to include additional easyblocks, toolchains, etc. (#1301)
  • add (experimental) support for packaging installed software using FPM (#1224)
  • various other enhancements, including:
    • use https for PyPI URL templates (#1286)
    • add GNU toolchain definition (#1287)
    • make bootstrap script more robust (#1289, #1325):
      • exclude 'easyblocks' pkg from sys.path to avoid that setup.py for easybuild-easyblocks picks up wrong version
      • undefine $EASYBUILD_BOOTSTRAP* environment variables, since they do not correspond with known config options
    • improve error reporting/robustness in fix_broken_easyconfigs.py script (#1290)
    • reset keep toolchain component class 'constants' every time (#1294)
    • make --strict also a build option (#1295)
    • fix purging of loaded modules in unit tests' setup method (#1297)
    • promote MigrateFromEBToHMNS to a 'production' MNS (#1302)
    • add support for --read-only-installdir and --group-writable-installdir configuration options (#1304)
    • add support for not expanding relative paths in prepend_paths (#1310)
    • enhance EasyConfig.dump() method to use easyconfig templates where possible (#1314), #1319), #1320), #1321)
  • various bug fixes, including:
    • fix issue with cleaning up (no) logfile if --logtostdout/-l is used (#1298)
    • stop making ModulesTool class a singleton since it causes problems when multilple toolchains are in play (#1299)
    • don't modify values of 'paths' list passed as argument to prepend_paths in ModuleGenerator (#1300)
    • fix issue with EasyConfig.dump() + cleanup (#1308), #1311)
    • re-enable (and fix) accidentally disabled test (#1316)

easyblocks

  • modified easybuild.easyblocks package declaration to support giving preference to custom easyblocks (#617)
  • 2 new generic easyblocks: RubyGem (#565), SystemCompiler (#633)
  • new easyblocks for 5 software packages that require customized support:
  • various other enhancements, including:
    • update CUDA easyblock for v6.x (#476)
    • make METIS easyblock take into account configopts (#494)
    • enable building of EOMIP and EOMEA for NWChem versions 6.5 and up (#508)
    • make out-of-source build with CMake truly out-of-source (#615)
    • add support in Bundle easyblock to run full sanity check (#627)
    • also take platform-specific Python lib dirs into account in PythonPackage easyblock (#628)
    • fix mpivars scripts in Intel MPI installation for versions where the installation is moved (#629)
    • don't restrict det_pylibdir function to only EasyBuild-provided Python (#631), #641)
    • support snappy and other optional native libs in Hadoop easyblock (#632), #638), #640), #642)
  • various bug fixes, including:
    • fix Xmipp easyblock, use provided install.sh script (#630)
    • update Clang easyblock to disable tests that may fail when unlimited stack size is used (#622)
    • fix setting of $INTEL_LICENSE_FILE for port@server values (#635)

easyconfigs

  • added example easyconfig files for 62 new software packages:
  • added easyconfigs for 4 new software bundles:
  • added easyconfigs for new GNU toolchain (#1346), #1669)
  • added new easyconfigs for existing toolchains: goolf/1.5.16, intel/2014.06
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including BLAST 2.2.31+, Clang 3.6.1, CUDA 6.x, GCC 4.9.3, GROMACS 5.0.5, HDF5 1.8.15 + 1.8.15-patch1, Python 2.7.10, R 3.2.0 + 3.2.1, WRF 3.6.1
  • various other enhancements, including:
    • update all ncurses easyconfigs to enable ncursesw and use ConfigureMake easyblock (#1337)
    • update PDT easyconfigs to use PDT easyblock (#1687)
    • add custom sanity_check_paths in libxml2 easyconfigs (#1690)
    • enhance unit tests to also cover EasyConfig.dump() method on all easyconfigs (#1761)
    • include snappy as dependency in Hadoop easyconfigs (#1758), #1773)
    • enable SSL support in CMake v3.2.3 easyconfigs (#1784)
    • add additional extensions in R easyconfigs (#1637)
  • various bug fixes, including:
    • add patch file required for correct CUDA-aware OpenMPI v1.7.3 build (#631)
    • fix issue with OpenMPI dependency in ECore easyconfigs (#777)
    • don't run the Bloom tests for Jellyfish, they can randomly fail (#1016)
    • fix source URLs in BioPerl easyconfigs (#1075)
    • patch out svnversion command in Python 2.5.6 to fix build on recent systems (#1576)
    • consistently use https for PyPI URLs in homepage/source_urls (#1616), #1722)
    • include Tcl and Tk as dependencies in R easyconfig (#1623)
    • add patch for installing paycheck as Py3 extension (#1629)
    • add Perl dependency in git 2.x easyconfigs (#1631)
    • fix easyconfig for GMP 6.0.0, don't use 6.0.0a sources (#1635)
    • fix source_urls in QuantumESPRESSO 5.0.2 easyconfigs (#1652)
    • include Tk as dependency in Python 2.7.9 easyconfigs (#1654)
    • include tk-devel is list of OS deps for Python 2.7.9 Cray easyconfigs, make sure 'import Tkinter' works (#1655)
    • drop gpfs versionsuffix and stop using no longer existing --enable-gpfs configopt for recent HDF5 versions (#1657)
    • include missing libxml2 dep in GLib easyconfigs (#1666)
    • fix source URLs in Qt easyconfigs (#1673)
    • fix source URLs for argparse Python extension (#1697)
    • fix source URLs for deap Python extension (#1699)
    • fix easyconfigs unit tests after making ModulesTool a non-singleton class (#1708)
    • fix names for Xmipp easyconfigs and patches (#1719)
    • add patch for Qt 4.8.6 to fix build issue on RHEL6 with intel/2015a (#1734)
    • add M4 as build dep for GCC 5.1.0 (#1735)
    • fix Bioconductor extension versions in R 3.1.3 easyconfigs (#1748)
    • remove custom exts_filter definition from Python 3.4.3 easyconfig (#1765)
    • fix source_urls in netCDF easyconfigs (#1766)
    • fix source_urls in netCDF-C++ and netCDF-Fortran easyconfigs (#1767)

EasyBuild v2.1.1 (May 18th 2015)

bugfix release

framework

  • fix issue with missing load statements when --module-only is used, don't skip ready/prepare steps (#1276)
  • enhance --search: only consider actual filename (not entire path), use regex syntax (#1281)
  • various other bug fixes, including:
    • fix generate_software_list.py script w.r.t. dependencies marked as external modules (#1273)
    • only use $LMOD_CMD value if lmod binary can't be found in $PATH (#1275)
    • fix location of module_only build option w.r.t. default value (#1277)
    • fix combined use of --hide-deps and hiddendependencies (#1280)
    • remove log handlers that were added during tests, to ensure effective cleanup of log files (#1282)
      • this makes the unit test suite run ~3x faster!
    • define $CRAYPE_LINK_TYPE if 'dynamic' toolchain option is enabled for Cray compiler wrappers (#1283)

easyblocks

  • fix compatibility of easyblocks with --module-only + dedicated unit test module (#610)
  • minor enhancements, including:
    • update GROMACS easyblock for version 5 (#513)
  • various other bug fixes, including:
    • only check compiler being used if FFTW interfaces are being built in Intel MKL easyblock (#606)

easyconfigs

  • added example easyconfig files for 3 new software packages:
  • added new easyconfigs for existing toolchains: ictce/7.3.5, CrayCCE/5.2.40, CrayGNU/5.2.40, CrayIntel/5.2.40
  • added easyconfigs using CrayGNU/5.2.25 and CrayGNU/5.2.40 toolchains (#1610, #1611)
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including Boost 1.58.0, GROMACS 5.0.4, Python 3.4.3
  • various bug fixes, including:
    • enable usempi in GROMACS easyconfig using CrayGNU toolchain (as required by GROMACS easyblock) (#1590)
    • use system-provided tcsh when building WRF on Cray systems, to avoid hanging build (#1595)
    • only use 'dynamic' toolchain option, not 'shared', in easyconfigs using Cray toolchain (#1609)

EasyBuild v2.1.0 (April 30th 2015)

feature + bugfix release

framework

easyblocks

  • replace 'log.error' with 'raise EasyBuildError' in all easyblocks (#588)
  • one new generic easyblock: ConfigureMakePythonPackage (#540)
  • new easyblocks for 2 software packages that require customized support:
  • various other enhancements, including:
    • enhance WIEN2k easyblock for recent versions + cleanup (#486)
    • define $PYTHONNOUSERSITE in PythonPackage easyblock so user-installed packages are not picked up (#577)
    • add support in CP2K easyblock for building on top of MPICH/MPICH2 (#579)
    • enhance Hadoop easyblock to support parallel builds (#580)
    • drop -noroot for recent FLUENT versions, honor installopts, enable -debug (#582)
    • include prebuildopts in build command for Python packages (#585)
    • also install rosetta_tools subdirectory for Rosetta (#586)
    • update SLEPc easyblock for v3.5 + style cleanup (#593)
    • minor fix in HPL easyblock w.r.t. checking defined environment variables (#595)
    • tweak CP2K easyblock w.r.t. LAPACK/FFTW support (#596)
    • minor update to GCC easyblock to support GCC v5.x (#598)
    • update sanity check in R easyblock for version 3.2.0 (#602)
  • various bug fixes, including:
    • fix Score-P easyblock for compiler-only toolchains, include Qt as optional dependency (#552)
    • fix definition of $MKLROOT, should be set to 'mkl' subdir of install dir (#576)
    • add -libmpichf90 to list of MPI libraries in NWChem easyblock (#584)
    • stop using '$root' to make easyblocks compatible with module files in Lua syntax (#590)
    • also set $PYTHONPATH before installing Python package in temporary directory in test_step (#591)
    • unset buildopts/installopts before installing Python extensions in Python easyblock (#597)
    • allow not including vsc-base sources when installing EasyBuild (gets installed with easybuild-framework) (#600)
    • use self.initial_environ rather than self.orig_environ in EasyBuildMeta easyblock (#600)
    • make GCC easyblock compatible with --module-only by setting default value for self.platform_lib in constructor (#603)

easyconfigs

  • added example easyconfig files for 27 new software packages:
  • added easyconfigs for new (Cray-specific) toolchains (#1538): CrayGNU, CrayIntel, CrayCCE
  • added new easyconfigs for existing toolchains: goolf/1.5.16, intel/2014.06
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including GCC v5.1.0, OpenFOAM v2.3.1, R v3.1.3 and v3.2.0, PETSc/SLEPc v3.5.3, WIEN2k v14.1
  • various other enhancements, including:
    • include pbr dependency for lockfile Python extension in Python v2.7.9 easyconfigs + mock/pytz/pandas (#1462, #1540)
    • include SQLite as dependency in Python v2.7.9 easyconfigs (#1468)
    • set $LD_PRELOAD for Hoard and jemalloc (#1470)
    • fix homepage in SCOTCH easyconfigs (#1485)
    • adding missing six/ecdsa dependencies for dateutil/paramiko Python packages in Python easyconfigs (#1504, #1505, #1506, #1507, #1508, #1509, #1510)
    • enable pic toolchain option in expat easyconfigs (#1562)
    • extend list of source URLs for Bioconductor packages in R easyconfigs to include 'release' source URLs (#1568)
  • various bug fixes, including:
    • adding missing zlib dependency in all Tcl easyconfig files (#1344)
    • fix homepage in FLUENT easyconfigs (#1472)
    • use --with-verbs rather than deprecated --with-openib in OpenMPI configure options (#1511)
    • stop relying on OS_NAME constant to specify OS dependencies in OpenMPI easyconfigs (#1512)
    • replace use of '$root' with '%(installdir)s' to ensure compatibility with module files in Lua syntax (#1532)
    • stop relying on '$MKLROOT' in ROOT easyconfigs (#1537)
    • use proper Bundle easyblock for biodeps/PRACE (#1566)
    • make source_urls in Cube and Scalasca easyconfigs compatible with --try-software-version (#1574)
    • add patch for Cube to fix configure script w.r.t. Qt dependency, add --without-java-reader configure option (#1574)

EasyBuild v2.0.0 (March 6th 2015)

feature + bugfix release

framework

  • requires vsc-base v2.0.3 or more recent
    • avoid deprecation warnings w.r.t. use of message attribute (vsc-base#155)
    • fix typo in log message rendering --ignoreconfigfiles unusable (vsc-base#158)
  • removed functionality that was deprecated for EasyBuild version 2.0 (#1143)
  • stop including a crippled copy of vsc-base, include vsc-base as a proper dependency instead (#1160, #1194)
    • vsc-base is automatically installed as a dependency for easybuild-framework, if a Python installation tool is used
    • see Required Python packages
  • various other enhancements, including:
    • add support for Linux/POWER systems (#1044)
    • major cleanup in tools/systemtools.py + significantly enhanced tests (#1044)
    • add support for 'eb -a rst', list available easyconfig parameters in ReST format (#1131)
    • add support for specifying one or more easyconfigs in combination with --from-pr (#1132)
    • define __contains__ in EasyConfig class (#1155)
    • restore support for downloading over a proxy (#1158)
      • i.e., use urllib2 rather than urllib
      • this involved sacrificing the download progress report (which was only visible in the log file)
    • let mpi_family return None if MPI is not supported by a toolchain (#1164)
    • include support for specifying system-level configuration files for EasyBuild via $XDG_CONFIG_DIRS (#1166)
    • make unit tests more robust (#1167, #1196)
    • add hierarchical module naming scheme categorizing modules by moduleclass (#1176)
    • enhance bootstrap script to allow bootstrapping using supplied tarballs (#1184)
    • disable updating of Lmod user cache by default, add configuration option --update-modules-tool-cache (#1185)
      • for now, only the Lmod user cache can be updated using --update-modules-tool-cache
    • use available which() function, rather than running 'which' via run_cmd (#1192)
    • fix install-EasyBuild-develop.sh script w.r.t. vsc-base dependency (#1193)
    • also consider robot search path when looking for specified easyconfigs (#1201)
  • various bug fixes, including:
    • stop triggering deprecated/no longer support functionality in unit tests (#1126)
    • fix from_pr test by including dummy easyblocks for HPL and ScaLAPACK (#1133)
    • escape use of '%' in string with command line options with --job (#1135)
    • fix handling specified patch level 0 (+ enhance tests for fetch_patches method) (#1139)
    • fix formatting issues in generated easyconfig file obtained via --try-X (#1144)
    • use log.error in tools/toolchain/toolchain.py where applicable (#1145)
    • stop hardcoding /tmp in mpi_cmd_for function (#1146, #1200)
    • correctly determine variable name for $EBEXTLIST when generating module file (#1156)
    • do not ignore exit code of failing postinstall commands (#1157)
    • fix rare case in which used easyconfig and copied easyconfig are the same (#1159)
    • always filter hidden deps from list of dependencies (#1161)
    • fix implementation of path_matches function in tools/filetools.py (#1163)
    • make sure plain text keyring is used by unit tests (#1165)
    • suppress creation of module symlinks for HierarchicalMNS (#1173)
    • sort all lists obtained via glob.glob, since they are in arbitrary order (#1187)
    • stop modifying $MODULEPATH directly in setUp/tearDown of toolchain tests (#1191)

easyblocks

  • one new generic easyblock for installing a bundle of modules: Bundle (#550)
    • and let the Toolchain generic easyblock derive from Bundle
  • new easyblocks for 2 software packages that require customized support:
  • various other enhancements, including:
    • move support for staged_install from CPLEX easyblock to generic Binary easyblock (#502)
    • fix sanity check in picard easyblock for v1.119 that doesn't include sam.jar (#522)
    • log warning message when unlinking jellyfish symlink fails in Trinity easyblock (#534)
    • revamp EB_libint2 easyblock into EB_Libint that works for both Libint v1x and v2.x (#536)
    • update CP2K easyblock for recent versions (no more 'fes') (#537)
    • update SuiteSparse easyblock for recent versions (#541)
    • fix easyblock unit tests after dropping support for deprecated behaviour in framework (#543)
    • rework PSI easyblock to support future releases (#545)
    • enable always generating a 'verbose' Makefile in the generic CMakeMake easyblock (#546)
    • remove functionality in (generic) easyblocks that was deprecated for EasyBuild v2.0 (#547)
    • enhance generic RPackage easyblock to support installing extensions in a separate prefix (#551)
    • deprecate GenomeAnalysisTK easyblock, since it's basically equivalent to Tarball (#557)
    • update SAMtools easyblock for v1.2 (#562)
    • take preconfigopts easyconfig parameter into account in ROOT easyblock (#566)
    • update easyblock for installing EasyBuild
      • to support bootstrapping with provided source tarballs (#559)
      • to also cover vsc-base dependency, and verify easy-install.pth (#567)
    • update disabling sanitizer tests for Clang 3.6 (#570)
  • various bug fixes, including:
    • fix handling of LTO in GCC easyblock (#535)
    • relocate FDTD RPM to fix installation on SL6 (#538)

easyconfigs

  • added example easyconfig files for 29 new software packages:
  • added easyconfigs for new (common) toolchains
  • added new software bundle: Autotools (#1385)
  • various other enhancements, including:
    • don't define $LDSHARED in zlib easyconfigs (#1350)
      • this fixes the long-standing "no version information available" issue with zlib
      • see also framework#108
    • add unit test to check that all extra_options keys are defined in EasyConfig instance (#1378)
    • add source MD5 checksums in all GCC easyconfigs (#1391)
    • speeding up the unit tests by avoiding rereading of same easyconfig file (#1432)
    • fix conflict detection in unit tests by considering build deps separately from runtime deps (#1447)
    • fix toolchain for Bison build dep in MVAPICH2-1.9-iccifort-2011.13.367.eb easyconfig (#1448)
    • use Bundle generic easyblock for HPCBIOS bundles and fix moduleclass (#1451)
  • various bug fixes, including:
    • revert version of Libint dependency to 1.1.4 in CP2K v2.5.1 easyconfig (#1144)
    • added Java dependencies to EMBOSS easyconfigs (#1167)
    • don't list 'lto' as a language in GCC easyconfigs (#1286)
    • rename libint2 easyconfigs as Libint v2 easyconfigs (#1287)
    • fix mpi4py source_urls in Python easyconfigs (#1306)
    • consistently use CLooG 0.18.0 for GCC 4.8 series (#1392)
    • rename GenomeAnalysisTk easyconfigs to GATK (#1399)
    • include openssl-devel SLES11 OS dependency in cURL/MySQL/Python easyconfigs (#1422)
    • add missing Perl dependency in parallel easyconfigs (#1430)
    • correct name in BLAST+ easyconfigs (#1443)
    • fix name for sparsehash easyconfigs (#1452)

EasyBuild v1.16.2 (March 6th 2015)

bugfix release

framework

(no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)

easyblocks

  • make EB_EasyBuildMeta easyblock aware of vsc-base to make upgrading to EasyBuild v2.0.0 possible (#573)

easyconfigs

(no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)

EasyBuild v1.16.1 (December 19th 2014)

bugfix release

framework

  • fix functionality that is broken with --deprecated=2.0 or with $EASYBUILD_DEPRECATED=2.0
    • don't include easyconfig parameters for ConfigureMake in eb -a, since fallback is deprecated (#1123)
    • correctly check software_license value type (#1124)
    • fix generate_software_list.py script w.r.t. deprecated fallback to ConfigureMake (#1127)
  • other bug fixes
    • fix logging issues in tests, sync with vsc-base v2.0.0 (#1120)

easyblocks

  • fix EasyBuild versions for which $EASYBUILD_DEPRECATED=1.0 is set in EasyBuild sanity check (#531)

easyconfigs

  • set default easyblock to ConfigureMake in TEMPLATE.eb (#1277)

EasyBuild v1.16.0 (December 18th 2014)

feature + bugfix release

framework

  • deprecate automagic fallback to ConfigureMake easyblock (#1113)
    • easyconfigs should specify easyblock = 'ConfigureMake' instead of relying on the fallback mechanism
    • note: automagic fallback to ConfigureMake easyblock will be removed in EasyBuild v2.0
    • see also Automagic fallback to ConfigureMake
  • stop triggering deprecated functionality, to enable use of --deprecated=2.0 (#1107, #1115, #1119)
  • various other enhancements, including:
    • add script to clean up gists created via --upload-test-report (#958)
    • also use -xHost when using Intel compilers on AMD systems (as opposed to -msse3) (#960)
    • add Python version check in eb command (#1046)
    • take versionprefix into account in HierarchicalMNS module naming scheme (#1058)
    • clean up and refactor main.py, move functionality to other modules (#1059, #1064, #1075, #1087)
    • add check in download_file function for HTTP return code + show download progress report (#1066, #1090)
    • include info log message with name and location of used easyblock (#1069)
    • add toolchains definitions for gpsmpi, gpsolf, impich, intel-para, ipsmpi toolchains (#1072, #1073)
      • support for Parastation MPI based toolchains
    • enforce that hiddendependencies is a subset of dependencies (#1078)
      • this is done to avoid that site-specific policies w.r.t. hidden modules slip into contributed easyconfigs
    • enable use of --show_hidden for avail subcommand with recent Lmod versions (#1081)
    • add --robot-paths configure option (#1080, #1093, #1095, #1114)
    • support use of %(DEFAULT_ROBOT_PATHS)s template in EasyBuild configuration files (#1100)
    • use -xHost rather than -xHOST, to match Intel documentation (#1084)
    • update and cleanup README file (#1085)
    • deprecate self.moduleGenerator in favor of self.module_generator in EasyBlock (#1088)
    • also support MPICH MPI family in mpi_cmd_for function (#1098)
    • update documentation references to point to http://easybuild.readthedocs.org (#1102)
    • check for OS dependencies with both rpm and dpkg (if available) (#1111)
  • various bug fixes, including:
    • fix picking required software version specified by --software-version and clean up tweak.py (#1062, #1063)
    • escape $ characters in module load message specified via modloadmsg easyconfig parameter) (#1068)
    • take available hidden modules into account in dependency resolution (#1065)
    • fix hard crash when using patch files with an empty list of sources (#1070)
    • fix Intel MKL BLACS library being used for MPICH/MPICH2-based toolchains (#1072)
    • fix regular expression in fetch_parameter_from_easyconfig_file function (#1096)
    • don't hardcode queue names when submitting a job (#1106)
    • fix affiliation/mail address for Fotis in headers (#1105)
    • filter out /dev/null entries in patch file in det_patched_files function (#1108)
    • fix gmpolf toolchain definition, to have gmpich as MPI components (instead of gmpich2) (#1101)
      • 'MPICH' refers to MPICH v3.x, while MPICH2 refers to MPICH(2) v2.x (MPICH v1.x is ancient/obsolete)
      • note: this requires to reinstall the gmpolf module, using the updated easyconfig from easybuild-easyconfigs#1217

easyblocks

  • new easyblocks for 2 software packages that requires customized support:
  • fix use of deprecated functionality, enhance unit tests to check for it (#523)
  • various other enhancements, including:
    • update PETSc easyblock for recent versions (v3.5) (#446)
    • only include major/minor version numbers for FLUENT subdir (#480)
    • factor out 'move after install' code from impi easyblock to IntelBase, use it for itac (#487)
    • support custom easyconfig parameters in EB_impi easyblock to correct behavior of MPI wrapper commands (#493)
    • consider both lib and lib64 in sanity check for GROMACS (#501)
    • take preinstallopts and installopts into account in Binary easyblock (#503)
    • add sanity check command abaqus information=all for ABAQUS (#504)
    • update and clean up README, refer to http://easybuild.readthedocs.org documentation (#505, #516)
    • rename deprecated self.moduleGenerator to self.module_generator (#506)
    • check whether specified type value is a known value (psmp or popt) in CP2K easyblock (#509)
    • add support to SAMtools easyblock for installing recent versions (v1.x) (#512)
    • fix version check + sanity check in Geant4 easyblock + style fixes (#517)
    • added $root/modlib to $PYTHONPATH guesses in Modeller easyblock (#525)
    • mark license custom easyconfig parameter as deprecated in IntelBase (#527)
  • various bug fixes, including:
    • fix Libxc version check in CP2K easyblock (#478)
    • correctly specify mkl_libs when building numpy with GCC and imkl (#485)
    • extend noqa for OpenFOAM-Extend in build_step (#488, #520)
    • correctly set $LD_LIBRARY_PATH, $LIBRARY_PATH and $PKG_CONFIG_PATH for R (#495)
    • fix default value for files_to_copy in MakeCp easyblock (#500)
    • treat MPICH MPI family as MPICH v3.x instead of MPICH v1.x (#519)
    • fix affiliation/mail address for Fotis in headers (#521)
    • clean up in extra_options methods, avoid casting return value to dict or returning via parent (#528)

easyconfigs

EasyBuild v1.15.2 (October 7th 2014)

bugfix release

framework

  • fix $MODULEPATH extensions for Clang/CUDA, to make goolfc/cgoolf compatible with HierarchicalMNS (#1050)
  • include versionsuffix in module subdirectory with HierarchicalMNS (#1050, #1055)
  • fix unit tests which were broken with bash patched for ShellShock bug (#1051)
  • add definition of gimpi toolchain, required to make gimkl toolchain compatible with HierarchicalMNS (#1052)
  • don't override COMPILER_MODULE_NAME obtained from ClangGCC in Clang-based toolchains (#1053)
  • fix wrong code in path_to_top_of_module_tree function (#1054)
    • because of this, load statements for compilers were potentially included in higher-level modules under HierarchicalMNS

easyblocks

  • only disable sanitizer tests for recent Clang versions (#481, #482)
  • pass down installopts to CUDA install command (#483)

easyconfigs

  • disable parallel build for slalib (#968)
  • fix compatibility of goolfc with HierarchicalMNS by using GCC toolchain for installing CUDA (#1106, #1115)
  • fix zlib OS dependency spec for Debian in Boost easyconfigs (#1109)
  • fix compatibility of gimkl with HierarchicalMNS by using gimpi subtoolchain (#1110)
  • make both GCC and Clang first-class members in Clang-based toolchains to fix compatibility with HierarchicalMNS (#1113)

EasyBuild v1.15.1 (September 23rd 2014)

bugfix release

framework

  • take into account that multiple modules may be extending $MODULEPATH with the same path, when determining path to top of module tree (see #1047)
    • this bug caused a load statement for either icc or ifort to be included in higher-level modules installed with an Intel-based compiler toolchain, under the HierarchicalMNS module naming scheme
  • make HierarchicalMNS module naming scheme compatible with cgoolf and goolfc toolchain (#1049)
  • add definition of iompi (sub)toolchain to make iomkl toolchain compatible with HierarchicalMNS (#1049)

easyblocks

(no changes compared to v1.15.0, simple version bump to stay in sync with easybuild-framework)

easyconfigs

  • minor bug fixes, including:
    • use SHLIB_EXT in GMP/MPFR easyconfigs (#1090)
    • fix TopHat homepage and source_urls since page moved (#1092)
    • make iomkl toolchain compatible with HierarchicalMNS (#1099)

EasyBuild v1.15.0 (September 12th 2014)

feature + bugfix release

framework

  • various other enhancements, including:
    • fetch extension sources in fetch_step to enhance --stop=fetch (#978)
    • add iimpi toolchain definition (#993)
    • prepend robot path with download location of files when --from-pr is used (#995)
    • add support for excluding module path extensions from generated modules (#1003)
      • see include_modpath_extensions easyconfig parameter
    • add support for installing hidden modules and using them as dependencies (#1009, #1021, #1023)
      • see --hidden and hiddendependencies easyconfig parameter
    • stop relying on conflict statement in module files to determine software name of toolchain components (#1017, #1037)
      • instead, the is_short_modname_for method defined by the module naming scheme implementation is queried
    • improve error message generated for a missing easyconfig file (#1019)
    • include path where tweaked easyconfigs are placed in robot path (#1032)
    • indicate forced builds in --dry-run output (#1034)
    • fix interaction between --force and --try-toolchain --robot (#1035)
    • add --software option, disable recursion for --try-software(-X) (#1036)
  • various bug fixes, including:
    • fix HierarchicalMNS crashing when MPI library is installed with a dummy toolchain (#986)
    • fix list of FFTW wrapper libraries for Intel MKL (#987)
    • fix stability of unit tests (#988, #1027, #1033)
    • make sure $SCALAPACK_INC_DIR (and $SCALAPACK_LIB_DIR) are defined when using imkl (#990)
    • fix error message on missing FFTW wrapper libs (#992)
    • fix duplicate toolchain elements in --list-toolchains output (#993)
    • filter out load statements that extend the $MODULEPATH to make the module being installed available (#1016)
    • fix conflict specification included in module files (#1017)
    • avoid --from-pr crashing hard unless --robot is used (#1022)
    • properly quote GCC version string in archived easyconfig (#1028)
    • fix issue with --repositorypath not honoring --prefix (#1031)
    • sync with latest vsc-base version to fix log order (#1039)
    • increase # commits per page for --from-pr (#1040)

easyblocks

  • added support for 2 new software packages that requires customized support:
  • various enhancements, including:
    • fix locale used for running Perl unit tests (#425)
    • fix Rmpi easyblock to correctly configure for Intel MPI (#435)
    • add support in generic Rpackage easyblock for handling patches (#435)
    • enhance OpenFOAM easyblock: fix building MPI build of Pstream and (pt)scotchDecomp + overall cleanup (#436)
    • enhance NWChem easyblock for version 6.3, clean up running of test cases (#441)
    • enhance noqa for interactive configuration of Qt build procedure (#447)
    • add custom sanity check for R in easyblock (#449)
    • make perlmodule take into account (pre){config,build,install}opts (#450)
    • add support for specifying an activation key after installing Mathematica (#452)
    • consider both lib and lib64 directories in netCDF sanity check (#453)
    • fix sanity check for ANSYS for v15.0.x (#458)
    • fix Trilinos easyblock for recent version (#462)
    • enhance impi easyblock to handle install subdir for impi v5.0.1 and future version (#465, #472)
    • include $CFLAGS in linker flags for HPL (#466)
    • update sanity test checks for GROMACS 5.x (#471)
  • various bug fixes:
    • fix building of FFTW wrappers for Intel MKL v11.1.x + cleanup of imkl easyblock (#445)

easyconfigs

  • added example easyconfig files for 13 new software packages:
  • added easyconfigs for new toolchains (#986, #1051):
    • gimkl/1.5.9, ictce/7.1.2
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • including Python 2.7.8/3.4.1, Perl 5.20.0, R 3.1.1, NWChem 6.3, OpenFOAM-Extend 3.1, GCC 4.9.1, Clang 3.4.2, ...
  • various enhancements, including:
    • make existing ictce/intel toolchains compatible with HierarchicalMNS (#1069)
      • this involves installing impi with an iccifort toolchain, and imkl with an iimpi toolchain
  • various bug fixes, including:
    • download link for Perl modules changed to use cpan.metapan.org
    • fix missing MPI-based OpenFOAM libraries (Pstream, (pt)scotchDecomp), make sure provided SCOTCH is used (#957)

EasyBuild v1.14.0 (July 9th 2014)

feature + bugfix release

framework

  • important changes
    • required Lmod version bumped to v5.6.3 (#944)
      • required due to enhancements and bug fixes in Lmod, e.g. making --terse avail significantly faster, and correctly handling a prepend-path statement that includes multiple directories at once
    • required Tcl/C environment modules version set to 3.2.10 (
      • hard requirement due to fixed modulecmd segmentation fault bug, that only tends manifests itself when making a large amount of changes in the environment (e.g. module load <toolchain>)
    • renamed EasyBuildModuleNamingScheme to EasyBuildMNS
  • enhanced custom module naming schemes functionality to support hierarchical module naming schemes (#953, #971, #975)
    • extended API for custom module naming schemes to allow tweaking different aspects of module naming
      • see easybuild/tools/module_naming_scheme/mns.py for abstract ModuleNamingScheme class
      • an example hierarchical module naming scheme is included, see HierarchicalMNS
    • split up full module names into a module subdirectory part, which becomes part of $MODULEPATH), and a 'short' module name (is exposed to end-users)
      • example: GCC/4.7.2 in Core subdir, OpenMPI/1.6.5 in Compiler/GCC/4.7.2 subdir
    • make ModuleNamingScheme class a singleton, move it into easybuild.tools.module_naming_scheme.mns module
    • implement ActiveMNS wrapper class for querying active module naming scheme
    • implement toolchain inspection functions that can be used in a custom module naming scheme
      • det_toolchain_compilers, det_toolchain_mpi in easybuild.tools.module_naming_scheme.toolchain
    • significant code cleanup & enhanced unit tests
  • enhance & clean up tools/modules.py (#944, #953, #963, #964, #969)
    • make ModulesTool a singleton to avoid repeating module commands over & over again needlessly
    • use module use, module unuse rather than fiddling with $MODULEPATH directly
    • improve debug logging (include full stdout/stderr output of module commands)
    • remove deprecated functionality (add_module, remove_module, indirect module load)
  • various other enhancements, including:
    • added toolchain definitions for 'common' toolchains: intel and foss (#956)
    • implement caching for easyconfig files, parsed easyconfigs and toolchains (#953)
    • enable --ignore-osdeps implicitly when -D, --dry-run or --dep-graph are used (#953)
    • flesh out use_group and det_parallelism function, include them in easybuild.tools.systemtools (#953)
    • make symlinking of module files part of module naming scheme API (#973)
      • list of symlinks paths can be controlled using det_module_symlink_paths() method
    • added support for new configuration options:
      • tweaking compiler flags triggered by optarch toolchain options using --optarch (#949)
      • filtering out dependencies from easyconfig files using --filter-deps (#957)
      • filtering environment included in test reports with --test-report-env-filter (#959) e.g. --test-report-env-filter='^SSH|USER|HOSTNAME|UID|.*COOKIE.*'
      • made suffix used for module files install path configurable, using --suffix-modules-path (#973)
    • added support for additional easyconfig parameters:
      • define aliases in module files (modaliases) (#952)
      • add print message on module load (modloadmsg) and Tcl footer (modtclfooter) in module files (#954, #974)
  • various bug fixes, including:
    • don't try to tweak generated easyconfigs when using --try-X (#942)
    • currently create symlinks to module files modules/all under a custom module naming scheme (#953)
    • restore traceback error reporting on hard crashes (#965)

easyblocks

  • added one new generic easyblock: CmdCp (#395)
  • added support for 2 new software packages that requires customized support:
  • various enhancements, including:
    • updated ABAQUS easyblock so that it works for version 13.2 (#406)
    • enhance BLAT easyblock by using super's build_step and prebuildopts/buildopts (#423)
    • enhance Mothur easyblock to guess correct start dir for recent versions (#424)
    • replace use of deprecated (pre)makeopts with (pre)buildopts in all easyblocks (#427)
    • fix poor mans version of toolchain compiler detection in imkl easyblock (#429)
  • various bug fixes:
    • only check for idb for older versions of icc (#426)
    • fix issues with installing RPMS when rpmrebuild is required (#433)
    • correctly disable parallel build for ATLAS (#434)
    • fix sanity check for Intel MPI v5.x (only provides bin64) (#432)
    • add $MIC_LD_LIBRARY_PATH for MKL v11.x (#437)

easyconfigs

  • added example easyconfig files for 17 new software packages:
  • added easyconfigs for new toolchains (#935, #944, #948):
    • foss/2014b, ictce/6.3.5, intel/2014b
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
  • various enhancements, including:
    • replace use of deprecated (pre)makeopts with (pre)buildopts in all easyblocks (#954)
    • disable running embossupdate on installation of EMBOSS (#963)
  • various bug fixes, including:
    • really enable OpenMP support in FastTree easyconfigs (#947)
    • fix easyconfigs unit tests after changes in framework (#958)

EasyBuild v1.13.0 (May 29th 2014)

feature + bugfix release

framework

  • make --try-X command line options work recursively (i.e. collaborate with --robot) (#922)
    • EasyBuild will first build a full dependency graph of the specified easyconfigs, and then apply the --try specifications
      • the elements of the dependency graph for the used toolchain and its dependencies are left untouched
    • this makes eb foo-1.0-goolf-1.4.10.eb --try-toolchain=ictce,5.5.0 --robot also work when foo has dependencies
    • caveat: the specified easyconfig files must all use the same toolchain (version)
  • add support for testing easyconfig pull requests from EasyBuild command line (#920, #924, #925, #932, #933, #938)
    • add --from-pr command line option for downloading easyconfig files from pull requests
    • add --upload-test-report command line option for uploading a detailed test report to GitHub as a gist
  • the makeopts and premakeopts easyconfig parameter are deprecated, and replaced by buildopts and prebuildopts (#918)
    • both makeopts and premakeopts will still be honored in future EasyBuild v1.x versions, but should no longer be used
  • various other enhancements, including:
    • add --disable-cleanup-builddir command line option, to keep the build dir after a (successful) build (#853)
      • the build dir is still cleaned up by default for successful builds, i.e. --cleanup-builddir is the default
    • also consider lib32 in paths checked for $LD_LIBRARY_PATH and $LIBRARY_PATH (#912)
    • reorganize support for file/git/svn repositories into repository package, making it extensible (#913)
    • add support for postinstallcmds easyconfig parameter, to specify commands that need to be run after the install step (#918)
    • make VERSION= part in version of C environment modules tool optional, which is required for older versions (#930)
  • various bug fixes, including:
    • fix small issues in bootstrap script: correctly determine EasyBuild version and make sure modules path exists (#915)
    • fix github unit tests (#916)
    • disable useless debug logging for unit tests (#919)
    • fix unit test for --skip (#929)
    • make sure start_dir can be set based on location of unpacked first source file (#931)
    • the vsc package shipped with easybuild-framework is synced with vsc-base v1.9.1 (#935)
      • fancylogger (used for logging in EasyBuild) is now robust against strings containing UTF8 characters
      • the deprecated logging function now does a non-strict version check (rather than an erroneous strict check)
      • the easybuild.tools.agithub module is removed, vsc.utils.rest now provides the required functionality
    • fix support for unpacking gzipped source files, don't unpack .gz files in-place in the source directory (#936)

easyblocks

  • added support for 1 new software package that requires customized support:
  • various enhancements, including:
    • enhance OpenFOAM easyblock so OpenFOAM-Extend fork can be built too + style fixes (#253, #416)
    • enhance CPLEX easyblock by adding support for staged installation (#372)
    • include support for configure_cmd_prefix easyconfig parameter in ConfigureMake generic easyblock (#393)
    • enhance GCC easyblock for building v4.9.0 and versions prior to v4.5 (#396, #400)
    • enhance easyblocks for Intel ipp and itac to support recent versions (#399)
    • enhance Clang easyblock: install static analyzer (#402), be more robust against changing source dir names (#413)
    • enhance FoldX easyblock, update list of potential FoldX binaries to support recent versions (#407)
    • add runtime patching in Boost easyblock to fix build issue with old Boost versions and recent glibc (> 2.15) (#412)
    • enhance MakeCp generic easyblock: use location of 1st unpacked source as fallback base dir for files_to_copy (#415)
  • various bug fixes:
    • fix installing Mathematica when X forwarding is enabled (make sure $DISPLAY is unset) (#391)
    • fix permissions of installed files in SAMtools easyblock, ensure read/execute for group/other (#409)
    • fix implementation of det_pylibdir function in PythonPackage generic easyblock (#419, #420)
      • determine Python lib dir via distutils Python, which works cross-OS (as opposed to hardcoding lib)

easyconfigs

  • added example easyconfig files for 32 new software packages:
  • added easyconfig for new toolchain goolfc/1.4.10
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • e.g., older versions of Boost (1.47.0), GCC (4.1-4.4), & recent versions of Clang, GCC, Lmod, etc.
  • various enhancements, including:
    • add OpenSSL dependency for cURL, to enable HTTPS support (#881)
    • also install esl-X binaries for HMMER (#889)
  • various bug fixes, including:
    • properly pass down compiler flags for ParMGridGen (#437)
    • specify proper make options for PLINK, fixing the build on SL6 (#594, #772)
    • fix netloc version (0.5 rather than 0.5beta) (#707)
    • remove Windows-style line ending in netCDF patch file (#796)
    • bump version of OpenSSL dep for BOINC (#882)

EasyBuild v1.12.1 (April 25th 2014)

bugfix release

framework

  • return to original directory after executing a command in a subdir (#908)
  • fix bootstrap with Lmod, fix issue with module function check and Lmod (#911)

easyblocks

(no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)

easyconfigs

(no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)

EasyBuild v1.12.0 (April 4th 2014)

feature + bugfix release

framework

  • various enhancements, including:
    • completed support for custom module naming schemes (#879, #904)
      • a fully parsed easyconfig file is now passed to the det_full_module_name function
      • this does require that an easyconfig file matching the dependency specification is available
    • added more features to better support using a shared install target with multiple users (#902, #903, #904)
    • further development on support for new easyconfig format (v2.0) (#844, #848)
      • not considered stable yet, so still requires using --experimental
    • enhanced bootstrap script to also support Lmod and modulecmd.tcl module tools (#869)
    • added support to run_cmd_qa function to supply a list of answers (#887)
    • detect mismatch between definition of module function and selected modules tool (#871)
      • allowing mismatch now requires --allow-modules-tool-mismatch; an empty module function is simply ignored
    • provide lib64 fallback option for directories in default sanity check paths (#896)
    • add support for adding JAR files to $CLASSPATH (#898)
    • enhanced and cleaned up unit tests (#877, #880, #884, #899, #901)
    • code cleanup and refactoring
      • get rid of global variable for configuration settings in config.py, use singleton instead (#874, #888, #890, #892)
      • track build options via singleton in config.py rather than passing them around all over (#886, #889)
      • avoid parsing easyconfig files multiple times by passing a parsed easyconfig to the easyblock (#891)
      • deprecate list of tuples return type of extra_options static method (#893, #894)
      • move OS dependency check to systemtools.py module (#895)
  • bug fixes, including:
    • fix linking with -lcudart if CUDA is part of the toolchain, should also include -lrt (#882)

easyblocks

  • various enhancements, including:
    • also run Perl Build build for Perl modules (usually not required, but sometimes it is) (#380)
    • added glob support in generic makecp block (#367, #384)
    • enhance sanity check in GCC easyblock such that it also passes/works on OpenSuSE (#365)
    • add multilib support in GCC easyblock (#379)
  • various bug fixes:
    • Clang: disable sanitizer tests when vmem limit is set (#366)
    • make sure all libraries are installed for recent Intel MKL versions (#375)
    • fix appending Intel MPI include directories to $CPATH (#371)
    • statically link readline/ncurses libraries in Python and NWChem easyblocks (#370, #383, #385)
    • fix easyblock unit tests after changes in framework (#376, #377, #378)

easyconfigs

  • added example easyconfig files for 6 new software packages:
  • added easyconfigs for new toolchains:
    • ClangGCC/1.3.0 (#653), goolf/1.4.10-no-OFED (#749), goolf/1.5.14(-no-OFED) (#764, #767), ictce/6.2.5 (#726), iomkl (#747)
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
  • various enhancements, including:
    • tweak BOINC easyconfig to make use of glob support available for files_to_copy (#781)
    • enable -fPIC for libreadline, so it can be linked into shared libs (e.g. libpython2.x.so) (#798)
  • various bug fixes, including:
    • fix Qt source_urls (#756)
    • enable -fPIC in ncurses 5.9 ictce/5.2.0 easyconfig, just like in the others (#801)
    • fix unit tests after changes to framework (#763, #766, #769)

EasyBuild v1.11.1 (February 28th 2014)

bugfix release

framework

  • various bug fixes, including:
    • fix hard crash when $LMOD_CMD specified full path to lmod binary, but spider binary is not in $PATH (#861, #873)
    • fix bug in initialisation of repositories, causing problems when a repository subdirectory is specified (#852)
    • avoid long wait when dependency resolution fails if --robot is not specified (#875)

easyblocks

(no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)

easyconfigs

(no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)

EasyBuild v1.11.0 (February 16th 2014)

feature + bugfix release

framework

  • various enhancements, including:
    • add checksum support for extensions (#807)
    • make checksum functionality more memory efficient by reading in blocks (#836)
    • rewrite of dependency solving for speed and better reporting of missing dependencies (#806, #818)
    • refactoring of main.py (#815, #828)
      • function/method signatures to pass down build options
      • move functions from main.py into easybuild.framework.X or easybuild.tools
    • provide better build statistics (#824)
    • add --experimental, --deprecated and --oldstyleconfig command line options (#838)
      • with --experimental, new but incomplete (or partially broken) features are enabled
      • with --deprecated, removed of deprecated functionality can be tested (anything deprecated will fail hard)
      • with --disable-oldstyleconfig, support for the old style configuration is disabled
    • define $LIBRARY_PATH in generated module files (#832)
    • more constants for source URLs (e.g. for downloads from bitbucket) (#831)
    • prefer $XDG_CONFIG_HOME and ~/.config/easybuild over ~/.easybuild for configuration files (#820)
    • add support for specifying footers to be appended to generated module files (#808)
      • see --modules-footer command line option
    • track version of modules tool + cleanup of modules.py (#839)
    • move actual run_cmd and run_cmd_qa implementations from tools.filetools into tools.run (#842, #843)
    • add support for generating modules that support recursive unloading (#830)
      • see --recursive-module-unload command line option
    • add flexibility support for specifying OS dependencies (#846)
      • alternatives can be specified, e.g. (openssl-devel, libssl-dev)
    • initial (incomplete) support for easyconfig files in new format (v2.0) (#810, #826, #827, #841)
      • requires --experimental to be able to experiment with format v2 easyconfig files
  • various bug fixes, including:
    • fix problems with use of new-style configuration file (#821)
    • fix removal of old build directories, unless cleanupoldbuild easyconfig parameter is set (#809)
    • fix support for different types of repository path specifications (#814)
    • fix unit tests sensitive to $MODULEPATH and available easyblocks (#845)

easyblocks

  • added one new generic easyblock: VSCPythonPackage (#348)
  • added support for 1 new software package that requires customized support:
    • netcdf4-python (#347)
  • various enhancements, including:
    • add support for installing recent tbb versions (#341)
    • use makeopts in the build step of the generic PythonPackage easyblock (#352)
    • define the $CMAKE_INCLUDE_PATH and $CMAKE_LIBRARY_PATH in the generic CMakeMake easyblock (#351, #360)
    • update Clang easyblock to support v3.4 (#346)
    • make sure Python is built with SSL support, adjust Python easyblock to pick up OpenSSL dep (#359)
      • note: providing OpenSSL via an OS package is still recommended, such that security updates are picked up
    • add support for recent netCDF versions (#347)
    • update SuiteSparse easyblock for new versions, and clean it up a bit (#350)
  • various bug fixes:
    • fix name of VersionIndependentPythonPackage easyblock, deprecate VersionIndependendPythonPackage easyblock (#348)
    • fix detection of machine architecture in FSL easyblock (#353)
    • fix bug in NWChem easyblock w.r.t. creating local dummy .nwchem file (#360)
    • make sure $LIBRARY_PATH is set for Intel compilers and Intel MPI, fix 64-bit specific paths (#360)

easyconfigs

  • added example easyconfig files for 30 new software packages:
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • OpenSSL with ictce toolchain (#703)
  • various enhancements, including:
    • using more constants and templates (#613, #615)
    • specify OS dependency for SSL support, with OpenSSL dependency as fallback (#703)
  • various bug fixes, including:
    • fix unit tests after (internal) framework API changes (#667, #672)
    • fix homepage in vsc-mympirun easyconfig file (#681)
    • align OpenMPI easyconfigs (#650)
    • add additional source URL in Qt easyconfigs (#676)
    • specify correct $PATH specification and define $CHPL_HOME for Chapel (#683)

EasyBuild v1.10.0 (December 24th 2013)

feature + bugfix release

framework

  • various enhancements, including:
    • set unique default temporary directory, add --tmpdir command line option (#695)
    • add support for computing and verifying source/patch file checksums (#774, #777, #779, #801, #802)
      • cfr. checksums easyconfig parameter
    • add support for eb --confighelp, which prints out an example configuration file (#775)
    • add initial support for eb tab completion in bash shells (#775, #797, #798)
    • enhancements for using Lmod as modules tool (#780, #795, #796):
      • ignore Lmod spider cache by setting $LMOD_IGNORE_CACHE (requires Lmod 5.2)
      • bump required Lmod version to v5.2
      • get rid of slow workaround for detecting module directories (only required for older Lmod versions)
      • fix version parsing for Lmod release candidates (rc)
      • improve integration with lmod spider by adding Description: prefix to module-whatis field of module
    • add --dry-short-short/-D and --search-short/-S command line options (#781)
    • add toolchain definition for 'gompic', intended for using with CUDA-aware OpenMPI (#783)
    • add support for specifying multiple robot paths (#786)
    • add various source URL constants, add support for %(nameletter)s and %(nameletterlower)s templates (#793)
    • add buildininstalldir easyconfig parameter (#794)
    • add --ignore-osdeps command line option (#799, #802)
  • various bug fixes, including:
    • enable -mt_mpi compiler flag if both usempi and openmp toolchain options are enabled (#771)
    • only use libmkl_solver* libraries for Intel MKL versions prior to 10.3 (#776)
    • fix toolchain support for recent Intel tools (#785)
    • code style fixes in main.py to adhere more to PEP8 (#789)
    • make sure easyblock easyconfig parameter is listed in eb -a (#791)
    • fix error that may pop up when using skipsteps=source (#792)

easyblocks

  • added one new generic easyblock: VersionIndependendPythonPackage (#329, #334)
  • added support for 2 new software packages that require customized support:
  • various enhancements, including:
    • fix support for recent SAMtools version (>= 0.1.19) (#320)
    • fix support for recent Intel tools (icc, ifort, imkl, impi) (#325, #327, #338)
    • enhance generic easyblock for installing RPMs (#332)
    • pick up preinstallopts in generic PythonPackage easyblock (#334)
    • enhance CP2K easyblock (libxc support, new versions) + style cleanup (#336)
  • various bug fixes:
    • use unwanted env var functionality to unset $MKLROOT rather than failing with an error (#273)
    • always include -w flag for preprocessor to suppress warnings that may break QuantumESPRESSO configure (#317)
    • link with multithreaded LAPACK libs for ESMF (#319)
    • extend noqanda list of patterns in CUDA easyblock (#328, #337)
    • add import _ctypes to Python sanity check commands to capture a common build issue (#329)
    • bug fixes in generic IntelBase easyblock (#331, #333, #335)
      • remove broken symlink $HOME/intel if present
      • fix use of gettempdir to obtain a common (user-specific) tmp dir to symlink $HOME/intel to
    • fix build of recent scipy versions with GCC-based toolchain (#334)
    • fix use of gettempdir to obtain common (user-specific) tmp dir for $HOME/.nwchemrc symlink (#340, #342)
    • extend noqanda list in Qt easyblock (#342)

easyconfigs

  • added example easyconfig files for 18 new software packages:
  • added easyconfigs for new toolchains (#545, #609, #629):
    • gcccuda/2.6.10, gompic/2.6.10, goolfc/2.6.10, ictce/6.0.5, ictce/6.1.5
  • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
    • new versions of icc, ifort, imkl, impi (#609, #629)
    • large collection of ictce/5.3.0 easyconfigs (#627)
  • various enhancements, including:
    • extended list of Python packages as extensions to Python (#625)
    • add MPI-enabled version of GROMACS + easyconfigs using ictce (#606, #636)
    • clean up templating of source_urls (#637)
  • various bug fixes, including:
    • provide alternative download URL for Mesa (#532)
    • add Python versionsuffix in OpenBabel filenames (#566)
    • apply no-gets patch in all M4 v1.4.16 easyconfigs (#623)
    • fix patching of Python w.r.t. libffi/_ctypes issues (#625, #642)
    • bug fixes in GROMACS easyconfigs (#606)
      • change versionsuffix for non-MPI GROMACS easyconfigs to -mt
      • stop using 'CMakeMake' easyblock for GROMACS now that there's a dedicated GROMACS easyblock, which correctly specifies building against external BLAS/LAPACK libraries
    • fix Qt dependency for CGAL (#642)
    • fix libctl, libmatheval, Meep, PSI build issues caused by full paths in guile-config/python-config shebang (#642)
    • make sure HDF easyconfigs specify dedicated include/hdf include dir (#642)
      • this is required to avoid build issues with NCL, because HDF ships it's own netcdf.h
      • this also triggered removal of patch files for NCL that rewrote include/hdf to include
    • fix WPS v3.5.1 patch file after upstream source tarball was changed, supply checksum for verification (#642)

EasyBuild v1.9.0 (November 17th 2013)

feature + bugfix release

framework

  • add support for Tcl environment modules (modulecmd.tcl) (#728, #729, #739)
    • special care was taken to make sure also the DEISA variant of modulecmd.tcl can be used
  • code refactoring to prepare for supporting two formats for easyconfig files (#693, #750)
    • this prepares the codebase for supporting easyconfig format v2.0
    • some initial work on adding support for the new easyconfig format is included, but it's by no means complete yet
    • the current easyconfig format (now dubbed v1.0) is still the default and only supported format, for now
    • for more details, see https://github.com/easybuilders/easybuild/wiki/Easyconfig-format-two
  • various other enhancements, including:
    • include a full version of vsc-base (see the vsc subdirectory) (#740)
      • this is a first step towards switching to using vsc-base as a proper dependency
    • implement get_avail_core_count function in systemtools module that takes cpusets and co into account (#700)
      • the get_core_count function is now deprecated
    • add impmkl toolchain definition (#736)
    • make regtest more robust: put holds on jobs without dependencies, release holds once all jobs are submitted (#751)
    • add support for specifying multiple alternatives for sanity check paths (#753)
    • add get_software_libdir function to modules.py (along with unit tests) (#758)
    • add support for more file extensions and constants w.r.t. sources (#738, #760, #761)
    • add MPICH2 support in mpi_cmd_for function (#761)
  • various bug fixes, including:
    • fix checking of OS dependencies on Debian/Ubuntu that have rpm command available (#732)
    • make unit tests more robust w.r.t. non-writeable /tmp and loaded modules prior to starting unit tests (#752, #756)
    • also call EasyBlock's sanity check in ExtensionEasyblock if paths/commands are specified in easyconfig (#757)
    • set compiler family for dummy compiler, add definition of toolchain constant for dummy (#759)
  • other
    • add build status badges for master/develop branches to README (#742)
    • add scripts for installing EasyBuild develop version or setting up git development environment (#730, #755)

easyblocks

  • added support for 8 new software packages that require customized support:
    • Allinea DDT/MAP (#279), ARB (#291), GenomeAnalysisTK (#278), OpenBabel (#305, #309), picard (#278), PyQuante (#297), Scalasca v1.x (#304), Score-P (#304)
      • the Score-P easyblock is also used for Cube 4.x, LWM2, OTF2, and Scalasca v2.x
  • various enhancements, including:
    • add support building ScaLAPACK on top of MPICH2, required for gmpolf toolchain (#274)
    • add support to ConfigureMake easyblock to customize configure --prefix option (#287)
    • add support for specifying install command in Binary easyblock (#288)
    • enhance CMakeMake easyblock to specify srcdir via easyconfig parameter, and to perform out-of-source builds (#303)
  • various bug fixes:
    • use correct configure flag for Szip in HDF5 easyblocks, should be --with-szlib (#286, #301)
    • add support for serial HDF5 builds (#290, #301)
    • enhance robustness of Qt easyblock w.r.t. interactive configure (#295, #302)
    • enhance support for picking up license specification via environment variables (#298, #307)
    • extend list of values for $CPATH in libint2 easyblock (#300)
    • fix extra_options super call in Clang easyblock (#306)
    • add support in Boost easyblock to specify toolset in easyconfig file (#308)
  • other:
    • add build status badges for master/develop branches to README (#289)

easyconfigs

  • added example easyconfig files for 58 new software packages:
  • added easyconfigs for new gmpich2/1.4.8, gmpolf/1.4.8 and goolf/1.6.10 toolchains (#460, #525, #530)
  • added additional easyconfigs for various software packages (list too long to include here)
    • version updates, different toolchains, ...
  • various bug fixes, including:
    • enable building of shared libraries for MPICH (#482)
    • fix HDF configure option for Szip, should be --with-szlib (#533)
      • for HDF5, this issue is fixed in the HDF5 easyblock
  • other
    • add build status badges for master/develop branches to README (#490)

EasyBuild v1.8.2 (October 18th 2013)

bugfix release

framework

  • fix regular expression used for obtaining list of modules from module avail (#724)
    • modules marked as default were being hidden from EasyBuild, causing problems when they are used as dependency

easyblocks

  • fix installing of EasyBuild with a loaded EasyBuild module (#280)
    • this is important to make upgrading to the latest EasyBuild version possible with a bootstrapped EasyBuild

easyconfigs

  • port thread pool patch to PSI 4.0b4 and include it to avoid hanging tests (#471)

EasyBuild v1.8.1 (October 14th 2013)

bugfix release

  • various bug fixes, including:
    • fix bugs in regtest procedure (#713)
      • force 2nd and 3rd attempt of build in case 1st attempt failed
    • fix copying of install log to install directory (#716)
    • only create first source path if multiple paths are specified (#718)
    • detect failed PBS job submission by checking obtained job ID for None value (#713, #717, #719, #720)

easyblocks

  • various bug fixes:
    • fix problems in PSI easyblock causing build to fail (#270)
    • fix issues with running NWChem test cases, fail early in case broken symlink is present (#275)

easyconfigs

  • added additional easyconfigs for various software packages (#457):
    • Boost, bzip2, libreadline, ncurses, PSI, Python, zlib
  • various bug fixes, including:
    • fix faulty easyconfig file names for HPCBIOS_Math, MUSCLE, XML-LibXML and YAML-Syck (#459, #462)
    • stop (re)specifying default maximum ratio for failed tests in NWChem easyconfig (#457)

EasyBuild v1.8.0 (October 4th 2013)

feature + bugfix release

framework

  • add support for using alternative module naming schemes (#679, #696, #705, #706, #707)
    • see https://github.com/easybuilders/easybuild/wiki/Using-a-custom-module-naming-scheme for documentation
    • module naming scheme classes that derive from the 'abstract' ModuleNamingScheme class can be provided to EasyBuild
      • the Python module providing the class must be available in the easybuild.tools.module_naming_scheme namespace
      • a function named det_full_module_name must be implemented, that determines the module name in the form of an string based on the supplied dictionary(-like) argument
    • the active module naming scheme is determined by EasyBuild configuration option --module-naming-scheme
    • for now, only the name/version/versionsuffix/toolchain easyconfig parameters are guaranteed to be provided
      • consistently providing all easyconfig parameters (i.e., also for dependencies) requires more work (see #687)
    • implementing this involved a number of intrusive changes:
      • the API of the modules.py module needed to be changed, breaking backward compatibility
        • the function for which the signatures were modified are considered to be internal to the framework, so this should have very minor impact w.r.t. easyblocks not included with EasyBuild
        • affected functions include: available, exists, show, modulefile_path, dependencies_for
      • the format for specifying dependencies was extended, to allow for specifying a custom toolchain
        • this allows to fix inaccurate dependency specifications, for example: ('OpenMPI', '1.6.4-GCC-4.7.2')" to "('OpenMPI', '1.6.4', '', ('GCC', '4.7.2'))
        • see also easyconfigs#431
      • the recommended version for Lmod was bumped to v5.1.5
        • using earlier 5.x version still works, but may be very slow when 'available' is used, due to bugs and a missing feature in Lmod versions prior to v5.1.5 on which we rely
  • various other enhancements, including:
    • only (try to) change group id if it is different from what is wanted (#685)
    • added toy build unit test (#688)
    • support for specifying a list of source paths in EasyBuild configuration (#690, #702)
    • add function to determine CPU clock speed in systemtools.py (#694, #699)
  • various bug fixes, including:
    • avoid importing toolchain modules over and over again to make toolchain constants available in toolchain module (#679)
    • only change the group id if current gid is different from what we want in adjust_permissions function (#685)
    • restore original environment after running 'module purge' (#698)
      • important sidenote: this results in resetting the entire environment, and has impact on the sanity check step;
      • any environment variables that are set before the EasyBlock.sanity_check_step method fires, are no longer there when the sanity check commands are run (cfr. easyblocks#268)

easyblocks

  • added one new generic easyblock: BinariesTarball (#255)
  • added support for 5 new software packages that require customized support:
  • various enhancements, including:
    • support optionally running configure in generic MakeCp easyblock (#252)
    • enhanced Clang easyblock to support building Clang 3.3 (#248)
    • add support for $INTEL_LICENSE_FILE specifying multiple paths (#251)
    • enhanced ATLAS easyblock to support building ATLAS 3.10.1 (#258)
  • various bug fixes:
    • add zlib lib dir in link path dirs for WPS (#249)
    • stop using deprecated add_module function in imkl easyblock (#250)
    • fixed PSI easyblock w.r.t. support for building plugins (#254, #269)
    • move OS check for Clang to check_readiness_step, to allow a build job to be submitted from SL5 (#263, #264)
    • enable verbose build for DOLFIN, to allow for proper debugging if the build fails (#265)
    • make sure $LDFLAGS and $INSTANT_*_DIR env vars are set for DOLFIN sanity check commands (#268)
      • this is required after resetting the environment after running module purge (see framework release notes)
    • don't try to load module in LAPACK test-only build (#264, #266)

easyconfigs

  • added example easyconfig files for 9 new software packages:
  • added additional easyconfigs for goalf, gompi, ClangGCC, cgmvapich2, cgmvolf toolchains (#350, #441)
  • added additional easyconfigs for various software packages:
    • ATLAS, Bison, bzip2, Clang, CMake, cURL, EasyBuild, expat, FFTW, GDB, gettext, git, HPL, LAPACK, libreadline, M4, METIS, MVAPICH2, Mercurial, ncurses, OpenBLAS, OpenMPI, ParMETIS, Python, ScaLAPACK, SCOTCH, Valgrind, zlib
  • various 'bug' fixes, including:
    • fix source URL for lockfile in Python easyconfigs (#428)
    • correct dependency specifications w.r.t. versionsuffix and toolchain (#431)
      • this is required to support building the affected easyconfigs with a custom module naming scheme
    • correct PSI patch file to avoid errors w.r.t. memcpy not being in scope (#446)
    • fix gettext build with adding --without-emacs configure options, add gettext as dependency for a2ps (#448)
    • exclude EMACS support in a2ps because of build failures (#452)

EasyBuild v1.7.0 (September 2nd 2013)

feature + bugfix release

framework

  • various enhancements, including:
    • also search for patch files in directory where easyconfig file is located (#667)
    • reduce false positives in reporting of possible errors messages (#669)
    • make module update $ACLOCAL if a share/aclocal subdir is found (#670)
    • add unwanted_env_vars easyconfig parameter to list environment variables to unset during install procedure (#673)
    • add support for updating list easyconfig values (next to string values) (#676)
    • add --dry-run command line option which prints installation overview for specified easyconfig files (#677)
  • various bug fixes, including:
    • ensure that all extensions are listed in $EBEXTSLISTX set by module, also when using --skip (#671)
    • report reason for failed sanity check for extensions (#672, #678)
    • fix --list-toolchains command line option (#675)

easyblocks

  • added support for 3 new software packages that require customized support:
  • various enhancements, including:
    • allow building OpenFOAM without 3rd party tools (#230)
    • also add sitelib path to $PERL5LIB, refactor code to add generic get_site_suffix function (#232, #233)
    • support building imkl FFT wrappers using MVAPICH2 MPI library (#234)
    • remove libnpp from CUDA sanity check to support installing CUDA v5.5 (#238)
    • pick up $INTEL_LICENSE_FILE for Intel tools, if it is set (#243)
      • note: gets preference over license_file easyconfig parameter
  • various bug fixes:
    • call WRF build script with 'tcsh <script> to ensure that tcsh available in $PATH is used (#231)
    • make sure some environment variables that may disrupt the GCC install procedure are unset (#237)
      • e.g., $CPATH, $C_INCLUDE_PATH, $CPLUS_INCLUDE_PATH, $OBJC_INCLUDE_PATH, $LIBRARY_PATH
    • code cleanup in GEANT4 easyblock: use self.version (instead of self.get_installversion()) (#242)
    • enhance list of noqanda patterns for CUDA, to get less failing installations (#244)

easyconfigs

  • added example easyconfig files for 15 new software packages:
  • added additional easyconfigs for various software packages:
    • BLAST, BamTools, BioPerl, Bison, Boost, bzip2, CMake, Cython, CUDA, FFTW, FIAT, GCC, GMP, gettext, git, h5py, HDF5, libffi, libreadline, libxc, matplotlib, METIS, ncurses, Oases, Python, RAxML, ScientificPython, Szip, tcsh, imkl, MVAPICH2, TotalView, VTune, WRF, zlib
  • added toolchain easyconfig files for HPCBIOS policies (#402, #407)
    • HPCBIOS_BioInfo, HPCBIOS_Debuggers, HPCBIOS_LifeSciences, HPCBIOS_Math, HPCBIOS_Profilers
  • various enhancements, including:
    • added more XML Perl modules to non-bare Perl easyconfigs (#375)
  • various 'bug' fixes, including:
    • fix website/description in scipy easyconfigs (#399)
    • specify OpenMPI libibverbs-dev(el) OS dependency in an OS-dependent way (#403)
    • add patch file for M4 to fix building on systems with recent glibc (>=2.16) (#406)
    • align moduleclass in R easyconfigs (#411)
    • fixed filename of Biopython/CD-HIT easyconfig files (#407)
    • disable parallel building of otcl (#419)

EasyBuild v1.6.0 (July 11th 2013)

feature + bugfix release

framework

  • added support for using Lmod as module tool (#645)
  • various other enhancements, including:
    • allow prepending to/appending to/overwriting list easyconfig parameters using --try-amend-X (#658, #664)
  • various bug fixes, including:
    • add salt to temporary log file name (#656, #665)
    • fix determining CPU architecture on Raspberry Pi (ARM) systems (#655, #662)
    • fix support for determining base path of tarballs containing a single file (#660)

easyblocks

  • added support for 2 new software packages that require customized support:
  • various enhancements, including:
    • update impi easyblock to allow installing impi v4.1.1, which features a slight change in build procedure (#217)
    • enhance PackedBinary easyblock to copy both files and directories (#212)
    • added get sitearch_suffix to Perl search path and use it in PerlModule easyblock (#209)
  • various bug fixes:
    • make sure EasyBuild configuration is initialized when running unit tests (#220)
    • make Boost easyblock pick up configopts easyconfig parameter (#221)
    • add -DMPICH_IGNORE_CXX_SEEK compiler flag for Mothur when MPI support is enabled (#222)
    • fix Boost sanity check, only check for libboost_python.so if Python module is loaded (#223)
    • enhance Trinity support w.r.t. jellyfish (#225, #227)
    • fix checking for beagle-lib dep (deprecate checking for BEAGLE) for MrBayes (#228)

easyconfigs

  • added example easyconfig files for 26 new software packages:
  • added additional easyconfigs for various software packages:
    • ant, Bash, Bison, bzip2, cURL, expat, GCC, EasyBuild, freetype, FFTW, GDB, git, HMMER, JUnit, libreadline, libpng, libtool, libxml2, libxslt, M4, makedepend, Mothur, MVAPICH2, Mercurial, ncurses, OpenBLAS, Python, ScaLAPACK, Tcl, tcsh, TopHat, Trinity, Valgrind, Velvet, VTune, zlib (see #169, #297, #298, #301, #309, #323, #331, #332, #341, #347, #349, #351, #355, #361)
  • various enhancements, including:
    • added easyconfigs for ictce/5.4.0, ictce/5.5.0 and gmvolf/1.7.12 toolchain modules (#297, #332, #349)
    • added a template sanity_check_paths as 'MUST' in TEMPLATE.eb (#329)
    • introduced biodeps 'toolchain' to ease keeping common dependencies for bio* software in sync (#309)
    • added collection of easyconfigs for ictce/5.3.0 (#309, #323)
      • bam2fastq, bbFTP, BLAST, Boost, DL_POLY Classic, EMBOSS, FFTW, libharu, libxml2, libxslt, libyaml, lxml, Mercurial, Mothur, mpi4py, ncurses, ns, orthomcl, otcl, PAML, Perl, PyYAML, pandas, problog, scikit-learn, TiCCutils, TiMBL, TinySVM, TopHat, tclcl, YamCha
    • added missing dependencies for various software packages (#323, #328, #348, #361)
    • style fixes in various easyconfigs (#309, #323, #345, #349, #355, #361)
  • various 'bug' fixes, including:
    • added pic toolchain option for Perl goolf easyconfig (#299)
    • fixed source URLs for R (use correct template %(version_major)s) (#302)
    • synced libreadline easyconfigs w.r.t. ncurses dependency (#303)
    • make sure EasyBuild configuration is initialized when running unit tests (#334)
    • specify lowopt (-O1) optimization level for OpenIFS, to avoid floating-point related issues (#328)
    • fix naming of 'beagle-lib' (used to be 'BEAGLE'), to avoid name clashes with other software package(s) (#346)

EasyBuild v1.5.0 (June 1st 2013)

feature + bugfix release

framework

  • various enhancements, including:
    • define SHLIB_EXT constant for shared library extension (.so, .dylib), deprecate shared_lib_ext global var (#630)
    • enhance support for sanity checking extensions (#632, #649)
    • add support for modextrapaths easyconfig parameter (#634, #637)
    • allow source_urls to be templated for extensions (#639, #646, #647)
    • set OMPI_* environment variables for OpenMPI (#640)
    • make BLACS optional as toolchain element, depending on ScaLAPACK version (#638)
  • various bug fixes, including:
    • fixed --list-toolchains, avoid listing toolchains multiple times (#628)
    • fix templating dictionary after parsing easyconfig file (#633)
    • fix support for ACML as compiler toolchain element (#632)
    • make unit tests clean up after themselves more thoroughly (#641, #642, #643)

easyblocks

  • added one new generic easyblock: MakeCp (#208)
  • added support for 5 new software packages that require customized support:
  • various enhancements, including:
    • add support for building ScaLAPACK 2.x on top of QLogic MPI (#195)
    • support newer BWA versions (#199)
    • explicitly list license server type in ABAQUS install options, required for correct installation of v6.12 (#198)
    • update SCOTCH and OpenFOAM easyblock for recent versions (#201)
  • various bug fixes:
    • fix numpy easyblock to get an optimal build (w.r.t. numpy.dot performance) (#192)
    • correct build procedure for MUMmer to yield a complete installation (#196, #197)
    • make unit tests clean up after themselves more thoroughly (#203, #204)
    • fix getting Perl version for extensions (#205)

easyconfigs

  • added example easyconfig files for 23 new software packages:
  • added additional example easyconfig files for:
  • various enhancements, including:
    • enhance unit test suite, include testing for module conflicts (#256) and presence of patch files (#264)
    • use provided constants and templates in easyconfig files where appropriate (#248, #266, #281)
  • various 'bug' fixes, including:
    • get rid of hardcoded license_file paths for VTune, Inspector (#253)
    • assign proper moduleclass where they were missing (#278)
    • fix naming for LZO (#280)
    • make unit tests clean up after themselves more thoroughly (#283, #284, #285, #286)
    • fix TopHat dependencies (#289)
    • fix source URLs for XML (#279)
    • fix versions for all listed R extensions (#279)
    • fix CUDA easyconfig file for use on Debian Squeeze (#291)
    • correct easyconfig filename and module name mismatches (bbcp, DL_POLY Classic, ...) (#295)

EasyBuild v1.4.0 (May 2nd 2013)

feature + bugfix release

framework

  • the unit tests for easybuild-framework were moved to test/framework, to make things consistent with easybuild-easyblocks and easybuild-easyconfigs (#611, #613, #624)
    • running the framework unit tests should now be using python -m test.framework.suite
  • various other enhancements, including:
    • extend unit test suite (#593, #599, #603, #618, #620, #622, #624, ...)
    • extended list of constants and templates that can be used in easyconfig files (#566)
    • add support for additional compiler toolchains
      • CUDA-enabled toolchain: goolfc (#603, #624)
      • Clang(+GCC)-based toolchains: cgoolf, cgmpolf, cgmvolf (#593, #598, #600)
      • gmvolf (GCC+MVAPICH2+...) (#585)
    • properly decode easyblock to module name using decode_* functions (#618)
  • various bug fixes, including:
    • fixed default value for --stop (#601)
    • remove useless sleep() calls in run_cmd, run_cmd_qa (#599)
    • determine module path based on class name, not software name (#606)
    • remove unwanted characters in build dirs (#591, #607)
    • ignore some error codes spit out by modulecmd that are actually warnings (#609)
    • fix agithub.py w.r.t. changes in GitHub API (user-agent string is now obligatory for non-authenticated connections) (#617)
    • fix typo breaking the adjust_cmd decorator on SuSE (#615)
    • fix prepending paths with absolute paths in module file (#621)
    • clean up open file handles properly (#620, #624)
    • fix --search help and implementation (#622)

easyblocks

  • added a unit test suite for easyblocks (#175, #177, #178)
    • every easyblock is parsed and instantiated as a sanity check
  • added one new generic easyblock: PerlModule (#183)
  • added support for 8 new software packages that require customized support:
  • the CMakeMake.configure_step parameter builddir was renamed to srcdir, because the name builddir is incorrect (#151)
    • builddir will remain supported for legacy purposes up until v2.0
  • various enhancements, including:
    • reverted back to hardcoding Python library path, since it's hardcoded by setuptools too (#184)
    • added MPICH support in ScaLAPACK easyblock (#172)
    • enhanced NCL easyblock: add support UDUNITS and ESMF dependencies (#171)
    • enhanced MATLAB easyblock: avoid hardcoding Java options, make sure $DISPLAY is unset, extend list of sanity check paths (#181)
    • enhanced TotalView easyblock: add support for license file (#146)

easyconfigs

  • added a unit test suite for easyconfigs (#228, #230)
  • added example easyconfig files for 20 new software packages:
  • add example easyconfigs for new compiler toolchains (use eb --list-toolchains for a full list of supported toolchains):
    • the newly added toolchains only differ in compilers/MPI library, and all feature OpenBLAS, LAPACK, ScaLAPACK and FFTW
    • goolfc: GCC, CUDA (co-compiler), OpenMPI (#191)
      • a goolfc easyconfig for GROMACS is included as proof-of-concept (#165)
    • cgmpolf: Clang (C/C++ compilers), GCC (Fortran compilers), MPICH (#213)
    • cgmvolf: Clang, GCC, MVAPICH2 (#218)
    • cgoolf: Clang, GCC, OpenMPI (#213)
    • gmvolf: GCC, MVAPICH (#202, #222)
  • ported already available easyconfigs to new compiler toolchains:
    • ictce-5.3.0: 193 easyconfigs (#229)
    • cgmpolf: 11 easyconfigs (#213)
    • cgmvolf: 11 easyconfigs (#218)
    • cgoolf: 12 easyconfigs (#213)
    • gmvolf: 10 easyconfigs (#215)
  • added additional example easyconfig files for:
  • various enhancements, including:
    • added ESMF and UDUNITS dependencies to NCL easyconfigs (#211)
    • changed value of source_urls in R easyconfigs, to be generic enough for version 3.0 and possibly beyond (#251)
  • various 'bug' fixes, including:
    • add --enable-mpirun-prefix-by-default configure option for all OpenMPI easyconfigs (#205)

EasyBuild v1.3.0 (April 1st 2013)

feature + bugfix release

framework

  • added script to bootstrap EasyBuild with EasyBuild, see https://github.com/easybuilders/easybuild/wiki/Bootstrapping-EasyBuild (#531)
  • reorganize framework/easyconfig.py module into framework/easyconfig package with modules (#574, #580)
  • support EasyBuild configuration via command line, environment variables and configuration files (#529, #552, #556, #558, #559)
  • various other enhancements, including:
    • extended set of unit tests for eb command line options and EasyBuild configuration (#517, #556, #559, #571)
    • made --search also useful when easybuild-easyconfigs package is not installed (#524)
    • extended set of default module classes (#525)
    • add support for license easyconfig parameter (which will be mandatory in v2.x) (#526, #569)
    • added setup.cfg for setup.py to allow creating RPMs (#528)
    • added support for obtaining system information, see get_os_* functions in easybuild/tools/systemtools.py (#543, #546, #547)
    • added support for iterated builds that require cycling over multiple sets of configure/build/install options, e.g. FFTW (#549)
    • added support for OpenBLAS as toolchain lib for linear algebra (#537, #565)
    • added support for tweaking prefix and separator for library toolchain variables (LIB*) (#572, #576)
    • skip already built modules in regression testing mode, to ease regression testing (#582)
  • various bug fixes, including:
    • added zip_safe flag to setup.py, to silence multitude of warnings (#521)
    • only define LIBFFT for Intel MKL if FFTW interface libraries are available (#518, #567, #579)
    • set POSIX group early in build process, make EasyBuild aware of consistent chmod/chown failures (#527)
    • properly order the name/version keys for the toolchain easyconfig parameter when using --try-toolchain (#563)
    • take the skipsteps easyconfig parameter into account in regression testing mode as well (#583)

easyblocks

  • added support for 2 new software packages that require customized support:
  • remove license easyconfig parameter from IntelBase, since it clashes with generic license parameter (#153, #158)
    • license_file should be used instead (see framework#569)
    • using license instead of license_file will be supported until v2.x for legacy purposes
  • various enhancements, including:
    • stop hardcoding Python site-packages library dir, obtain it via distutils.sysconfig instead (#141, #156, #159, #161)
    • stop hardcoding list of libraries for BLAS libs, ask toolchain modules or use $LIBBLAS instead (#150, #155)
    • enhanced CP2K easyblock, following Intel guidelines for ictce builds (#138)
    • added setup.cfg for setup.py to allow creating RPMs (#140)
    • clean up specifying BLAS/LAPACK libs for building numpy, check whether requires patch is being used for IMKL builds (#155, #161)
  • various bug fixes, including:
    • added zip_safe flag to setup.py, to silence multitude of warnings (#135)
    • install EasyBuild packages in reversed order to avoid funky setuptools issues (#139)
    • fixed a typo in the ScaLAPACK easyblock, and set CCFLAGS and FCFLAGS for v2.x (#149, #162)
    • fix sanity check for python-meep (#159)
    • exclude Python tests from DOLFIN sanity check, since they hang sometimes (#161)
    • add support in ALADIN easyblock for answering question on location of libgrib_api.a (#165)

easyconfigs

  • added example easyconfig files for 13 new software packages:
    • Bash, CUDA, ccache, Ferret, gzip, libxc, ns, numactl, OpenBLAS, otcl, Tar, tclcl, tcsh
    • several of these easyconfig files were contributed by attendees of the EasyBuild hackathon in Cyprus!
  • added example easyconfigs for goolf toolchain (#158)
  • added example easyconfigs for builds with goolf toolchain, i.e. for all goalf easyconfigs (#189)
    • for several software packages, a patch file was needed to get them to build with GCC 4.7:
      • AMOS, BEAGLE, Cufflinks, DOLFIN, GATE, ns, Pasha, Trilinos, Trinity
    • for PETSc, a patch file was required to make it build with a toolchain that doesn't include BLACS
  • added additional example easyconfig files for:
    • gompi, hwloc, LAPACK, MVAPICH2, OpenMPI, ScaLAPACK
  • various enhancements, including:
    • define a proper module class in all easyconfigs, cfr. default module classes defined in framework (#150, #159, #161, #162, #179, #181)
    • extend FFTW easyconfig to 'fat' builds that include single, double, long double and quad precision libraries in the same module
      • quad precision is disabled for Intel compiler based builds (it requires GCC v4.6+)
    • the imkl easyconfigs used for the ictce 3.2.2.u3 toolchain now also enable FFTW interfaces
  • various 'bug' fixes, including:
    • fix filename for Mercurial and ROOT easyconfig files
    • fix homepage/description for Hypre
    • fix enabling OpenMP support in OpenMPI: use --enable-openmp, not --with-openmp
    • use correct configure flag for enabling OpenMPI threading support in v1.6 (#186)
      • --enable-mpi-thread-multiple instead of --enable-mpi-threads
    • explicitly add --without-openib --without-udapl configure options in OpenMPI easyconfig using versionsuffix -no-OFED (#168)
      • this avoids that OpenMPI auto-detects that it can enable Infiniband (OpenIB) support, which doesn't fit the -no-OFED versionsuffix
      • Note: this makes goalf-1.1.0-no-OFED effectively not suitable to produce software builds that are IB-capable!
    • remove explicit --with-udapl from OpenMPI easyconfigs, does more harm than good (#178)
    • remove libibvers, libibmad, libibumad as explicit dependencies for OpenMPI/MVAPICH2 (#173, #182)
      • leave it up to the OS to provide these, since the required version is too much tied to the version of IB drivers
    • use license_file in Intel tools easyconfigs, as opposed to the new generic license parameter with a different meaning (#180)
    • modify patch for impi to avoid installation problems due to hardcoded path in /tmp (#185)
      • now uses $USER-$RANDOM subdir to avoid clashes between different users on the same system
    • the patch file for numpy was extended to also supporting ATLAS and other BLAS libraries spread across multiple directories
      • the extension for ATLAS is required because we now no longer rely on the automatic numpy mechanism to find the ATLAS libs
    • fixed dependencies:
      • libibumad as dependency for libibmad
      • ncurses as dependency for libreadline
      • ncurses and zlib as dependency for SAMtools (+ enhanced patch)
      • remove explicit FFTW dependency for Meep, ... since toolchain already provided FFTW

EasyBuild v1.2.0 (February 28th 2013)

feature + bugfix release

framework

  • new backend module for option parsing: generaloption
  • support for using constants and string templates in easyconfig files
    • currently disabled for exts_filter and exts_list easyconfig parameters, for backward compatibility
  • various other enhancements, including:
    • support for iqacml and iiqmpi toolchains (Intel compilers + QLogic MPI based)
    • clearer errors messages when sanity check failed
    • unit tests for (about half of) the eb command line options
    • support for specifying build/install steps to skip in easyconfig file (skipsteps)
    • support for allowing certain dependencies to be resolved by the system instead of modules (allow_system_deps)
    • cache ppn value required by regtest, clean up temporary files let behind by --regtest/--job
    • make sure MPD is used as process manager for Intel MPI (required for impi v4.1 and later)
    • rename template names name and version used in exts_filter to ext_name, ext_version
      • name and version are still supported for legacy reasons
    • cleaned up module docstrings w.r.t. list of authors
  • various bug fixes, including:
    • print correct (lowercase) toolchain names with --list-toolchains
    • correct easyconfig parameter name license_server_port
    • fix string quoting in develop modules
    • ensure modulecmd is run with original $LD_LIBRARY_PATH value
    • remove use of hardcoded files/dirs in unit tests
    • fix various inconsistencies w.r.t. paths considered with --robot
    • various cleanup and fixes w.r.t. logging
      • use correct logger instance in main script
      • stop passing logger instances around
      • make module logging variables private
    • get rid of ModuleGenerator deconstructor, clean up via EasyBlock.clean_up_fake_module
    • fix disabling of optarch toolchain option (and extend unit tests to check on this)

easyblocks

  • added one new generic easyblock: Rpm
  • added support for 6 new software packages that require customized support:
    • EasyBuild, EPD (Enthought Python Distribution), freetype, MATLAB, QLogic MPI (RPM), TotalView
    • support for installing EasyBuild with EasyBuild enables bootstrapping an EasyBuild installation!
  • various enhancements, including:
    • corrections in WRF/WPS to also enable building with iqacml toolchain
      • use mpi_cmd_for instead of hardcoding test commands, using correct Fortran compilers (F90)
    • fix NCL easyblock to also support v6.1.x
      • use correct Fortran compiler (F90), set correct lib/include paths for dependencies (netCDF-Fortran, GDAL)
    • cleanup sweep of license headers and authors list in easyblock module docstrings
    • use new ext_name template name in exts_filter in Python and R easyblocks
  • various bug fixes, including:
    • general code cleanup
      • don't set sanityCheckOK in Toolchain easyblock
      • get rid of using os.putenv
    • NEURON easyblock: don't hardcode number of processes used in test cases
    • make sure easybuild.easyblocks.generic namespace is extendable

easyconfigs

  • added example easyconfig files for 41 new software packages:
    • a2ps, AnalyzeFMRI, aria, bbcp, bbFTP, bbftpPRO, binutils, Bonnie++, ccache, cflow, cgdb, Corkscrew, EasyBuild, Elinks, EPD, FLUENT, fmri, GDB, GDAL, gnuplot, gnutls, gperf, Iperf, lftp, libyaml, lzo, MATLAB, mc, nano, NASM, nettle, numexpr, parallel, pyTables, QLogic MPI, Stow, TotalView, Valgrind, VTK, Yasm, zsync
  • added example easyconfigs for iqacml and iiqmpi toolchains
  • added additional example easyconfig files for:
    • ABINIT, ABySS, ACML, BFAST, Bison, BLACS, Cython, cURL, Doxygen, FFTW, flex, g2clib, g2lib, GHC, h5py, HDF, HDF5, HMMER, JasPer, icc, ictce, ifort, imkl, impi, libpng, libreadline, M4, matplotlib, MCL, MEME, mpiBLAST, NCL, ncurses, netCDF, netCDF-Fortran, NWChem, R, ScaLAPACK, Tcl, Tk, WPS, WRF, zlib
  • various enhancements, including:
    • fix version of xtable R library in list of extensions for R, to avoid installation failures
  • various 'bug' fixes, including:
    • fix toolchain and file names for ABINIT easyconfigs
    • fix sanity check paths for cURL
    • don't disable optarch for WRF, it's not needed (only disable heavy optimizations is required)
    • fix homepage/description for ALADIN

EasyBuild v1.1.0 (January 27th 2013)

feature + bugfix release

framework

  • improvements w.r.t. support for software extensions (tested on Python and R, see easyblocks package)
    • cleaned up support for building/installing extensions
    • define ExtensionEasyblock class that implements support for installing extensions as stand-alone module as well
    • return to build dir before building/installing each extension
    • define EBEXTSLIST<NAME> environment variable in module if exts_list was defined
    • make sure sanity check for extensions results in an error if it fails
  • various enhancements, including:
    • log both framework and easyblocks versions
    • add support for gimkl, gmacml, iccifort, iomkl and ismkl toolchains
    • define *_SEQ compiler variables for sequential compilers
    • add --list-toolchains command line option for listing supported toolchains
    • add support for customizing software and modules install path suffixes
    • support both setuptools and distutils installation methods for finding installed easyconfigs
    • also consider robot path in list of paths searched for patch files
    • allow skipping of default extension sanity check (by setting modulename to False in options)
  • various bug fixes, including:
    • typos in toolchain Python modules w.r.t. imkl support, handling of i8/optarch/unroll options
    • purge before loading 'fake' module, unload 'fake' module before removing it, use original $MODULEPATH
    • restore environment after unloading fake module, set variables that were incorrectly unset, i.e., that were defined before as well
    • unset $TMPDIR for builds submitted as jobs (required by IntelBase easyblock)
    • correctly track easyconfig parse error
    • always run all jobs in regtest, also if dependency jobs failed
    • cosmetic adjustments to default EasyBuild configuration file to avoid confusion between e.g. build_dir and build_path (only latter matters)
    • fix SuSe hack, only prefix command with sourcing of /etc/profile.d/modules.sh if it is there
    • leave build directory before it is removed during cleanup step
    • load generated module file before running test cases

easyblocks

  • added 3 new generic easyblocks: CMakePythonPackage, JAR, RPackage
  • added support for 23 new software packages that require customized support:
    • ACML, ALADIN, ant, Bioconductor (R packages), Chapel, Cufflinks, ESPResSo, FLUENT, Geant4, GHC, Java, NEURON, NWChem, PyZMQ, QuantumESPRESSO, R, Rmpi, ROOT, Rserve, SCOOP, Trinity, VSC-tools, XML
  • various enhancements, including:
    • clean up of python.py easyblock:
      • merge EB_DefaultPythonPackage and PythonPackage easyblocks into generic easyblock PythonPackage, which derives from ExtensionEasyblock
      • move EB_FortranPythonPackage into dedicated generic FortranPythonPackage easyblock module
      • split off support for building/installing nose, numpy, scipy into dedicated EB_* easyblock modules, which allows them to be built as stand-alone modules as well
    • clean up testing of Python packages (PythonPackage easyblock)
    • make sure there is no site.cfg in home dir when building Python packages, because e.g. scipy will pick it up
    • added support for building Intel MKL wrappers with OpenMPI toolchain
    • cleaning up of fake module that was loaded for running tests
    • move calls to functions that rely on environment up in the chain of steps (mostly for cleanup reasons)
    • use better module name for UFC sanity check, minor change to sanity check paths for UFC
  • various bug fixes, including:
    • only call make ptcheck for ATLAS when multi-threading support is enabled
    • use a symbolic link for $HOME/intel instead of a randomly suffixed subdirectory in home and patching of Intel install scripts
      • latter does not work anymore with recent versions of Intel tools (2013.x)

easyconfigs

  • added example easyconfig files for 48 new software packages:
    • ABINIT, ABySS, ACML, ALADIN, ant, BFAST, BLAST, Chapel, CLHEP, Cufflinks, ESPRresSo, GATE, GHC, Geant4, Greenlet, google-sparsehash, grib_api, HMMER, Java, JUnit, libibmad, libibumad, libibverbs, MCL, MDP, MEME, mpiBLAST, NCBI Toolkit, NEURON, NWChem, numpy, MDP, Oger, OpenPGM, paycheck, PyZMQ, QuantumESPRESSO, R, ROOT, SCOOP, scipy, Tophat, Trinity, util-linux, VSC-tools, wiki2beamer, XML, ZeroMQ
  • added example easyconfigs for gmacml, gmvapich2, iccifort, ictce, iomkl toolchains
  • added additional example easyconfig files for:
    • ATLAS, BLACS, Boost, Bowtie2, bzip2, CP2K, Doxygen, FFTW, GCC, HDF5, hwloc, icc, ifort, imkl, impi, JasPer, Libint, libreadline, libsmm, libxml, ncurses, netCDF, M4, Meep, MVAPICH2, OpenMPI, Python, ScaLAPACK, Szip, zlib
  • various enhancements, including:
    • major style cleanup of all example easyconfig file (PEP008 compliance)
    • added setuptools to list of Python extensions
    • get rid of parallel versionsuffix for HDF5, as its meaningless (MPI-enabled build is always parallel)
  • various 'bug' fixes, i.e. added missing dependencies or replaced OS dependencies with proper dependencies

EasyBuild v1.0.2 (December 8th 2012)

bugfix release

framework

  • properly catch failing sanity check commands
  • fix bug in toolchain support which cause linking environment variables set by toolchain to include too many libraries
    • elements in toolchain variables were being passed by reference instead of by value
  • fix selecting a compiler toolchain for a specified software package (--software-name) if only a template is a viable option
  • fix passing command line parameters with --job
  • fix list of valid stops (-s/--stop)
  • fix minor issues in help messages (-h/--help)

easyblocks

  • fix typos in WIEN2k easyblock (missing commas after list elements)

easyconfigs

  • fixed source URL for ligtextutils (toolchain refactoring error)

EasyBuild v1.0.1 (November 24th 2012)

bugfix release

framework

  • fix support for installing with distutils (broken import in setup.py)
  • fix support for ACML as a toolchain element (toolchains/linalg/acml.py)
  • add name to aggregated regtest XML so that is parsed correctly by Jenkins
  • reorder code in main.py so that regtest also works with incomplete easyconfig paths
  • add bash script for running regression test and sending a trigger to Jenkins to pull in the XML with results
  • get rid of assumption that loaded modules should have name like foo/bar, make it more flexible
  • retry failed builds in regtest twice to ignore fluke errors
  • report leaf nodes in dependency graph when regtest is submitted
    • this is required for setting job dependencies in the regtest script for the Jenkins trigger job
  • implement and use rmtree2 as more (NFS) robust replacement for shutil.rmtree
  • bump max hit count for run_cmd_qa from 20 to 50, to make false positives of unasnwered questions less likely

easyblocks

  • fix support for installing with distutils (broken import in setup.py)
  • only build GMP/CLooG/PPL libraries during GCC build in parallel, don't install in parallel
    • make -j N install doesn't work consistently for GMP
  • fix GCC build on OS X
    • location of libraries is slightly different (lib vs lib64 dir)
  • add support to ConfigureMake easyblock for pre-passing tar options to configure
    • see tar_config_opts easyconfig parameter
    • workaround for issue with pax hanging configure with an interactive prompt
  • enhance Q&A for WRF and WIEN2k by adding entries to qa dict and no_qa list
  • use rmtree2 from tools/filetools.py as more (NFS) robust replacement for shutil.rmtree

easyconfigs

  • remove patch file for OpenMPI to resolve issue with pax hanging configure
    • tar_config_opts should be enabled as needed
  • disable parallel build for PAPI, seems to be causing problems

EasyBuild v1.0 (November 13th 2012)

  • split up EasyBuild across three repositories: framework, easyblocks and easyconfigs
  • packaged EasyBuild, different parts can now be installed easily using easy_install

framework

  • various changes to both internal and external API:
    • renamed main script to main.py (from build.py)
    • file and directory organisation
    • module, class, function and function argument renaming and reorganisation
    • split up Application into EasyBlock and ConfigureMake (see easybuild-easyblocks for the latter)
    • created EasyConfig class for handling easyconfig files
    • renaming of EasyBuild configuration parameters (non-camelCase)
    • renaming of various easyconfig parameters (non-camelCase)
    • rename SOFTROOT and SOFTVERSION environment variables set in generated module files to EBROOT and EBVERSION
    • use 'extension' as generic terminology for Python packages, R libraries, Perl modules, ...
  • added support for building software packages in parallel via PBS jobs
  • added unit testing framework and initial set of unit tests for basic functionality
  • implement single-command regression test (e.g. to test building all supported software)
    • eb --regtest --robot
  • switch to new style Python classes
  • replaced toolkit module with toolchain package (total rewrite), providing modular support for toolchains
  • adjust default EasyBuild configuration to only use $HOME/.local/easybuild by default
  • added support for running EasyBuild without supplying an easyconfig file
    • make EasyBuild search for a matching easyconfig file
    • support automatic rewriting of an existing partially-matching easyconfig file (use this with care!)
    • support for automatically generating an easyconfig file according to given specifications (best effort!)
  • add support for looking for easyconfig file in Python search path if it can't be found on specified (relative) path (that way, easyconfig files available in the easybuild-easyconfigs package can be used easily)
  • various other enhancements and bug fixes, e.g.:
    • extended sanity check capabilities
    • cleaned up logging
    • creating of devel module which allows to mimic environment that was used by EasyBuild to build the software
    • support for creating dependency graphs for a set of easyconfig files
    • grouped options in help output and categorised available easyconfig parameters
    • more consistent code style

easyblocks

  • implement class name encoding scheme, see wiki https://github.com/easybuilders/easybuild/wiki/Encode-class-names
    • (non-generic) easyblock class names are now prefixed with EB_ and non-alphanumeric characters are escaped
  • split off generic easyblocks into separate package easyblocks.generic
  • added custom support for 39 software packages:
    • Armadillo, BiSearch, Boost, Bowtie2, BWA, bzip2, CGAL, CPLEX, DOLFIN, Eigen, flex, FSL, Hypre, libxml2, MetaVelvet, METIS, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ParMETIS, Pasha, PETSc, Primer3, python-meep, SAMtools, SCOTCH, SHRiMP, SLEPc, SOAPdenovo, SuiteSparse, SWIG, Tornado, Trilinos, UFC, Velvet, WIEN2k, XCrySDen
  • various enhancements and bug fixes to existing easyblocks

easyconfigs

  • added example easyconfig files for 106 new software packages:
    • AMOS, Armadillo, ASE, Autoconf, BiSearch, Boost, Bowtie2, BWA, byacc, bzip2, CGAL, ClustalW2, CMake, CPLEX, cURL, CVXOPT, Cython, Docutils, DOLFIN, ECore, Eigen, expat, FASTX-Toolkit, FFC, FIAT, freetype, FSL, GEOS, git, glproto, GMP, gmvapich2, gompi, GPAW, GSL, guile, h5py, h5utils, Harminv, hwloc, Hypre, Infernal, Instant, Jinja2, libctl, libdrm, libffi, libgtextutils, libmatheval, libpciaccess, libpthread-stubs, libreadline, libtool, libunistring, libxcb, libxml2, makedepend, matplotlib, Meep, Mercurial, Mesa, MetaVelvet, METIS, MPFR, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ORCA, PAPI, ParMETIS, Pasha, PCRE, PETSc, petsc4py, pkg-config, Primer3, python-meep, RNAz, SAMtools, ScientificPython, SCOTCH, setuptools, Shapely, SHRiMP, SLEPc, SOAPdenovo, Sphinx, SuiteSparse, SWIG, Tcl, Theano, Tk, Tornado, Trilinos, UFC, UFL, Velvet, ViennaRNA, Viper, WIEN2k, xcb-proto, XCrySDen, xorg-macros, xproto
  • added additional example easyconfig files (versions, builds) for several software packages
    • Bison, BLACS, Doxygen, flex, GCC, HDF5, icc, ifort, libpng, M4, MVAPICH2, OpenMPI, Szip, tbb, zlib
  • replaced GCC/OpenMPI based easyconfig files with equivalents using the gompi toolchain
    • ATLAS, BLACS, FFTW, LAPACK, ScaLAPACK
  • enhanced Python example easyconfig files (more dependencies required for features, e.g. libreadline, bzip2, zlib, ...)
  • corrected file name of easyconfig files to adher to standard as followed by EasyBuild robot dependency resolver
  • style cleanup in existing easyconfig files

EasyBuild v0.8 (June 29th 2012)

  • added support for building/installing 17 additional software packages:
    • BEAGLE, Doxygen, g2clib, g2lib, HDF, HDF5, JasPer, libpng, Maple, MrBayes, NCL, netCDF, netCDF-Fortran, Szip, WPS, WRF, zlib
  • the build procedure for WRF and WPS includes running the tests available for these packages
  • various bug fixes and enhancements:
    • made support for interactive installers (run_cmd_qa) more robust
    • fixed Python git package check
    • implemented toolkit functions for determine compiler family, MPI type, MPI run command, ...

EasyBuild v0.7 (June 18th 2012)

  • fixed BLACS build
    • diagnostic tools to determine INTERFACE and TRANSCOMM values are now used
  • added support for building Bison, CP2K, flex
    • with regression test enabled for CP2K as part of build process
    • note: BLACS built with EasyBuild prior to v0.7 needs to be rebuilt for CP2K to work correctly
  • added --enable-mpi-threads to OpenMPI example easyconfigs
    • required for correct CP2K psmp build
  • adjusted libsmm example easyconfig for lower build time
    • to make the full regression test finish in a reasonable amount of time
  • added script to make porting of easyblocks from old to new EasyBuild codebase easier
    • takes care of refactoring, checks for PyLint warnings/errors, ...
  • fixed several small bugs
  • prefixed EasyBuild messages with ==
  • full regression test passed (58 easyconfigs tested)

EasyBuild v0.6 (May 11th 2012)

  • added support for Intel compiler toolkit (ictce)
    • which included the Intel compilers, Intel Math Kernel Library (imkl) and Intel MPI library (impi)
  • added support for building Python with nose/numpy/scipy packages
  • added simple regression test
  • this version is able to build all supplied example easyconfigs

EasyBuild v0.5 (April 6th 2012)

  • first public release of EasyBuild
    • after a thorough cleanup of the EasyBuild framework of the in-house version
  • supports building HPL with goalf compiler toolkit
    • the goalf toolkit consists of the GCC compilers, and the OpenMPI, ATLAS, LAPACK, FFTW and ScaLAPACK libraries
  • also support build and installation of MVAPICH2