From 45c247971fb5cd877a31db85c4e4b69b15a9fd24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= <lukas.krupcik@vsb.cz>
Date: Mon, 8 Jan 2018 13:59:58 +0100
Subject: [PATCH] 	deleted:    easyblocks/a/allineabase.pyo 
 deleted:    "easyblocks/c/\\" 	deleted:    easyblocks/c/clang.py 
 deleted:    easyblocks/c/clang.py.old 	deleted:    easyblocks/g/gcc.py 
 deleted:    easyblocks/g/gpi_2.pyo 	deleted:    easyblocks/l/lammps.pyo 
 deleted:    easyblocks/o/opencl.pyo 	deleted:    easyblocks/p/__init__.py 
 deleted:    easyblocks/p/p4vasp.py 	deleted:    easyblocks/p/p4vasp.pyo 
 deleted:    easyblocks/q/qscintilla.pyo 	deleted:   
 easyblocks/q/qwt.pyo 	deleted:    easyblocks/s/snucl.pyo 	deleted:   
 toolchains/__init__.py 	deleted:    toolchains/__init__.pyo 
 deleted:    toolchains/gcccore.py 	deleted:    toolchains/gnu.py 
 deleted:    tools/__init__.py 	deleted:    tools/__init__.pyc 	deleted:   
 tools/__init__.pyo 	deleted:    tools/module_naming_scheme/__init__.py 
 deleted:    tools/module_naming_scheme/__init__.pyo 	deleted:   
 tools/module_naming_scheme/it4i-uv_module_naming_scheme.py 	deleted:   
 tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyc 	deleted:   
 tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyo 	deleted:   
 tools/module_naming_scheme/it4i_module_naming_scheme.py 	deleted:   
 tools/module_naming_scheme/it4i_module_naming_scheme.pyc 	deleted:   
 tools/module_naming_scheme/it4i_module_naming_scheme.pyo

---
 easyblocks/a/allineabase.pyo                  | Bin 1062 -> 0 bytes
 "easyblocks/c/\\"                             | 432 -------------
 easyblocks/c/clang.py                         | 420 -------------
 easyblocks/c/clang.py.old                     | 403 ------------
 easyblocks/g/gcc.py                           | 574 ------------------
 easyblocks/g/gpi_2.pyo                        | Bin 1262 -> 0 bytes
 easyblocks/l/lammps.pyo                       | Bin 1691 -> 0 bytes
 easyblocks/o/opencl.pyo                       | Bin 1691 -> 0 bytes
 easyblocks/p/__init__.py                      |   0
 easyblocks/p/p4vasp.py                        |  59 --
 easyblocks/p/p4vasp.pyo                       | Bin 2098 -> 0 bytes
 easyblocks/q/qscintilla.pyo                   | Bin 1647 -> 0 bytes
 easyblocks/q/qwt.pyo                          | Bin 2094 -> 0 bytes
 easyblocks/s/snucl.pyo                        | Bin 3054 -> 0 bytes
 toolchains/__init__.py                        |   0
 toolchains/__init__.pyo                       | Bin 142 -> 0 bytes
 toolchains/gcccore.py                         |  39 --
 toolchains/gnu.py                             |  36 --
 tools/__init__.py                             |   3 -
 tools/__init__.pyc                            | Bin 239 -> 0 bytes
 tools/__init__.pyo                            | Bin 239 -> 0 bytes
 tools/module_naming_scheme/__init__.py        |   3 -
 tools/module_naming_scheme/__init__.pyo       | Bin 260 -> 0 bytes
 .../it4i-uv_module_naming_scheme.py           | 116 ----
 .../it4i-uv_module_naming_scheme.pyc          | Bin 4426 -> 0 bytes
 .../it4i-uv_module_naming_scheme.pyo          | Bin 4451 -> 0 bytes
 .../it4i_module_naming_scheme.py              | 114 ----
 .../it4i_module_naming_scheme.pyc             | Bin 3826 -> 0 bytes
 .../it4i_module_naming_scheme.pyo             | Bin 3846 -> 0 bytes
 29 files changed, 2199 deletions(-)
 delete mode 100644 easyblocks/a/allineabase.pyo
 delete mode 100644 "easyblocks/c/\\"
 delete mode 100644 easyblocks/c/clang.py
 delete mode 100644 easyblocks/c/clang.py.old
 delete mode 100644 easyblocks/g/gcc.py
 delete mode 100644 easyblocks/g/gpi_2.pyo
 delete mode 100644 easyblocks/l/lammps.pyo
 delete mode 100644 easyblocks/o/opencl.pyo
 delete mode 100644 easyblocks/p/__init__.py
 delete mode 100644 easyblocks/p/p4vasp.py
 delete mode 100644 easyblocks/p/p4vasp.pyo
 delete mode 100644 easyblocks/q/qscintilla.pyo
 delete mode 100644 easyblocks/q/qwt.pyo
 delete mode 100644 easyblocks/s/snucl.pyo
 delete mode 100644 toolchains/__init__.py
 delete mode 100644 toolchains/__init__.pyo
 delete mode 100644 toolchains/gcccore.py
 delete mode 100644 toolchains/gnu.py
 delete mode 100644 tools/__init__.py
 delete mode 100644 tools/__init__.pyc
 delete mode 100644 tools/__init__.pyo
 delete mode 100644 tools/module_naming_scheme/__init__.py
 delete mode 100644 tools/module_naming_scheme/__init__.pyo
 delete mode 100644 tools/module_naming_scheme/it4i-uv_module_naming_scheme.py
 delete mode 100644 tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyc
 delete mode 100644 tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyo
 delete mode 100644 tools/module_naming_scheme/it4i_module_naming_scheme.py
 delete mode 100644 tools/module_naming_scheme/it4i_module_naming_scheme.pyc
 delete mode 100644 tools/module_naming_scheme/it4i_module_naming_scheme.pyo

diff --git a/easyblocks/a/allineabase.pyo b/easyblocks/a/allineabase.pyo
deleted file mode 100644
index 591036e40fcf27feb914224b8c15e7a3511631dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1062
zcmcckiI;0-14l$M0~D|_FfceUFfbH@h!h5fC<cZUMurq7hHOTL943Y+CI&_jpP3<>
znIVUTA&P~8F@=R8m5CvZks*bZp@o5=nSmiPij^USjUiZr9b{5F0|Nt>YhrPwQ)y;S
zib8Q|K|y{|i9%X_kwOwkBr`8vAu%sSAv3SIBrzuk#B~Hwsfh~3`DrEPiAAY8T$#BA
zIjOm+c_pbS3W>!EiFpdCiN%#kIr+)idR$x%iKQhO`9)R=KBc*tMG9Vt#hLlp3L2gv
zCJLT;dHH3DC7Jno#hP51|NsC0uffQ`z)-@;z`y`@6vzmO5XiMfrFrqmxhW;w3=9lV
zS2!gWr^3Srq}K`LD{%$}hExWIC`JZQC^3OTsfB?dikTrOSc3_qz=VN;A(#xmCWEX1
znZUxpz~BrrNs$2@2{jB1nG6hKwTuiUj0`p4NGV}rXl7(&OkrjS)&MClHU(J<3ad(m
zqS8EtlGKV4Xt3%PXDAeB7iAWdD3oWGWWYi@C9_DOAh9H)SQTVb2D%Pi-NfYN)PfS-
zoXq6ZyyR2`)#4IRFy-W@$0z3G_-QbM!jg-DfdOhwN@h_I$O9!H=Y$lMrh)?l%qvdK
zNh<-VPtHxz03|mtQEbk@z@QI~Oi*IbFQ_cZ$j?I(084=)saQWzADli?6O$5)Q}qfe
zOL!0##}}8R7D$3T0kWBaiI))^A|)IQ3=Hw{d5O8H@$n@fhsMX}=BJeAfVd!^#K))P
zC&$MJfz*K=gdiw!S`a7(#bC~1V`O9U(_mv@U<d*wtP)vJ;sK>!keBt+iV|~E%kzt}
z_27OD0)<bBFp9F0{QR6^y`s`QZ~%iXK)4mmqQt@AfU<!Ejhz6<;UMR-F$pjVFarRP
C;1VVP

