Skip to content

Commit

Permalink
Merge pull request kivy#1214 from opacam/libexpat
Browse files Browse the repository at this point in the history
Adds new recipe: libexpat
  • Loading branch information
inclement authored Jan 20, 2018
2 parents 275d236 + 024cb16 commit a036f44
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions pythonforandroid/recipes/libexpat/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

import sh
from pythonforandroid.toolchain import Recipe, shprint, shutil, current_directory
from os.path import exists, join
from multiprocessing import cpu_count


class LibexpatRecipe(Recipe):
version = 'master'
url = 'https://github.com/libexpat/libexpat/archive/{version}.zip'
depends = []

def should_build(self, arch):
super(LibexpatRecipe, self).should_build(arch)
return not exists(
join(self.ctx.get_libs_dir(arch.arch), 'libexpat.so'))

def build_arch(self, arch):
super(LibexpatRecipe, self).build_arch(arch)
env = self.get_recipe_env(arch)
with current_directory(join(self.get_build_dir(arch.arch), 'expat')):
dst_dir = join(self.get_build_dir(arch.arch), 'dist')
shprint(sh.Command('./buildconf.sh'), _env=env)
shprint(
sh.Command('./configure'),
'--host=arm-linux-androideabi',
'--enable-shared',
'--without-xmlwf',
'--prefix={}'.format(dst_dir),
_env=env)
shprint(sh.make, '-j', str(cpu_count()), _env=env)
shprint(sh.make, 'install', _env=env)
shutil.copyfile(
'{}/lib/libexpat.so'.format(dst_dir),
join(self.ctx.get_libs_dir(arch.arch), 'libexpat.so'))


recipe = LibexpatRecipe()

0 comments on commit a036f44

Please sign in to comment.