EasyBuild release notes

The latest version of EasyBuild provides support for building and installing 1,564 different software packages, using 30 different (compiler) toolchains. It contains 198 software-specific easyblocks and 32 generic easyblocks, alongside 9,798 easyconfig files.

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 explicitely 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)

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 builing 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)

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)

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)

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 atleast 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)

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)

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)

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)

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)

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)

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 inlude 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)

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)

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)

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)

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)

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)

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 paramter 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)

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)

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)

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)

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)

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 libaries (#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)

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)

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)

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)

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

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)

v2.5.0 (December 17th 2015)

feature + bugfix release

framework

  • add support for IBM XL compilers on Power7 and PowerPC (BlueGene) (#1470)
  • add support fo 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:
    intel/2015.08 (#2194), intel/2016.00 (#2209), intel/2016.01 (#2219), iomkl/2015.03 (#2155)
  • 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)

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 instalation (#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

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)

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)
    • reenable (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)

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)

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 dependecy (#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)

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)
      • see from_pr_specifying_easyconfigs
    • 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)

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)

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)

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

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)

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)

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)

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 quering 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 implicitely 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)

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)

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)

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)

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)

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)

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 supress 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)

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)

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)

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)

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 <https://github.com/easybuilders/easybuild-framework/pull/679>)
    • only change the group id if current gid is different from what we want in adjust_permissions function (#685 <https://github.com/easybuilders/easybuild-framework/pull/685>)
    • restore original environment after running ‘module purge’ (#698 <https://github.com/easybuilders/easybuild-framework/pull/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)

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)

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 Rasberry 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)

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)

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: * ABAQUS (#231), BioPerl (#242), Bowtie (#227), Clang (#177), CRF++ (#131), DL_POLY Classic (#132), ESMF, GROMACS (#165), HH-suite (#219), Inspector (#232), likwid (#131), Perl (#242), scikit (#133), TiCCutils (#131), TiMBL (#131), TinySVM (#131), UDUNITS (#167), VTune (#232), YamCha (#131)
  • 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 inluded 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)

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
    • explicitely 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

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

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

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)

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

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

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, …

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)

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

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