diff --git "a/easyblocks/c/\\" "b/easyblocks/c/\\"
deleted file mode 100644
index e372a40..0000000
--- "a/easyblocks/c/\\"
+++ /dev/null
@@ -1,432 +0,0 @@
-##
-# Copyright 2013 Dmitri Gribenko
-# Copyright 2013-2017 Ghent University
-# Copyright 2017 IT4Innovations
-#
-# This file is triple-licensed under GPLv2 (see below), MIT, and
-# BSD three-clause licenses.
-#
-# This file is part of EasyBuild,
-# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
-# with support of Ghent University (http://ugent.be/hpc),
-# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
-# Flemish Research Foundation (FWO) (http://www.fwo.be/en)
-# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
-#
-# https://github.com/easybuilders/easybuild
-#
-# EasyBuild is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation v2.
-#
-# EasyBuild is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
-##
-"""
-Support for building and installing Clang, implemented as an easyblock.
-
-@author: Dmitri Gribenko (National Technical University of Ukraine "KPI")
-@author: Ward Poelmans (Ghent University)
-@author: Josef Hrabal, Lukas Krupcik (IT4innovations, Czechia)
-"""
-
-import fileinput
-import glob
-import os
-import re
-import shutil
-import sys
-from distutils.version import LooseVersion
-
-from easybuild.easyblocks.generic.cmakemake import CMakeMake
-from easybuild.framework.easyconfig import CUSTOM
-from easybuild.tools import run
-from easybuild.tools.build_log import EasyBuildError
-from easybuild.tools.config import build_option
-from easybuild.tools.filetools import mkdir
-from easybuild.tools.modules import get_software_root
-from easybuild.tools.run import run_cmd
-from easybuild.tools.systemtools import get_os_name, get_os_version, get_shared_lib_ext
-
-# List of all possible build targets for Clang
-CLANG_TARGETS = ["all", "AArch64", "ARM", "CppBackend", "Hexagon", "Mips",
-                 "MBlaze", "MSP430", "NVPTX", "PowerPC", "R600", "Sparc",
-                 "SystemZ", "X86", "XCore"]
-
-
-class EB_Clang(CMakeMake):
-    """Support for bootstrapping Clang."""
-
-    @staticmethod
-    def extra_options():
-        extra_vars = {
-            'assertions': [True, "Enable assertions.  Helps to catch bugs in Clang.", CUSTOM],
-            'build_targets': [["X86"], "Build targets for LLVM. Possible values: " + ', '.join(CLANG_TARGETS), CUSTOM],
-            'bootstrap': [True, "Bootstrap Clang using GCC", CUSTOM],
-            'usepolly': [False, "Build Clang with polly", CUSTOM],
-            'static_analyzer': [True, "Install the static analyser of Clang", CUSTOM],
-            # The sanitizer tests often fail on HPC systems due to the 'weird' environment.
-            'skip_sanitizer_tests': [False, "Do not run the sanitizer tests", CUSTOM],
-        }
-
-        return CMakeMake.extra_options(extra_vars)
-
-    def __init__(self, *args, **kwargs):
-        """Initialize custom class variables for Clang."""
-
-        super(EB_Clang, self).__init__(*args, **kwargs)
-        self.llvm_src_dir = None
-        self.llvm_obj_dir_stage1 = None
-        self.llvm_obj_dir_stage2 = None
-        self.llvm_obj_dir_stage3 = None
-        self.make_parallel_opts = ""
-
-        unknown_targets = [target for target in self.cfg['build_targets'] if target not in CLANG_TARGETS]
-
-        if unknown_targets:
-            raise EasyBuildError("Some of the chosen build targets (%s) are not in %s.",
-                                 ', '.join(unknown_targets), ', '.join(CLANG_TARGETS))
-
-        if LooseVersion(self.version) < LooseVersion('3.4') and "R600" in self.cfg['build_targets']:
-            raise EasyBuildError("Build target R600 not supported in < Clang-3.4")
-
-        if LooseVersion(self.version) > LooseVersion('3.3') and "MBlaze" in self.cfg['build_targets']:
-            raise EasyBuildError("Build target MBlaze is not supported anymore in > Clang-3.3")
-
-    def check_readiness_step(self):
-        """Fail early on RHEL 5.x and derivatives because of known bug in libc."""
-        super(EB_Clang, self).check_readiness_step()
-        # RHEL 5.x have a buggy libc.  Building stage 2 will fail.
-        if get_os_name() in ['redhat', 'RHEL', 'centos', 'SL'] and get_os_version().startswith('5.'):
-            raise EasyBuildError("Can not build Clang on %s v5.x: libc is buggy, building stage 2 will fail. "
-                                 "See http://stackoverflow.com/questions/7276828/", get_os_name())
-
-    def extract_step(self):
-        """
-        Prepare a combined LLVM source tree.  The layout is:
-        llvm/                  Unpack llvm-*.tar.gz here
-          projects/
-            compiler-rt/       Unpack compiler-rt-*.tar.gz here
-            openmp/            Unpack openmp-*.tar.xz here
-            libcxx/            Unpack libcxx-*.tar.xz here
-            libcxxabi/         Unpack libcxxapbi-*.tar.xz here
-          tools/
-            clang/             Unpack cfe-*.tar.gz here
-              tools/extra  Unpack clang-*.tar.gz here
-            polly/             Unpack polly-*.tar.gz here
-        """
-
-        # Extract everything into separate directories.
-        super(EB_Clang, self).extract_step()
-
-        # Find the full path to the directory that was unpacked from llvm-*.tar.gz.
-        for tmp in self.src:
-            if tmp['name'].startswith("llvm-"):
-                self.llvm_src_dir = tmp['finalpath']
-                break
-
-        if self.llvm_src_dir is None:
-            raise EasyBuildError("Could not determine LLVM source root (LLVM source was not unpacked?)")
-
-        src_dirs = {}
-
-        def find_source_dir(globpatterns, targetdir):
-            """Search for directory with globpattern and rename it to targetdir"""
-            if not isinstance(globpatterns, list):
-                globpatterns = [globpatterns]
-
-            glob_src_dirs = [glob_dir for globpattern in globpatterns for glob_dir in glob.glob(globpattern)]
-            if len(glob_src_dirs) != 1:
-                raise EasyBuildError("Failed to find exactly one source directory for pattern %s: %s", globpatterns,
-                                     glob_src_dirs)
-            src_dirs[glob_src_dirs[0]] = targetdir
-
-        find_source_dir('compiler-rt-*', os.path.join(self.llvm_src_dir, 'projects', 'compiler-rt'))
-
-        if self.cfg["usepolly"]:
-            find_source_dir('polly-*', os.path.join(self.llvm_src_dir, 'tools', 'polly'))
-
-        find_source_dir('cfe-*', os.path.join(self.llvm_src_dir, 'tools', 'clang'))
-
-        find_source_dir('clang-*', os.path.join(self.llvm_src_dir, 'tools', 'clang', 'tools', 'extra'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libcxx-*', os.path.join(self.llvm_src_dir, 'projects', 'libcxx'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libcxxabi-*', os.path.join(self.llvm_src_dir, 'projects', 'libcxxabi'))
-
-        if LooseVersion(self.version) >= LooseVersion('3.8'):
-            find_source_dir('openmp-*', os.path.join(self.llvm_src_dir, 'projects', 'openmp'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('ldd-*', os.path.join(self.llvm_src_dir, 'tools', 'ldd'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('lddb-*', os.path.join(self.llvm_src_dir, 'tools', 'lddb'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libunwind-*', os.path.join(self.llvm_src_dir, 'tools', 'libunwind'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('test-*', os.path.join(self.llvm_src_dir, 'tools', 'testsuite'))
-
-        for src in self.src:
-            for (dirname, new_path) in src_dirs.items():
-                if src['name'].startswith(dirname):
-                    old_path = os.path.join(src['finalpath'], dirname)
-                    try:
-                        shutil.move(old_path, new_path)
-                    except IOError, err:
-                        raise EasyBuildError("Failed to move %s to %s: %s", old_path, new_path, err)
-                    src['finalpath'] = new_path
-                    break
-
-    def configure_step(self):
-	if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).configure_step()
-            return
-
-        """Run CMake for stage 1 Clang."""
-        self.llvm_obj_dir_stage1 = os.path.join(self.builddir, 'llvm.obj.1')
-        if self.cfg['bootstrap']:
-            self.llvm_obj_dir_stage2 = os.path.join(self.builddir, 'llvm.obj.2')
-            self.llvm_obj_dir_stage3 = os.path.join(self.builddir, 'llvm.obj.3')
-
-        if LooseVersion(self.version) >= LooseVersion('3.3'):
-            disable_san_tests = False
-            # all sanitizer tests will fail when there's a limit on the vmem
-            # this is ugly but I haven't found a cleaner way so far
-            (vmemlim, ec) = run_cmd("ulimit -v", regexp=False)
-            if not vmemlim.startswith("unlimited"):
-                disable_san_tests = True
-                self.log.warn("There is a virtual memory limit set of %s KB. The tests of the "
-                              "sanitizers will be disabled as they need unlimited virtual "
-                              "memory unless --strict=error is used." % vmemlim.strip())
-
-            # the same goes for unlimited stacksize
-            (stacklim, ec) = run_cmd("ulimit -s", regexp=False)
-            if stacklim.startswith("unlimited"):
-                disable_san_tests = True
-                self.log.warn("The stacksize limit is set to unlimited. This causes the ThreadSanitizer "
-                              "to fail. The sanitizers tests will be disabled unless --strict=error is used.")
-
-            if (disable_san_tests or self.cfg['skip_sanitizer_tests']) and build_option('strict') != run.ERROR:
-                self.log.debug("Disabling the sanitizer tests")
-                self.disable_sanitizer_tests()
-
-        # Create and enter build directory.
-        mkdir(self.llvm_obj_dir_stage1)
-        os.chdir(self.llvm_obj_dir_stage1)
-
-        # GCC and Clang are installed in different prefixes and Clang will not
-        # find the GCC installation on its own.
-        # First try with GCCcore, as GCC built on top of GCCcore is just a wrapper for GCCcore and binutils,
-        # instead of a full-fledge compiler
-        gcc_prefix = get_software_root('GCCcore')
-
-        # If that doesn't work, try with GCC
-        if gcc_prefix is None:
-            gcc_prefix = get_software_root('GCC')
-
-        # If that doesn't work either, print error and exit
-        if gcc_prefix is None:
-            raise EasyBuildError("Can't find GCC or GCCcore to use")
-
-        self.cfg.update('configopts', "-DGCC_INSTALL_PREFIX='%s' " % gcc_prefix)
-        self.log.debug("Using %s as GCC_INSTALL_PREFIX", gcc_prefix)
-
-        self.cfg['configopts'] += "-DCMAKE_BUILD_TYPE=Release "
-        if self.cfg['assertions']:
-            self.cfg['configopts'] += "-DLLVM_ENABLE_ASSERTIONS=ON "
-        else:
-            self.cfg['configopts'] += "-DLLVM_ENABLE_ASSERTIONS=OFF "
-
-        self.cfg['configopts'] += '-DLLVM_TARGETS_TO_BUILD="%s" ' % ';'.join(self.cfg['build_targets'])
-
-        if self.cfg['parallel']:
-            self.make_parallel_opts = "-j %s" % self.cfg['parallel']
-
-        self.log.info("Configuring")
-        super(EB_Clang, self).configure_step(srcdir=self.llvm_src_dir)
-
-    def disable_sanitizer_tests(self):
-        """Disable the tests of all the sanitizers by removing the test directories from the build system"""
-        if LooseVersion(self.version) < LooseVersion('3.6'):
-            # for Clang 3.5 and lower, the tests are scattered over several CMakeLists.
-            # We loop over them, and patch out the rule that adds the sanitizers tests to the testsuite
-            patchfiles = [
-                "lib/asan",
-                "lib/dfsan",
-                "lib/lsan",
-                "lib/msan",
-                "lib/tsan",
-                "lib/ubsan",
-            ]
-
-            for patchfile in patchfiles:
-                patchfile_fp = os.path.join(self.llvm_src_dir, "projects/compiler-rt", patchfile, "CMakeLists.txt")
-                if os.path.exists(patchfile_fp):
-                    self.log.debug("Patching %s in %s" % (patchfile, self.llvm_src_dir))
-                    try:
-                        for line in fileinput.input(patchfile_fp, inplace=1, backup='.orig'):
-                            if "add_subdirectory(lit_tests)" not in line:
-                                sys.stdout.write(line)
-                    except (IOError, OSError), err:
-                        raise EasyBuildError("Failed to patch %s: %s", patchfile_fp, err)
-                else:
-                    self.log.debug("Not patching non-existent %s in %s" % (patchfile, self.llvm_src_dir))
-
-            # There is a common part seperate for the specific saniters, we disable all
-            # the common tests
-            patchfile = "projects/compiler-rt/lib/sanitizer_common/CMakeLists.txt"
-            try:
-                for line in fileinput.input("%s/%s" % (self.llvm_src_dir, patchfile), inplace=1, backup='.orig'):
-                    if "add_subdirectory(tests)" not in line:
-                        sys.stdout.write(line)
-            except IOError, err:
-                raise EasyBuildError("Failed to patch %s/%s: %s", self.llvm_src_dir, patchfile, err)
-        else:
-            # In Clang 3.6, the sanitizer tests are grouped together in one CMakeLists
-            # We patch out adding the subdirectories with the sanitizer tests
-            patchfile = "projects/compiler-rt/test/CMakeLists.txt"
-            patchfile_fp = os.path.join(self.llvm_src_dir, patchfile)
-            self.log.debug("Patching %s in %s" % (patchfile, self.llvm_src_dir))
-            patch_regex = re.compile(r'add_subdirectory\((.*san|sanitizer_common)\)')
-            try:
-                for line in fileinput.input(patchfile_fp, inplace=1, backup='.orig'):
-                    if not patch_regex.search(line):
-                        sys.stdout.write(line)
-            except IOError, err:
-                raise EasyBuildError("Failed to patch %s: %s", patchfile_fp, err)
-
-    def build_with_prev_stage(self, prev_obj, next_obj):
-        """Build Clang stage N using Clang stage N-1"""
-
-        # Create and enter build directory.
-        mkdir(next_obj)
-        os.chdir(next_obj)
-
-        # Configure.
-        CC = os.path.join(prev_obj, 'bin', 'clang')
-        CXX = os.path.join(prev_obj, 'bin', 'clang++')
-
-        options = "-DCMAKE_INSTALL_PREFIX=%s " % self.installdir
-        options += "-DCMAKE_C_COMPILER='%s' " % CC
-        options += "-DCMAKE_CXX_COMPILER='%s' " % CXX
-        options += self.cfg['configopts']
-
-        self.log.info("Configuring")
-        run_cmd("cmake %s %s" % (options, self.llvm_src_dir), log_all=True)
-
-        self.log.info("Building")
-        run_cmd("make %s" % self.make_parallel_opts, log_all=True)
-
-    def run_clang_tests(self, obj_dir):
-        os.chdir(obj_dir)
-
-        self.log.info("Running tests")
-        run_cmd("make %s check-all" % self.make_parallel_opts, log_all=True)
-
-    def build_step(self):
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).build_step()
-            return
-
-        """Build Clang stage 1, 2, 3"""
-
-        # Stage 1: build using system compiler.
-        self.log.info("Building stage 1")
-        os.chdir(self.llvm_obj_dir_stage1)
-        super(EB_Clang, self).build_step()
-
-        if self.cfg['bootstrap']:
-            # Stage 1: run tests.
-            self.run_clang_tests(self.llvm_obj_dir_stage1)
-
-            self.log.info("Building stage 2")
-            self.build_with_prev_stage(self.llvm_obj_dir_stage1, self.llvm_obj_dir_stage2)
-            self.run_clang_tests(self.llvm_obj_dir_stage2)
-
-            self.log.info("Building stage 3")
-            self.build_with_prev_stage(self.llvm_obj_dir_stage2, self.llvm_obj_dir_stage3)
-            # Don't run stage 3 tests here, do it in the test step.
-
-    def test_step(self):
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).test_step()
-            return
-
-        if self.cfg['bootstrap']:
-            self.run_clang_tests(self.llvm_obj_dir_stage3)
-        else:
-            self.run_clang_tests(self.llvm_obj_dir_stage1)
-
-    def install_step(self):
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).install_step()
-            return
-
-        """Install stage 3 binaries."""
-
-        if self.cfg['bootstrap']:
-            os.chdir(self.llvm_obj_dir_stage3)
-        else:
-            os.chdir(self.llvm_obj_dir_stage1)
-        super(EB_Clang, self).install_step()
-
-        # the static analyzer is not installed by default
-        # we do it by hand
-        if self.cfg['static_analyzer'] and LooseVersion(self.version) < LooseVersion('3.8'):
-            try:
-                tools_src_dir = os.path.join(self.llvm_src_dir, 'tools', 'clang', 'tools')
-                analyzer_target_dir = os.path.join(self.installdir, 'libexec', 'clang-analyzer')
-                bindir = os.path.join(self.installdir, 'bin')
-                for scan_dir in ['scan-build', 'scan-view']:
-                    shutil.copytree(os.path.join(tools_src_dir, scan_dir), os.path.join(analyzer_target_dir, scan_dir))
-                    os.symlink(os.path.relpath(bindir, os.path.join(analyzer_target_dir, scan_dir)),
-                               os.path.join(analyzer_target_dir, scan_dir, 'bin'))
-                    os.symlink(os.path.relpath(os.path.join(analyzer_target_dir, scan_dir, scan_dir), bindir),
-                               os.path.join(bindir, scan_dir))
-
-                mandir = os.path.join(self.installdir, 'share', 'man', 'man1')
-                os.makedirs(mandir)
-                shutil.copy2(os.path.join(tools_src_dir, 'scan-build', 'scan-build.1'), mandir)
-            except OSError, err:
-                raise EasyBuildError("Failed to copy static analyzer dirs to install dir: %s", err)
-
-    def sanity_check_step(self):
-        """Custom sanity check for Clang."""
-        shlib_ext = get_shared_lib_ext()
-        custom_paths = {
-            'files': [
-                "bin/clang", "bin/clang++", "bin/llvm-ar", "bin/llvm-nm", "bin/llvm-as", "bin/opt", "bin/llvm-link",
-                "bin/llvm-config", "bin/llvm-symbolizer", "include/llvm-c/Core.h", "include/clang-c/Index.h",
-                "lib/libclang.%s" % shlib_ext, "lib/clang/%s/include/stddef.h" % self.version,
-            ],
-            'dirs': ["include/clang", "include/llvm", "lib/clang/%s/lib" % self.version],
-        }
-        if self.cfg['static_analyzer']:
-            custom_paths['files'].extend(["bin/scan-build", "bin/scan-view"])
-
-        if self.cfg["usepolly"]:
-            custom_paths['files'].extend(["lib/LLVMPolly.%s" % shlib_ext])
-            custom_paths['dirs'].extend(["include/polly"])
-
-        if LooseVersion(self.version) >= LooseVersion('3.8'):
-            custom_paths['files'].extend(["lib/libomp.%s" % shlib_ext, "lib/clang/%s/include/omp.h" % self.version])
-
-        super(EB_Clang, self).sanity_check_step(custom_paths=custom_paths)
-
-    def make_module_extra(self):
-        """Custom variables for Clang module."""
-        txt = super(EB_Clang, self).make_module_extra()
-        # we set the symbolizer path so that asan/tsan give meanfull output by default
-        asan_symbolizer_path = os.path.join(self.installdir, 'bin', 'llvm-symbolizer')
-        txt += self.module_generator.set_environment('ASAN_SYMBOLIZER_PATH', asan_symbolizer_path)
-        return txt
diff --git a/easyblocks/c/clang.py b/easyblocks/c/clang.py
deleted file mode 100644
index 18edaee..0000000
--- a/easyblocks/c/clang.py
+++ /dev/null
@@ -1,420 +0,0 @@
-##
-# Copyright 2013 Dmitri Gribenko
-# Copyright 2013-2017 Ghent University
-# Copyright 2017 IT4Innovations
-#
-# This file is triple-licensed under GPLv2 (see below), MIT, and
-# BSD three-clause licenses.
-#
-# This file is part of EasyBuild,
-# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
-# with support of Ghent University (http://ugent.be/hpc),
-# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
-# Flemish Research Foundation (FWO) (http://www.fwo.be/en)
-# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
-#
-# https://github.com/easybuilders/easybuild
-#
-# EasyBuild is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation v2.
-#
-# EasyBuild is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
-##
-"""
-Support for building and installing Clang, implemented as an easyblock.
-
-@author: Dmitri Gribenko (National Technical University of Ukraine "KPI")
-@author: Ward Poelmans (Ghent University)
-@author: Josef Hrabal, Lukas Krupcik (IT4innovations, Czechia)
-"""
-
-import fileinput
-import glob
-import os
-import re
-import shutil
-import sys
-from distutils.version import LooseVersion
-
-from easybuild.easyblocks.generic.cmakemake import CMakeMake
-from easybuild.framework.easyconfig import CUSTOM
-from easybuild.tools import run
-from easybuild.tools.build_log import EasyBuildError
-from easybuild.tools.config import build_option
-from easybuild.tools.filetools import mkdir
-from easybuild.tools.modules import get_software_root
-from easybuild.tools.run import run_cmd
-from easybuild.tools.systemtools import get_os_name, get_os_version, get_shared_lib_ext
-
-# List of all possible build targets for Clang
-CLANG_TARGETS = ["all", "AArch64", "ARM", "CppBackend", "Hexagon", "Mips",
-                 "MBlaze", "MSP430", "NVPTX", "PowerPC", "R600", "Sparc",
-                 "SystemZ", "X86", "XCore"]
-
-
-class EB_Clang(CMakeMake):
-    """Support for bootstrapping Clang."""
-
-    @staticmethod
-    def extra_options():
-        extra_vars = {
-            'assertions': [True, "Enable assertions.  Helps to catch bugs in Clang.", CUSTOM],
-            'build_targets': [["X86"], "Build targets for LLVM. Possible values: " + ', '.join(CLANG_TARGETS), CUSTOM],
-            'bootstrap': [True, "Bootstrap Clang using GCC", CUSTOM],
-            'usepolly': [False, "Build Clang with polly", CUSTOM],
-            'static_analyzer': [True, "Install the static analyser of Clang", CUSTOM],
-            # The sanitizer tests often fail on HPC systems due to the 'weird' environment.
-            'skip_sanitizer_tests': [False, "Do not run the sanitizer tests", CUSTOM],
-        }
-
-        return CMakeMake.extra_options(extra_vars)
-
-    def __init__(self, *args, **kwargs):
-        """Initialize custom class variables for Clang."""
-
-        super(EB_Clang, self).__init__(*args, **kwargs)
-        self.llvm_src_dir = None
-        self.llvm_obj_dir_stage1 = None
-        self.llvm_obj_dir_stage2 = None
-        self.llvm_obj_dir_stage3 = None
-        self.make_parallel_opts = ""
-
-        unknown_targets = [target for target in self.cfg['build_targets'] if target not in CLANG_TARGETS]
-
-        if unknown_targets:
-            raise EasyBuildError("Some of the chosen build targets (%s) are not in %s.",
-                                 ', '.join(unknown_targets), ', '.join(CLANG_TARGETS))
-
-        if LooseVersion(self.version) < LooseVersion('3.4') and "R600" in self.cfg['build_targets']:
-            raise EasyBuildError("Build target R600 not supported in < Clang-3.4")
-
-        if LooseVersion(self.version) > LooseVersion('3.3') and "MBlaze" in self.cfg['build_targets']:
-            raise EasyBuildError("Build target MBlaze is not supported anymore in > Clang-3.3")
-
-    def check_readiness_step(self):
-        """Fail early on RHEL 5.x and derivatives because of known bug in libc."""
-        super(EB_Clang, self).check_readiness_step()
-        # RHEL 5.x have a buggy libc.  Building stage 2 will fail.
-        if get_os_name() in ['redhat', 'RHEL', 'centos', 'SL'] and get_os_version().startswith('5.'):
-            raise EasyBuildError("Can not build Clang on %s v5.x: libc is buggy, building stage 2 will fail. "
-                                 "See http://stackoverflow.com/questions/7276828/", get_os_name())
-
-    def extract_step(self):
-        """
-        Prepare a combined LLVM source tree.  The layout is:
-        llvm/                  Unpack llvm-*.tar.gz here
-          projects/
-            compiler-rt/       Unpack compiler-rt-*.tar.gz here
-            openmp/            Unpack openmp-*.tar.xz here
-            libcxx/            Unpack libcxx-*.tar.xz here
-            libcxxabi/         Unpack libcxxapbi-*.tar.xz here
-          tools/
-            clang/             Unpack cfe-*.tar.gz here
-              tools/extra  Unpack clang-*.tar.gz here
-            polly/             Unpack polly-*.tar.gz here
-        """
-
-        # Extract everything into separate directories.
-        super(EB_Clang, self).extract_step()
-
-        # Find the full path to the directory that was unpacked from llvm-*.tar.gz.
-        for tmp in self.src:
-            if tmp['name'].startswith("llvm-"):
-                self.llvm_src_dir = tmp['finalpath']
-                break
-
-        if self.llvm_src_dir is None:
-            raise EasyBuildError("Could not determine LLVM source root (LLVM source was not unpacked?)")
-
-        src_dirs = {}
-
-        def find_source_dir(globpatterns, targetdir):
-            """Search for directory with globpattern and rename it to targetdir"""
-            if not isinstance(globpatterns, list):
-                globpatterns = [globpatterns]
-
-            glob_src_dirs = [glob_dir for globpattern in globpatterns for glob_dir in glob.glob(globpattern)]
-            if len(glob_src_dirs) != 1:
-                raise EasyBuildError("Failed to find exactly one source directory for pattern %s: %s", globpatterns,
-                                     glob_src_dirs)
-            src_dirs[glob_src_dirs[0]] = targetdir
-
-        find_source_dir('compiler-rt-*', os.path.join(self.llvm_src_dir, 'projects', 'compiler-rt'))
-
-        if self.cfg["usepolly"]:
-            find_source_dir('polly-*', os.path.join(self.llvm_src_dir, 'tools', 'polly'))
-
-        find_source_dir('cfe-*', os.path.join(self.llvm_src_dir, 'tools', 'clang'))
-
-        find_source_dir('clang-*', os.path.join(self.llvm_src_dir, 'tools', 'clang', 'tools', 'extra'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libcxx-*', os.path.join(self.llvm_src_dir, 'projects', 'libcxx'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libcxxabi-*', os.path.join(self.llvm_src_dir, 'projects', 'libcxxabi'))
-
-        if LooseVersion(self.version) >= LooseVersion('3.8'):
-            find_source_dir('openmp-*', os.path.join(self.llvm_src_dir, 'projects', 'openmp'))
-
-        for src in self.src:
-            for (dirname, new_path) in src_dirs.items():
-                if src['name'].startswith(dirname):
-                    old_path = os.path.join(src['finalpath'], dirname)
-                    try:
-                        shutil.move(old_path, new_path)
-                    except IOError, err:
-                        raise EasyBuildError("Failed to move %s to %s: %s", old_path, new_path, err)
-                    src['finalpath'] = new_path
-                    break
-
-    def configure_step(self):
-	if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).configure_step()
-            return
-
-        """Run CMake for stage 1 Clang."""
-        self.llvm_obj_dir_stage1 = os.path.join(self.builddir, 'llvm.obj.1')
-        if self.cfg['bootstrap']:
-            self.llvm_obj_dir_stage2 = os.path.join(self.builddir, 'llvm.obj.2')
-            self.llvm_obj_dir_stage3 = os.path.join(self.builddir, 'llvm.obj.3')
-
-        if LooseVersion(self.version) >= LooseVersion('3.3'):
-            disable_san_tests = False
-            # all sanitizer tests will fail when there's a limit on the vmem
-            # this is ugly but I haven't found a cleaner way so far
-            (vmemlim, ec) = run_cmd("ulimit -v", regexp=False)
-            if not vmemlim.startswith("unlimited"):
-                disable_san_tests = True
-                self.log.warn("There is a virtual memory limit set of %s KB. The tests of the "
-                              "sanitizers will be disabled as they need unlimited virtual "
-                              "memory unless --strict=error is used." % vmemlim.strip())
-
-            # the same goes for unlimited stacksize
-            (stacklim, ec) = run_cmd("ulimit -s", regexp=False)
-            if stacklim.startswith("unlimited"):
-                disable_san_tests = True
-                self.log.warn("The stacksize limit is set to unlimited. This causes the ThreadSanitizer "
-                              "to fail. The sanitizers tests will be disabled unless --strict=error is used.")
-
-            if (disable_san_tests or self.cfg['skip_sanitizer_tests']) and build_option('strict') != run.ERROR:
-                self.log.debug("Disabling the sanitizer tests")
-                self.disable_sanitizer_tests()
-
-        # Create and enter build directory.
-        mkdir(self.llvm_obj_dir_stage1)
-        os.chdir(self.llvm_obj_dir_stage1)
-
-        # GCC and Clang are installed in different prefixes and Clang will not
-        # find the GCC installation on its own.
-        # First try with GCCcore, as GCC built on top of GCCcore is just a wrapper for GCCcore and binutils,
-        # instead of a full-fledge compiler
-        gcc_prefix = get_software_root('GCCcore')
-
-        # If that doesn't work, try with GCC
-        if gcc_prefix is None:
-            gcc_prefix = get_software_root('GCC')
-
-        # If that doesn't work either, print error and exit
-        if gcc_prefix is None:
-            raise EasyBuildError("Can't find GCC or GCCcore to use")
-
-        self.cfg.update('configopts', "-DGCC_INSTALL_PREFIX='%s' " % gcc_prefix)
-        self.log.debug("Using %s as GCC_INSTALL_PREFIX", gcc_prefix)
-
-        self.cfg['configopts'] += "-DCMAKE_BUILD_TYPE=Release "
-        if self.cfg['assertions']:
-            self.cfg['configopts'] += "-DLLVM_ENABLE_ASSERTIONS=ON "
-        else:
-            self.cfg['configopts'] += "-DLLVM_ENABLE_ASSERTIONS=OFF "
-
-        self.cfg['configopts'] += '-DLLVM_TARGETS_TO_BUILD="%s" ' % ';'.join(self.cfg['build_targets'])
-
-        if self.cfg['parallel']:
-            self.make_parallel_opts = "-j %s" % self.cfg['parallel']
-
-        self.log.info("Configuring")
-        super(EB_Clang, self).configure_step(srcdir=self.llvm_src_dir)
-
-    def disable_sanitizer_tests(self):
-        """Disable the tests of all the sanitizers by removing the test directories from the build system"""
-        if LooseVersion(self.version) < LooseVersion('3.6'):
-            # for Clang 3.5 and lower, the tests are scattered over several CMakeLists.
-            # We loop over them, and patch out the rule that adds the sanitizers tests to the testsuite
-            patchfiles = [
-                "lib/asan",
-                "lib/dfsan",
-                "lib/lsan",
-                "lib/msan",
-                "lib/tsan",
-                "lib/ubsan",
-            ]
-
-            for patchfile in patchfiles:
-                patchfile_fp = os.path.join(self.llvm_src_dir, "projects/compiler-rt", patchfile, "CMakeLists.txt")
-                if os.path.exists(patchfile_fp):
-                    self.log.debug("Patching %s in %s" % (patchfile, self.llvm_src_dir))
-                    try:
-                        for line in fileinput.input(patchfile_fp, inplace=1, backup='.orig'):
-                            if "add_subdirectory(lit_tests)" not in line:
-                                sys.stdout.write(line)
-                    except (IOError, OSError), err:
-                        raise EasyBuildError("Failed to patch %s: %s", patchfile_fp, err)
-                else:
-                    self.log.debug("Not patching non-existent %s in %s" % (patchfile, self.llvm_src_dir))
-
-            # There is a common part seperate for the specific saniters, we disable all
-            # the common tests
-            patchfile = "projects/compiler-rt/lib/sanitizer_common/CMakeLists.txt"
-            try:
-                for line in fileinput.input("%s/%s" % (self.llvm_src_dir, patchfile), inplace=1, backup='.orig'):
-                    if "add_subdirectory(tests)" not in line:
-                        sys.stdout.write(line)
-            except IOError, err:
-                raise EasyBuildError("Failed to patch %s/%s: %s", self.llvm_src_dir, patchfile, err)
-        else:
-            # In Clang 3.6, the sanitizer tests are grouped together in one CMakeLists
-            # We patch out adding the subdirectories with the sanitizer tests
-            patchfile = "projects/compiler-rt/test/CMakeLists.txt"
-            patchfile_fp = os.path.join(self.llvm_src_dir, patchfile)
-            self.log.debug("Patching %s in %s" % (patchfile, self.llvm_src_dir))
-            patch_regex = re.compile(r'add_subdirectory\((.*san|sanitizer_common)\)')
-            try:
-                for line in fileinput.input(patchfile_fp, inplace=1, backup='.orig'):
-                    if not patch_regex.search(line):
-                        sys.stdout.write(line)
-            except IOError, err:
-                raise EasyBuildError("Failed to patch %s: %s", patchfile_fp, err)
-
-    def build_with_prev_stage(self, prev_obj, next_obj):
-        """Build Clang stage N using Clang stage N-1"""
-
-        # Create and enter build directory.
-        mkdir(next_obj)
-        os.chdir(next_obj)
-
-        # Configure.
-        CC = os.path.join(prev_obj, 'bin', 'clang')
-        CXX = os.path.join(prev_obj, 'bin', 'clang++')
-
-        options = "-DCMAKE_INSTALL_PREFIX=%s " % self.installdir
-        options += "-DCMAKE_C_COMPILER='%s' " % CC
-        options += "-DCMAKE_CXX_COMPILER='%s' " % CXX
-        options += self.cfg['configopts']
-
-        self.log.info("Configuring")
-        run_cmd("cmake %s %s" % (options, self.llvm_src_dir), log_all=True)
-
-        self.log.info("Building")
-        run_cmd("make %s" % self.make_parallel_opts, log_all=True)
-
-    def run_clang_tests(self, obj_dir):
-        os.chdir(obj_dir)
-
-        self.log.info("Running tests")
-        run_cmd("make %s check-all" % self.make_parallel_opts, log_all=True)
-
-    def build_step(self):
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).build_step()
-            return
-
-        """Build Clang stage 1, 2, 3"""
-
-        # Stage 1: build using system compiler.
-        self.log.info("Building stage 1")
-        os.chdir(self.llvm_obj_dir_stage1)
-        super(EB_Clang, self).build_step()
-
-        if self.cfg['bootstrap']:
-            # Stage 1: run tests.
-            self.run_clang_tests(self.llvm_obj_dir_stage1)
-
-            self.log.info("Building stage 2")
-            self.build_with_prev_stage(self.llvm_obj_dir_stage1, self.llvm_obj_dir_stage2)
-            self.run_clang_tests(self.llvm_obj_dir_stage2)
-
-            self.log.info("Building stage 3")
-            self.build_with_prev_stage(self.llvm_obj_dir_stage2, self.llvm_obj_dir_stage3)
-            # Don't run stage 3 tests here, do it in the test step.
-
-    def test_step(self):
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).test_step()
-            return
-
-        if self.cfg['bootstrap']:
-            self.run_clang_tests(self.llvm_obj_dir_stage3)
-        else:
-            self.run_clang_tests(self.llvm_obj_dir_stage1)
-
-    def install_step(self):
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            super(EB_Clang, self).install_step()
-            return
-
-        """Install stage 3 binaries."""
-
-        if self.cfg['bootstrap']:
-            os.chdir(self.llvm_obj_dir_stage3)
-        else:
-            os.chdir(self.llvm_obj_dir_stage1)
-        super(EB_Clang, self).install_step()
-
-        # the static analyzer is not installed by default
-        # we do it by hand
-        if self.cfg['static_analyzer'] and LooseVersion(self.version) < LooseVersion('3.8'):
-            try:
-                tools_src_dir = os.path.join(self.llvm_src_dir, 'tools', 'clang', 'tools')
-                analyzer_target_dir = os.path.join(self.installdir, 'libexec', 'clang-analyzer')
-                bindir = os.path.join(self.installdir, 'bin')
-                for scan_dir in ['scan-build', 'scan-view']:
-                    shutil.copytree(os.path.join(tools_src_dir, scan_dir), os.path.join(analyzer_target_dir, scan_dir))
-                    os.symlink(os.path.relpath(bindir, os.path.join(analyzer_target_dir, scan_dir)),
-                               os.path.join(analyzer_target_dir, scan_dir, 'bin'))
-                    os.symlink(os.path.relpath(os.path.join(analyzer_target_dir, scan_dir, scan_dir), bindir),
-                               os.path.join(bindir, scan_dir))
-
-                mandir = os.path.join(self.installdir, 'share', 'man', 'man1')
-                os.makedirs(mandir)
-                shutil.copy2(os.path.join(tools_src_dir, 'scan-build', 'scan-build.1'), mandir)
-            except OSError, err:
-                raise EasyBuildError("Failed to copy static analyzer dirs to install dir: %s", err)
-
-    def sanity_check_step(self):
-        """Custom sanity check for Clang."""
-        shlib_ext = get_shared_lib_ext()
-        custom_paths = {
-            'files': [
-                "bin/clang", "bin/clang++", "bin/llvm-ar", "bin/llvm-nm", "bin/llvm-as", "bin/opt", "bin/llvm-link",
-                "bin/llvm-config", "bin/llvm-symbolizer", "include/llvm-c/Core.h", "include/clang-c/Index.h",
-                "lib/libclang.%s" % shlib_ext, "lib/clang/%s/include/stddef.h" % self.version,
-            ],
-            'dirs': ["include/clang", "include/llvm", "lib/clang/%s/lib" % self.version],
-        }
-        if self.cfg['static_analyzer']:
-            custom_paths['files'].extend(["bin/scan-build", "bin/scan-view"])
-
-        if self.cfg["usepolly"]:
-            custom_paths['files'].extend(["lib/LLVMPolly.%s" % shlib_ext])
-            custom_paths['dirs'].extend(["include/polly"])
-
-        if LooseVersion(self.version) >= LooseVersion('3.8'):
-            custom_paths['files'].extend(["lib/libomp.%s" % shlib_ext, "lib/clang/%s/include/omp.h" % self.version])
-
-        super(EB_Clang, self).sanity_check_step(custom_paths=custom_paths)
-
-    def make_module_extra(self):
-        """Custom variables for Clang module."""
-        txt = super(EB_Clang, self).make_module_extra()
-        # we set the symbolizer path so that asan/tsan give meanfull output by default
-        asan_symbolizer_path = os.path.join(self.installdir, 'bin', 'llvm-symbolizer')
-        txt += self.module_generator.set_environment('ASAN_SYMBOLIZER_PATH', asan_symbolizer_path)
-        return txt
diff --git a/easyblocks/c/clang.py.old b/easyblocks/c/clang.py.old
deleted file mode 100644
index e0b60ed..0000000
--- a/easyblocks/c/clang.py.old
+++ /dev/null
@@ -1,403 +0,0 @@
-##
-# Copyright 2013 Dmitri Gribenko
-# Copyright 2013-2017 Ghent University
-#
-# This file is triple-licensed under GPLv2 (see below), MIT, and
-# BSD three-clause licenses.
-#
-# This file is part of EasyBuild,
-# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
-# with support of Ghent University (http://ugent.be/hpc),
-# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
-# Flemish Research Foundation (FWO) (http://www.fwo.be/en)
-# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
-#
-# https://github.com/easybuilders/easybuild
-#
-# EasyBuild is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation v2.
-#
-# EasyBuild is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
-##
-"""
-Support for building and installing Clang, implemented as an easyblock.
-
-@author: Dmitri Gribenko (National Technical University of Ukraine "KPI")
-@author: Ward Poelmans (Ghent University)
-"""
-
-import fileinput
-import glob
-import os
-import re
-import shutil
-import sys
-from distutils.version import LooseVersion
-
-from easybuild.easyblocks.generic.cmakemake import CMakeMake
-from easybuild.framework.easyconfig import CUSTOM
-from easybuild.tools import run
-from easybuild.tools.build_log import EasyBuildError
-from easybuild.tools.config import build_option
-from easybuild.tools.filetools import mkdir
-from easybuild.tools.modules import get_software_root
-from easybuild.tools.run import run_cmd
-from easybuild.tools.systemtools import get_os_name, get_os_version, get_shared_lib_ext
-
-# List of all possible build targets for Clang
-CLANG_TARGETS = ["all", "AArch64", "ARM", "CppBackend", "Hexagon", "Mips",
-                 "MBlaze", "MSP430", "NVPTX", "PowerPC", "R600", "Sparc",
-                 "SystemZ", "X86", "XCore"]
-
-
-class EB_Clang(CMakeMake):
-    """Support for bootstrapping Clang."""
-
-    @staticmethod
-    def extra_options():
-        extra_vars = {
-            'assertions': [True, "Enable assertions.  Helps to catch bugs in Clang.", CUSTOM],
-            'build_targets': [["X86"], "Build targets for LLVM. Possible values: " + ', '.join(CLANG_TARGETS), CUSTOM],
-            'bootstrap': [True, "Bootstrap Clang using GCC", CUSTOM],
-            'usepolly': [False, "Build Clang with polly", CUSTOM],
-            'static_analyzer': [True, "Install the static analyser of Clang", CUSTOM],
-            # The sanitizer tests often fail on HPC systems due to the 'weird' environment.
-            'skip_sanitizer_tests': [False, "Do not run the sanitizer tests", CUSTOM],
-        }
-
-        return CMakeMake.extra_options(extra_vars)
-
-    def __init__(self, *args, **kwargs):
-        """Initialize custom class variables for Clang."""
-
-        super(EB_Clang, self).__init__(*args, **kwargs)
-        self.llvm_src_dir = None
-        self.llvm_obj_dir_stage1 = None
-        self.llvm_obj_dir_stage2 = None
-        self.llvm_obj_dir_stage3 = None
-        self.make_parallel_opts = ""
-
-        unknown_targets = [target for target in self.cfg['build_targets'] if target not in CLANG_TARGETS]
-
-        if unknown_targets:
-            raise EasyBuildError("Some of the chosen build targets (%s) are not in %s.",
-                                 ', '.join(unknown_targets), ', '.join(CLANG_TARGETS))
-
-        if LooseVersion(self.version) < LooseVersion('3.4') and "R600" in self.cfg['build_targets']:
-            raise EasyBuildError("Build target R600 not supported in < Clang-3.4")
-
-        if LooseVersion(self.version) > LooseVersion('3.3') and "MBlaze" in self.cfg['build_targets']:
-            raise EasyBuildError("Build target MBlaze is not supported anymore in > Clang-3.3")
-
-    def check_readiness_step(self):
-        """Fail early on RHEL 5.x and derivatives because of known bug in libc."""
-        super(EB_Clang, self).check_readiness_step()
-        # RHEL 5.x have a buggy libc.  Building stage 2 will fail.
-        if get_os_name() in ['redhat', 'RHEL', 'centos', 'SL'] and get_os_version().startswith('5.'):
-            raise EasyBuildError("Can not build Clang on %s v5.x: libc is buggy, building stage 2 will fail. "
-                                 "See http://stackoverflow.com/questions/7276828/", get_os_name())
-
-    def extract_step(self):
-        """
-        Prepare a combined LLVM source tree.  The layout is:
-        llvm/             Unpack llvm-*.tar.gz here
-          projects/
-            compiler-rt/  Unpack compiler-rt-*.tar.gz here
-            openmp/       Unpack openmp-*.tar.xz here
-            libcxx/
-            libcxxabi/
-          tools/
-            clang/        Unpack clang-*.tar.gz here
-            clang/tools/extra
-            polly/        Unpack polly-*.tar.gz here
-        """
-
-        # Extract everything into separate directories.
-        super(EB_Clang, self).extract_step()
-
-        # Find the full path to the directory that was unpacked from llvm-*.tar.gz.
-        for tmp in self.src:
-            if tmp['name'].startswith("llvm-"):
-                self.llvm_src_dir = tmp['finalpath']
-                break
-
-        if self.llvm_src_dir is None:
-            raise EasyBuildError("Could not determine LLVM source root (LLVM source was not unpacked?)")
-
-        src_dirs = {}
-
-        def find_source_dir(globpatterns, targetdir):
-            """Search for directory with globpattern and rename it to targetdir"""
-            if not isinstance(globpatterns, list):
-                globpatterns = [globpatterns]
-
-            glob_src_dirs = [glob_dir for globpattern in globpatterns for glob_dir in glob.glob(globpattern)]
-            if len(glob_src_dirs) != 1:
-                raise EasyBuildError("Failed to find exactly one source directory for pattern %s: %s", globpatterns,
-                                     glob_src_dirs)
-            src_dirs[glob_src_dirs[0]] = targetdir
-
-        find_source_dir('compiler-rt-*', os.path.join(self.llvm_src_dir, 'projects', 'compiler-rt'))
-
-        if self.cfg["usepolly"]:
-            find_source_dir('polly-*', os.path.join(self.llvm_src_dir, 'tools', 'polly'))
-
-        find_source_dir('cfe-*', os.path.join(self.llvm_src_dir, 'tools', 'clang'))
-
-        find_source_dir('clang-*', os.path.join(self.llvm_src_dir, 'tools', 'clang', 'tools', 'extra'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libcxx-*', os.path.join(self.llvm_src_dir, 'projects', 'libcxx'))
-
-        if LooseVersion(self.version) >= LooseVersion('5.0'):
-            find_source_dir('libcxxabi-*', os.path.join(self.llvm_src_dir, 'projects', 'libcxxabi'))
-
-        if LooseVersion(self.version) >= LooseVersion('3.8'):
-            find_source_dir('openmp-*', os.path.join(self.llvm_src_dir, 'projects', 'openmp'))
-
-        for src in self.src:
-            for (dirname, new_path) in src_dirs.items():
-                if src['name'].startswith(dirname):
-                    old_path = os.path.join(src['finalpath'], dirname)
-                    try:
-                        shutil.move(old_path, new_path)
-                    except IOError, err:
-                        raise EasyBuildError("Failed to move %s to %s: %s", old_path, new_path, err)
-                    src['finalpath'] = new_path
-                    break
-
-    def configure_step(self):
-        """Run CMake for stage 1 Clang."""
-
-        self.llvm_obj_dir_stage1 = os.path.join(self.builddir, 'llvm.obj.1')
-        if self.cfg['bootstrap']:
-            self.llvm_obj_dir_stage2 = os.path.join(self.builddir, 'llvm.obj.2')
-            self.llvm_obj_dir_stage3 = os.path.join(self.builddir, 'llvm.obj.3')
-
-        if LooseVersion(self.version) >= LooseVersion('3.3'):
-            disable_san_tests = False
-            # all sanitizer tests will fail when there's a limit on the vmem
-            # this is ugly but I haven't found a cleaner way so far
-            (vmemlim, ec) = run_cmd("ulimit -v", regexp=False)
-            if not vmemlim.startswith("unlimited"):
-                disable_san_tests = True
-                self.log.warn("There is a virtual memory limit set of %s KB. The tests of the "
-                              "sanitizers will be disabled as they need unlimited virtual "
-                              "memory unless --strict=error is used." % vmemlim.strip())
-
-            # the same goes for unlimited stacksize
-            (stacklim, ec) = run_cmd("ulimit -s", regexp=False)
-            if stacklim.startswith("unlimited"):
-                disable_san_tests = True
-                self.log.warn("The stacksize limit is set to unlimited. This causes the ThreadSanitizer "
-                              "to fail. The sanitizers tests will be disabled unless --strict=error is used.")
-
-            if (disable_san_tests or self.cfg['skip_sanitizer_tests']) and build_option('strict') != run.ERROR:
-                self.log.debug("Disabling the sanitizer tests")
-                self.disable_sanitizer_tests()
-
-        # Create and enter build directory.
-        mkdir(self.llvm_obj_dir_stage1)
-        os.chdir(self.llvm_obj_dir_stage1)
-
-        # GCC and Clang are installed in different prefixes and Clang will not
-        # find the GCC installation on its own.
-        # First try with GCCcore, as GCC built on top of GCCcore is just a wrapper for GCCcore and binutils,
-        # instead of a full-fledge compiler
-        gcc_prefix = get_software_root('GCCcore')
-
-        # If that doesn't work, try with GCC
-        if gcc_prefix is None:
-            gcc_prefix = get_software_root('GCC')
-
-        # If that doesn't work either, print error and exit
-        if gcc_prefix is None:
-            raise EasyBuildError("Can't find GCC or GCCcore to use")
-
-        self.cfg.update('configopts', "-DGCC_INSTALL_PREFIX='%s' " % gcc_prefix)
-        self.log.debug("Using %s as GCC_INSTALL_PREFIX", gcc_prefix)
-
-        self.cfg['configopts'] += "-DCMAKE_BUILD_TYPE=Release "
-        if self.cfg['assertions']:
-            self.cfg['configopts'] += "-DLLVM_ENABLE_ASSERTIONS=ON "
-        else:
-            self.cfg['configopts'] += "-DLLVM_ENABLE_ASSERTIONS=OFF "
-
-        self.cfg['configopts'] += '-DLLVM_TARGETS_TO_BUILD="%s" ' % ';'.join(self.cfg['build_targets'])
-
-        if self.cfg['parallel']:
-            self.make_parallel_opts = "-j %s" % self.cfg['parallel']
-
-        self.log.info("Configuring")
-        super(EB_Clang, self).configure_step(srcdir=self.llvm_src_dir)
-
-    def disable_sanitizer_tests(self):
-        """Disable the tests of all the sanitizers by removing the test directories from the build system"""
-        if LooseVersion(self.version) < LooseVersion('3.6'):
-            # for Clang 3.5 and lower, the tests are scattered over several CMakeLists.
-            # We loop over them, and patch out the rule that adds the sanitizers tests to the testsuite
-            patchfiles = [
-                "lib/asan",
-                "lib/dfsan",
-                "lib/lsan",
-                "lib/msan",
-                "lib/tsan",
-                "lib/ubsan",
-            ]
-
-            for patchfile in patchfiles:
-                patchfile_fp = os.path.join(self.llvm_src_dir, "projects/compiler-rt", patchfile, "CMakeLists.txt")
-                if os.path.exists(patchfile_fp):
-                    self.log.debug("Patching %s in %s" % (patchfile, self.llvm_src_dir))
-                    try:
-                        for line in fileinput.input(patchfile_fp, inplace=1, backup='.orig'):
-                            if "add_subdirectory(lit_tests)" not in line:
-                                sys.stdout.write(line)
-                    except (IOError, OSError), err:
-                        raise EasyBuildError("Failed to patch %s: %s", patchfile_fp, err)
-                else:
-                    self.log.debug("Not patching non-existent %s in %s" % (patchfile, self.llvm_src_dir))
-
-            # There is a common part seperate for the specific saniters, we disable all
-            # the common tests
-            patchfile = "projects/compiler-rt/lib/sanitizer_common/CMakeLists.txt"
-            try:
-                for line in fileinput.input("%s/%s" % (self.llvm_src_dir, patchfile), inplace=1, backup='.orig'):
-                    if "add_subdirectory(tests)" not in line:
-                        sys.stdout.write(line)
-            except IOError, err:
-                raise EasyBuildError("Failed to patch %s/%s: %s", self.llvm_src_dir, patchfile, err)
-        else:
-            # In Clang 3.6, the sanitizer tests are grouped together in one CMakeLists
-            # We patch out adding the subdirectories with the sanitizer tests
-            patchfile = "projects/compiler-rt/test/CMakeLists.txt"
-            patchfile_fp = os.path.join(self.llvm_src_dir, patchfile)
-            self.log.debug("Patching %s in %s" % (patchfile, self.llvm_src_dir))
-            patch_regex = re.compile(r'add_subdirectory\((.*san|sanitizer_common)\)')
-            try:
-                for line in fileinput.input(patchfile_fp, inplace=1, backup='.orig'):
-                    if not patch_regex.search(line):
-                        sys.stdout.write(line)
-            except IOError, err:
-                raise EasyBuildError("Failed to patch %s: %s", patchfile_fp, err)
-
-    def build_with_prev_stage(self, prev_obj, next_obj):
-        """Build Clang stage N using Clang stage N-1"""
-
-        # Create and enter build directory.
-        mkdir(next_obj)
-        os.chdir(next_obj)
-
-        # Configure.
-        CC = os.path.join(prev_obj, 'bin', 'clang')
-        CXX = os.path.join(prev_obj, 'bin', 'clang++')
-
-        options = "-DCMAKE_INSTALL_PREFIX=%s " % self.installdir
-        options += "-DCMAKE_C_COMPILER='%s' " % CC
-        options += "-DCMAKE_CXX_COMPILER='%s' " % CXX
-        options += self.cfg['configopts']
-
-        self.log.info("Configuring")
-        run_cmd("cmake %s %s" % (options, self.llvm_src_dir), log_all=True)
-
-        self.log.info("Building")
-        run_cmd("make %s" % self.make_parallel_opts, log_all=True)
-
-    def run_clang_tests(self, obj_dir):
-        os.chdir(obj_dir)
-
-        self.log.info("Running tests")
-        run_cmd("make %s check-all" % self.make_parallel_opts, log_all=True)
-
-    def build_step(self):
-        """Build Clang stage 1, 2, 3"""
-
-        # Stage 1: build using system compiler.
-        self.log.info("Building stage 1")
-        os.chdir(self.llvm_obj_dir_stage1)
-        super(EB_Clang, self).build_step()
-
-        if self.cfg['bootstrap']:
-            # Stage 1: run tests.
-            self.run_clang_tests(self.llvm_obj_dir_stage1)
-
-            self.log.info("Building stage 2")
-            self.build_with_prev_stage(self.llvm_obj_dir_stage1, self.llvm_obj_dir_stage2)
-            self.run_clang_tests(self.llvm_obj_dir_stage2)
-
-            self.log.info("Building stage 3")
-            self.build_with_prev_stage(self.llvm_obj_dir_stage2, self.llvm_obj_dir_stage3)
-            # Don't run stage 3 tests here, do it in the test step.
-
-    def test_step(self):
-        if self.cfg['bootstrap']:
-            self.run_clang_tests(self.llvm_obj_dir_stage3)
-        else:
-            self.run_clang_tests(self.llvm_obj_dir_stage1)
-
-    def install_step(self):
-        """Install stage 3 binaries."""
-
-        if self.cfg['bootstrap']:
-            os.chdir(self.llvm_obj_dir_stage3)
-        else:
-            os.chdir(self.llvm_obj_dir_stage1)
-        super(EB_Clang, self).install_step()
-
-        # the static analyzer is not installed by default
-        # we do it by hand
-        if self.cfg['static_analyzer'] and LooseVersion(self.version) < LooseVersion('3.8'):
-            try:
-                tools_src_dir = os.path.join(self.llvm_src_dir, 'tools', 'clang', 'tools')
-                analyzer_target_dir = os.path.join(self.installdir, 'libexec', 'clang-analyzer')
-                bindir = os.path.join(self.installdir, 'bin')
-                for scan_dir in ['scan-build', 'scan-view']:
-                    shutil.copytree(os.path.join(tools_src_dir, scan_dir), os.path.join(analyzer_target_dir, scan_dir))
-                    os.symlink(os.path.relpath(bindir, os.path.join(analyzer_target_dir, scan_dir)),
-                               os.path.join(analyzer_target_dir, scan_dir, 'bin'))
-                    os.symlink(os.path.relpath(os.path.join(analyzer_target_dir, scan_dir, scan_dir), bindir),
-                               os.path.join(bindir, scan_dir))
-
-                mandir = os.path.join(self.installdir, 'share', 'man', 'man1')
-                os.makedirs(mandir)
-                shutil.copy2(os.path.join(tools_src_dir, 'scan-build', 'scan-build.1'), mandir)
-            except OSError, err:
-                raise EasyBuildError("Failed to copy static analyzer dirs to install dir: %s", err)
-
-    def sanity_check_step(self):
-        """Custom sanity check for Clang."""
-        shlib_ext = get_shared_lib_ext()
-        custom_paths = {
-            'files': [
-                "bin/clang", "bin/clang++", "bin/llvm-ar", "bin/llvm-nm", "bin/llvm-as", "bin/opt", "bin/llvm-link",
-                "bin/llvm-config", "bin/llvm-symbolizer", "include/llvm-c/Core.h", "include/clang-c/Index.h",
-                "lib/libclang.%s" % shlib_ext, "lib/clang/%s/include/stddef.h" % self.version,
-            ],
-            'dirs': ["include/clang", "include/llvm", "lib/clang/%s/lib" % self.version],
-        }
-        if self.cfg['static_analyzer']:
-            custom_paths['files'].extend(["bin/scan-build", "bin/scan-view"])
-
-        if self.cfg["usepolly"]:
-            custom_paths['files'].extend(["lib/LLVMPolly.%s" % shlib_ext])
-            custom_paths['dirs'].extend(["include/polly"])
-
-        if LooseVersion(self.version) >= LooseVersion('3.8'):
-            custom_paths['files'].extend(["lib/libomp.%s" % shlib_ext, "lib/clang/%s/include/omp.h" % self.version])
-
-        super(EB_Clang, self).sanity_check_step(custom_paths=custom_paths)
-
-    def make_module_extra(self):
-        """Custom variables for Clang module."""
-        txt = super(EB_Clang, self).make_module_extra()
-        # we set the symbolizer path so that asan/tsan give meanfull output by default
-        asan_symbolizer_path = os.path.join(self.installdir, 'bin', 'llvm-symbolizer')
-        txt += self.module_generator.set_environment('ASAN_SYMBOLIZER_PATH', asan_symbolizer_path)
-        return txt
diff --git a/easyblocks/g/gcc.py b/easyblocks/g/gcc.py
deleted file mode 100644
index 5d40177..0000000
--- a/easyblocks/g/gcc.py
+++ /dev/null
@@ -1,574 +0,0 @@
-##
-# Copyright 2009-2015 Ghent University
-#
-# This file is part of EasyBuild,
-# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
-# with support of Ghent University (http://ugent.be/hpc),
-# the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en),
-# the Hercules foundation (http://www.herculesstichting.be/in_English)
-# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
-#
-# http://github.com/hpcugent/easybuild
-#
-# EasyBuild is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation v2.
-#
-# EasyBuild is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
-##
-"""
-EasyBuild support for building and installing GCC, implemented as an easyblock
-
-@author: Stijn De Weirdt (Ghent University)
-@author: Dries Verdegem (Ghent University)
-@author: Kenneth Hoste (Ghent University)
-@author: Pieter De Baets (Ghent University)
-@author: Jens Timmerman (Ghent University)
-@author: Toon Willems (Ghent University)
-@author: Ward Poelmans (Ghent University)
-"""
-
-import os
-import re
-import shutil
-from copy import copy
-from distutils.version import LooseVersion
-from vsc.utils.missing import any
-
-import easybuild.tools.environment as env
-from easybuild.easyblocks.generic.configuremake import ConfigureMake
-from easybuild.framework.easyconfig import CUSTOM
-from easybuild.tools.build_log import EasyBuildError
-from easybuild.tools.modules import get_software_root
-from easybuild.tools.run import run_cmd
-from easybuild.tools.systemtools import check_os_dependency, get_os_name, get_os_type, get_shared_lib_ext, get_platform_name
-
-
-class EB_GCC(ConfigureMake):
-    """
-    Self-contained build of GCC.
-    Uses system compiler for initial build, then bootstraps.
-    """
-
-    @staticmethod
-    def extra_options():
-        extra_vars = {
-            'languages': [[], "List of languages to build GCC for (--enable-languages)", CUSTOM],
-            'withlto': [True, "Enable LTO support", CUSTOM],
-            'withcloog': [False, "Build GCC with CLooG support", CUSTOM],
-            'withppl': [False, "Build GCC with PPL support", CUSTOM],
-            'withisl': [False, "Build GCC with ISL support", CUSTOM],
-            'pplwatchdog': [False, "Enable PPL watchdog", CUSTOM],
-            'clooguseisl': [False, "Use ISL with CLooG or not", CUSTOM],
-            'multilib': [False, "Build multilib gcc (both i386 and x86_64)", CUSTOM],
-        }
-        return ConfigureMake.extra_options(extra_vars)
-
-    def __init__(self, *args, **kwargs):
-        super(EB_GCC, self).__init__(*args, **kwargs)
-
-        self.stagedbuild = False
-
-        if LooseVersion(self.version) >= LooseVersion("4.8.0") and self.cfg['clooguseisl'] and not self.cfg['withisl']:
-            raise EasyBuildError("Using ISL bundled with CLooG is unsupported in >=GCC-4.8.0. "
-                                 "Use a seperate ISL: set withisl=True")
-
-        # I think ISL without CLooG has no purpose in GCC < 5.0.0 ...
-        if LooseVersion(self.version) < LooseVersion("5.0.0") and self.cfg['withisl'] and not self.cfg['withcloog']:
-            raise EasyBuildError("Activating ISL without CLooG is pointless")
-
-        # unset some environment variables that are known to may cause nasty build errors when bootstrapping
-        self.cfg.update('unwanted_env_vars', ['CPATH', 'C_INCLUDE_PATH', 'CPLUS_INCLUDE_PATH', 'OBJC_INCLUDE_PATH'])
-        # ubuntu needs the LIBRARY_PATH env var to work apparently (#363)
-        if get_os_name() not in ['ubuntu', 'debian']:
-            self.cfg.update('unwanted_env_vars', ['LIBRARY_PATH'])
-
-        self.platform_lib = get_platform_name(withversion=True)
-
-    def create_dir(self, dirname):
-        """
-        Create a dir to build in.
-        """
-        dirpath = os.path.join(self.cfg['start_dir'], dirname)
-        try:
-            os.mkdir(dirpath)
-            os.chdir(dirpath)
-            self.log.debug("Created dir at %s" % dirpath)
-            return dirpath
-        except OSError, err:
-            raise EasyBuildError("Can't use dir %s to build in: %s", dirpath, err)
-
-    def prep_extra_src_dirs(self, stage, target_prefix=None):
-        """
-        Prepare extra (optional) source directories, so GCC will build these as well.
-        """
-        if LooseVersion(self.version) >= LooseVersion('4.5'):
-            known_stages = ["stage1", "stage2", "stage3"]
-            if stage not in known_stages:
-                raise EasyBuildError("Incorrect argument for prep_extra_src_dirs, should be one of: %s", known_stages)
-
-            configopts = ''
-            if stage == "stage2":
-                # no MPFR/MPC needed in stage 2
-                extra_src_dirs = ["gmp"]
-            else:
-                extra_src_dirs = ["gmp", "mpfr", "mpc"]
-
-            # list of the extra dirs that are needed depending on the 'with%s' option
-            # the order is important: keep CLooG last!
-            self.with_dirs = ["isl", "ppl", "cloog"]
-
-            # add optional ones that were selected (e.g. CLooG, PPL, ...)
-            for x in self.with_dirs:
-                if self.cfg['with%s' % x]:
-                    extra_src_dirs.append(x)
-
-            # see if modules are loaded
-            # if module is available, just use the --with-X GCC configure option
-            for extra in copy(extra_src_dirs):
-                envvar = get_software_root(extra)
-                if envvar:
-                    configopts += " --with-%s=%s" % (extra, envvar)
-                    extra_src_dirs.remove(extra)
-                elif extra in self.with_dirs and stage in ["stage1", "stage3"]:
-                    # building CLooG or PPL or ISL requires a recent compiler
-                    # our best bet is to do a 3-staged build of GCC, and
-                    # build CLooG/PPL/ISL with the GCC we're building in stage 2
-                    # then (bootstrap) build GCC in stage 3
-                    # also, no need to stage cloog/ppl/isl in stage3 (may even cause troubles)
-                    self.stagedbuild = True
-                    extra_src_dirs.remove(extra)
-
-            # try and find source directories with given prefixes
-            # these sources should be included in list of sources in .eb spec file,
-            # so EasyBuild can unpack them in the build dir
-            found_src_dirs = []
-            versions = {}
-            names = {}
-            all_dirs = os.listdir(self.builddir)
-            for d in all_dirs:
-                for sd in extra_src_dirs:
-                    if d.startswith(sd):
-                        found_src_dirs.append({
-                            'source_dir': d,
-                            'target_dir': sd
-                        })
-                        # expected format: get_name[-subname]-get_version
-                        ds = os.path.basename(d).split('-')
-                        name = '-'.join(ds[0:-1])
-                        names.update({sd: name})
-                        ver = ds[-1]
-                        versions.update({sd: ver})
-
-            # we need to find all dirs specified, or else...
-            if not len(found_src_dirs) == len(extra_src_dirs):
-                raise EasyBuildError("Couldn't find all source dirs %s: found %s from %s",
-                                     extra_src_dirs, found_src_dirs, all_dirs)
-
-            # copy to a dir with name as expected by GCC build framework
-            for d in found_src_dirs:
-                src = os.path.join(self.builddir, d['source_dir'])
-                if target_prefix:
-                    dst = os.path.join(target_prefix, d['target_dir'])
-                else:
-                    dst = os.path.join(self.cfg['start_dir'], d['target_dir'])
-                if not os.path.exists(dst):
-                    try:
-                        shutil.copytree(src, dst)
-                    except OSError, err:
-                        raise EasyBuildError("Failed to copy src %s to dst %s: %s", src, dst, err)
-                    self.log.debug("Copied %s to %s, so GCC can build %s" % (src, dst, d['target_dir']))
-                else:
-                    self.log.debug("No need to copy %s to %s, it's already there." % (src, dst))
-        else:
-            # in versions prior to GCC v4.5, there's no support for extra source dirs, so return only empty info
-            configopts = ''
-            names = {}
-            versions = {}
-
-        return {
-            'configopts': configopts,
-            'names': names,
-            'versions': versions
-        }
-
-    def run_configure_cmd(self, cmd):
-        """
-        Run a configure command, with some extra checking (e.g. for unrecognized options).
-        """
-        (out, ec) = run_cmd("%s %s" % (self.cfg['preconfigopts'], cmd), log_all=True, simple=False)
-
-        if ec != 0:
-            raise EasyBuildError("Command '%s' exited with exit code != 0 (%s)", cmd, ec)
-
-        # configure scripts tend to simply ignore unrecognized options
-        # we should be more strict here, because GCC is very much a moving target
-        unknown_re = re.compile("WARNING: unrecognized options")
-
-        unknown_options = unknown_re.findall(out)
-        if unknown_options:
-            raise EasyBuildError("Unrecognized options found during configure: %s", unknown_options)
-
-    def configure_step(self):
-        """
-        Configure for GCC build:
-        - prepare extra source dirs (GMP, MPFR, MPC, ...)
-        - create obj dir to build in (GCC doesn't like to be built in source dir)
-        - add configure and make options, according to .eb spec file
-        - decide whether or not to do a staged build (which is required to enable PPL/CLooG support)
-        - set platform_lib based on config.guess output
-        """
-
-        # self.configopts will be reused in a 3-staged build,
-        # configopts is only used in first configure
-        self.configopts = self.cfg['configopts']
-
-        # I) prepare extra source dirs, e.g. for GMP, MPFR, MPC (if required), so GCC can build them
-        stage1_info = self.prep_extra_src_dirs("stage1")
-        configopts = stage1_info['configopts']
-
-        # II) update config options
-
-        # enable specified language support
-        if self.cfg['languages']:
-            self.configopts += " --enable-languages=%s" % ','.join(self.cfg['languages'])
-
-        # enable link-time-optimization (LTO) support, if desired
-        if self.cfg['withlto']:
-            self.configopts += " --enable-lto"
-
-        # configure for a release build
-        self.configopts += " --enable-checking=release "
-        # enable multilib: allow both 32 and 64 bit
-        if self.cfg['multilib']:
-            glibc_32bit = [
-                "glibc.i686",  # Fedora, RedHat-based
-                "glibc.ppc",   # "" on Power
-                "libc6-dev-i386",  # Debian-based
-                "gcc-c++-32bit",  # OpenSuSE, SLES
-            ]
-            if not any([check_os_dependency(dep) for dep in glibc_32bit]):
-                raise EasyBuildError("Using multilib requires 32-bit glibc (install one of %s, depending on your OS)",
-                                     ', '.join(glibc_32bit))
-            self.configopts += " --enable-multilib --with-multilib-list=m32,m64"
-        else:
-            self.configopts += " --disable-multilib"
-        # build both static and dynamic libraries (???)
-        self.configopts += " --enable-shared=yes --enable-static=yes "
-        # use POSIX threads
-        self.configopts += " --enable-threads=posix "
-        # use GOLD as default linker, enable plugin support
-        self.configopts += " --enable-gold=default --enable-plugins "
-        self.configopts += " --enable-ld --with-plugin-ld=ld.gold"
-
-        # enable bootstrap build for self-containment (unless for staged build)
-        if not self.stagedbuild:
-            configopts += " --enable-bootstrap"
-        else:
-            configopts += " --disable-bootstrap"
-
-        if self.stagedbuild:
-            #
-            # STAGE 1: configure GCC build that will be used to build PPL/CLooG
-            #
-            self.log.info("Starting with stage 1 of 3-staged build to enable CLooG and/or PPL, ISL support...")
-            self.stage1installdir = os.path.join(self.builddir, 'GCC_stage1_eb')
-            configopts += " --prefix=%(p)s --with-local-prefix=%(p)s" % {'p': self.stage1installdir}
-
-        else:
-            # unstaged build, so just run standard configure/make/make install
-            # set prefixes
-            self.log.info("Performing regular GCC build...")
-            configopts += " --prefix=%(p)s --with-local-prefix=%(p)s" % {'p': self.installdir}
-
-        # III) create obj dir to build in, and change to it
-        #     GCC doesn't like to be built in the source dir
-        if self.stagedbuild:
-            self.stage1prefix = self.create_dir("stage1_obj")
-        else:
-            self.create_dir("obj")
-
-        # IV) actual configure, but not on default path
-        cmd = "../configure  %s %s" % (self.configopts, configopts)
-
-        # instead of relying on uname, we run the same command GCC uses to
-        # determine the platform
-        out, ec = run_cmd("../config.guess", simple=False)
-        if ec == 0:
-            self.platform_lib = out.rstrip()
-
-        self.run_configure_cmd(cmd)
-
-    def build_step(self):
-
-        if self.stagedbuild:
-
-            # make and install stage 1 build of GCC
-            paracmd = ''
-            if self.cfg['parallel']:
-                paracmd = "-j %s" % self.cfg['parallel']
-
-            cmd = "%s make %s %s" % (self.cfg['prebuildopts'], paracmd, self.cfg['buildopts'])
-            run_cmd(cmd, log_all=True, simple=True)
-
-            cmd = "make install %s" % (self.cfg['installopts'])
-            run_cmd(cmd, log_all=True, simple=True)
-
-            # register built GCC as compiler to use for stage 2/3
-            path = "%s/bin:%s" % (self.stage1installdir, os.getenv('PATH'))
-            env.setvar('PATH', path)
-
-            ld_lib_path = "%(dir)s/lib64:%(dir)s/lib:%(val)s" % {
-                'dir': self.stage1installdir,
-                'val': os.getenv('LD_LIBRARY_PATH')
-            }
-            env.setvar('LD_LIBRARY_PATH', ld_lib_path)
-
-            #
-            # STAGE 2: build GMP/PPL/CLooG for stage 3
-            #
-
-            # create dir to build GMP/PPL/CLooG in
-            stage2dir = "stage2_stuff"
-            stage2prefix = self.create_dir(stage2dir)
-
-            # prepare directories to build GMP/PPL/CLooG
-            stage2_info = self.prep_extra_src_dirs("stage2", target_prefix=stage2prefix)
-            configopts = stage2_info['configopts']
-
-            # build PPL and CLooG (GMP as dependency)
-
-            for lib in ["gmp"] + self.with_dirs:
-                self.log.debug("Building %s in stage 2" % lib)
-                if lib == "gmp" or self.cfg['with%s' % lib]:
-                    libdir = os.path.join(stage2prefix, lib)
-                    try:
-                        os.chdir(libdir)
-                    except OSError, err:
-                        raise EasyBuildError("Failed to change to %s: %s", libdir, err)
-                    if lib == "gmp":
-                        cmd = "./configure --prefix=%s " % stage2prefix
-                        cmd += "--with-pic --disable-shared --enable-cxx"
-                    elif lib == "ppl":
-                        self.pplver = LooseVersion(stage2_info['versions']['ppl'])
-
-                        cmd = "./configure --prefix=%s --with-pic -disable-shared " % stage2prefix
-                        # only enable C/C++ interfaces (Java interface is sometimes troublesome)
-                        cmd += "--enable-interfaces='c c++' "
-
-                        # enable watchdog (or not)
-                        if self.pplver <= LooseVersion("0.11"):
-                            if self.cfg['pplwatchdog']:
-                                cmd += "--enable-watchdog "
-                            else:
-                                cmd += "--disable-watchdog "
-                        elif self.cfg['pplwatchdog']:
-                            raise EasyBuildError("Enabling PPL watchdog only supported in PPL <= v0.11 .")
-
-                        # make sure GMP we just built is found
-                        cmd += "--with-gmp=%s " % stage2prefix
-                    elif lib == "isl":
-                        cmd = "./configure --prefix=%s --with-pic --disable-shared " % stage2prefix
-                        cmd += "--with-gmp=system --with-gmp-prefix=%s " % stage2prefix
-                    elif lib == "cloog":
-                        self.cloogname = stage2_info['names']['cloog']
-                        self.cloogver = LooseVersion(stage2_info['versions']['cloog'])
-                        v0_15 = LooseVersion("0.15")
-                        v0_16 = LooseVersion("0.16")
-
-                        cmd = "./configure --prefix=%s --with-pic --disable-shared " % stage2prefix
-
-                        # use ISL or PPL
-                        if self.cfg['clooguseisl']:
-                            if self.cfg['withisl']:
-                                self.log.debug("Using external ISL for CLooG")
-                                cmd += "--with-isl=system --with-isl-prefix=%s " % stage2prefix
-                            elif self.cloogver >= v0_16:
-                                self.log.debug("Using bundled ISL for CLooG")
-                                cmd += "--with-isl=bundled "
-                            else:
-                                raise EasyBuildError("Using ISL is only supported in CLooG >= v0.16 (detected v%s).",
-                                                     self.cloogver)
-                        else:
-                            if self.cloogname == "cloog-ppl" and self.cloogver >= v0_15 and self.cloogver < v0_16:
-                                cmd += "--with-ppl=%s " % stage2prefix
-                            else:
-                                errormsg = "PPL only supported with CLooG-PPL v0.15.x (detected v%s)" % self.cloogver
-                                errormsg += "\nNeither using PPL or ISL-based ClooG, I'm out of options..."
-                                raise EasyBuildError(errormsg)
-
-                        # make sure GMP is found
-                        if self.cloogver >= v0_15 and self.cloogver < v0_16:
-                            cmd += "--with-gmp=%s " % stage2prefix
-                        elif self.cloogver >= v0_16:
-                            cmd += "--with-gmp=system --with-gmp-prefix=%s " % stage2prefix
-                        else:
-                            raise EasyBuildError("Don't know how to specify location of GMP to configure of CLooG v%s.",
-                                                 self.cloogver)
-                    else:
-                        raise EasyBuildError("Don't know how to configure for %s", lib)
-
-                    # configure
-                    self.run_configure_cmd(cmd)
-
-                    # build and 'install'
-                    cmd = "make %s" % paracmd
-                    run_cmd(cmd, log_all=True, simple=True)
-
-                    cmd = "make install"
-                    run_cmd(cmd, log_all=True, simple=True)
-
-                    if lib == "gmp":
-                        # make sure correct GMP is found
-                        libpath = os.path.join(stage2prefix, 'lib')
-                        incpath = os.path.join(stage2prefix, 'include')
-
-                        cppflags = os.getenv('CPPFLAGS', '')
-                        env.setvar('CPPFLAGS', "%s -L%s -I%s " % (cppflags, libpath, incpath))
-
-            #
-            # STAGE 3: bootstrap build of final GCC (with PPL/CLooG support)
-            #
-
-            # create new obj dir and change into it
-            self.create_dir("stage3_obj")
-
-            # reconfigure for stage 3 build
-            self.log.info("Stage 2 of 3-staged build completed, continuing with stage 2 "
-                          "(with CLooG and/or PPL, ISL support enabled)...")
-
-            stage3_info = self.prep_extra_src_dirs("stage3")
-            configopts = stage3_info['configopts']
-            configopts += " --prefix=%(p)s --with-local-prefix=%(p)s" % {'p': self.installdir}
-
-            # enable bootstrapping for self-containment
-            configopts += " --enable-bootstrap "
-
-            # PPL config options
-            if self.cfg['withppl']:
-                # for PPL build and CLooG-PPL linking
-                for lib in ["lib64", "lib"]:
-                    path = os.path.join(self.stage1installdir, lib, "libstdc++.a")
-                    if os.path.exists(path):
-                        libstdcxxpath = path
-                        break
-                configopts += "--with-host-libstdcxx='-static-libgcc %s -lm' " % libstdcxxpath
-
-                configopts += "--with-ppl=%s " % stage2prefix
-
-                if self.pplver <= LooseVersion("0.11"):
-                    if self.cfg['pplwatchdog']:
-                        configopts += "--enable-watchdog "
-                    else:
-                        configopts += "--disable-watchdog "
-
-            # CLooG config options
-            if self.cfg['withcloog']:
-                configopts += "--with-cloog=%s " % stage2prefix
-
-                if self.cfg['clooguseisl'] and self.cloogver >= LooseVersion("0.16") and LooseVersion(self.version) < LooseVersion("4.8.0"):
-                    configopts += "--enable-cloog-backend=isl "
-
-            if self.cfg['withisl']:
-                configopts += "--with-isl=%s " % stage2prefix
-
-            # configure
-            cmd = "../configure %s %s" % (self.configopts, configopts)
-            self.run_configure_cmd(cmd)
-
-        # build with bootstrapping for self-containment
-        self.cfg.update('buildopts', 'bootstrap')
-
-        # call standard build_step
-        super(EB_GCC, self).build_step()
-
-    # make install is just standard install_step, nothing special there
-
-    def sanity_check_step(self):
-        """
-        Custom sanity check for GCC
-        """
-
-        os_type = get_os_type()
-        sharedlib_ext = get_shared_lib_ext()
-        common_infix = os.path.join('gcc', self.platform_lib, self.version)
-
-        bin_files = ["gcov"]
-        lib_files = []
-        if LooseVersion(self.version) >= LooseVersion('4.2'):
-            # libgomp was added in GCC 4.2.0
-            ["libgomp.%s" % sharedlib_ext, "libgomp.a"]
-        if os_type == 'Linux':
-            lib_files.extend(["libgcc_s.%s" % sharedlib_ext])
-            # libmudflap is replaced by asan (see release notes gcc 4.9.0)
-            if LooseVersion(self.version) < LooseVersion("4.9.0"):
-                lib_files.extend(["libmudflap.%s" % sharedlib_ext, "libmudflap.a"])
-            else:
-                lib_files.extend(["libasan.%s" % sharedlib_ext, "libasan.a"])
-        libexec_files = []
-        dirs = ['lib/%s' % common_infix]
-
-        if not self.cfg['languages']:
-            # default languages are c, c++, fortran
-            bin_files = ["c++", "cpp", "g++", "gcc", "gcov", "gfortran"]
-            lib_files.extend(["libstdc++.%s" % sharedlib_ext, "libstdc++.a"])
-            libexec_files = ['cc1', 'cc1plus', 'collect2', 'f951']
-
-        if 'c' in self.cfg['languages']:
-            bin_files.extend(['cpp', 'gcc'])
-
-        if 'c++' in self.cfg['languages']:
-            bin_files.extend(['c++', 'g++'])
-            dirs.append('include/c++/%s' % self.version)
-            lib_files.extend(["libstdc++.%s" % sharedlib_ext, "libstdc++.a"])
-
-        if 'fortran' in self.cfg['languages']:
-            bin_files.append('gfortran')
-            lib_files.extend(['libgfortran.%s' % sharedlib_ext, 'libgfortran.a'])
-
-        if self.cfg['withlto']:
-            libexec_files.extend(['lto1', 'lto-wrapper'])
-            if os_type in ['Linux']:
-                libexec_files.append('liblto_plugin.%s' % sharedlib_ext)
-
-        bin_files = ["bin/%s" % x for x in bin_files]
-        libdirs64 = ['lib64']
-        libdirs32 = ['lib', 'lib32']
-        libdirs = libdirs64 + libdirs32
-        if self.cfg['multilib']:
-            # with multilib enabled, both lib and lib64 should be there
-            lib_files64 = [os.path.join(libdir, x) for libdir in libdirs64 for x in lib_files]
-            lib_files32 = [tuple([os.path.join(libdir, x) for libdir in libdirs32]) for x in lib_files]
-            lib_files = lib_files64 + lib_files32
-        else:
-            # lib64 on SuSE and Darwin, lib otherwise
-            lib_files = [tuple([os.path.join(libdir, x) for libdir in libdirs]) for x in lib_files]
-        # lib on SuSE, libexec otherwise
-        libdirs = ['libexec', 'lib']
-        libexec_files = [tuple([os.path.join(libdir, common_infix, x) for libdir in libdirs]) for x in libexec_files]
-
-        custom_paths = {
-            'files': bin_files + lib_files + libexec_files,
-            'dirs': dirs,
-        }
-
-        super(EB_GCC, self).sanity_check_step(custom_paths=custom_paths)
-
-    def make_module_req_guess(self):
-        """
-        Make sure all GCC libs are in LD_LIBRARY_PATH
-        """
-        guesses = super(EB_GCC, self).make_module_req_guess()
-        guesses.update({
-            'PATH': ['bin'],
-            'LD_LIBRARY_PATH': ['lib', 'lib64',
-                                'lib/gcc/%s/%s' % (self.platform_lib, self.cfg['version'])],
-            'MANPATH': ['man', 'share/man']
-        })
-        return guesses
diff --git a/easyblocks/g/gpi_2.pyo b/easyblocks/g/gpi_2.pyo
deleted file mode 100644
index 8fcb1802e0f4cd8decd1ad9928924f85fc688faf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1262
zcmcckiI;0-14l$M0~D|_FfceUFfbH@h!h5fC<cZUMurq7hHOTL943Y+CI&_jpP3<>
znIVUTA&P~8F@=R8m5CvZks*bZp@o5=nSmiPij^USjUiZr9b{4s0|Nt>YhrPwQ)y;S
zib8Q|K|y{|i9%X_kwOwkBr`8vAu%sSAv3SIBrzuk#B~qw)HTxK%FHduNzF~oD@jdJ
zNGw)J%u`5BEUrw-$xqJK<Kl8iEG@~%FS1hbDb39+Qt(PF&dkqN(C`c~QSi*m%P&hT
z$;{6y*5u0k|NsAg4MqkAh7wK&1_rQ8Kt@1>Ku#<w&5KXYO)236Njt^62YANkX6BU^
z#~Z=J1*F{x<Qs7Y28L7yhA2h`Q0Op$LZ^j+A&QwHC|H9Dq(F;-fgzY!Kk6le3<l|A
zVPIfz2I<dcU|^_WV8~=($Yf;51Y3~8&d|)nkgv$V2$Eo7$Yce@NHZe?V+u1^EgOSa
zEh9so9I^ry2CxEFBn2hx3^k0Pm?`04Xl7(&OkrmT*5CkHY6x;PD7Y&Xic0ffQK46y
zp-`M%lvz-sP@Y+m0TWKiEK(>)EXgQgV_;w?El$lX$Sf9PU|@j6FIc5-fF~@Xi**<n
z81(d^u?sR%w?IL)SV318q*6DxAk$XG)hWo|Kg2)4)z3G;vse<vto+gv1!Uuduo_na
zipQM%^!UV_96t?EJcA><BtJhVIU_MM4=kTw08SDm%nS?+>8T|ppfLB#&r1ah<m9J=
z1v2x}@=LfF7#N@~PRT3^0!0#7GNh<96&%fAUU6zp8dz^~Zi)sd1A&QRP+;nVQz|HV
z>laj(WaQ@|34o<QDX>^ST|d1bGu}wApb~5)I6uS}m!uYe!k`$G9vPS=83h=b8Tpt5
z7<m~rKu#_JMOl1&USe))d^}iRe0*+xN@)&=3krw$_>}zQ`1l}x1_lPOlMn=Xjtc^%
zP*4;XgY0KxWMlHv07ZTfC^AZ9L0JNnF+twdODjsuO)bwa%GQJXGYAwmCBi7mKrvIS
lS5%q@4qUJW2v>qx<T(`_I5v>ruoD2KZIDCRm;@LFm;vhkHH82G

diff --git a/easyblocks/l/lammps.pyo b/easyblocks/l/lammps.pyo
deleted file mode 100644
index 0740ac48f70f2762e4e5ac279dbb66919c3d5c6b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1691
zcmcckiI;0-14l$M0~ByDFfceUFfbHnFfcHrFfc?hFr+Xtq%bjLGcrUm!q`j<QA}Vq
zGeb5rLk<f=6bl0*NF579HY-C88$%QugwM*5&CZa+!4Sp4z?j0ukjlc4#>kMu&d|cZ
z(9FOP8N~@QI#>f_YjF(&0|S?9VsWKYX=YA}LUCz9L4Hw*LRx;2LJ~+MGcR2sF)u|S
zGq1QLF((Ja^>OqK2ng2U%FHduNzF~oD@jdJNGw)J%u`5BEUrw-$xqJa;&MnVEy>6)
zvQqFV&CM)Q@JcMs%+FTP@C-3g@XX80FH0=R%+D*<<jVa2|NnnK4MqkAh7wK&1_rQG
zKt@1>_+UaHx40G+<rhK3*%=rZic0h1lXFub+MMEj9DRKQg5hBbGSLYXrs50?45<v@
zaAbgnU<(676f;9mum%%Ifi?pJLojjv_6-QuO9q+D%D}(?3O{F%0U#%(Ff!CIFk~`-
zf>u(jmXV=^k)ei>A%&Ttgo&Y<k&&^4nIV&fA(IuRjD<lmg_WV1iJ_K>0Y#3DA%zVr
z&J0${&XCCgiae0%Yz$(}j0}vG6JR<x!AjT|ni(1LwHX*eY9Q)4pb}v9C0q=d+)x3K
z{yatouyc5j#6V8qVW?pS8N~?Fzzeg3m7#`-A%zp<B#<JAADE#c%}fl8;d!bIEG2vl
zSzHYHk_?QDwJZ#bCHxF2TnsfVU<WrbGUPEaFh-<sGX!h!fI>`|fq@~YG*6)zl!hu5
zauc&t6>_t4in$pW7*vbl{1TAjf}&J#O3W`PDJ}uUdrp3Od}2-xINpm(5{pXWQ!<N6
zm_g<iC4=dt%)DYb1_lO5l7OXMg_O*q)Z~)<qDqC#Vg=RWVp#?T1{b)PYOz9UMP_kH
zv5rDYYEEiNW?nkPy4-?zklU0Q7#Q3VGjmc?6iV{pW<sq<%FIhFs?<?XE%wt80HtM+
zbCT22gFq>)goS~DA*84@wFJb=F9!1q5=%0`jI8|3yb>-31_o#rgLx(=KOHQenU|Jd
z0!nY0#ULp*kUuj@OEPmxK+K}tlA_d9uzYSdNFJmzIlrLN2pm4H70IaupsW@IO0^mw
zNwA^CsX1xjpaNwekU7Og$spaFAh#zLrKgsFcpy)t78PlLiYYKrY{bC8pbyUGpbV*B
zP+5|ZpNAv>mI7tpV*MQboW$JRf?~abO0f69kr-cGl3D<Ynqmczp-h5|0*o?@5{%-E
z%#31;JdE6oB8&ozyo?fzQj7wO8lZqH0p+v!_`Jm2)cAO?N%8Ty`6;D2ATB69#K))P
zC&$MJfua-aN(4csdxJn8mj(qi$N_AOY)l%U2nqtZIS7;{gFp$m1Y{xD!=SLxODjsu
zO)bwa%GLvmfdU~2<i`?8Pyqxg8Ntd*^7C_w^&o+flb;TbmlBY1U|mQ`ic0gqsR!&B
jgqOf9GW`V(N*hSv*$IOD2l5OX6AvQ~lK`UtqX07iOuU45

diff --git a/easyblocks/o/opencl.pyo b/easyblocks/o/opencl.pyo
deleted file mode 100644
index 23e18b8ed59358b0ce8afd695adf79e6c25f5a7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1691
zcmcckiI;0-14l$M0~D|^FfceUFfbJRFfcHrFfc?hFr+Xtq%bjLGcrUmg4xUr*-Q*M
z%nVV?42&Q-7KUsVh8$LgC{_l>6jp{*W`;CIh7>l276yi928PHeHjwsU4R(;JYZw?9
zxLgy9E1gO+b5azFOA89}i%JyI@{1IbKq8rW=?aN?DGHf+#U+V3IUufoL290}j}BL6
zZb43JZfaghYKlT)u|i^=LTX}hWl~Ola<(3qXNf{-ajHUber~Ela(+sxLRwLNu0nch
zUTRThvVvz`NotN$VsWZMa!z7#u^tzfLt<%3Mt+f%f=_8~W|4wdVsU1Ewt|Ldh>3z{
zUS57#Vo7FxUa=-u=Kufy|NCh$GB7Zda56A3z)gY(f&5fdnirp(n^FP_Ifz@~feF&)
z1oE~x0|P@U12_N~7^0X!!Pvq83c#RX4JMEREd~aLV4?#f8DuaQ0|NudNzNes3XBX4
zH4F@y3=EmzNCL5$K;bSa*38JjSi;PZ$-<Dy3RVLVPhn<gW@4yiWB|#rG1M?Jz!b7W
zIkij-6?zOcObjluY7Di^3@I!OHOvfRwJZ!J91Jxq3@NOjFiBwpk<E-ujD=AQ;UL4<
z!A63uOJQe7;Q-mw%*c?!$sk$FiY`~f%FxWrP|F4uXJ@Ek139CXouR^qp@yBoCDw(Z
zmIEvYHm`<_p$2STEhj??7efsv*h5?lX-xRsb%i0kgp(mygBui5sSFGZj>#pZi8-)D
z299ekE(IviRY<KUDN0N(QAo?oNiBw?q@Vy_Bn8R&1(gaV`3fZ&sR|{D=|!m}3MrXI
zsmUezMU`-6#i9%h4DR`$BwUgYN!=h-3aZ86lvG@jSX2_9l37&3%)r1<RFGQ?N+d-E
zxkkwanfVH;#R@eFV3uxXN?8dgq2=VK$0z3GfD>9VI5&W`<`<Ndure?(WP%cTCMX*h
z^Dr<lBo`>?7J-aWE!GG79IQAeKfQzntT-(nERdX*UII#i`Nd%Ig2a*xFe58JGY@QR
zat6qaVEZ$ROHwk6f<TE6tR|$WG_?ej457I-C9_Ba#05(hr{<)Aon2Ir3-%@l#GCOs
znZ+eRAU8nlhvuB((j<^QpeO>lA-<p}H7&EEL<r>8lGNPd_>%niq}2H2{DREX6tD%E
zC8@b3AoZYViq9_sS)u{*KA0#rVqjp<2bU0_az($OvLquv4@m$l1u8s>_4D=f3sUov
zbMy)-OF%&f^-g?oNos*KD9tE=jOCDKlwss$<Y#1OU}NNBlwww5lz{R?8HE|8m^8qi
z0(mn&J})shH9j63IPvkh`6;D2ATB5r<Kt8EljGxqWEdD2z%E4)WV$&B6n_#RcY++i
z#>mD5E^CA285kIXK>jIF0~J4@!V(k|dI+EEK?_JdaN0>qEKUsq`LskBMSV$reonDo
nQE47H=E1fh+ze)s>F^RzSlK{A$4&s`0gwP26AzOBqX07i)s2vG

diff --git a/easyblocks/p/__init__.py b/easyblocks/p/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/easyblocks/p/p4vasp.py b/easyblocks/p/p4vasp.py
deleted file mode 100644
index 524b958..0000000
--- a/easyblocks/p/p4vasp.py
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env python
-#
-#  Copyright (C) 2015 IT4Innovations
-#  Lumir Jasiok
-#  lumir.jasiok@vsb.cz
-#  http://www.it4i.cz
-#
-#
-#
-
-"""
-EasyBuild support for building and installing p4vasp,
-implemented as an easyblock
-
-@author: Lumir Jasiok (IT4 Innovations)
-"""
-
-import os
-
-from easybuild.framework.easyblock import EasyBlock
-from easybuild.tools.run import run_cmd
-
-
-class EB_p4vasp(EasyBlock):
-    """Support for building and installing p4vasp."""
-
-    def configure_step(self):
-        """
-        Create %(builddir)s/install/Configuration.mk file to skip
-        run "python configure.py local"
-        """
-        builddir = os.path.join(self.builddir, '%s-%s'
-                                % (self.name, self.version))
-        installdir = self.installdir
-        p4vasp_path = installdir.split('/')[1:-1]
-        p4vasp_root = os.path.join('/', *p4vasp_path)
-        self.log.info("p4vasp builddir id %s" % builddir)
-        self.log.info("p4vasp installdir id %s" % installdir)
-        self.log.info("p4vasp root dir is %s" % p4vasp_root)
-
-        conf_file = os.path.join(builddir, 'install', 'Configuration.mk')
-        fd = open(conf_file, 'w')
-        conf_content = """
-            ROOT          = %s
-            P4VASP_HOME   = %s
-            SITE_PACKAGES = %s/python-packages
-            INCLUDEDIR    = %s/include
-            LIBDIR        = %s/lib
-            BINDIR        = %s/bin
-        """ % (p4vasp_root, installdir, installdir,
-               installdir, installdir, installdir)
-
-        fd.write(conf_content)
-        fd.close()
-
-    def build_step(self):
-        """Run simply make install"""
-        cmd = "make install"
-        run_cmd(cmd, log_all=True)
diff --git a/easyblocks/p/p4vasp.pyo b/easyblocks/p/p4vasp.pyo
deleted file mode 100644
index 696ae2ddcaf438f40b298b70cd6f227d5de96f0b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2098
zcmcckiI;0-14l$M0~D|^FfceUFfbJRFfcHrFfc?hFr+Xtq%bjLGcrUmg4xUr*-Q*M
z%nVV?42&Q-7KUsVh8$LgC{_l>6jp{*W`;CIh7>l276yi928PHeHjwsU4R(;JH4F?4
zT&{`5l}@FZIVlRor3D4~MI{Pp`9%szAd$?xbcMvc6ot&Z;*!Li91yp_q%5(xK!+<c
zw;(4qH#M&$HANw@SRpY_AvLkMGASoNIh%{iA+fY1BfrQ>!KXAgvq-@!u{bk7TS3D!
z#6-a}FE76=u_QA;uUL~S^Z)<<|NS%=85kH!I2jliz)k@f0TBYZv8XgJJ~=l9BJC6p
zu^t{iAe~MipC~XeFr+eo!-Rn$iU|}lEexPANnrx{Jc@-OC|H9Tq*9xKfgzY^kLo3Z
ztl(f^U;trfkOAL7u4Q1zWMs%>VyIzY$YciD24b*)xvUInOblYpOboS*U_Ki|EfYfx
z6GJ9DDCC<N8B&-TQdk%iYnd5JV8)~{G1M?K^e{5iLd@V`$mC>5VP&XcWDsj+WMBlD
z4iRGm8HFas&QQYwQ3p4$hLItKgCT{Jp_!SXmX)D|i=l><A%%+p<SaIZ6mF1?8nCnA
zWEvZTSS>q44I4uyH$x3O1K3_RhD;t%x?xP=VF=dX1^K@ilxP&7z_}<ju_RSNRRf$}
zQZkD)i}j(YMc+9;FD)~@v<MvAdb!yOX_+~x3MKgp#o3t!Tu=iPic0eolnN?KGV=2j
zlA$_M^$IE#a`KZCbClrfidh*L7*vaORf|hNQKFv-BEbo$Sd@W*0g^Bv$u=dkNFg&t
zLAAJ893caB6+#Y4S5ba`i2_)rSV6V81eETe%8LaU7#Pq!0(L-o@nhtG0C^|K-#-LI
zL$IxaYBAjPAfW)0FvsA4cn^PHR|N$H4C!Fc5ZCwsM`v$Gch_LBv_2$QbPE!bvlG)(
zQBCvobM^^!adq(w0+|gmO+Pa)Ij1xw6~$5?Pba7nxU!tgBorl1o_^>`k}~t)O8mgl
zUc$t{z>r^D!U77>#F7j!BP%~MuLP7aV6hJt%}dNp1&3i-YEf}!eqIR|0|NszJX11@
zN<a}=T#%DlQUc15Ir-^eU72}l`CvwVL24dYO?gpfNh+9?oReRissXYHtfDwICoPDR
zfq@~22b34NK~4e}OYsFDmm%>%5eqIlKq)I8l>Wf}NJ}XJ=>!WV=jWBA=9OrGN?b5e
zY{bC8pbsw1KxH5_5|9MIQlL_*Sie9YlJ4{hDogkn7#Kh%f|7h{d~r!?fix()$bbxH
z6=D=)<YW|M6lD|vK_&@CehwZ+0VZBXZ~+4fTu{h@3m7R-S<eV6K1vusB|r)jLkS~8
zGb1Bo3Nu5n21p$^VF#7wDHMas;Yx+v#Ozd9DP0Wm8nOU5E^_kI;}dgo{4_vT1%dJo
zI4DDkN>d?1!l0l8MM!dP3OF3V1i66$igIwG00)ExC?G)YW?*7t)BwdlIMu|*gOW;o
zJUD^G$LHp!l;)(y$AjG)AD@z+93LMf35sS}1_lPOa}WfX4hsT#UjpPDP}R!D$i~De
z3$6=;Ks87ZNU#KC8#s<Z(XW?Ql$e`Zo?n!$2Nnaxdk`o}OF#hz76L0P$<NOz)+;K_
l1BWfx8iZrPEHYgT4k;T**w}$eqhe4#U}NH85?~Zy1^@%3=yL!7

