EasyBuild release notes

The latest version of EasyBuild provides support for building and installing 799 different software packages, using 34 different (compiler) toolchains. It contains 159 software-specific easyblocks and 28 generic easyblocks, alongside 5,093 easyconfig files.

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