diff --git a/pythonforandroid/recipes/kivent_core/__init__.py b/pythonforandroid/recipes/kivent_core/__init__.py new file mode 100644 index 0000000000..ff9ceed0cb --- /dev/null +++ b/pythonforandroid/recipes/kivent_core/__init__.py @@ -0,0 +1,36 @@ +from pythonforandroid.recipe import CythonRecipe +from os.path import join + + +class KiventCoreRecipe(CythonRecipe): + version = 'master' + url = 'https://github.com/kivy/kivent/archive/{version}.zip' + name = 'kivent_core' + + depends = ['kivy'] + + subbuilddir = False + + def get_recipe_env(self, arch, with_flags_in_cc=True): + env = super(KiventCoreRecipe, self).get_recipe_env( + arch, with_flags_in_cc=with_flags_in_cc + ) + env['CYTHONPATH'] = env['PYTHONPATH'] = self.get_recipe( + 'kivy', self.ctx + ).get_build_dir(arch.arch) + return env + + def get_build_dir(self, arch, sub=False): + builddir = super(KiventCoreRecipe, self).get_build_dir(arch) + if sub or self.subbuilddir: + return join(builddir, 'modules', 'core') + else: + return builddir + + def build_arch(self, arch): + self.subbuilddir = True + super(KiventCoreRecipe, self).build_arch(arch) + self.subbuilddir = False + + +recipe = KiventCoreRecipe() diff --git a/pythonforandroid/recipes/kivent_cymunk/__init__.py b/pythonforandroid/recipes/kivent_cymunk/__init__.py new file mode 100644 index 0000000000..df0af641e4 --- /dev/null +++ b/pythonforandroid/recipes/kivent_cymunk/__init__.py @@ -0,0 +1,31 @@ +from pythonforandroid.recipe import CythonRecipe +from os.path import join + + +class KiventCymunkRecipe(CythonRecipe): + name = 'kivent_cymunk' + + depends = ['kivent_core', 'cymunk'] + + subbuilddir = False + + def get_recipe_env(self, arch, with_flags_in_cc=True): + env = super(KiventCymunkRecipe, self).get_recipe_env( + arch, with_flags_in_cc=with_flags_in_cc) + cymunk = self.get_recipe('cymunk', self.ctx).get_build_dir(arch.arch) + kivy = self.get_recipe('kivy', self.ctx).get_build_dir(arch.arch) + kivent = self.get_recipe('kivent_core', + self.ctx).get_build_dir(arch.arch, sub=True) + env['CYTHONPATH'] = env['PYTHONPATH'] = ':'.join((kivy, cymunk, kivent)) + return env + + def prepare_build_dir(self, arch): + '''No need to prepare, we'll use kivent_core''' + return + + def get_build_dir(self, arch): + builddir = self.get_recipe('kivent_core', self.ctx).get_build_dir(arch) + return join(builddir, 'modules', 'cymunk') + + +recipe = KiventCymunkRecipe() diff --git a/pythonforandroid/recipes/kivent_particles/__init__.py b/pythonforandroid/recipes/kivent_particles/__init__.py new file mode 100644 index 0000000000..9ea929ad72 --- /dev/null +++ b/pythonforandroid/recipes/kivent_particles/__init__.py @@ -0,0 +1,30 @@ +from pythonforandroid.recipe import CythonRecipe +from os.path import join + + +class KiventParticlesRecipe(CythonRecipe): + name = 'kivent_particles' + + depends = ['kivent_core'] + + subbuilddir = False + + def get_recipe_env(self, arch, with_flags_in_cc=True): + env = super(KiventParticlesRecipe, self).get_recipe_env( + arch, with_flags_in_cc=with_flags_in_cc) + kivy = self.get_recipe('kivy', self.ctx).get_build_dir(arch.arch) + kivent = self.get_recipe('kivent_core', + self.ctx).get_build_dir(arch.arch, sub=True) + env['CYTHONPATH'] = env['PYTHONPATH'] = ':'.join((kivy, kivent)) + return env + + def prepare_build_dir(self, arch): + '''No need to prepare, we'll use kivent_core''' + return + + def get_build_dir(self, arch): + builddir = self.get_recipe('kivent_core', self.ctx).get_build_dir(arch) + return join(builddir, 'modules', 'particles') + + +recipe = KiventParticlesRecipe() diff --git a/pythonforandroid/recipes/kivent_polygen/__init__.py b/pythonforandroid/recipes/kivent_polygen/__init__.py new file mode 100644 index 0000000000..40e8ef5f93 --- /dev/null +++ b/pythonforandroid/recipes/kivent_polygen/__init__.py @@ -0,0 +1,30 @@ +from pythonforandroid.recipe import CythonRecipe +from os.path import join + + +class KiventPolygenRecipe(CythonRecipe): + name = 'kivent_polygen' + + depends = ['kivent_core'] + + subbuilddir = False + + def get_recipe_env(self, arch, with_flags_in_cc=True): + env = super(KiventPolygenRecipe, self).get_recipe_env( + arch, with_flags_in_cc=with_flags_in_cc) + kivy = self.get_recipe('kivy', self.ctx).get_build_dir(arch.arch) + kivent = self.get_recipe('kivent_core', + self.ctx).get_build_dir(arch.arch, sub=True) + env['CYTHONPATH'] = env['PYTHONPATH'] = ':'.join((kivy, kivent)) + return env + + def prepare_build_dir(self, arch): + '''No need to prepare, we'll use kivent_core''' + return + + def get_build_dir(self, arch): + builddir = self.get_recipe('kivent_core', self.ctx).get_build_dir(arch) + return join(builddir, 'modules', 'polygen') + + +recipe = KiventPolygenRecipe()