diff --git a/easyblocks/q/qscintilla.pyo b/easyblocks/q/qscintilla.pyo
deleted file mode 100644
index cb9ae9bd04128dc779984c0e68ea3e127f2463a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1647
zcmcckiI;0-14l$M0~D|_FfceUFfbH@h!h5fC<cZUMurq7hHOTL943Y+CI&_jpP3<>
znIVUTA&P~8F@=R8m5CvZks*bZp@o5=nSmiPij^USjUiZr9c0o51_lN$*TmvVr_#)v
z6oul_f`a^_5{0z<B84Q7NM>HTLSkNuLS|lZNn%b8h#MH3oS9dWnUj;KpsN5@U6QX5
zSfY@h##NG$s(_G9P01_)X-Lk`Ey&MH%`4GS$jmLsNzF~oD@jdJNGw)J%u`5BEUrw-
z$xqJK<Kl8iEG@~%FS1hbDb39+Qt(PF&dkqN(C`c~@yyH1FH0=R%+D*<<jVa2|Nnmt
zMg|6k5>5sN2C(ZvCP0Kh-YP21i%-r?Dd7c4JH;bh3=c|>ZYNLxXfiM`q%tr>F*1Mx
zlnE4|Ees4%%%ETeF<2N<m_Z>I#mW#Atib}(5)TS91qB6#V5HE(5kOoZbtr+PKp>F7
zI+8)|V`5-n09oh^vQ(7;9N9Gt44Didw@HfCGBT7fGSo1F99Y7{(9FmPitS(xP%0_r
zV_;x#&d*EBOfM};RVXe=EhrXeU|>)!Rw&F(%uZD(EQUp*UO`blIG_rOQj@_t@(W6e
zOF+Sxlb;@+n3LnD!3+v(5Rsgg9t3h)3CLX`MWv}4AV-3E#i==IC15qVDH@;z3nq%q
z7#JAz!I2C~PWlCvB^mj7NCIFfQ0x`!7wRLss<H&+2Z)PGi&Eo3evk%*1juRzCP7Au
z!-$K4fdQKALE!`Pv1+jbD0oVE7#J7|ic-N@02CZSAWI?P5CjTea3BP+F)%QI10V>b
zH;4norHao%E(6;Q_O$|4eGT%OCnPsR(gi;xU4Z-z%jV#qFDOcdCh7qQ0gx-9wu8d}
zl>Cc9kpPN$4N$<BfPy<dJ})shH9o!s6k_r5x%nxjIUp`5KH}q3@{{A^gFt0O5H|w@
zLlCGq0H;a>K|%Tq0wsM>P~3oA!p6eJ#L3FZ>IZgQkN_yh$b!liQ27Q*`g&<aiMgre
z`9;}!@H8I;N-ZVAD9TFm^K**zic0e!X$)iu!nt4;1#SihnhhkF>_8D;3<^p%CILnP
FW&nW+iV*++

diff --git a/easyblocks/q/qwt.pyo b/easyblocks/q/qwt.pyo
deleted file mode 100644
index 148e4370a1c57fdb5e653c50220456d7e172804a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2094
zcmcckiI;0-14l$M0~D|`FfceUFfbHHFfcHrFfc?hFr+Xtq%bjLGcrUm!q`j<QA}Vq
zGeb5rLk<f=6bl0*NF579HY-C88$%Qu17iv+Ln;eH8Y4pr8$$~NLo)+IWE4Bds9+6{
zEyW8N7#O%*6N@XIN;7j(6pBj=3i69e6w>mG6p}z9nR)37iFqjsnR&$}i8(nSZeV$d
zf-YBJi9&d0N_uKZF<5a(YH~(iW^!VVf@48JPG)jqNoIatv5rD!Zb43JZfaghYKlT)
zu|i^=LTX}hWl~Ola<(29mqTJ{Nk)E=m4Z)cZf22!S7LEyezt;!XNZYsUS56~#1Kuc
z%>V!Y|M$~iWME(@;bdT70J|4t1Vjkrk)qPP_~hJ_5;l;uQ+!}~2|P4G+MGb4smZ{=
zkjelKK?Z2pwJ<P5F@u5w#9(1aVFm?K6e~keum%fAiw`Jx6ciK`f{_9SJuDQ63JWff
zG07mufZWT>z`)=PvS9_tQw$85j0~Af3^fc4narR#l}uq`Xl7!lWn?H}VW?pQISj;Q
zVyIza$YcdYV=Xg72^&KuJ3|T!n85*7&%#i{!jQ?ykirT!i;F?5h8Zlu3f9RDN(Rl0
z42&RSco=F}8DJb<keQ4r>|kxo3@IE8l47-N3?+OFHEdu-DVz+!8eAY3tAU)JpO==I
zURso@P+XE)prcTbSdyFpN*smdCCOkpy@H}laAXyiBo>v#r(_lt^D;0npvV_9F)%O`
zX&0L?FfhcG=4DpI6l+&=#T07?hKIy^`UQtL`uM~L1i89-M#L0r+r|`YYs3U=Yl2iL
z>uGV-7ArF_Fo5(aRLA5gU}{pZRZuOC$*au-<*Q-=1_lPzVuixo#Ozds!txTmf};Eq
zkedpMQXy{6FDNPY)8Gfi2*_pm#U-FbP>@)X0cK?7XXcfFA}%>C9W0PvkeUZ(6s0Dn
zlz_AprIvtVH#tAIATuWw?0?@-pAb(UPd`_%*5cBn5>O~Y(@;ug5!is@)YR+}Rt5%!
z@}kU=R4^+!C%-r~2$WvHITflbCk<>U$i4AtAS*z&rlo)d^NTXm<4aO2O2GPyQqxl_
zN;nu881hofA;Ms{=cZ_Yf&)wx>oYJg=!0`4D6{JqRF-7q=OGDzr9e5YSievo9A=dz
zd<+Z>Ap61b9}kLuSx~Z&0GY}p!^qFb!^jE70*t(jyo_9of{fr~4{|9eJi*Cc6;!e@
zf>Rp<DE~={fzmo7G_98~F*GwWGN!OF1Z#jor5F@s&=RU7wV)Uj#;U~%pqMP-VPIe=
zC`tvFR-gz3M?g+~dVFF|j-Lj|%R!((0EZ+v5JQSeQ#C-22@+;tU<i_AU|;|T2ACi#
zL_n?s+Yb&69Z+b1Jj%dC1)qbw=Lso%!FjD1lsut+hn33UC@CmPg(fOcC<MtcFfgEd
zKL`|2)b%>Zc~EP?o;O7HyauQ=1}DMz_`Jm2)cAOC+K-RV%}*)K0dYYQ86TgLpBx__
zBn65MIS`?M5+!8EOAsiMLCLZhlmOV6*_b%_IaxJ8oFGui5d=zFLEND14hk4>S_fqV
zy|kjl+|=^?qHH~|7%2S*fl_w~D8Yb*z{*PU^K**zic0gqX$x!{*sTbHtkeW@pA960
U>_CwXPW)_4Jd8X{0*nI802Hp|oB#j-

diff --git a/easyblocks/s/snucl.pyo b/easyblocks/s/snucl.pyo
deleted file mode 100644
index 3e57ecc7b742a86797471b7adab7f1e9e7aed276..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3054
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
bII3+RVP*%aw~9gOiH(Vek%viuQGgi$AXkVY

diff --git a/toolchains/__init__.py b/toolchains/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/toolchains/__init__.pyo b/toolchains/__init__.pyo
deleted file mode 100644
index a3fcd9cd4a42733a58478db11b03c3d04b9272c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 142
zcmcckiI;0-14l$M0~9baFfceUFfbIeFfcHrFfasbfJFQ>K+<SLu{i?+gMMN`L9u>n
zVsT|sX=YA}enDkPMt&ZWKuLanPI5+KW?r#=e0*kJW=VX!UO{CE2Ll6xO>TZlX-=vg
J$cAE&1pu~6AXWeX

