Example #1
0
 def __init__(self, origin = None, values = None):
   super(value_string_list, self).__init__(origin)
   values = values or string_list()
   if not check.is_string_list(values):
     values = string_list(values)
   check.check_string_list(values)
   self.values = values
Example #2
0
    def __new__(clazz, mask, value, origin=None):
        if not check.is_value_base(value):
            if check.is_bool(value):
                value = value_bool(origin=origin, value=value)
            elif check.is_int(value):
                value = value_int(origin=origin, value=value)
            elif check.is_string(value):
                value = value_string(origin=origin, value=value)
            elif check.is_string_list(value) or check.is_string_seq(value):
                value = value_string_list(origin=origin, values=value)
            elif check.is_key_value_list(value):
                value = value_key_values(origin=origin, values=value)

        if not check.is_value_base(value):
            raise TypeError('value should be subclass of value_base: %s - %s' %
                            (str(value), type(value)))

        if origin:
            check.check_value_origin(origin)
        return clazz.__bases__[0].__new__(clazz, mask, value)
Example #3
0
    def execute(self, script, env, values, inputs):
        perl_module_setup_env = values.get('perl_module_setup_env')
        perl_module_setup_flags = values.get('perl_module_setup_flags')
        makefile = values.get('makefile')

        makefile = makefile or 'Makefile.PL'

        if check.is_string_list(perl_module_setup_flags):
            perl_module_setup_flags = perl_module_setup_flags.to_list()
        else:
            assert isinstance(perl_module_setup_flags, list)

        mkdir_cmd = 'mkdir -p ${REBUILD_STAGE_PYTHON_LIB_DIR}'
        perl_cmd = '${PERL} %s PREFIX=${REBUILD_STAGE_PREFIX_DIR} INSTALLDIRS=perl' % (
            makefile)
        cmd = '%s && %s %s' % (mkdir_cmd, perl_cmd,
                               ' '.join(perl_module_setup_flags))
        return self.call_shell(cmd,
                               script,
                               env,
                               shell_env=perl_module_setup_env)
Example #4
0
  def execute(self, script, env, values, inputs):
    configure_env = values.get('configure_env')
    configure_flags = values.get('configure_flags') or []
    configure_script = values.get('configure_script')
    need_autoreconf = values.get('need_autoreconf')
    
    if check.is_string_list(configure_flags):
      configure_flags = configure_flags.to_list()
    else:
      assert isinstance(configure_flags, list)

    if need_autoreconf:
      autoreconf_cmd = [ 'autoreconf', '-i' ]
    else:
      autoreconf_cmd = None

    tc = toolchain.get_toolchain(script.build_target)
      
    configure_script_path = path.join(script.source_unpacked_dir, configure_script)
    if not path.isfile(configure_script_path):
      configure_script_path = path.join(script.build_dir, configure_script)

    if not path.isfile(configure_script_path):
      return step_result(False, 'configure script not found: %s' % (path.relpath(configure_script_path)))
    
    configure_cmd = [
      configure_script_path,
      '--prefix=%s' % (script.staged_files_dir),
    ] + configure_flags + tc.autoconf_flags()

    if autoreconf_cmd:
      cmd = autoreconf_cmd + [ '&&' ] + configure_cmd
    else:
      cmd = configure_cmd

    return self.call_shell(cmd, script, env,
                           shell_env = configure_env,
                           save_logs = [ 'config.log', 'config.status' ])
Example #5
0
    def execute(self, script, env, values, inputs):
        cmake_env = values.get('cmake_env')
        cmake_flags = values.get('cmake_flags')

        if check.is_string_list(cmake_flags):
            cmake_flags = cmake_flags.to_list()
        else:
            assert isinstance(cmake_flags, list)

        cmd = ['cmake']
        if env.config.verbose:
            cmd.append('--debug-output')
        cmd.append('-DCMAKE_INSTALL_PREFIX=$REBUILD_STAGE_PREFIX_DIR')
        cmd.extend(cmake_flags)
        cmd.append(script.source_unpacked_dir)
        return self.call_shell(cmd,
                               script,
                               env,
                               shell_env=cmake_env,
                               save_logs=[
                                   'CMakeFiles/CMakeError.log',
                                   'CMakeFiles/CMakeOutput.log'
                               ])
Example #6
0
    def execute(self, script, env, values, inputs):
        makefile = values.get('makefile')
        install_target = values.get('install_target')
        make_install_flags = values.get('make_install_flags')
        make_install_env = values.get('make_install_env')

        if check.is_string_list(make_install_flags):
            make_install_flags = make_install_flags.to_list()
        else:
            assert isinstance(make_install_flags, list)

        if makefile:
            makefile_flags = '-f %s' % (path.basename(makefile.filename))
        else:
            makefile_flags = ''

        cmd = [
            'make',
            makefile_flags,
            install_target,
            'prefix=%s' % (script.staged_files_dir),
            'V=1',
        ] + make_install_flags
        return self.call_shell(cmd, script, env, shell_env=make_install_env)