Пример #1
0
    def install_step(self):
        """Custom install procedure for EggLib: first build/install C++ library, then build Python library."""

        # build/install C++ library
        cpp_subdir = os.path.join(self.builddir, 'egglib-cpp-%s' % self.version)
        try:
            os.chdir(cpp_subdir)
        except OSError as err:
            raise EasyBuildError("Failed to move to: %s", err)

        ConfigureMake.configure_step(self)
        ConfigureMake.build_step(self)
        ConfigureMake.install_step(self)

        # header files and libraries must be found when building Python library
        for varname, subdir in [('CPATH', 'include'), ('LIBRARY_PATH', 'lib')]:
            env.setvar(varname, '%s:%s' % (os.path.join(self.installdir, subdir), os.environ.get(varname, '')))

        # build/install Python package
        py_subdir = os.path.join(self.builddir, 'egglib-py-%s' % self.version)
        try:
            os.chdir(py_subdir)
        except OSError as err:
            raise EasyBuildError("Failed to move to: %s", err)

        PythonPackage.build_step(self)

        self.cfg.update('installopts', "--install-lib %s" % os.path.join(self.installdir, self.pylibdir))
        self.cfg.update('installopts', "--install-scripts %s" % os.path.join(self.installdir, 'bin'))

        PythonPackage.install_step(self)
Пример #2
0
    def install_perl_module(self):
        """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""

        # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
        # configure, build, test, install
        if os.path.exists('Makefile.PL'):
            install_cmd = ' '.join([
                self.cfg['preconfigopts'],
                'perl',
                'Makefile.PL',
                'PREFIX=%s' % self.installdir,
                self.cfg['configopts'],
            ])
            run_cmd(install_cmd)

            ConfigureMake.build_step(self)
            ConfigureMake.test_step(self)
            ConfigureMake.install_step(self)

        elif os.path.exists('Build.PL'):
            install_cmd = ' '.join([
                self.cfg['preconfigopts'],
                'perl',
                'Build.PL',
                '--prefix',
                self.installdir,
                self.cfg['configopts'],
            ])
            run_cmd(install_cmd)

            run_cmd("%s perl Build build %s" % (self.cfg['prebuildopts'], self.cfg['buildopts']))

            if self.cfg['runtest']:
                run_cmd('perl Build %s' % self.cfg['runtest'])
            run_cmd('%s perl Build install %s' % (self.cfg['preinstallopts'], self.cfg['installopts']))
Пример #3
0
 def build_step(self):
     """Configure TBB build/installation."""
     if self.toolchain.name == DUMMY_TOOLCHAIN_NAME:
         IntelBase.build_step(self)
     else:
         # build with: make compiler={icl, icc, gcc, clang}
         self.cfg.update('buildopts', 'compiler="%s"' % os.getenv('CC'))
         ConfigureMake.build_step(self)
Пример #4
0
 def build_step(self):
     """Configure TBB build/installation."""
     if self.toolchain.name == DUMMY_TOOLCHAIN_NAME:
         IntelBase.build_step(self)
     else:
         # build with: make compiler={icl, icc, gcc, clang}
         self.cfg.update('buildopts', 'compiler="%s"' % os.getenv('CC'))
         ConfigureMake.build_step(self)
Пример #5
0
 def install_perl_module(self):
     """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""
     # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
     # configure, build, test, install
     if os.path.exists("Makefile.PL"):
         run_cmd("perl Makefile.PL PREFIX=%s" % self.installdir)
         ConfigureMake.build_step(self)
         ConfigureMake.test_step(self)
         ConfigureMake.install_step(self)
     elif os.path.exists("Build.PL"):
         run_cmd("perl Build.PL --prefix %s" % self.installdir)
         out, ec = run_cmd("perl Build test")
         out, ec = run_cmd("perl Build install")
Пример #6
0
 def install_perl_module(self):
     """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""
     # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
     # configure, build, test, install
     if os.path.exists('Makefile.PL'):
         run_cmd('perl Makefile.PL PREFIX=%s' % self.installdir)
         ConfigureMake.build_step(self)
         ConfigureMake.test_step(self)
         ConfigureMake.install_step(self)
     elif os.path.exists('Build.PL'):
         run_cmd('perl Build.PL --prefix %s' % self.installdir)
         out, ec = run_cmd('perl Build test')
         out, ec = run_cmd('perl Build install')
Пример #7
0
    def build_step(self):
        """Configure TBB build/installation."""
        if self.toolchain.is_system_toolchain():
            IntelBase.build_step(self)
        else:
            # build with: make compiler={icl, icc, gcc, clang}
            self.cfg.update('buildopts', 'compiler="%s"' % os.getenv('CC'))
            ConfigureMake.build_step(self)

            if self.cfg['with_python']:
                # Uses the Makefile target `python`
                self.cfg.update('buildopts', 'python')
                ConfigureMake.build_step(self)
    def build_step(self):
        """
        Make libxml2 first, then make python bindings
        """
        ConfigureMake.build_step(self)

        try:
            os.chdir('python')
            # set cflags to point to include folder
            env.setvar('CFLAGS', "-I../include")
            PythonPackage.build_step(self)
            os.chdir('..')
        except OSError, err:
            self.log.error("Failed to build libxml2 Python bindings: %s" % err)
    def build_step(self):
        """
        Make libxml2 first, then make python bindings
        """
        ConfigureMake.build_step(self)

        try:
            os.chdir('python')
            # set cflags to point to include folder 
            env.setvar('CFLAGS', "-I../include")
            PythonPackage.build_step(self)
            os.chdir('..')
        except OSError, err:
            self.log.error("Failed to build libxml2 Python bindings: %s" % err)
Пример #10
0
 def install_perl_module(self):
     """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""
     # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
     # configure, build, test, install
     if os.path.exists('Makefile.PL'):
         run_cmd('%s perl Makefile.PL PREFIX=%s %s' % (self.cfg['preconfigopts'], self.installdir, self.cfg['configopts']))
         ConfigureMake.build_step(self)
         ConfigureMake.test_step(self)
         ConfigureMake.install_step(self)
     elif os.path.exists('Build.PL'):
         run_cmd('%s perl Build.PL --prefix %s %s' % (self.cfg['preconfigopts'], self.installdir, self.cfg['configopts']))
         run_cmd('%s perl Build build %s' % (self.cfg['prebuildopts'], self.cfg['buildopts']))
         run_cmd('perl Build test')
         run_cmd('%s perl Build install %s' % (self.cfg['preinstallopts'], self.cfg['installopts']))
