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
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)
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)
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' ])
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' ])
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)