.. _release_notes: EasyBuild release notes ======================= The latest version of EasyBuild provides support for building and installing **998** different software packages, using 37 different (compiler) toolchains. It contains 174 software-specific easyblocks and 29 generic easyblocks, alongside 6,548 easyconfig files. .. _release_notes_eb282: v2.8.2 (July 13th 2016) ----------------------- bugfix release **framework** * various small enhancements, including: * add support for rst output for ``--list-*`` and ``--avail-*`` (`#1339 `_) * add support for '``eb --check-conflicts``' (`#1747 `_, `#1807 `_, `#1833 `_) * ensure nice error message when non-existing path is passed to ``apply_regex_substitutions`` (`#1788 `_) * add check for module output, empty stdout is a sign of trouble with Lmod (`#1793 `_) * add multi-threaded FFT to toolchain (`#1802 `_) * avoid special characters like '[', ']' in path to temporary directory (`#1808 `_) * add support for ``--zip-logs`` (`#1820 `_) * add support for ``--extra-modules`` (`#1821 `_) * add type conversion for 'checksums' and 'patches' parameter in .yeb easyconfigs (`#1826 `_, `#1840 `_) * add support for filtering tests by name (`#1828 `_) * add support for ``--avail-toolchain-opts`` (`#1830 `_, `#1839 `_) * use absolute path for robot and easyconfig files (`#1834 `_) * add backup URL for tarballs hosted on SourceForge in ``install_eb_dep.sh`` script (`#1843 `_) * various bug fixes, including: * fix installation of Lua in ``install_eb_dep.sh`` script (`#1789 `_) * fix OpenMP flag for Cray compiler wrappers (`#1794 `_) * only reset ``$MODULEPATH`` before loading a module if environment was reset (`#1795 `_) * include vsc-install as dependency in ``setup.py`` (`#1805 `_) * cache ``$PATH`` & ``$PYTHONPATH`` in test setUp, restore them in tests where '``eb``' is used (`#1806 `_) * don't reset ``$MODULEPATH`` in stage 2 of bootstrap script, support forced installation during stage 2 (`#1810 `_) * fix issue with templates defined by deps being required while still parsing deps (`#1812 `_) * skip unneeded unuse/use commands on tail of ``$MODULEPATH`` in ``check_module_path`` (`#1813 `_) * fix auto-convert for all ``*dependencies`` params in ``.yeb`` easyconfigs, ensure version is a string (`#1818 `_) * fix ``keyring`` version in Travis config (`#1819 `_) * fix dumping of ``.yeb`` easyconfig files in easyconfigs archive (`#1822 `_) * fix format of supported easyconfig templates in help output (`#1825 `_) * stick to ``pydot`` 1.1.0 for Python 2.6 in Travis config (`#1827 `_) **easyblocks** * new easyblocks for 5 software packages that require customized support: * Amber (`#958 `_), Extrae (`#955 `_), Gurobi (`#962 `_), Paraver (`#956 `_), Tau (`#887 `_) * various enhancements, including: * add support for building & installing old GROMACS versions (`#569 `_, `#960 `_) * add support for building Boost with Cray toolchain (`#849 `_) * libxsmm support for CP2K (`#942 `_) * pick up specified components for imkl (`#943 `_) * add support for building GROMACS with double precision (`#946 `_, `#960 `_) * add support for building GROMACS with CUDA support and using dynamic libraries using ``Cray`` toolchains (`#951 `_, `#960 `_) * also install vsc-install in ``EasyBuildMeta`` easyblock, if tarball is provided (`#957 `_) * enhance PSI easyblock to support PSI4 1.0 (`#965 `_) * various bug fixes, including: * also install scripts with MRtrix 0.3.14 (`#941 `_) * enhance Qt easyblock to support Qt3 (`#944 `_) * create '``release``' symlink in MRtrix install dir (`#947 `_) * fix ``make_installdir`` in Inspector & VTune easyblocks (`#952 `_) * make ``Binary`` and ``MakeCp`` easyblocks aware of '``keepsymlinks``' (`#959 `_) * correctly define ``$G4*`` environment variables in Geant4 easyblock (`#961 `_, `#970 `_) * prepend tmp install path to ``$PYTHONPATH`` in numpy test step, move to build dir when removing '``numpy``' subdir (`#963 `_) * correct full path to ALADIN config file & patch it to use right Fortran compiler flags (`#964 `_) * ensure correct compiler command/flags are used for SAMtools (`#966 `_) **easyconfigs** * added example easyconfig files for 54 new software packages: * Amber (`#3200 `_), Bullet (`#3175 `_), CONTRAlign (`#690 `_), Cluster-Buster (`#3191 `_), damageproto (`#3222 `_, `#3308 `_), DCA++ (`#3219 `_), EIGENSOFT (`#3147 `_, `#3163 `_), Extrae (`#507 `_), fdstools (`#3237 `_), ffnet (`#3273 `_), GP2C (`#3257 `_), Gurobi (`#3239 `_), gc (`#3202 `_, `#3261 `_), gputools (`#546 `_), IMa2p (`#3300 `_), IOzone (`#3253 `_), i-cisTarget (`#3191 `_, `#3194 `_), icmake (`#3243 `_), io_lib (`#3255 `_), Kent_tools (`#3191 `_), libcmaes (`#3256 `_), libpsortb (`#3259 `_), libxsmm (`#3099 `_), MEGACC (`#3263 `_), MM-align (`#1428 `_), MOSAIK (`#880 `_), MView (`#1345 `_), MySQL-python (`#3172 `_, `#3189 `_), magma (`#3219 `_), mrFAST (`#862 `_), mrsFAST (`#862 `_), mysqlclient (`#3172 `_, `#3232 `_), NTL (`#3183 `_), PARI-GP (`#3257 `_), Paraver (`#508 `_), psutil (`#3171 `_, `#3231 `_), PSI4 (`#3293 `_), Qwt (`#3157 `_), RMBlast (`#3142 `_), STAMP (`#3191 `_), Seqmagick (`#3264 `_), splitRef (`#946 `_), TAU (`#509 `_), TRF (`#3141 `_), TVB (`#3053 `_, `#3247 `_, `#3251 `_), TVB-deps (`#3053 `_, `#3247 `_, `#3251 `_), tvb-data (`#3053 `_, `#3247 `_, `#3251 `_), tvb-framework (`#3053 `_, `#3247 `_, `#3251 `_), tvb-library (`#3053 `_, `#3247 `_, `#3251 `_), VampirTrace (`#509 `_), Voro++ (`#3174 `_), wheel (`#3235 `_), wxPropertyGrid (`#508 `_), xonsh (`#3159 `_) * added easyconfigs for update of common toolchains: ``foss/2016b`` (`#3271 `_), ``intel/2016b`` (`#3270 `_) * added new easyconfigs for existing toolchains: ``CrayGNU/2016.03`` & ``CrayGNU/2016.04`` (`#3291 `_), ``foss/2016.06`` (`#3184 `_), ``intel/2016.03-GCC-5.4`` (`#3185 `_) * added additional easyconfigs for various supported software packages, including: * Boost 1.61.0, GCC 5.4.0, GROMACS 3.3.3, HDF5 1.8.17, netCDF 4.4.1, numpy 1.11.0, Perl 5.24.0, PETSc 3.7.2, Python 2.7.12, Python 3.5.2, Qt 3.3.8, R 3.3.1 * various enhancements, including: * use ``check_conflicts`` function in easyconfigs tests (`#2981 `_) * also include vsc-install in list of sources for recent EasyBuild easyconfigs, to support offline installation (`#3203 `_) * enable building of ``libmysqld.*`` in MariaDB easyconfigs (`#3230 `_) * add ALDEx2, phyloseq to bundles for Bioconductor 3.2 (`#3211 `_, `#3241 `_) * add biom, geepack, lubridate, pim to list of R 3.2.3 extensions (`#3186 `_, `#3211 `_, `#3275 `_) * various bug fixes, including: * add patch for Boost 1.60.0 to fix bug resulting in ``TypeError`` (`#3162 `_) * add fftw dependency to CP2K 2.6.0 easyconfigs using CrayGNU (`#3176 `_) * fix location of ``libelf.h``, only (also) installed as ``include/libelf.h`` is there's no ``/usr/include/libelf.h`` (`#3201 `_) * fix software name for Guile & GnuTLS (was 'guile' & 'gnutls') (`#3207 `_) * added missing space in Geant4 configopts to specify ``-DGEANT4_INSTALL_DATA`` (`#3209 `_) * fix Cython download URL in Python 2.7.11 easyconfigs (`#3212 `_) * add missing build deps for X stack in easyconfigs using ``foss/2016a`` or ``intel/2016a`` (`#3222 `_, `#3308 `_) * fix overruling of exts_list in Perl 5.22.2 easyconfig (`#3224 `_) * add missing dependency on GMP in R 3.2.3 easyconfigs (`#3226 `_) * don't hard specify toolchain for binutils build dep in likwid easyconfig, since it matches parent toolchain (`#3240 `_) * fix ``homepage`` & ``source_urls`` in HMMER easyconfigs (`#3246 `_) * stick to ``pydot`` 1.1.0 for Python 2.6 in Travis config (`#3282 `_) * add ``python-dev(el)`` to OS deps in GC3Pie easyconfigs (`#3310 `_) .. _release_notes_eb281: v2.8.1 (May 30th 2016) ---------------------- bugfix release **framework** * various bug fixes, including: * fix error message on missing module command in bootstrap script (`#1772 `_) * expand '``~``' in paths specified to ``--include-*`` (`#1774 `_) * break after deleting cache entry to avoid attempt to delete cache entry again (`#1776 `_) * avoid changing ``$MODULEPATH`` when prepending with symlink of path already at head of ``$MODULEPATH`` (`#1777 `_) * filter out duplicates in ``find_flexlm_license`` (`#1779 `_) * stick with GitPython < 2.0 with Py2.6 in Travis configuration (`#1781 `_) * don't use ``LooseVersion`` to define ``version_major``/``version_minor`` (`#1783 `_) **easyblocks** * various enhancements, including: * update MRtrix easyblock for version 0.3.14 (`#932 `_) * update Inspector easyblock for recent versions (`#934 `_) * update VTune easyblock for recent versions (`#935 `_) * add debug message to IntelBase easyblock w.r.t. switching to 'exist_lic' (`#936 `_) **easyconfigs** * added example easyconfig files for 13 new software packages: * drFAST (`#906 `_), git-lfs (`#2478 `_), grabix (`#3127 `_), JWM (`#3007 `_), libcroco (`#3007 `_), librsvg (`#3007 `_), MaCH (`#3136 `_), mayavi (`#3106 `_), OpenMM (`#2762 `_), Pysam (`#3080 `_), SeqPrep (`#3097 `_), vt (`#3128 `_), wkhtmltopdf (`#3098 `_) * added new easyconfigs for existing toolchains: ``intel/2016.03-GCC-4.9`` (`#3088 `_) * added additional easyconfigs for various supported software packages, including: * Boost 1.61.0, ESMF 7.0.0, Inspector 2016 update 3, IPython 4.2, netCDF-C++4 4.3.0, netCDF-Fortran 4.4.4, Perl 5.22.2, VTune 2016 update 3 * various bug fixes, including: * apply libreadline patch to fix bug triggering segmentation fault (`#3086 `_) .. _release_notes_eb280: v2.8.0 (May 18th 2016) ---------------------- feature + bugfix release **framework** * significant speedup improvements of EasyBuild itself, thanks to: * stop creating ``ModulesTool`` instances over and over again (`#1735 `_) * cache result of '``module avail``' calls (`#1742 `_) * add support for using PGI as toolchain compiler (`#1342 `_, `#1664 `_, `#1759 `_, `#1761 `_, `#1764 `_) * incl. new toolchain definitions ``pompi`` and ``pomkl`` (`#1724 `_) * add test configuration for Travis (`#1733 `_, `#1737 `_, `#1743 `_, `#1767 `_) * various other enhancements, including: * add ``get_total_memory()`` function in ``systemtools`` module (`#1623 `_) * ignore ``__init__.py`` files in ``--include-*`` (`#1704 `_) * use ``-fopenmp`` rather than ``-openmp`` for Intel compilers, since ``-openmp`` is deprecated (`#1718 `_) * add modules to metadata for Cray modules (`#1721 `_) * make sure user write permissions are set after failed removal attempt of installation directory (`#1722 `_) * escape special characters in software name in ``find_related_easyconfigs`` (`#1726 `_) * add support for ``CrayPGI`` compiler toolchain (`#1729 `_) * ensure read permission to all installed files for everybody (unless other options specify otherwise) (`#1731 `_) * also consider ``$LMOD_CMD`` in bootstrap script (`#1736 `_) * translate PyPI download URL to alternate URL with a hash (`#1749 `_) * make ``get_software_libdir`` compatible with ``-x`` (`#1750 `_) * set ``$LMOD_REDIRECT`` to '``no``' when initialising Lmod (`#1755 `_) * add test for broken modules tool setup affecting '``module use``' (`#1758 `_) * various bug fixes, including: * isolate '``options``' tests from easyblocks other than the ones included in the tests (`#1699 `_) * don't run '``module purge``' in tests, since EasyBuild may be made available through a module (`#1702 `_) * avoid rehandling ``--include-*`` options over and over again during ``--show-config`` (`#1705 `_) * remove useless ``test_cwd`` (`#1706 `_) * fix bootstrap script: make sure setuptools installed in stage0 is still available at end of stage1 (`#1727 `_) * forcibly create target branch in ``--update-pr`` (`#1728 `_) * remove check whether '``easybuild``' is being imported from dir that contains ``easybuild/__init__.py`` (`#1730 `_) * (re)install vsc-base during stage1 using ``--always-copy`` in bootstrap script, if needed (`#1732 `_) * use ``os.path.realpath`` in ``test_wrong_modulepath`` to avoid symlinked path breaking the test (`#1740 `_) * unset ``$PYTHONPATH`` in before tested bootstrapped EasyBuild module (`#1743 `_) * take into account that paths in modulepath may be symlinks in ``test_module_caches`` (`#1745 `_) * change to install dir rather than buildpath in sanity check of extension, latter may not exist (`#1746 `_, `#1748 `_) * only load modules using short module names (`#1754 `_) * (re)load modules for build deps in extensions_step (`#1762 `_) * fix ``modpath_extensions_for method``: take into account modules in Lua syntax (`#1766 `_) * fix broken link to VSC website in license headers (`#1768 `_) **easyblocks** * add test configuration for Travis (`#895 `_, `#897 `_, `#900 `_, `#926 `_) * new easyblocks for 4 software packages that require customized support: * binutils (`#907 `_), libQGLViewer (`#890 `_), SuperLU (`#860 `_), wxPython (`#883 `_) * various other enhancements, including: * update SuiteSparse easyblock for version >= 4.5 (`#863 `_) * enhance imkl easyblock to install on top of PGI (`#866 `_, `#916 `_) * enable runtime logging of install cmd in ``IntelBase`` (`#874 `_) * enhance Qt easyblock to support installing with ``dummy`` toolchain (`#881 `_) * delete libnuma symbolic links in PGI installation directory (`#888 `_) * enhance PDT easyblock to support installing with ``dummy`` toolchain (`#894 `_) * add support for building Clang with OpenMP support (`#898 `_) * update Score-P easyblock for additional compilers, MPI libraries & dependencies (`#889 `_) * drop deprecated '``testrb``' from sanity check in Ruby easyblock (`#901 `_) * enhance WRF easyblock to support versions >= 3.7 (`#902 `_) * update QuantumESPRESSO easyblock for version 5.3.0 (`#904 `_) * add support in PythonPackage easyblock to use '``setup.py develop``' (`#905 `_) * update Qt easyblock for Qt 5.6.0 (`#908 `_) * extend bzip2 easyblock to also build dynamic libraries (`#910 `_) * make threading an explicit option rather than relying on MPI library in SCOTCH easyblock (`#914 `_) * update PGI easyblock to install siterc file so PGI picks up ``$LIBRARY_PATH`` (`#919 `_) * enhance sanity check paths for compiler commands in PGI easyblock (`#919 `_) * also filter out ``-ldl`` from $LIBBLAS & co for Intel MKL in numpy easyblock (`#920 `_) * define ``$MIC_LD_LIBRARY_PATH`` for impi (`#925 `_) * various bug fixes, including: * don't hardcode Python version in ``test_make_module_pythonpackage`` (`#876 `_) * make PythonPackage easyblock compatible with ``--module-only`` (`#884 `_, `#906 `_) * remove check whether '``easybuild``' is being imported from dir that contains ``easybuild/__init__.py`` (`#891 `_) * fix passing compiler configure option in PDT easyblock (`#894 `_) * fix bug in Score-P easyblock w.r.t. ``--with-libbfd`` (`#889 `_) * fix extension filter for Ruby (`#901 `_) * fix ``ACTIVATION_TYPES`` list in IntelBase + minor style change (`#913 `_) * correctly define ``$MIC_LD_LIBRARY_PATH`` in imkl 11.3.x and newer (`#915 `_) * fix broken link to VSC website in license headers (`#927 `_) **easyconfigs** * added example easyconfig files for 69 new software packages: * ALPS (`#2888 `_), annovar (`#3010 `_), BayeScEnv (`#2765 `_), BayesAss (`#2870 `_), BerkeleyGW (`#2925 `_), Blitz++ (`#2784 `_, `#3004 `_), bam-readcount (`#2850 `_), Commet (`#2938 `_), CrossTalkZ (`#2939 `_), cuDNN (`#2882 `_), DBus (`#2855 `_), DFT-D3 (`#2107 `_), DIAL (`#3056 `_), dask (`#2885 `_), dbus-glib (`#2855 `_), FFLAS-FFPACK (`#2793 `_), FLAC (`#2824 `_), FLANN (`#3015 `_, `#3029 `_), FLEUR (`#3043 `_), GConf (`#2855 `_), GROMOS++ (`#1297 `_), GST-plugins-base (`#2855 `_), GStreamer (`#2855 `_), GTOOL (`#2805 `_), Givaro (`#2793 `_), gdist (`#2935 `_), gromosXX (`#1297 `_), HISAT2 (`#2809 `_), i-PI (`#2940 `_), Kraken (`#3037 `_, `#3041 `_), LAME (`#2823 `_), LASTZ (`#3002 `_), LinBox (`#2793 `_), Loki (`#2839 `_), libQGLViewer (`#2923 `_, `#3008 `_), libXxf86vm (`#2855 `_), MDSplus (`#2787 `_, `#2838 `_, `#3027 `_), MRIcron (`#2831 `_), Mawk (`#2732 `_), minieigen (`#2839 `_), mpmath (`#3058 `_), NBO (`#3047 `_, 3048), NGS (`#2803 `_), NGS-Python (`#2810 `_), ncbi-vdb (`#2808 `_), OptiX (`#2795 `_), PCL (`#3024 `_), PEAR (`#2731 `_), PLplot (`#2990 `_), Postgres-XL (`#2891 `_), PyGTS (`#2969 `_), RSeQC (`#2788 `_), Rust (`#2920 `_, `#2943 `_), rainbow (`#2730 `_), SHAPEIT (`#2806 `_), SIONlib (`#2908 `_), Saxon-HE (`#2773 `_), Singularity (`#2901 `_), SoX (`#2825 `_), Subread (`#2790 `_), SuperLU (`#2665 `_), travis (`#2953 `_), VASP (`#2950 `_), Wannier90 (`#2906 `_, `#3042 `_), wget (`#3041 `_), wxPython (`#2855 `_), xf86vidmodeproto (`#2855 `_), Yade (`#2839 `_), Yambo (`#2932 `_) * add test configuration for Travis (`#2942 `_, `#2944 `_, `#2954 `_, `#3061 `_) * added easyconfigs for new PGI-based toolchains * ``pomkl/2016.03`` (`#2899 `_, `#2900 `_, `#3046 `_), ``pomkl/2016.04`` (`#3044 `_), ``CrayPGI/2016.04`` (`#2927 `_) * added new easyconfigs for existing toolchains: * ``foss/2016.04`` (`#3013 `_), ``intel/2016.02-GCC-5.3`` (`#2523 `_), ``intel/2016.03-GCC-5.3`` (`#3009 `_) * added additional easyconfigs for various supported software packages: version updates, different toolchains, ... * incl. CGAL 4.8, Clang 3.8.0, icc/ifort 2016.2.181 & 2016.3.210, imkl 11.3.2.181 & 11.3.3.210, impi 5.1.3.181, LLVM 3.8.0, OpenCV 2.4.12, pandas 0.18.0, Qt 5.6.0, Scalasca 2.3, Score-P 2.0.1, SuiteSparse 4.5.2, WRF 3.8 * various other enhancements, including: * enhance ORCA easyconfig for compatibility with SLURM (`#1819 `_) * enable ``-fPIC`` in GraphicsMagick easyconfig, required by Octave (`#2764 `_) * clean up binutils easyconfigs to use binutils easyblock (`#3006 `_) * add ``include/GraphicsMagick`` to ``$CPATH`` in GraphicsMagick easyconfigs (`#3034 `_) * update SuiteSparse easyconfigs according to updated SuiteSparse easyblock (`#3050 `_) * various bug fixes, including: * fix Perl extensions download urls (`#2738 `_) * add Autoconf as build dep for ``GCCcore`` (`#2772 `_) * fix versions of extensions in Bioconductor 3.2 bundles (`#2769 `_) * fix (build) deps for ``intel/2016a`` easyconfigs of cairo, libXext, libXrender (`#2785 `_, `#2874 `_) * use '``env``' wherever preconfig/build/installopts is used to set environmental variables (`#2807 `_, `#2811 `_, `#2812 `_) * add zlib as explicit dep in Tk easyconfigs (`#2815 `_) * consistently specify to use ``-fgnu89-inline`` flag in M4 1.4.17 easyconfigs (`#2774 `_, `#2779 `_, `#2816 `_) * fix homepage and description in Pygments easyconfigs (`#2822 `_) * include pkg-config as build dependencies for libXau, libXdmcp, libxcb (`#2827 `_) * consistently use ``XORG_*_SOURCE`` constants (`#2829 `_, `#2830 `_, `#2848 `_) * update source URLs in ScientificPython easyconfig files (`#2847 `_) * add checksums in SuiteSparse easyconfigs (`#2849 `_) * fix build deps for GObject-Introspection (`#2852 `_) * correctly specify Perl location in git easyconfig (`#2866 `_) * fix bitstring 3.1.3 download URL in Python easyconfigs, source tarball on PyPI disappeared (`#2880 `_) * fix Perl dependency in worker easyconfigs, it requires non-standard Perl modules (`#2884 `_) * add XZ as dependency in Python 3.5.1 easyconfigs, required for lzma (`#2887 `_) * fix download URL for packmol (`#2902 `_) * drop ``usempi`` toolchain in numexpr easyconfigs, not needed (`#2937 `_) * fix use of ``resolve_dependencies`` in tests according to changes in framework (`#2952 `_) * add dependency extensions for MarkupSafe and jsonscheme in IPython 3.2.3 easyconfigs (`#2967 `_) * add patch for matplotlib 1.5.1 to fix Tcl/Tk library paths being used (`#2971 `_) * add xproto build dependency for makedepend v1.0.5 (`#2982 `_) * disable parallel build for Doxygen (`#2986 `_) * fix source URLs for ``FreezeThaw`` and ``Tie::Function`` extensions for Perl v5.22.1 (`#2988 `_) * add ``sed`` command in worker easyconfig files to fix module_path in conf/worker.conf (`#2997 `_, `#3000 `_) * drop toolchainopts from Eigen easyconfigs, since it is headers-only (`#3025 `_) * clean up dummy bzip2 easyconfig, define buildopts rather than defining ``$CC`` and ``$CFLAGS`` via ``os.environ`` (`#3036 `_) * use ``%(pyshortver)s`` template rather than hardcoding 2.7 in VTK easyconfigs (`#3052 `_) * correct install location of OpenCV Python bindings (`#3054 `_) * include XZ as dependency for libunwind (`#3055 `_) * add patch to fix broken OpenSSL tests due to expired certificates (`#3057 `_) * fix broken link to VSC website in license headers (`#3062 `_) .. _release_notes_eb270: v2.7.0 (March 20th 2016) ------------------------ feature + bugfix release **framework** * stabilize Cray support * enable '``dynamic``' toolchain option by default for ``Cray*`` toolchains (`#1581 `_) * remove FFTW from the Cray toolchains definition (`#1585 `_) * add external modules metadata for Cray systems (`#1638 `_) * fix independency of Cray toolchains w.r.t. toolchain build environment (`#1641 `_, `#1647 `_) * remove requirement to use ``--experimental`` for Cray toolchains (`#1663 `_) * enable Python optimization mode in '``eb``' (`#1357 `_) * improved GitHub integration * improve error handling on git commands + better logging for ``--new-pr``/``--update-pr`` (`#1590 `_) * use ``git`` rather than ``https`` in ``--new-pr``/``--update-pr`` (`#1602 `_) * add ``-u`` as shorthand for ``--upload-test-report`` (`#1605 `_) * fix ``--from-pr`` for PRs that include renamed/deleted files (`#1615 `_) * add support for ``--install-github-token`` and ``--check-github`` (`#1616 `_) * fix ``fetch_easyconfigs_from_pr`` w.r.t. duplicate files in PRs (`#1628 `_) * various other enhancements, including: * add support for ``--search-filename`` and ``--terse`` (`#1577 `_) * support complete bash completion (`#1580 `_) * add support for ``%(*ver)s`` and ``%(*shortver)s`` templates (`#1595 `_, `#1604 `_) * incl. ``%(javaver)s``, ``%(javashortver)s``, ``%(perlver)s``, ``%(perlshortver)s``, ``%(pyver)s``, ``%(pyshortver)s``, ``%(rver)s``, ``%(rshortver)s`` * define ``HOME`` constant that can be used in easyconfig files (`#1607 `_) * implement support for generating '``swap``' statements in module files (`#1609 `_) * add support for ``--show-config`` (`#1611 `_, `#1620 `_) * simplified support for ``--minimal-toolchains`` (`#1614 `_, `#1619 `_, `#1622 `_, `#1625 `_, `#1646 `_) * add support for ``--dump-env-script`` (`#1624 `_) * enhance ModulesTool.exist to also recognize partial module names (`#1630 `_) * improve error message for toolchain definition errors (`#1631 `_) * make default is_short_modname_for check less strict to support versionless external modules as deps (`#1632 `_) * mention hostname in comment made by ``--upload-test-report`` (`#1635 `_) * support providing additional relative path for prefix in external module metadata (`#1637 `_) * add ``ThematicModuleNamingScheme`` (`#1645 `_) * enhance logging format: remove logger name, mention location instead (`#1649 `_, `#1654 `_) * update kernel versions for SLES12 (`#1659 `_) * raise ``EasyBuildError`` rather than ``ImportError`` in ``only_if_module_is_available`` decorator (`#1662 `_) * various bug fixes, including: * fix Lmod spider output in generated modules (`#1583 `_) * correctly define '``easybuild``' namespaces (`#1593 `_, `#1666 `_, `#1680 `_) * this change requires that the ``setuptools`` Python package is available (at runtime) * using custom easyblocks by adding them in the Python search path (``$PYTHONPATH``) may require adjustments, i.e. also using ``pkg_resources.declare_namespace`` in the ``__init__.py`` files; *we highly recommend to use* ``--include-easyblocks`` *instead*, see http://easybuild.readthedocs.org/en/latest/Including_additional_Python_modules.html * note: this has the side-effect of not being able anymore to reliably use '``eb``' in the parent directory of the easybuild-framework repository (`#1667 `_) * fix template for ``savannah.gnu.org`` source URL (`#1601 `_) * stop running '``module purge``', only restore environment (`#1608 `_) * fix license headers: Hercules foundation is now FWO (`#1629 `_) * avoid that ``fancylogger`` tries to import ``mpi4py`` to determine MPI rank (`#1648 `_) * fix error in tests when '``file``' backend is not available in Python keyring (`#1650 `_) * update develop install script (`#1651 `_) * handle allowed system deps during ``prepare_step`` rather than during parsing of easyconfig (`#1652 `_) * add function to find FlexLM licenses: ``find_flexlm_license`` (`#1633 `_, `#1653 `_) * fix availability check for external modules with partial module name (`#1634 `_, `#1643 `_) * fix bootstrap script to ensure ``setuptools`` is also installed (`#1655 `_) * fix issue in bootstrap script with ``vsc-base`` being picked up from the OS (`#1656 `_) * fix bootstrap script for environment where '``python``' is Python 3.x (`#1660 `_) * remove ``--experimental`` for tests related to ``--package`` (`#1665 `_) * ensure path to setuptools is included in ``$PYTHONPATH`` being used to test scripts (`#1671 `_) * sanitize environment before initializing easyblocks (`#1676 `_) * remove ``reload`` statements in ``include.py``, since they are not required and break ``--include-toolchains`` (`#1679 `_) **easyblocks** * new easyblocks for 6 software packages that require customized support: * ADF (`#826 `_), MPICH (`#844 `_, `#852 `_, `#868 `_), mutil (`#859 `_), pplacer (`#835 `_), psmpi (`#852 `_), SNPhylo (`#865 `_) * various other enhancements, including: * implement support for '``use_pip``' in PythonPackage easyblock (`#719 `_, `#831 `_) * add support in CUDA easyblock to install wrappers for host compilers (`#758 `_) * update sanity check for picard version 1.124 and above (`#796 `_) * use '``module swap``' for all components in ``CrayToolchain`` (`#823 `_) * update PSI4 easyblock to cope with changed name of PSI4 data dir (`#824 `_) * use ``find_flexlm_license`` function and avoid defining ``$CPATH`` in PGI easyblock (`#837 `_) * use ``find_flexlm_license`` function in ``IntelBase`` generic easyblock (`#839 `_) * add unit test to check module file generated by ``PythonPackage`` easyblock (`#841 `_) * rework MVAPICH2 easyblock on top of new MPICH easyblock (`#844 `_) * add CUDA support in CP2K easyblock (`#850 `_) * also define ``$LD`` in ``buildopts`` for GATE (`#855 `_) * use ``find_flexlm_license`` function in TotalView easyblock (`#839 `_) * enhance ``MakeCp`` easyblock to also support renaming of files while copying them (`#859 `_) * hunt for usable '``python``' command in ``PythonPackage`` easyblock when system Python is used (`#861 `_) * add sanity check in ``easybuild/__init__.py`` w.r.t. current working dir (`#869 `_) * change suffix of original file to ``.easybuild`` when using ``fileinput`` in impi easyblock (`#870 `_) * various bug fixes, including: * make sure Python unicode settings match that of the system Python (`#817 `_) * remove FFTW related statements in HPL easyblock, since HPL doesn't require FFTW at all (`#822 `_) * use ``pkg_resources.declare_namespace`` rather than ``pkgutil.extend_path`` to declare '``easybuild``' namespaces (`#827 `_) * fix license headers: Hercules foundation is now FWO (`#836 `_) * fix check for non-empty lib dirs in ``PythonPackage`` easyblock (`#840 `_) * consider all Python lib dirs in sanity check for libxml2 (`#842 `_) * correctly handle deprecated configure options (``--with-hwloc``/``--enable-mpe``) in MVAPICH2 easyblock (`#853 `_) * use correct configure option for checkpoint/restart in MVAPICH2 easyblock (`#854 `_) * ensure list of Python lib dirs always has a '``lib/...``' entry (`#858 `_) * check whether ``rpm``/``rpmrebuild`` commands are available using '``which``', rather than checking for OS deps (`#864 `_) * fix ``test_step`` in UFC easyblock (`#872 `_) **easyconfigs** * added example easyconfig files for 63 new software packages: * ATSAS (`#616 `_, `#2587 `_), astropy (`#2724 `_, `#2727 `_), attr (`#2706 `_), BamUtil (`#2654 `_), BBMap (`#2322 `_), BH (`#2508 `_), CheMPS2 (`#2445 `_), CosmoloPy (`#2723 `_, `#2727 `_), csvkit (`#2639 `_), Firefox (`#2648 `_), FreeXL (`#2422 `_), GL2PS (`#2667 `_), Glade (`#2631 `_), htop (`#2538 `_), IGV (`#2019 `_), IGVTools (`#2019 `_), ImageMagick (`#2438 `_), jModelTest (`#2529 `_), KEALib (`#2420 `_), libcerf (`#2656 `_), libgcrypt (`#2201 `_), libglade (`#2631 `_), libgpg-error (`#2201 `_), libspatialite (`#2431 `_), LittleCMS (`#2438 `_), MAST (`#2542 `_), MLC (`#2577 `_), MPJ-Express (`#2529 `_), mutil (`#2201 `_), neon (`#758 `_), NextClip (`#2544 `_), npstat (`#2686 `_, `#2703 `_), Octopus (`#2643 `_), QuickFF (`#2721 `_), p4vasp (`#2328 `_), PCMSolver (`#2445 `_), PFFT (`#2643 `_), PHYLIP (`#2694 `_), pkgconfig (`#2475 `_, `#2476 `_), Platypus (`#2618 `_), pplacer (`#1056 `_), PRINSEQ (`#2437 `_, `#2444 `_, `#2585 `_), PyFFmpeg (`#2501 `_, `#2519 `_), PyGObject (`#2443 `_), PyGTK (`#2443 `_), PyOpenGL (`#2628 `_), pyringe (`#2533 `_), qrupdate (`#2675 `_), rgeos (`#2635 `_), rpmrebuild (`#2402 `_), shift (`#2201 `_), SNAPE-pooled (`#2688 `_), SNPhylo (`#2701 `_), sratoolkit (`#2715 `_), STAR-Fusion (`#2463 `_), statsmodels (`#2719 `_), StringTie (`#2527 `_), synchronicity (`#2508 `_), testpath (`#2461 `_), USEARCH (`#2537 `_), VarScan (`#2464 `_), vsc-install (`#2165 `_), Whoosh (`#2725 `_), xprop (`#2645 `_) * added new easyconfigs for existing toolchains: * ``intel/2016.02-GCC-4.9`` (`#2620 `_), ``gmpolf/2016a`` & ``gmvolf/2016a`` (`#2589 `_) * stable Cray-specific easyconfigs * delete deprecated Cray toolchains and easyconfig files (`#2400 `_) * don't hardcode ``PrgEnv`` version, remove ``craype`` and ``fftw`` components in Cray toolchains (`#2554 `_) * remove ``-XC`` versionsuffix for stable definitions for ``Cray*`` toolchains (`#2714 `_) * support for various software packages with ``CrayGNU`` and ``CrayIntel`` toolchains: CP2K, GROMACS, WRF * added additional easyconfigs for various supported software packages: version updates, different toolchains, ... * including BWA 0.7.13, CMake 3.4.3, GATE 7.2, GROMACS 5.1.2, Mesa 11.1.2, netCDF 4.4.0, Perl 5.22.1, Python 3.5.1, R 3.2.3, R-bundle-Bioconductor 3.2, scipy 0.17.0, SuiteSparse 4.5.1 * various other enhancements, including: * copy ``contrib`` dir in Velvet easyconfigs so scripts are also available (`#2456 `_) * redefine matplotlib 1.5.1 easyconfig as a bundle, also include ``cycler`` extension (dep for matplotlib) (`#2470 `_) * add bitstring extension to Python 2.7.11 easyconfigs (`#2471 `_) * enable building of MetaVelvet in Velvet 1.2.10 easyconfigs (`#2473 `_) * add custom sanity check for libjpeg-turbo (`#2480 `_) * add Velvet easyconfigs that include BioPerl dependency, so VelvetOptimizer can use it (`#2495 `_, `#2729 `_, `#2733 `_) * add source URL in RAxML 7.2.6 easyconfigs (`#2536 `_) * update MPICH easyconfigs to use new MPICH easyblock (`#2589 `_) * free libX11 & co from unneeded Python dependency/versionsuffix (`#2549 `_, `#2563 `_, `#2605 `_, `#2664 `_) * add '``--enable-utf --enable-unicode-properties``' configure options in PCRE easyconfigs (`#2561 `_) * required for latest R versions * add HCsnip, metagenomeSeq in Bioconductor 3.1 bundles (`#2553 `_, `#2578 `_) * add additional extensions in R 3.2.x easyconfigs that are required for extra Bioconductor extensions (`#2547 `_, `#2556 `_) * update psmpi easyconfig files to use the new psmpi easyblock (`#2619 `_) * add easyconfig for Python 2.7.11 on top of X11-enabled Tk (`#2614 `_, `#2621 `_) * add virtualenv as extension in Python 2.7.11 easyconfigs (`#2660 `_) * various bug fixes, including: * fix software name for GTK+ (was 'gtk+'), PyCairo (was 'pycairo') and Gdk-Pixbuf (was 'gdk-pixbuf') (`#2468 `_) * don't hardcode ``CC``/``CXX`` in OpenMPI easyconfigs (`#2472 `_) * remove Google Code source URL for mpi4py (`#2474 `_) * rename ffmpeg to FFmpeg (`#2425 `_, `#2481 `_) * use available easyblock for flex (`#2486 `_) * fix determining list of easyconfigs in unit test suite, don't assume locations are correct (`#2530 `_) * fix specifying DB dependency in DB_File easyconfigs (`#2539 `_) * remove hard-coded ``-xSSE4.2`` for numpy/scipy with Intel compilers (`#2546 `_) * fix license headers: Hercules foundation is now FWO (`#2550 `_) * add ``--with-zlib`` configure argument in libxml easyconfigs (`#2555 `_) * don't hardcode ``optarch=True`` in xextproto/xtrans easyconfigs (`#2601 `_) * change toolchain version to '' in easyconfigs that use ``dummy`` toolchain and include dependencies (`#2612 `_) * GLib doesn't require libxml2 with Python bindings (`#2632 `_) * add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with '``--``' in build path (`#2634 `_) * add missing 'pkgconfig' dependency for h5py (`#2476 `_, `#2650 `_) * correct software name in FastQC easyconfigs (was 'fastqc'), use '``dummy``' toolchain for all FastQC version (`#2657 `_, `#2666 `_) * add missing libxml2 dependencies in GLib easyconfigs (`#2658 `_) * fix Xerces-C++ download location (`#2668 `_) * enable ``XML::Bare`` extension in all Perl easyconfigs (`#2672 `_) * update dead link for SuiteSparse (`#2679 `_) * remove custom ``exts_filter`` in easyconfigs used ``PythonPackage`` easyblock (`#2683 `_, `#2685 `_) * add M4 as build dep for binutils & flex (`#2681 `_) * add missing dependencies in Python 3.5.x easyconfigs: SQLite, Tk, GMP (`#2704 `_) * fix (OS) deps, add checksums, remove parameter definition with default values in MVAPICH2 easyconfigs (`#2707 `_) * style cleanup in various easyconfigs (`#2378 `_, `#2387 `_, `#2395 `_, `#2396 `_, `#2488 `_-`#2493 `_, `#2496 `_-`#2500 `_, `#2502 `_-`#2504 `_, `#2602 `_) * working towards automated style review of pull requests .. _release_notes_eb260: 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: * EggLib (`#811 `_), PGI (`#658 `_) * 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: * BLASR (`#922 `_), BioKanga (`#2247 `_), BoltzTraP (`#2365 `_), basemap (`#2221 `_), CppUnit (`#2271 `_), EggLib (`#2335 `_), FLASH (`#2281 `_), GLM (`#2288 `_), hub (`#2249 `_), MACS2 (`#1983 `_), MotEvo (`#843 `_), numba (`#2243 `_), PGI (`#1833 `_, `#2367 `_), PLY (`#2305 `_), PaStiX (`#2319 `_, `#2326 `_), patchelf (`#2327 `_), pip (`#2284 `_), RSEM (`#2316 `_), RcppArmadillo (`#2289 `_), SCDE (`#2289 `_), slepc4py (`#2318 `_) * 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 `_) .. _release_notes_eb250: 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 `_) * see also :ref:`controlling_compiler_optimization_flags` * 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: * Intel Advisor (`#767 `_), DIRAC (`#778 `_), MRtrix (`#772 `_) * 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: * DIRAC (`#2212 `_), GeoIP (`#2172 `_, `#2185 `_), GeoIP-C (`#2172 `_, `#2185 `_), graph-tool (`#1591 `_), gtkglext (`#2217 `_), Intel Advisor (`#2210 `_), InterProScan (`#2225 `_, `#2227 `_, `#2234 `_), intltool (`#2136 `_), kallisto (`#2173 `_), LibUUID (`#1930 `_), LuaJIT (`#2153 `_), libXcursor (`#2136 `_), libXrandr (`#2136 `_), libXtst (`#2143 `_), libdap (`#1930 `_), libtasn1 (`#2208 `_), libxkbcommon (`#2136 `_), MRtrix (`#2217 `_, `#2218 `_), MultiNest (`#2166 `_, `#2168 `_), Nipype (`#2150 `_), PPfold (`#2183 `_, `#2187 `_), p11-kit (`#2208 `_), pangox-compat (`#2217 `_), Qt5 (`#2136 `_), randrproto (`#2136 `_), rhdf5 (`#2175 `_), Stampy (`#2180 `_, `#2182 `_), scikit-umfpack (`#2061 `_), scp (Python pkg) (`#2196 `_), sleuth (`#2175 `_), traits (`#2150 `_), vincent (`#2169 `_, `#2185 `_), XKeyboardConfig (`#2136 `_), xcb-util (`#2136 `_), xcb-util-image (`#2136 `_), xcb-util-keysyms (`#2136 `_), xcb-util-renderutil (`#2136 `_), xcb-util-wm (`#2136 `_), zlibbioc (`#2175 `_) * 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 `_) .. _release_notes_eb240: v2.4.0 (November 10th 2015) --------------------------- feature + bugfix release **framework** * add support for ``--extended-dry-run``/``-x`` (`#1388 `_, `#1450 `_, `#1453 `_, `#1455 `_) * detailed documentation is available at :ref:`extended_dry_run` * 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 `_) * see also :ref:`easyconfig_yeb_format` * add experimental support for resolving dependencies with minimal toolchains (`#1306 `_) * see also :ref:`minimal_toolchains` * 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 `_) * required to avoid that setuptools transforms the version itself * see also https://www.python.org/dev/peps/pep-0440/#developmental-releases * 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: * OCaml (`#467 `_), Samcef (`#678 `_) * 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 `_) * see also :ref:`extended_dry_run_guidelines_easyblocks` * 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 `_) * required to avoid that setuptools transforms the version itself * see also https://www.python.org/dev/peps/pep-0440/#developmental-releases * 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: * animation (`#2007 `_), ANSYS CFD (`#1969 `_), ANTLR (`#1191 `_, `#1980 `_), APR (`#1970 `_), APR-util (`#1970 `_), Aspera Connect (`#2005 `_), ChIP-Seq (`#2119 `_), deap (`#2082 `_), DISCOVARdenovo (`#1932 `_), FastQC (`#1984 `_), fontsproto (`#1618 `_, `#2038 `_), GraphicsMagick (`#2007 `_), HBase (`#1990 `_), ISIS (`#1972 `_), libedit (`#293 `_), libfontenc (`#1618 `_, `#2038 `_), libGLU (`#1627 `_), libXdamage (`#1618 `_, `#2038 `_), libXfont (`#1618 `_, `#2038 `_), LLVM (`#1620 `_, `#1989 `_, `#2031 `_), MIGRATE-N (`#1944 `_), MIRA (`#1938 `_), mympingpong (`#2049 `_), MySQLdb (`#2011 `_), NCO (`#1191 `_, `#1980 `_), NIPY (`#2064 `_), Nilearn (`#2064 `_), NiBabel (`#2064 `_), PBZIP2 (`#1038 `_), PIL (`#2062 `_), PhyloCSF (`#2018 `_), pycairo (`#2085 `_), pydicom (`#2063 `_), Salmon (`#2051 `_), Samcef (`#1941 `_), scikit-image (`#1974 `_, `#2006 `_), Serf (`#1970 `_), SSAHA2 (`#1039 `_), Subversion (`#1970 `_), SWASH (`#2059 `_), time (`#1954 `_), Trim_Galore (`#1984 `_), Trimmomatic (`#1987 `_), WEKA (`#1986 `_), x264 (`#2017 `_) * 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 `_) * required to avoid that setuptools transforms the version itself * see also https://www.python.org/dev/peps/pep-0440/#developmental-releases * 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 .. _release_notes_eb230: 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: * MCR (`#623 `_), Molpro (`#665 `_) * 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: * ATK (`#1780 `_), Atkmm (`#1780 `_), cairomm (`#1780 `_), GLibmm (`#1780 `_), GlobalArrays (`#1868 `_), gdk-pixbuf (`#1780 `_), gtk+ (`#1780 `_), Gtkmm (`#1780 `_), libbeef (`#1827 `_), libsigc++ (`#1780 `_), libsodium (`#1876 `_), MACS (`#1869 `_), MCR (`#1677 `_), Molpro (`#1880 `_), NFFT (`#1921 `_), p7zip (`#1931 `_), Pangomm (`#1780 `_), pygraphviz (`#1861 `_), pycosat (`#1859 `_) * 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 `_) .. _release_notes_eb220: v2.2.0 (July 15th 2015) ----------------------- feature + bugfix release **framework** * add support for using GC3Pie as a backend for ``--job`` (`#1008 `_) * see also :ref:`submitting_jobs` * add support for ``--include-*`` configuration options to include additional easyblocks, toolchains, etc. (`#1301 `_) * see :ref:`including_additional_python_modules` * add (experimental) support for packaging installed software using FPM (`#1224 `_) * see :ref:`packaging_support` * 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: * NEMO (`#564 `_), pbdMPI (`#612 `_), `#620 `_), pbdSLAP (`#620 `_), PDT (`#624 `_), Ruby (`#565 `_) * 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: * ADF (`#899 `_), AutoDock_Vina (`#808 `_), bibtexparser (`#1726 `_), Biggus (`#1770 `_), Bismark (`#990 `_), blasr (`#1662 `_), BSMAP (`#1171 `_), Check (`#811 `_), Circuitscape (`#1222 `_), CONTRAfold (`#689 `_), cramtools (`#1741 `_), DBD-Pg (`#1066 `_), DendroPy (`#995 `_), EMAN2 (`#1737 `_), ETSF_IO (`#727 `_), eudev (`#1578 `_), fastqc (`#1636 `_), FDS (`#814 `_), `#1617 `_), `#1625 `_), FPM (`#1440 `_), frealign (`#1619 `_), g2log (`#1035 `_), GC3Pie (`#1692 `_), `#1756 `_), `#1768 `_), GenotypeHarmonizer (`#1672 `_), gensim (`#1762 `_), GraphViz (`#1658 `_), hisat (`#1674 `_), IDBA-UD (`#1045 `_), IMa2 (`#828 `_), IMPUTE2 (`#824 `_), JUBE (`#1396 `_), LAMARC (`#760 `_), libXScrnSaver (`#1653 `_), MATIO (`#1004 `_), MuTect (`#1483 `_), ncdf (`#617 `_), NEMO (`#1640 `_), ngspice (`#1116 `_), ordereddict (`#1774 `_), OSU Micro-Benchmarks (`#1777 `_), Parallel-ForkManager (`#847 `_), pBWA (`#1009 `_), PeakSeq (`#1412 `_), Pillow (`#1702 `_), Pindel (`#1126 `_), PLUMED (`#1596 `_), `#1665 `_), PostgreSQL (`#1066 `_), PROJ (`#1006 `_), PyAMG (`#1222 `_), Pyke (`#1776 `_), rpy2 (`#1775 `_), Sailfish (`#1035 `_), SCANMS (`#1386 `_), Seaborn (`#1763 `_), snpEff (`#1680 `_), SOBAcl (`#1658 `_), SPIDER (`#1624 `_), `#1723 `_), STAR (`#1043 `_), `#1676 `_), system GCC (`#1778 `_), tabix (`#1059 `_), tecplot360ex (`#1100 `_), Vampir (`#512 `_), VampirServer (`#512 `_), verifyBamID (`#1675 `_) * added easyconfigs for 4 new software bundles: * R-bundle-Bioconductor (`#1573 `_), `#1795 `_), R-bundle-devtools (`#1621 `_), `#1759 `_), R-bundle-extra (`#1387 `_), `#1759 `_), R-bundle-pbd (`#1659 `_) * 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 `_) .. _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