def install_orange_pi_h3(): subprocess.call(['modprobe', 'mali']) pwd = os.getcwd() script_dir = os.path.dirname(os.path.realpath(__file__)) try: cloned_dir = utils.git_clone( 'https://github.com/linux-sunxi/sunxi-mali.git', pwd) os.chdir(cloned_dir) subprocess.call(['make', 'config']) subprocess.call(['make', 'install']) os.chdir(pwd) shutil.rmtree(cloned_dir) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/libvdpau-sunxi.git', pwd) os.chdir(cloned_dir) subprocess.call(['make', 'install']) os.chdir(pwd) shutil.rmtree(cloned_dir) except Exception as ex: os.chdir(pwd) raise ex with open('/etc/udev/rules.d/50-mali.rules', 'w') as f: f.write('KERNEL=="mali", MODE="0660", GROUP="video"\n' 'KERNEL=="ump", MODE="0660", GROUP="video"') with open('/etc/asound.conf', 'w') as f: f.write('pcm.!default {\n' 'type hw\n' 'card 1\n' '}\n' 'ctl.!default {\n' 'type hw\n' 'card 1\n' '}') standart_egl_path = '/usr/lib/arm-linux-gnueabihf/mesa-egl/' if os.path.exists(standart_egl_path): shutil.move(standart_egl_path, '/usr/lib/arm-linux-gnueabihf/.mesa-egl/') lirc_conf_path = os.path.join(script_dir, 'hardware/lirc/hardware.conf') shutil.copy(lirc_conf_path, '/etc/lirc/hardware.conf')
def build_common(self): pwd = os.getcwd() cmake_project_root_abs_path = '..' if not os.path.exists(cmake_project_root_abs_path): raise utils.BuildError('invalid cmake_project_root_path: %s' % cmake_project_root_abs_path) # project static options prefix_args = '-DCMAKE_INSTALL_PREFIX={0}'.format(self.prefix_path_) cmake_line = ['cmake', cmake_project_root_abs_path, '-GUnix Makefiles', '-DCMAKE_BUILD_TYPE=RELEASE', prefix_args] try: cloned_dir = utils.git_clone('https://github.com/fastogt/common.git', pwd) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DQT_ENABLED=OFF') subprocess.call(common_cmake_line) subprocess.call(['make', 'install']) os.chdir(self.build_dir_path_) shutil.rmtree(cloned_dir) except Exception as ex: os.chdir(self.build_dir_path_) raise ex
def build_rocksdb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/rocksdb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DFAIL_ON_WARNINGS=OFF') common_cmake_line.append('-DPORTABLE=ON') common_cmake_line.append('-DWITH_TESTS=OFF') common_cmake_line.append('-DWITH_SNAPPY=ON') common_cmake_line.append('-DWITH_ZLIB=ON') common_cmake_line.append('-DWITH_LZ4=ON') common_cmake_line.append('-DROCKSDB_INSTALL_ON_WINDOWS=ON') common_cmake_line.append('-DWITH_TOOLS=OFF') common_cmake_line.append('-DWITH_GFLAGS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_upscaledb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/upscaledb.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_upscaledb = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_upscaledb, bootstrap_policy) configure_upscaledb = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-remote', '--enable-static-boost', '--disable-shared', '--disable-java', '--disable-simd', '--disable-encryption' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_upscaledb, configure_policy) make_install_upscaledb = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_install_upscaledb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libmemcached(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/libmemcached.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_libmemcached = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_libmemcached, bootstrap_policy) configure_libmemcached = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-shared', '--enable-static', '--enable-sasl' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_libmemcached, configure_policy) make_libmemcached = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_libmemcached, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_leveldb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/leveldb.git', abs_dir_path) os.chdir(cloned_dir) make_leveldb = ['make', 'static'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_leveldb, make_policy) copy_leveldb_includes = [ 'cp', '-r', 'include/leveldb', '{0}/include'.format(prefix_path) ] copy_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(copy_leveldb_includes, copy_policy) copy_leveldb_libs = [ 'cp', 'out-static/libleveldb.a', '{0}/lib'.format(prefix_path) ] run_command.run_command_cb(copy_leveldb_libs, copy_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_jsonc(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/json-c.git', abs_dir_path) os.chdir(cloned_dir) autogen_policy = run_command.CommonPolicy(print_message) autogen_jsonc = ['sh', 'autogen.sh'] run_command.run_command_cb(autogen_jsonc, autogen_policy) configure_jsonc = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-shared', '--enable-static' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_jsonc, configure_policy) make_jsonc = ['make', 'install'] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_jsonc, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libssh2(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/libssh2.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') libssh2_cmake_line = list(cmake_line) libssh2_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') libssh2_cmake_line.append('-DCRYPTO_BACKEND=OpenSSL') libssh2_cmake_line.append('-DENABLE_ZLIB_COMPRESSION=ON') libssh2_cmake_line.append('-DZLIB_USE_STATIC=ON') libssh2_cmake_line.append('-DOPENSSL_USE_STATIC=ON') libssh2_cmake_line.append('-DBUILD_EXAMPLES=OFF') libssh2_cmake_line.append('-DBUILD_TESTING=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(libssh2_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_snappy(self): pwd = os.getcwd() cmake_project_root_abs_path = '..' if not os.path.exists(cmake_project_root_abs_path): raise utils.BuildError('invalid cmake_project_root_path: %s' % cmake_project_root_abs_path) # project static options prefix_args = '-DCMAKE_INSTALL_PREFIX={0}'.format(self.prefix_path_) cmake_line = [ 'cmake', cmake_project_root_abs_path, '-GNinja', '-DCMAKE_BUILD_TYPE=RELEASE', '-DBUILD_SHARED_LIBS=OFF', '-DSNAPPY_BUILD_TESTS=OFF', prefix_args ] try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/snappy.git', pwd) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') snappy_cmake_line = list(cmake_line) subprocess.call(snappy_cmake_line) subprocess.call(['ninja', 'install']) os.chdir(self.build_dir_path_) shutil.rmtree(cloned_dir) except Exception as ex: os.chdir(self.build_dir_path_) raise ex
def build_lmdb(self, prefix_path): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/lmdb.git', abs_dir_path) os.chdir(cloned_dir) os.chdir('libraries/liblmdb') make_lmdb = ['make', 'install_static_lib', 'prefix={0}'.format(prefix_path)] # FIXME make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_lmdb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_libev(self): libev_compiler_flags = utils.CompileInfo( [], ['--with-pic', '--disable-shared', '--enable-static']) pwd = os.getcwd() cloned_dir = utils.git_clone('https://github.com/fastogt/libev.git', pwd) os.chdir(cloned_dir) autogen_libev = ['sh', 'autogen.sh'] subprocess.call(autogen_libev) utils.build_command_configure(libev_compiler_flags, g_script_path, self.prefix_path_) os.chdir(pwd) shutil.rmtree(cloned_dir)
def build_unqlite(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/unqlite.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_qscintilla(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/qscintilla.git', abs_dir_path) qsci_src_path = os.path.join(cloned_dir, 'Qt4Qt5') os.chdir(qsci_src_path) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') qscintilla_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(qscintilla_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_forestdb(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone('https://github.com/fastogt/forestdb.git', abs_dir_path, None, False) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') forestdb_cmake_line = list(cmake_line) forestdb_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(forestdb_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build_ffmpeg(self): ffmpeg_platform_args = [ '--disable-doc', '--pkg-config-flags=--static', '--disable-programs', #'--enable-openssl', '--disable-opencl', '--disable-encoders', '--disable-lzma', '--disable-iconv', '--disable-shared', '--enable-static', '--disable-debug', '--disable-jni', '--enable-postproc', '--enable-filter=yadif', '--enable-avfilter', '--enable-avcodec', '--enable-avdevice', '--enable-avformat', '--enable-swscale', '--enable-swresample', '--extra-version=static' ] # '--extra-cflags=--static' platform_name = self.platform_.name() if platform_name == 'linux': ffmpeg_platform_args.extend(['--disable-libxcb']) elif platform_name == 'windows': ffmpeg_platform_args = ffmpeg_platform_args elif platform_name == 'macosx': ffmpeg_platform_args.extend( ['--cc=clang', '--cxx=clang++', '--disable-libxcb']) pwd = os.getcwd() compiler_flags = self.device_.ffmpeg_compile_info() compiler_flags.extend_flags(ffmpeg_platform_args) cloned_dir = utils.git_clone('https://github.com/fastogt/ffmpeg.git', pwd) os.chdir(cloned_dir) utils.build_command_configure(compiler_flags, g_script_path, self.prefix_path_) os.chdir(pwd) shutil.rmtree(cloned_dir)
def build_common(self, cmake_line, make_install): abs_dir_path = self.build_dir_path_ try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/common.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DQT_ENABLED=ON') common_cmake_line.append('-DSNAPPY_USE_STATIC=ON') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(abs_dir_path) raise ex
def build(self, dir_path, bs, bs_external, prefix_path): cmake_project_root_abs_path = '..' if not os.path.exists(cmake_project_root_abs_path): raise utils.BuildError('invalid cmake_project_root_path: %s' % cmake_project_root_abs_path) if not bs: bs = system_info.SUPPORTED_BUILD_SYSTEMS[0] if not bs_external: bs_external = system_info.SUPPORTED_BUILD_SYSTEMS[1] if prefix_path == None: prefix_path = self.platform_.arch().default_install_prefix_path() abs_dir_path = os.path.abspath(dir_path) if os.path.exists(abs_dir_path): shutil.rmtree(abs_dir_path) is_android = self.platform_.name() == 'android' generator = bs.cmake_generator_arg() build_system_args = bs.cmd_line() # bs_name = bs.name() pwd = os.getcwd() os.mkdir(abs_dir_path) os.chdir(abs_dir_path) # project static options prefix_args = '-DCMAKE_INSTALL_PREFIX={0}'.format(prefix_path) cmake_line = [ 'cmake', cmake_project_root_abs_path, generator, '-DCMAKE_BUILD_TYPE=RELEASE', prefix_args ] if is_android: toolchain_path = os.path.join(cmake_project_root_abs_path, 'cmake/android.toolchain.cmake') cmake_line.append( '-DCMAKE_TOOLCHAIN_FILE={0}'.format(toolchain_path)) make_install = build_system_args make_install.append('install') try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/snappy.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/common.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DQT_ENABLED=ON') common_cmake_line.append('-DSNAPPY_USE_STATIC=ON') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/qscintilla.git', abs_dir_path) qsci_src_path = os.path.join(cloned_dir, 'Qt4Qt5') os.chdir(qsci_src_path) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') qscintilla_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(qscintilla_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/libssh2.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') libssh2_cmake_line = list(cmake_line) libssh2_cmake_line.append('-DBUILD_SHARED_LIBS=OFF') libssh2_cmake_line.append('-DCRYPTO_BACKEND=OpenSSL') libssh2_cmake_line.append('-DENABLE_ZLIB_COMPRESSION=ON') libssh2_cmake_line.append('-DZLIB_USE_STATIC=ON') libssh2_cmake_line.append('-DOPENSSL_USE_STATIC=ON') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(libssh2_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex if is_android: return build_external_system_args = bs_external.cmd_line() try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/json-c.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/leveldb.git', abs_dir_path) os.chdir(cloned_dir) make_leveldb = list(build_external_system_args) make_leveldb.append('static') make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_leveldb, make_policy) copy_leveldb_includes = [ 'cp', '-r', 'include/leveldb', '{0}/include'.format(prefix_path) ] copy_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(copy_leveldb_includes, copy_policy) copy_leveldb_libs = [ 'cp', 'out-static/libleveldb.a', '{0}/lib'.format(prefix_path) ] run_command.run_command_cb(copy_leveldb_libs, copy_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/rocksdb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) common_cmake_line.append('-DFAIL_ON_WARNINGS=OFF') cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/upscaledb.git', abs_dir_path) os.chdir(cloned_dir) bootstrap_policy = run_command.CommonPolicy(print_message) bootstrap_upscaledb = ['sh', 'bootstrap.sh'] run_command.run_command_cb(bootstrap_upscaledb, bootstrap_policy) configure_upscaledb = [ './configure', '--prefix={0}'.format(prefix_path), '--disable-remote', '--enable-static-boost', '--disable-shared', '--disable-java', '--disable-encryption' ] configure_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(configure_upscaledb, configure_policy) make_install_upscaledb = list(build_external_system_args) make_install_upscaledb.append('install') make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(make_install_upscaledb, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex try: cloned_dir = utils.git_clone( 'https://github.com/fastogt/forestdb.git', abs_dir_path) os.chdir(cloned_dir) os.mkdir('build_cmake_release') os.chdir('build_cmake_release') common_cmake_line = list(cmake_line) cmake_policy = run_command.CmakePolicy(print_message) make_policy = run_command.CommonPolicy(print_message) run_command.run_command_cb(common_cmake_line, cmake_policy) run_command.run_command_cb(make_install, make_policy) os.chdir(abs_dir_path) except Exception as ex: os.chdir(pwd) raise ex