EasyBuild release notes

The latest version of EasyBuild provides support for building and installing 1,228 different software packages, using 25 different (compiler) toolchains. It contains 184 software-specific easyblocks and 30 generic easyblocks, alongside 7,036 easyconfig files.

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/hpcugent/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/hpcugent/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/hpcugent/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/hpcugent/easybuild-framework/pull/685>)
    • restore original environment after running ‘module purge’ (#698 <https://github.com/hpcugent/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/hpcugent/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 http://github.com/hpcugent/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