diff options
28 files changed, 44 insertions, 41 deletions
diff --git a/cerbero/build/build.py b/cerbero/build/build.py index cb9c441e..f6661899 100644 --- a/cerbero/build/build.py +++ b/cerbero/build/build.py @@ -71,7 +71,7 @@ class Build (object): ''' raise NotImplemented("'make' must be implemented by subclasses") - def install(self): + async def install(self): ''' Installs the module ''' @@ -92,7 +92,7 @@ class CustomBuild(Build): async def compile(self): pass - def install(self): + async def install(self): pass @@ -427,10 +427,10 @@ class MakefilesBase (Build, ModifyEnvBase): self.maybe_add_system_libs(step='compile') await shell.async_call(self.make, self.make_dir, logfile=self.logfile, env=self.env) - @modify_environment - def install(self): + @async_modify_environment + async def install(self): self.maybe_add_system_libs(step='install') - shell.call(self.make_install, self.make_dir, logfile=self.logfile, env=self.env) + await shell.async_call(self.make_install, self.make_dir, logfile=self.logfile, env=self.env) @modify_environment def clean(self): @@ -895,10 +895,10 @@ class Meson (Build, ModifyEnvBase) : self.maybe_add_system_libs(step='compile') await shell.async_call(self.make, self.meson_dir, logfile=self.logfile, env=self.env) - @modify_environment - def install(self): + @async_modify_environment + async def install(self): self.maybe_add_system_libs(step='install') - shell.call(self.make_install, self.meson_dir, logfile=self.logfile, env=self.env) + await shell.async_call(self.make_install, self.meson_dir, logfile=self.logfile, env=self.env) @modify_environment def clean(self): diff --git a/recipes-toolchain/winpthreads.recipe b/recipes-toolchain/winpthreads.recipe index 885f502a..3610bc80 100644 --- a/recipes-toolchain/winpthreads.recipe +++ b/recipes-toolchain/winpthreads.recipe @@ -82,6 +82,7 @@ class Recipe(recipe.Recipe): shell.call(self.make, self.build_dir_32) shell.call(self.make, self.build_dir_64) + @modify_environment def install(self): src_winpthread_dll = "%s/usr/%s/bin/libwinpthread-1.dll" % \ (self.sysroot, self.host) diff --git a/recipes/build-tools/gas-preprocessor.recipe b/recipes/build-tools/gas-preprocessor.recipe index e308abba..77dd504f 100644 --- a/recipes/build-tools/gas-preprocessor.recipe +++ b/recipes/build-tools/gas-preprocessor.recipe @@ -11,10 +11,10 @@ class Recipe(recipe.Recipe): remotes = {'origin': 'https://github.com/libav/gas-preprocessor'} commit = 'f8a2d8c155bda8d925a7ee2ed8315c553a2b865f' - def install(self): + async def install(self): if not os.path.exists(os.path.join(self.config.prefix, 'bin')): os.makedirs(os.path.join(self.config.prefix, 'bin')) shutil.copy (os.path.join(self.build_dir, 'gas-preprocessor.pl'), os.path.join(self.config.prefix, 'bin')) - shell.call ('chmod +x %s' % + await shell.async_call ('chmod +x %s' % os.path.join(self.config.prefix, 'bin', 'gas-preprocessor.pl'), env=self.env) diff --git a/recipes/build-tools/gobject-introspection-m4.recipe b/recipes/build-tools/gobject-introspection-m4.recipe index b5496ee9..8cc7b0e8 100644 --- a/recipes/build-tools/gobject-introspection-m4.recipe +++ b/recipes/build-tools/gobject-introspection-m4.recipe @@ -18,6 +18,6 @@ class Recipe(recipe.Recipe): files_devel = ['share/aclocal/introspection.m4'] override_libtool = False - def install(self): + async def install(self): shutil.copy(os.path.join(self.build_dir, 'm4', 'introspection.m4'), os.path.join(self.config.prefix, 'share', 'aclocal')) diff --git a/recipes/build-tools/gtk-doc-lite.recipe b/recipes/build-tools/gtk-doc-lite.recipe index d74f5c91..e43bac8c 100644 --- a/recipes/build-tools/gtk-doc-lite.recipe +++ b/recipes/build-tools/gtk-doc-lite.recipe @@ -15,7 +15,7 @@ class Recipe(recipe.Recipe): 'share/gtk-doc/data/gtk-doc.make', 'share/gtk-doc/data/gtk-doc.notmpl.make'] - def install(self): + async def install(self): from cerbero.utils import shell import shutil aclocal_dir = os.path.join(self.config.prefix, 'share', 'aclocal') @@ -39,4 +39,4 @@ class Recipe(recipe.Recipe): '@datarootdir@': '${prefix}/share', '@datadir@': '${datarootdir}'} shell.replace(gtkdocize, replacements) - shell.call('chmod +x gtkdocize', os.path.join(self.config.prefix, 'bin'), env=self.env) + await shell.async_call('chmod +x gtkdocize', os.path.join(self.config.prefix, 'bin'), env=self.env) diff --git a/recipes/build-tools/intltool-m4.recipe b/recipes/build-tools/intltool-m4.recipe index da31e787..f24ff3f4 100644 --- a/recipes/build-tools/intltool-m4.recipe +++ b/recipes/build-tools/intltool-m4.recipe @@ -12,6 +12,6 @@ class Recipe(recipe.Recipe): files_devel = ['share/aclocal/intltool.m4'] - def install(self): + async def install(self): m4 = os.path.join(self.build_dir.replace('-m4', ''), 'intltool.m4') shutil.copy(m4, os.path.join(self.config.prefix, 'share', 'aclocal', 'intltool.m4')) diff --git a/recipes/build-tools/meson.recipe b/recipes/build-tools/meson.recipe index ce5f8248..eab6dcea 100644 --- a/recipes/build-tools/meson.recipe +++ b/recipes/build-tools/meson.recipe @@ -33,13 +33,13 @@ class Recipe(recipe.Recipe): files_bin = ['bin/meson'] files_python = [] - def install(self): + async def install(self): # setup.py barfs if using posix paths on Windows if self.config.platform == Platform.WINDOWS: prefix = str(PurePath(self.config.prefix)) else: prefix = self.config.prefix - shell.new_call([self.config.python_exe, 'setup.py', 'install', '--prefix', prefix], + await shell.async_call([self.config.python_exe, 'setup.py', 'install', '--prefix', prefix], cmd_dir=self.build_dir, env=self.env, logfile=self.logfile) if self.config.platform == Platform.WINDOWS: prefix = Path(self.config.prefix) diff --git a/recipes/build-tools/moltenvk-tools.recipe b/recipes/build-tools/moltenvk-tools.recipe index dca58a4a..9b6a055a 100644 --- a/recipes/build-tools/moltenvk-tools.recipe +++ b/recipes/build-tools/moltenvk-tools.recipe @@ -32,7 +32,7 @@ class Recipe(recipe.Recipe): if self.config.target_platform not in (Platform.IOS, Platform.DARWIN): raise InvalidRecipeError(self, "Invalid platform") - def install(self): + async def install(self): srcdir = self.config.moltenvk_prefix prefix = self.config.prefix diff --git a/recipes/build-tools/ninja.recipe b/recipes/build-tools/ninja.recipe index 53f8b3a7..940f4d23 100644 --- a/recipes/build-tools/ninja.recipe +++ b/recipes/build-tools/ninja.recipe @@ -16,7 +16,7 @@ class Recipe(recipe.Recipe): shell.new_call([self.config.python_exe, 'configure.py', '--bootstrap'], self.build_dir, logfile=self.logfile, env=self.env) - def install(self): + async def install(self): ninja = 'ninja' if self.platform == Platform.WINDOWS: ninja += '.exe' diff --git a/recipes/build-tools/vala-m4.recipe b/recipes/build-tools/vala-m4.recipe index 53181f77..b4bd22b9 100644 --- a/recipes/build-tools/vala-m4.recipe +++ b/recipes/build-tools/vala-m4.recipe @@ -18,7 +18,7 @@ class Recipe(recipe.Recipe): files_devel = ['share/aclocal/vala.m4', 'share/aclocal/vapigen.m4', 'share/vala/Makefile.vapigen'] - def install(self): + async def install(self): shutil.copy(os.path.join(self.build_dir, 'vapigen', 'vapigen.m4'), os.path.join(self.config.prefix, 'share', 'aclocal', 'vapigen.m4')) diff --git a/recipes/build-tools/wix.recipe b/recipes/build-tools/wix.recipe index 4fc0eabb..93a146be 100644 --- a/recipes/build-tools/wix.recipe +++ b/recipes/build-tools/wix.recipe @@ -19,7 +19,7 @@ class Recipe(recipe.Recipe): os.makedirs(self.build_dir) await shell.unpack(self.download_path, self.build_dir) - def install(self): + async def install(self): shell.copy_dir(self.build_dir, os.path.join(self.config.prefix, 'lib', 'wix', 'bin')) if self.config.platform == Platform.LINUX: wine_path = os.path.join(self.config.prefix, 'share', 'wine') @@ -29,5 +29,5 @@ class Recipe(recipe.Recipe): 'HOME': wine_path, 'WINEPREFIX': wine_path } - shell.new_call(['sh', './winetricks', '-q', 'dotnet40'], + await shell.async_call(['sh', './winetricks', '-q', 'dotnet40'], cmd_dir=wine_path, env=env) diff --git a/recipes/ca-certificates.recipe b/recipes/ca-certificates.recipe index bd62a850..e7ebfc13 100644 --- a/recipes/ca-certificates.recipe +++ b/recipes/ca-certificates.recipe @@ -17,7 +17,7 @@ class Recipe(recipe.Recipe): 'etc/ssl/certs/ca-certificates.crt', ] - def install(self): + async def install(self): dst_dir = os.path.join(self.config.prefix, 'etc', 'ssl', 'certs') if not os.path.exists(dst_dir): os.makedirs(dst_dir) diff --git a/recipes/docbook-xml.recipe b/recipes/docbook-xml.recipe index 65bba12a..5dd8ffb0 100644 --- a/recipes/docbook-xml.recipe +++ b/recipes/docbook-xml.recipe @@ -12,7 +12,7 @@ class Recipe(recipe.Recipe): files_catalog = ['etc/catalog.xml'] - def install(self): + async def install(self): etc_path = os.path.join(self.config.prefix, 'etc') if not os.path.exists(etc_path): os.makedirs(etc_path) diff --git a/recipes/docbook-xsl.recipe b/recipes/docbook-xsl.recipe index d1a40fee..8c7bb361 100644 --- a/recipes/docbook-xsl.recipe +++ b/recipes/docbook-xsl.recipe @@ -11,7 +11,7 @@ class Recipe(recipe.Recipe): files_catalog = ['etc/catalog.xml'] - def install(self): + async def install(self): etc_path = os.path.join(self.config.prefix, 'etc') if not os.path.exists(etc_path): os.makedirs(etc_path) diff --git a/recipes/gnustl.recipe b/recipes/gnustl.recipe index 3f6e957d..1e7e9dcb 100644 --- a/recipes/gnustl.recipe +++ b/recipes/gnustl.recipe @@ -37,7 +37,7 @@ class Recipe(recipe.Recipe): if self.config.target_arch != Architecture.ARMv7: shell.call(" ".join([self.get_env('AR'), 'rc', os.path.join(libdir, 'libunwind.a')]), env=self.env) - def install(self): + async def install(self): stl_prefix = os.path.join(self.config.toolchain_prefix, 'sources', 'cxx-stl', 'llvm-libc++') if self.config.target_arch == Architecture.X86: diff --git a/recipes/gst-android-1.0.recipe b/recipes/gst-android-1.0.recipe index 7bc1e6fa..a8f4d42d 100644 --- a/recipes/gst-android-1.0.recipe +++ b/recipes/gst-android-1.0.recipe @@ -26,7 +26,7 @@ class Recipe(recipe.Recipe): 'share/gst-android/ndk-build/fontconfig', ] - def install(self): + async def install(self): ndk_build_dir_dst = os.path.join(self.config.prefix, 'share', 'gst-android', 'ndk-build') if not os.path.exists(ndk_build_dir_dst): os.makedirs(ndk_build_dir_dst) diff --git a/recipes/gst-shell.recipe b/recipes/gst-shell.recipe index 16e2dd2b..f8686afc 100644 --- a/recipes/gst-shell.recipe +++ b/recipes/gst-shell.recipe @@ -11,7 +11,7 @@ class Recipe(recipe.Recipe): files_shell = ['bin/gst-shell', 'share/gstreamer/gst-env'] - def install(self): + async def install(self): from cerbero.commands.gensdkshell import GenSdkShell name = self.files_shell[0] prefix = self.config.prefix diff --git a/recipes/gstreamer-1.0-osx-framework.recipe b/recipes/gstreamer-1.0-osx-framework.recipe index 38cd2e22..9d32b9e5 100644 --- a/recipes/gstreamer-1.0-osx-framework.recipe +++ b/recipes/gstreamer-1.0-osx-framework.recipe @@ -12,7 +12,7 @@ class Recipe(recipe.Recipe): files_library = ['lib/GStreamer'] - def install(self): + async def install(self): install_name = os.path.join(self.config.prefix, 'lib', 'GStreamer') libs = [ # GStreamer core 'gstreamer-1.0', 'gstreamer-base-1.0', diff --git a/recipes/gstreamer-ios-templates.recipe b/recipes/gstreamer-ios-templates.recipe index 920b0c3c..ed1b56bf 100644 --- a/recipes/gstreamer-ios-templates.recipe +++ b/recipes/gstreamer-ios-templates.recipe @@ -26,7 +26,7 @@ class Recipe(recipe.Recipe): 'share/xcode/templates/ios/', ] - def install(self): + async def install(self): share_dir = os.path.join(self.config.prefix, 'share', 'xcode', 'templates', 'ios') shell.copy_dir(os.path.join(self.config.data_dir, 'xcode', diff --git a/recipes/ladspa.recipe b/recipes/ladspa.recipe index e5f65684..4ab9b080 100644 --- a/recipes/ladspa.recipe +++ b/recipes/ladspa.recipe @@ -14,7 +14,7 @@ class Recipe(recipe.Recipe): files_devel = ['include/ladspa.h'] library_type = LibraryType.NONE - def install(self): + async def install(self): include_path = os.path.join(self.config.prefix, 'include') if not os.path.exists(include_path): os.makedirs(include_path) diff --git a/recipes/libsrtp.recipe b/recipes/libsrtp.recipe index 5aab116c..aeb08b15 100644 --- a/recipes/libsrtp.recipe +++ b/recipes/libsrtp.recipe @@ -22,8 +22,8 @@ class Recipe(recipe.Recipe): self.set_env('ac_cv_lib_pcap_pcap_create', 'no') self.make += ' all shared_library' - def install(self): - super(Recipe, self).install() + async def install(self): + await super(Recipe, self).install() libdir = os.path.join(self.config.prefix, 'lib' + self.config.lib_suffix) shutil.copy(os.path.join(self.build_dir, 'srtp.def'), libdir) diff --git a/recipes/libvpx.recipe b/recipes/libvpx.recipe index e3e62f79..7c728dd1 100644 --- a/recipes/libvpx.recipe +++ b/recipes/libvpx.recipe @@ -146,10 +146,10 @@ class Recipe(recipe.Recipe): shutil.copy(o, f) await super().configure() - def install(self): + async def install(self): if self.config.target_platform in [Platform.DARWIN, Platform.IOS]: shell.touch(os.path.join(self.build_dir, 'libvpx.a')) - super().install() + await super().install() def post_install(self): if self.using_msvc(): diff --git a/recipes/mingw-runtime.recipe b/recipes/mingw-runtime.recipe index 160c77c8..23836b21 100644 --- a/recipes/mingw-runtime.recipe +++ b/recipes/mingw-runtime.recipe @@ -37,7 +37,7 @@ class Recipe(recipe.Recipe): self.files_libs.append(self._ehlib) - def install(self): + async def install(self): hostroot = os.path.join(self.config.toolchain_prefix, 'x86_64-w64-mingw32') sysroot = os.path.join(hostroot, 'sysroot', 'usr', 'x86_64-w64-mingw32') # Copy libstdc++ to the prefix and update the .la files with the diff --git a/recipes/moltenvk.recipe b/recipes/moltenvk.recipe index 5c693f39..a2d3d049 100644 --- a/recipes/moltenvk.recipe +++ b/recipes/moltenvk.recipe @@ -50,7 +50,7 @@ class Recipe(recipe.Recipe): # no libvulkan.a self.library_type = LibraryType.SHARED - def install(self): + async def install(self): # only copy once for the only architecture supported by the libraries if self.config.target_platform == Platform.DARWIN and self.config.target_arch != Architecture.X86_64: return @@ -105,6 +105,8 @@ class Recipe(recipe.Recipe): if is_dir: shell.copy_dir(src, dest) else: + if not os.path.exists(os.path.dirname(dest)): + os.makedirs(os.path.dirname(dest)) shutil.copy(src, dest) LibtoolLibrary('vulkan', None, None, None, libdir, diff --git a/recipes/taglib.recipe b/recipes/taglib.recipe index 02d9eb85..b7ba96ce 100644 --- a/recipes/taglib.recipe +++ b/recipes/taglib.recipe @@ -32,8 +32,8 @@ class Recipe(recipe.Recipe): self.append_env('CXXFLAGS', '-frtti') self.configure_options += ' -DZLIB_ROOT=%s ' % self.config.prefix - def install(self): - super(recipe.Recipe, self).install() + async def install(self): + await super(recipe.Recipe, self).install() shutil.move( os.path.join(self.config.prefix, 'lib', 'libtag_static.a'), os.path.join(self.config.prefix, 'lib', 'libtag.a')) diff --git a/recipes/tinyalsa.recipe b/recipes/tinyalsa.recipe index e755f313..4eb2e2a8 100644 --- a/recipes/tinyalsa.recipe +++ b/recipes/tinyalsa.recipe @@ -22,7 +22,7 @@ class Recipe(recipe.Recipe): if self.config.target_platform != Platform.LINUX and self.config.target_platform != Platform.ANDROID: raise InvalidRecipeError(self, "Invalid platform") - def install(self): + async def install(self): include_path = os.path.join(self.config.prefix, 'include', 'tinyalsa') library_path = os.path.join(self.config.prefix, 'lib') diff --git a/recipes/vsintegration-1.0.recipe b/recipes/vsintegration-1.0.recipe index c77960a8..68a05f31 100644 --- a/recipes/vsintegration-1.0.recipe +++ b/recipes/vsintegration-1.0.recipe @@ -10,7 +10,7 @@ class Recipe(recipe.Recipe): files_devel = ['share/vs/2010'] - def install(self): + async def install(self): import shutil from cerbero.commands.genvsprops import GenVSProps env_var = ('GSTREAMER_1_0_ROOT_%s' % self.config.target_arch).upper() diff --git a/recipes/winpthreads-runtime.recipe b/recipes/winpthreads-runtime.recipe index d34b5f36..8c36498d 100644 --- a/recipes/winpthreads-runtime.recipe +++ b/recipes/winpthreads-runtime.recipe @@ -12,7 +12,7 @@ class Recipe(recipe.Recipe): files_libs = ['libwinpthread'] - def install(self): + async def install(self): if self.config.platform == Platform.WINDOWS: binmingw = 'bin' else: |