diff --git a/toolchains/gcccore.py b/toolchains/gcccore.py
deleted file mode 100644
index 4cdbd3d..0000000
--- a/toolchains/gcccore.py
+++ /dev/null
@@ -1,39 +0,0 @@
-##
-# Copyright 2012-2015 Ghent University
-#
-# This file is part of EasyBuild,
-# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
-# with support of Ghent University (http://ugent.be/hpc),
-# the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en),
-# the Hercules foundation (http://www.herculesstichting.be/in_English)
-# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
-#
-# http://github.com/hpcugent/easybuild
-#
-# EasyBuild is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation v2.
-#
-# EasyBuild is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
-##
-"""
-EasyBuild support for GCC compiler toolchain.
-
-@author: Kenneth Hoste (Ghent University)
-"""
-
-from easybuild.toolchains.compiler.gcc import Gcc
-from easybuild.tools.toolchain import DUMMY_TOOLCHAIN_NAME
-
-class GCCcore(Gcc):
-    """Compiler-only toolchain, including only GCC and binutils."""
-    NAME = 'GCCcore'
-    # Replace the default compiler module name with our own
-    COMPILER_MODULE_NAME = [NAME]
-    SUBTOOLCHAIN = DUMMY_TOOLCHAIN_NAME
diff --git a/toolchains/gnu.py b/toolchains/gnu.py
deleted file mode 100644
index 8b7f97a..0000000
--- a/toolchains/gnu.py
+++ /dev/null
@@ -1,36 +0,0 @@
-##
-# Copyright 2012-2015 Ghent University
-#
-# This file is part of EasyBuild,
-# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
-# with support of Ghent University (http://ugent.be/hpc),
-# the Flemish Supercomputer Centre (VSC) (https://vscentrum.be/nl/en),
-# the Hercules foundation (http://www.herculesstichting.be/in_English)
-# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
-#
-# http://github.com/hpcugent/easybuild
-#
-# EasyBuild is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation v2.
-#
-# EasyBuild is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
-##
-"""
-EasyBuild support for GCC compiler toolchain.
-
-@author: Kenneth Hoste (Ghent University)
-"""
-
-from easybuild.toolchains.compiler.gcc import Gcc
-
-
-class GNU(Gcc):
-    """Compiler-only toolchain, including only GCC and binutils."""
-    NAME = 'GNU'
diff --git a/tools/__init__.py b/tools/__init__.py
deleted file mode 100644
index 12cd9a6..0000000
--- a/tools/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from pkgutil import extend_path
-# we're not the only ones in this namespace
-__path__ = extend_path(__path__, __name__)
diff --git a/tools/__init__.pyc b/tools/__init__.pyc
deleted file mode 100644
index 4b6454c03a2b41a2962280a4c5a5895a82c97705..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 239
zcmcckiI;0-14l$M0~D|@FfceUFfbG=GcYiuFfgPrGGsF_<S;TsF)}cwGBTtxF{Cmx
zG&3<oF)^etF$8NcGcYh@{{R2~zXl@%149Wn0|P^9MM-L2N_;_LNrs;W$iNbI1_p+L
z?DW!-%$y*QMI{^z3=HvL74h*<PF`YeYJ9u~NE$&D8!<32=qDBw6ziuZ7FQ;fX6B^m
x7gUyH<mVv?l;r2<6zj*wXXa&=#K-FuRDzAP$<0qG%}KQbxvQ9ofq_AQ2>@k#H%kBj

diff --git a/tools/__init__.pyo b/tools/__init__.pyo
deleted file mode 100644
index 4b6454c03a2b41a2962280a4c5a5895a82c97705..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 239
zcmcckiI;0-14l$M0~D|@FfceUFfbG=GcYiuFfgPrGGsF_<S;TsF)}cwGBTtxF{Cmx
zG&3<oF)^etF$8NcGcYh@{{R2~zXl@%149Wn0|P^9MM-L2N_;_LNrs;W$iNbI1_p+L
z?DW!-%$y*QMI{^z3=HvL74h*<PF`YeYJ9u~NE$&D8!<32=qDBw6ziuZ7FQ;fX6B^m
x7gUyH<mVv?l;r2<6zj*wXXa&=#K-FuRDzAP$<0qG%}KQbxvQ9ofq_AQ2>@k#H%kBj

diff --git a/tools/module_naming_scheme/__init__.py b/tools/module_naming_scheme/__init__.py
deleted file mode 100644
index 12cd9a6..0000000
--- a/tools/module_naming_scheme/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from pkgutil import extend_path
-# we're not the only ones in this namespace
-__path__ = extend_path(__path__, __name__)
diff --git a/tools/module_naming_scheme/__init__.pyo b/tools/module_naming_scheme/__init__.pyo
deleted file mode 100644
index 66ae3d0384ab1aa34a00f05257b99e6bdbdff3f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 260
zcmcckiI;0-14l$M0~D|@FfceUFfbG=GcYiuFfgPrGGsF_<S;TsF)}cwGBTtxF{Cmx
zG&3<oF)^etF$8NcGcYh@{{R2~zXl@%149Wn0|P^9MM-L2N_;_LNrs;W$iNbI1_p+L
z?DW!-%$y*QMI{^z3=HvL74h*<PF`YeYJ9u~NE$&DyE8B_=qDBw6ziuZ7FQ;fX6B^m
z7gUyH<mVv?l;r2<6zk{ar<CTT#^)vGX6B{G7bj<==BDb$$7kkcmc+;F6;y)lv4N<v
O139*siGhJZfC&K2VL!qE

diff --git a/tools/module_naming_scheme/it4i-uv_module_naming_scheme.py b/tools/module_naming_scheme/it4i-uv_module_naming_scheme.py
deleted file mode 100644
index 7671ece..0000000
--- a/tools/module_naming_scheme/it4i-uv_module_naming_scheme.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/env python
-#
-#  Copyright (C) 2015 IT4Innovations
-#  Lumir Jasiok
-#  lumir.jasiok@vsb.cz
-#  http://www.it4i.cz
-#
-#
-
-import os
-
-from easybuild.tools.config import install_path
-from easybuild.tools.module_naming_scheme import ModuleNamingScheme
-
-class IT4I_UV_ModuleNamingScheme(ModuleNamingScheme):
-    """Class implementing an example module naming scheme."""
-    
-    #REQUIRED_KEYS = ['name', 'version', 'toolchain', 'moduleclass', 'sources', 'description', 'versionsuffix']
-    REQUIRED_KEYS = []
-
-    def det_install_subdir(self, ec):
-        """
-        Determine name of software installation subdirectory of install path.
-        @param ec: dict-like object with easyconfig parameter values; for now only the 'name',
-                   'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available
-        @return: string with name of subdirectory, e.g.: '<compiler>/<mpi_lib>/<name>/<version>'
-        """
-        # by default: use full module name as name for install subdir
-
-        # fetch required values
-        name = ec['name']
-        version = ec['version']
-        tc_name = ec['toolchain']['name']
-        tc_version = ec['toolchain']['version']
-        moduleclass = ec['moduleclass']
-        version_suffix = ec['versionsuffix']
-
-        if version_suffix != '':
-            self.log.info("IT4I UV version_suffix %s" % version_suffix)
-        else:
-            self.log.info("IT4I UV version_suffix not found")
-        
-
-        # Get the install path from configuration
-        installpath = os.path.join(install_path(), 'uv')
-        self.log.info("IT4I UV Install path for software is %s" % installpath)
-        self.log.info("IT4I UV This application moduleclass is %s" % moduleclass)
-        moduleclass_dir = os.path.join(installpath, moduleclass)
-
-        if (tc_name == "dummy" and (tc_version == "dummy" or not tc_version)):
-            self.software_full_version = version
-            self.log.info("IT4I UV Software full name (dummy toolchain) is %s" % self.software_full_version)
-        else:
-            self.software_full_version = version + "-" + tc_name + "-" + tc_version
-            self.log.info("IT4I UV Software full name is %s" % self.software_full_version)
-
-        if (version_suffix != ''):
-            self.software_full_version += version_suffix
-            self.log.info("IT4I UV Software full name (with version_suffix) is %s" % self.software_full_version)
-
-        if not os.path.isdir(moduleclass_dir):
-            self.log.info("IT4I UV software moduleclass directory %s missing, creating" % moduleclass_dir)
-            os.mkdir(moduleclass_dir)
-
-        software_dir = os.path.join(moduleclass_dir, name)
-        if not os.path.isdir(software_dir):
-            self.log.info("IT4I UV software application directory %s missing, creating" % software_dir)
-            os.mkdir(software_dir)
-
-        symlink_path = os.path.join(software_dir, self.software_full_version)
-        if not os.path.islink(symlink_path):
-            self.log.info("IT4I UV Missing application symlink %s, creating" % symlink_path)
-            os.symlink(os.path.join(installpath, 'all', name, self.software_full_version), symlink_path)
-        
-
-        return os.path.join('all', name, self.software_full_version)
-
-    def det_module_subdir(self, ec):
-        """
-        Determine subdirectory for module file in $MODULEPATH.
-        This determines the separation between module names exposed to users, and what's part of the $MODULEPATH.
-        @param ec: dict-like object with easyconfig parameter values; for now only the 'name',
-                   'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available
-        @return: string with subdir path (relative to $MODULEPATH), e.g. '<compiler>/<mpi_lib>'
-        """
-        # by default: no subdirectory, but we have to use 'uv' subdirectory
-        return 'uv'
-
-    def det_full_module_name(self, ec):
-        """
-        Determine full module name from given easyconfig, according to an example module naming scheme.
-
-        @param ec: dict-like object with easyconfig parameter values (e.g. 'name', 'version', etc.)
-
-        @return: string representing full module name, e.g.: 'goolf/1.4.10/gzip/1.5'
-        """
-
-        # fetch required values
-        name = ec['name']
-        version = ec['version']
-        tc_name = ec['toolchain']['name']
-        tc_version = ec['toolchain']['version']
-        version_suffix = ec['versionsuffix']
-
-
-        if (tc_name == "dummy" and (tc_version == "dummy" or not tc_version)):
-            self.module_full_version = version
-        else:
-            self.module_full_version = version + "-" + tc_name + "-" + tc_version
-
-        if (version_suffix != ''):
-            self.module_full_version += version_suffix
-
-        self.log.debug("IT4I UV Full module name is %s" % self.module_full_version)
-
-        return os.path.join(name, self.module_full_version)
diff --git a/tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyc b/tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyc
deleted file mode 100644
index dd3856cbe612cf8d227ba5ed7a25083473da9653..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4426
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
PSPW{@@GuE53NQfx9K>i&

diff --git a/tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyo b/tools/module_naming_scheme/it4i-uv_module_naming_scheme.pyo
deleted file mode 100644
index ff8e686a7e37363f54df366ab9ccbb6032e893cd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4451
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
U5GUDzyjcut?C>xNFbXgM0038U)&Kwi

diff --git a/tools/module_naming_scheme/it4i_module_naming_scheme.py b/tools/module_naming_scheme/it4i_module_naming_scheme.py
deleted file mode 100644
index c6223a5..0000000
--- a/tools/module_naming_scheme/it4i_module_naming_scheme.py
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/usr/bin/env python
-#
-#  Copyright (C) 2015 IT4Innovations
-#  Lumir Jasiok
-#  lumir.jasiok@vsb.cz
-#  http://www.it4i.cz
-#
-#
-
-import os
-
-from easybuild.tools.config import install_path
-from easybuild.tools.module_naming_scheme import ModuleNamingScheme
-
-
-class IT4IModuleNamingScheme(ModuleNamingScheme):
-    """Class implementing an example module naming scheme."""
-
-    REQUIRED_KEYS = []
-
-    def det_install_subdir(self, ec):
-        """
-        Determine name of software installation subdirectory of install path.
-        @param ec: dict-like object with easyconfig parameter values; for now
-                    only the 'name', 'version', 'versionsuffix' and
-                    'toolchain' parameters are guaranteed to be available
-        @return: string with name of subdirectory, e.g.:
-                    '<compiler>/<mpi_lib>/<name>/<version>'
-        """
-        # by default: use full module name as name for install subdir
-
-        # fetch required values
-        name = ec['name']
-        version = ec['version']
-        tc_name = ec['toolchain']['name']
-        tc_version = ec['toolchain']['version']
-        moduleclass = ec['moduleclass']
-        version_suffix = ec['versionsuffix']
-
-        if version_suffix != '':
-            self.log.info("IT4I found version_suffix %s" % version_suffix)
-        else:
-            self.log.info("IT4I version_suffix not found")
-
-        # Get the install path from configuration
-        installpath = install_path()
-        self.log.info("IT4I Install path for software is %s" % installpath)
-        self.log.info("IT4I This application moduleclass is %s" % moduleclass)
-        moduleclass_dir = os.path.join(installpath, moduleclass)
-
-        if (tc_name == "dummy" and (tc_version == "dummy" or not tc_version)):
-            self.software_full_version = version
-            self.log.info("IT4I Software full name (dummy toolchain) is %s"
-                          % self.software_full_version)
-        else:
-            self.software_full_version = version + "-" + tc_name + "-" \
-                                         + tc_version
-            self.log.info("IT4I Software full name is %s"
-                          % self.software_full_version)
-
-        if (version_suffix != ''):
-            self.software_full_version += version_suffix
-            self.log.info("IT4I Software full name (with version_suffix) is %s"
-                          % self.software_full_version)
-
-        if not os.path.isdir(moduleclass_dir):
-            self.log.info("IT4I software moduleclass directory %s \
-                           missing, creating" % moduleclass_dir)
-            os.mkdir(moduleclass_dir)
-
-        software_dir = os.path.join(moduleclass_dir, name)
-        if not os.path.isdir(software_dir):
-            self.log.info("IT4I software application directory %s \
-                          missing, creating" % software_dir)
-            os.mkdir(software_dir)
-
-        symlink_path = os.path.join(software_dir, self.software_full_version)
-        if not os.path.islink(symlink_path):
-            self.log.info("IT4I Missing application symlink %s, creating"
-                          % symlink_path)
-            os.symlink(os.path.join(installpath, 'all', name, self.software_full_version), symlink_path)
-        return os.path.join('all', name, self.software_full_version)
-
-    def det_full_module_name(self, ec):
-        """
-        Determine full module name from given easyconfig, according to and
-        example module naming scheme.
-
-        @param ec: dict-like object with easyconfig parameter values
-                    (e.g. 'name', 'version', etc.)
-
-        @return: string representing full module name, e.g.:
-                    'goolf/1.4.10/gzip/1.5'
-        """
-
-        # fetch required values
-        name = ec['name']
-        version = ec['version']
-        tc_name = ec['toolchain']['name']
-        tc_version = ec['toolchain']['version']
-        version_suffix = ec['versionsuffix']
-
-        if (tc_name == "dummy" and (tc_version == "dummy" or not tc_version)):
-            self.module_full_version = version
-        else:
-            self.module_full_version = version + "-" + tc_name + "-" + tc_version
-
-        if (version_suffix != ''):
-            self.module_full_version += version_suffix
-
-        self.log.debug("IT4I Full module name is %s"
-                       % self.module_full_version)
-
-        return os.path.join(name, self.module_full_version)
diff --git a/tools/module_naming_scheme/it4i_module_naming_scheme.pyc b/tools/module_naming_scheme/it4i_module_naming_scheme.pyc
deleted file mode 100644
index 1d6b93770b37b197ca64b711caa5fe022f78be93..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3826
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
Z<uJ%YHV~)Sf#RSTRI%_d2`~yU0{}TAomT(=

diff --git a/tools/module_naming_scheme/it4i_module_naming_scheme.pyo b/tools/module_naming_scheme/it4i_module_naming_scheme.pyo
deleted file mode 100644
index 1472617cca540355c53f80853cc58dc7943515f2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3846
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

-- 
GitLab