Пример #11
0
    def install_perl_module(self):
        """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""
        # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
        # configure, build, test, install
        if os.path.exists('Makefile.PL'):
            run_cmd('perl Makefile.PL PREFIX=%s' % self.installdir)
            ConfigureMake.build_step(self)
#            ConfigureMake.test_step(self)
            ConfigureMake.install_step(self)
        elif os.path.exists('Build.PL'):
            run_cmd('perl Build.PL --prefix %s' % self.installdir)
            run_cmd('perl Build build')
#            run_cmd('perl Build test')
            run_cmd('perl Build install')
Пример #12
0
    def install_perl_module(self):
        """Install procedure for Perl modules: using either Makefile.Pl or Build.PL."""
        # Perl modules have two possible installation procedures: using Makefile.PL and Build.PL
        # configure, build, test, install
        if os.path.exists('Makefile.PL'):
# Le Yan: 
# Installation crashes complaining about PREFIX and INSTALL_BASE being set at same time.
# Comment out the PREFIX and prefix here.
            run_cmd('perl Makefile.PL PREFIX=%s' % self.installdir)
#            run_cmd('perl Makefile.PL INSTALL_BASE=%s' % self.installdir)
            ConfigureMake.build_step(self)
            ConfigureMake.test_step(self)
            ConfigureMake.install_step(self)
        elif os.path.exists('Build.PL'):
            run_cmd('perl Build.PL --prefix %s' % self.installdir)
#            run_cmd('perl Build.PL')
            run_cmd('perl Build build')
            run_cmd('perl Build test')
            run_cmd('perl Build install')
    def install_step(self):
        """Custom install procedure for EggLib: first build/install C++ library, then build Python library."""

        # build/install C++ library
        cpp_subdir = os.path.join(self.builddir,
                                  'egglib-cpp-%s' % self.version)
        try:
            os.chdir(cpp_subdir)
        except OSError as err:
            raise EasyBuildError("Failed to move to: %s", err)

        ConfigureMake.configure_step(self)
        ConfigureMake.build_step(self)
        ConfigureMake.install_step(self)

        # header files and libraries must be found when building Python library
        for varname, subdir in [('CPATH', 'include'), ('LIBRARY_PATH', 'lib')]:
            env.setvar(
                varname, '%s:%s' % (os.path.join(
                    self.installdir, subdir), os.environ.get(varname, '')))

        # build/install Python package
        py_subdir = os.path.join(self.builddir, 'egglib-py-%s' % self.version)
        try:
            os.chdir(py_subdir)
        except OSError as err:
            raise EasyBuildError("Failed to move to: %s", err)

        PythonPackage.build_step(self)

        self.cfg.update(
            'installopts',
            "--install-lib %s" % os.path.join(self.installdir, self.pylibdir))
        self.cfg.update(
            'installopts',
            "--install-scripts %s" % os.path.join(self.installdir, 'bin'))

        PythonPackage.install_step(self)
Пример #14
0
class EB_EggLib(PythonPackage, ConfigureMake):
    """Support for building/installing EggLib."""
    def configure_step(self):
        """Configure EggLib build/install procedure."""
        # only need to configure Python library here, configuration of C++ library is done in install step
        PythonPackage.configure_step(self)

    def build_step(self):
        """No custom build procedure for EggLib; build/install is done in install_step."""
        pass

    def install_step(self):
        """Custom install procedure for EggLib: first build/install C++ library, then build Python library."""

        # build/install C++ library
        cpp_subdir = os.path.join(self.builddir,
                                  'egglib-cpp-%s' % self.version)
        try:
            os.chdir(cpp_subdir)
        except OSError, err:
            raise EasyBuildError("Failed to move to: %s", err)

        ConfigureMake.configure_step(self)
        ConfigureMake.build_step(self)
        ConfigureMake.install_step(self)

        # header files and libraries must be found when building Python library
        for varname, subdir in [('CPATH', 'include'), ('LIBRARY_PATH', 'lib')]:
            env.setvar(
                varname, '%s:%s' % (os.path.join(
                    self.installdir, subdir), os.environ.get(varname, '')))

        # build/install Python package
        py_subdir = os.path.join(self.builddir, 'egglib-py-%s' % self.version)
        try:
            os.chdir(py_subdir)
        except OSError, err:
            raise EasyBuildError("Failed to move to: %s", err)
Пример #15
0
 def build_step(self):
     """
     Make libxml2 first, then make python bindings
     """
     ConfigureMake.build_step(self)
 def build_step(self, *args, **kwargs):
     """Build Python package with 'make'."""
     return ConfigureMake.build_step(self, *args, **kwargs)
Пример #17
0
 def build_step(self):
     """
     Make libxml2 first, then make python bindings
     """
     ConfigureMake.build_step(self)
 def build_step(self, *args, **kwargs):
     """Build Python package with 'make'."""
     return ConfigureMake.build_step(self, *args, **kwargs)