.. _release_notes: EasyBuild release notes ======================= The latest version of EasyBuild provides support for building and installing **611** different software packages, using 33 different (compiler) toolchains. It contains 145 software-specific easyblocks and 22 generic easyblocks, alongside 3,689 easyconfig files. .. _release_notes_eb211: 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: * networkx (`#1592 `_), Platanus (`#1597 `_), SaguaroGW (`#1600 `_) * 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 `_) .. _release_notes_v2.1.0: v2.1.0 (April 30th 2015) ------------------------ feature + bugfix release **framework** * requires vsc-base v2.2.0 or more recent * added support for LoggedException (`vsc-base#160 `_, `vsc-base#163 `_, `vsc-base#165 `_, `vsc-base#167 `_) * added support for add_flex action in GeneralOption (`vsc-base#162 `_) * added support to GeneralOption to act on unknown configuration environment variables (`vsc-base#162 `_) * add support for only (re)generating module files: ``--module-only`` (`#1018 `_) * module naming scheme API is enhanced to include det_install_subdir method * see :ref:`module_only` * add support for generating module files in Lua syntax (note: requires Lmod as modules tool) (`#1060 `_, `#1255 `_, `#1256 `_, `#1270 `_) * see ``--module-syntax`` configuration option and :ref:`module_syntax` * deprecate ``log.error`` method in favor of raising ``EasyBuildError`` exception (`#1218 `_) * see :ref:`depr_error_reporting` * add support for using external modules as dependencies, and to provide metadata for external modules (`#1230 `_, `#1265 `_, `#1267 `_) * see :ref:`using_external_modules` * add experimental support for Cray toolchains on top of PrgEnv modules: ``CrayGNU``, ``CrayIntel``, ``CrayCCE`` (`#1234 `_, `#1268 `_) * see https://github.com/hpcugent/easybuild/wiki/EasyBuild-on-Cray * various other enhancements, including: * clear list of checksums when using ``--try-software-version`` (`#1169 `_) * sort the results of searching for files (e.g., ``--search`` output) (`#1214 `_) * enhance test w.r.t. use of templates in cfgfile (`#1217 `_) * define '``%(DEFAULT_REPOSITORYPATH)s``' template for cfgfiles (see ``eb --avail-cfgfile-constants``) (`#1220 `_) * also reset ``$LD_PRELOAD`` when running module commands, in case module defined ``$LD_PRELOAD`` (`#1222 `_) * move location of '``module use``' statements in generated module file (*after* '``module load``' statements) (`#1232 `_) * add support for ``--show-default-configfiles`` (`#1240 `_) * see :ref:`default_configuration_files` * report error on missing configuration files, rather than ignoring them (`#1240 `_) * clean up commit message used in easyconfig git repository (`#1248 `_) * add ``--hide-deps`` configuration option to specify names of software that must be installed as hidden modules (`#1250 `_) * see :ref:`hide_deps` * add support for appending/prepending to ``--robot-paths`` to avoid overwriting default robot search path (`#1252 `_) * see :ref:`robot_search_path_prepend_append` * enable detection of use of unknown ``$EASYBUILD``-prefixed environment variables (`#1253 `_) * see :ref:`configuration_env_vars` * add ``--installpath-modules`` and ``--installpath-software`` configuration options (`#1258 `_) * see :ref:`installpath` * use dedicated subdirectory in temporary directory for each test to ensure better cleanup (`#1260 `_) * get rid of ``$PROFILEREAD`` hack when running commands, not needed anymore (`#1264 `_) * various bug fixes, including: * make bootstrap script robust against having ``vsc-base`` already available in Python search path (`#1212 `_, `#1215 `_) * set default value for unpack_options easyconfig parameter to ``''``, so ``self.cfg.update`` works on it (`#1229 `_) * also copy rotated log files (`#1238 `_) * fix parsing of ``--download-timeout`` value (`#1242 `_) * make ``test_XDG_CONFIG_env_vars`` unit test robust against existing user config file in default location (`#1259 `_) * fix minor robustness issues w.r.t. ``$XDG_CONFIG*`` and ``$PYTHONPATH`` in unit tests (`#1262 `_) * fix issue with handling empty toolchain variables (`#1263 `_) **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: * TINKER (`#578 `_), Xmipp (`#581 `_) * 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: * AFNI (`#1322 `_, `#1521 `_), BCFtools (`#1492 `_), getdp (`#1518 `_), gmsh (`#1518 `_), gtest (`#1244 `_), hanythingondemand (`#1530 `_), mawk (`#1369 `_), Minimac (`#815 `_), Minimac3 (`#1502 `_), monty (`#1548 `_), Octave (`#1563 `_), pbs_python (`#1530 `_), pigz (`#1036 `_), Pygments (`#1536 `_), pyhull (`#1539 `_), pymatgen (`#1549 `_), PyQt (`#1322 `_, `#1521 `_), Ray (`#1494 `_), requests (`#1536 `_), seqtk (`#1524 `_), SIP (`#1322 `_, `#1521 `_), S-Lang (`#1369 `_), Spark (`#1554 `_), spglib (`#1549 `_), TINKER (`#1465 `_), tmux (`#1369 `_), Xmipp (`#1489 `_) * added easyconfigs for new (Cray-specific) toolchains (`#1538 `_): ``CrayGNU``, ``CrayIntel``, ``CrayCCE`` * initially supported software (using CrayGNU toolchains): CP2K, GROMACS, HPL, Python + numpy/scipy, WRF (`#1558 `_) * see also https://github.com/hpcugent/easybuild/wiki/EasyBuild-on-Cray * 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 `_) .. _release_notes_v2.0.0: 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 `_) * see :ref:`removed_functionality` * the fix_broken_easyconfigs.py script can be used to update easyconfig files suffering from this (`#1151 `_, `#1206 `_, `#1207 `_) * for more information about this script, see :ref:`fix_broken_easyconfigs_script` * 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 :ref:`required_python_packages` * various other enhancements, including: * add support for Linux/POWER systems (`#1044 `_) * major cleanup in ``tools/systemtools.py`` + significantly enhanced tests (`#1044 `_) * add support for '``eb -a rst``', list available easyconfig parameters in ReST format (`#1131 `_) * add support for specifying one or more easyconfigs in combination with ``--from-pr`` (`#1132 `_) * see :ref:`from_pr_specifying_easyconfigs` * define ``__contains__`` in EasyConfig class (`#1155 `_) * restore support for downloading over a proxy (`#1158 `_) * i.e., use ``urllib2`` rather than ``urllib`` * this involved sacrificing the download progress report (which was only visible in the log file) * let ``mpi_family`` return ``None`` if MPI is not supported by a toolchain (`#1164 `_) * include support for specifying system-level configuration files for EasyBuild via ``$XDG_CONFIG_DIRS`` (`#1166 `_) * see :ref:`default_configuration_files` * make unit tests more robust (`#1167 `_, `#1196 `_) * see :ref:`unit_tests` * add hierarchical module naming scheme categorizing modules by ``moduleclass`` (`#1176 `_) * enhance bootstrap script to allow bootstrapping using supplied tarballs (`#1184 `_) * see :ref:`bootstrap_advanced_options` * 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 `_) * see :ref:`specifying_easyconfigs` * 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: * GAMESS-US (`#470 `_, `#544 `_, `#558 `_), Hadoop (`#563 `_) * 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: * bsoft (`#1353 `_), Coot (`#1400 `_), Cuby (`#1258 `_), DSRC (`#1242 `_), Exonerate (`#568 `_), fastqz (`#1242 `_), FSA (`#568 `_), fqzcomp (`#1242 `_), GAMESS-US (`#1153 `_, `#1406 `_), Grep (`#1308 `_), Hadoop (`#1418 `_), Hoard (`#1415 `_), IMB (`#1284 `_), ISL (`#1389 `_), jemalloc (`#1416 `_), libdwarf (`#1283 `_), libelf (`#1283 `_), MPC (`#1310 `_), multitail (`#1327 `_), Pmw (`#1403 `_), Quip (`#1242 `_), rCUDA (`#720 `_), SCALCE (`#1242 `_), SMALT (`#568 `_), STREAM (`#1332 `_), worker (`#1307 `_), Xerces-C++ (`#1370 `_), XQilla (`#1370 `_), ZPAQ (`#1242 `_) * added easyconfigs for new (common) toolchains * ``foss/2015a`` (`#1239 `_), ``gompi/1.5.16`` (`#1380 `_), ``gmvolf/1.7.20`` (`#1397 `_), ``goolf/1.7.20`` (`#1294 `_), intel/2015a (`#1238 `_), ``intel/2015.02`` (`#1393 `_), ``iomkl/2015.01`` (`#1325 `_), ``iomkl/2015.02`` (`#1401 `_) * 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 `_) * related to the fixes in the GCC easyblock, see `easyblocks#535 `_ * 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 `_) * see `Deprecated functionality `_ for more information * 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 `_) * see also `Controlling the robot search path `_ * 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: * Chimera (`#524 `_), GATE (`#518 `_) * 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 `_) * see also `easybuild-framework#1088 `_ * 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 `_) * see also `easybuild-framework#1112 `_ * 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** * added example easyconfig files for **39** new software packages: * ANTs (`#1232 `_), BEOPS (`#1264 `_), Chhimera (`#1255 `_), ctffind (`#1249 `_), DBD-SQLite (`#1064 `_), DBD-mysql (`#1063 `_), DIALIGN-TX (`#668 `_), ffmpeg (`#1088 `_), GObject-Introspection (`#1079 `_), GTS (`#1079 `_), Graphviz (`#1079 `_), GraphViz2 (`#1079 `_), grace (`#1131 `_), HarfBuzz (`#1079 `_), HTSlib (`#1161 `_), GSSAPI (`#1048 `_), Kerberos_V5 (`#1048 `_), libevent (`#1063 `_), libXdmcp (`#1129 `_), libXft (`#1017 `_), libXinerama (`#1017 `_), libXrender (`#1017 `_), Maven (`#1094 `_), MySQL (`#1063 `_), Net-LibIDN (`#1060 `_), OpenCV (`#1088 `_), OpenMD (`#1105 `_), Qhull (`#1105 `_), Pango (`#1079 `_), psmpi (`#1245 `_, `#1246 `_), RELION (`#1017 `_), renderproto (`#1017 `_), rjags (`#1125 `_), runjags (`#1125 `_), SPRNG (`#1138 `_, `#1141 `_), xineramaproto (`#1017 `_), XML-Dumper (`#1061 `_), XML-Parser (`#1061 `_), XML-Twig (`#1061 `_) * added easyconfigs for new toolchains * ``intel/2014.10`` & ``intel/2014.11`` (`#1219 `_), ``intel-para/2014.12`` (`#1246 `_), ``gpsolf/2014.12`` (`#1245 `_), ``iompi/6.6.4`` (`#1215 `_) * include ``easyblock = 'ConfigureMake'`` in relevant easyconfigs to deal with deprecation of automagic fallback to ``ConfigureMake`` (`#1248 `_) * see also `easybuild-framework#1113 `_ and `Automagic fallback to ConfigureMake `_ * clean up use of deprecated functionality in existing easyconfigs (`#1252 `_, `#1259 `_) * stop using deprecated ``makeopts``, ``premakeopts`` and ``shared_lib_ext`` * check for use of deprecated functionality in easyconfigs unit tests * see also http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html#easyconfig-parameters * various other enhancements, including: * also build ``fftw3_threads`` libraries, and enhance sanity checks (`#1013 `_) * add unit test to verify specified ``sanity_check_paths`` (`#1119 `_) * update and clean up ``README``, refer to http://easybuild.readthedocs.org documentation (`#1184 `_, `#1224 `_) * various bug fixes, including: * fix unit tests w.r.t. changes in framework (`#1146 `_) * remove unnecessary build dependencies for OpenMPI (`#1168 `_) * remove duplicate line in OpenMPI easyconfigs (`#1207 `_) * fix affiliation/mail address for Fotis in headers (`#1237 `_) * fix permissions of easyconfig files for consistency (`#1210 `_) * disable symbol lookup feature in cairo to fix build on SL6 (`#1241 `_) * fix easyconfig ``gmpolf`` toolchain w.r.t. MPICH software name (`#1217 `_) * see also `easybuild-framework#1112 `_ * fix ``source_urls`` for WRF and WPS (`#1225 `_) * fix and clean up GATE easyconfigs (`#1228 `_) * fix broken CLHEP builds by including ``-gcc`` in ``$CXXFLAGS`` (`#1254 `_) * add patch to fix broken test in Go (`#1257 `_) * fix name of GMAP easyconfigs, should be GMAP-GSNAP (`#1268 `_) * fix easyconfig filenames, enhance unit test to check easyconfig filenames (`#1271 `_) 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: * Modeller (`#392 `_), NAMD (`#397 `_) * 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: * Circos (`#780 `_), DB_File (`#913 `_), Emacs (`#970 `_), evmix (`#1077 `_), GD (`#780 `_), gsl (`#1077 `_), IOR (`#949 `_), JAGS (`#1076 `_), libgd (`#780 `_), MethPipe (`#1070 `_), Modeller (`#825 `_), NAMD (`#835 `_), netCDF-C++4 (`#1015 `_) * 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 ``) * 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: * ANSYS (`#398 `_), HPCG (`#408 `_) * 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: * ANSYS (`#836 `_), Beast (`#912 `_), ELPH (`#910 `_, `#911 `_), FastTree (`#900 `_, `#947 `_), GEM-library (`#858 `_), HPCG (`#853 `_), mdtest (`#925 `_), ncview (`#648 `_), PRANK (`#917 `_), RDP-Classifier (`#903 `_), SDPA (`#955 `_), SIBELia (`#886 `_), SOAPaligner (`#857 `_), SPAdes (`#884 `_), stemming (`#891 `_), WHAM (`#872 `_), YAXT (`#656 `_) * 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 * this requires specifying a GitHub username for which a GitHub token is available, using ``--github-user`` * with ``--dump-test-report``, the test report can simply be dumped to file rather than being uploaded to GitHub * see also https://github.com/hpcugent/easybuild/wiki/Review-process-for-contributions#testing-result * 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: * Go (`#417 `_) * 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: * APBS (`#742 `_), BayesTraits (`#770 `_), bc (`#888 `_), BitSeq (`#791 `_), CEM (`#789 `_), CVS (`#888 `_), eXpress (`#786 `_), file (`#888 `_), GEMSTAT (`#861 `_), GMAP (`#594 `_), Go (`#887 `_), iscp (`#602 `_), IsoInfer (`#773 `_), Jellyfish (`#868 `_), less (`#888 `_), libcircle (`#883 `_), mcpp (`#602 `_), MMSEQ (`#795 `_), MUSTANG (`#800 `_), OpenFOAM-Extend (`#437 `_), popt (`#759 `_), pscom (`#759 `_), psmpi2 (`#759 `_), QuadProg++ (`#773 `_), rSeq (`#771 `_), RSEQtools (`#870 `_), Ruby (`#873 `_), segemehl (`#792 `_), SOAPec (`#879 `_), SOAPdenovo2 (`#874 `_), SRA-Toolkit (`#793 `_), texinfo (`#888 `_) * 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: * CLooG (`#653 `_), ELPA (`#738 `_), LIBSVM (`#788 `_), netaddr (`#753 `_), netifcas (`#753 `_), slalib-c (`#750 `_) * 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: * argtable (`#669 `_), Clustal-Omega (`#669 `_), Coreutils (`#582 `_), GMT (`#560 `_), gperftools (`#596 `_), grep (`#582 `_), h4toh5 (`#597 `_), libunwind (`#596 `_), Lmod (`#600 `_, `#692 `_), Lua (`#600 `_, `#692 `_), MAFFT (`#654 `_), Molekel (`#597 `_), NEdit (`#597 `_), netcdf4-python (`#660 `_), nodejs (`#678 `_), OCaml (`#704 `_), patch (`#582 `_), PhyML (`#664 `_), PRACE Common Production Environment (`#599 `_), protobuf (`#680 `_), python-dateutil (`#438 `_), sed (`#582 `_), sickle (`#651 `_), Tesla-Deployment-Kit (`#489 `_), TREE-PUZZLE (`#662 `_), VCFtools (`#626 `_), Vim (`#665 `_), vsc-mympirun-scoop (`#661 `_), vsc-processcontrol (`#661 `_), XZ (`#582 `_) * 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 `_) * see also https://github.com/hpcugent/easybuild/wiki/Setting-up-tab-completion-for-bash * note: may be quite slow for now * 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: * Charmm (`#318 `_), GROMACS (`#335 `_, `#339 `_) * 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: * BEDTools (`#579 `_, `#632 `_, `#635 `_), CAP3 (`#548 `_), CHARMM (`#584 `_), cutadapt (`#620 `_), ErlangOTP (`#556 `_, `#630 `_), Ghostscript (`#547 `_, `#632 `_), HTSeq (`#554 `_, `#632 `_), Jansson (`#545 `_), libjpeg-turbo (`#574 `_), Molden (`#566 `_), netloc (`#545 `_), o2scl (`#633 `_), packmol (`#566 `_), PP (`#405 `_), qtop (`#500 `_), TAMkin (`#566 `_), vsc-base (`#621 `_), vsc-mympirun (`#621 `_) * 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: * Allinea (`#468 `_), ARB + dependencies (`#396 `_, `#493 `_, `#495 `_), arpack-ng (`#451 `_, `#481 `_), CDO (`#484 `_, `#521 `_), Cube (`#505 `_), ed (`#503 `_), FLTK (`#503 `_), GenomeAnalysisTK (`#467 `_), GIMPS (`#527 `_), GTI (`#511 `_), IPython (`#485 `_, `#519 `_), LWM2 (`#510 `_), MPICH2 (`#460 `_), MUST (`#511 `_), ncdf (`#496 `_, `#522 `_), OPARI2 (`#505 `_), OpenBabel (`#504 `_, `#524 `_), OTF (`#505 `_), OTF2 (`#505 `_), PandaSEQ (`#475 `_), ParaView (`#498 `_, `#514 `_), ParFlow (`#483 `_, `#520 `_), PCC (`#486 `_, `#528 `_), PDT (`#505 `_), picard (`#467 `_), PnMPI (`#511 `_), PyQuante (`#499 `_, `#523 `_), pysqlite (`#519 `_), Scalasca (`#505 `_), Score-P (`#505 `_), SDCC (`#486 `_, `#528 `_), Silo (`#483 `_, `#520 `_), Stride (`#503 `_), SURF (`#503 `_), TCC (`#486 `_, `#528 `_) * ARB dependencies (23): fixesproto, imake, inputproto, kbproto, libICE, libSM, libX11, libXau, libXaw, libXext, libXfixes, libXi, libXmu, libXp, libXpm, libXt, lynx, motif, printproto, Sablotron, xbitmaps, xextproto, xtrans * 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 `) * only change the group id if current gid is different from what we want in ``adjust_permissions`` function (`#685 `) * restore original environment after running 'module purge' (`#698 `) * important sidenote: this results in resetting the entire environment, and has impact on the sanity check step; * any environment variables that are set before the EasyBlock.sanity_check_step method fires, are no longer there when the sanity check commands are run (cfr. `easyblocks#268 `_) **easyblocks** * added **one** new `generic` easyblock: ``BinariesTarball`` (`#255 `_) * added support for **5** new software packages that require customized support: * DB (`#226 `_), FDTD Solutions (`#239 `_), FoldX (`#256 `_), Mathematica (`#240 `_), MUMPS (`#262 `_) * 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: * BOINC (`#436 `_), DB (`#343 `_, `#449 `_), fastahack (`#374 `_), FDTD Solutions (`#387 `_), FoldX (`#440 `_, `#442 `_), Mathematica (`#394 `_), Mesquite (`#447 `_), MUMPS (`#447 `_), ParMGridGen (`#447 `_) * 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: * Libint2 (`#236 `_), Qt (`#210 `_), Rosetta (`#218 `_) * 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