lbry-android-sdk/p4a/pythonforandroid/recipes/harfbuzz/__init__.py

40 lines
1.4 KiB
Python
Raw Normal View History

from pythonforandroid.toolchain import Recipe
from pythonforandroid.util import current_directory
from pythonforandroid.logger import shprint
from os.path import exists, join
2017-08-13 03:24:00 +02:00
import sh
class HarfbuzzRecipe(Recipe):
version = '0.9.40'
url = 'http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-{version}.tar.bz2' # noqa
2017-08-13 03:24:00 +02:00
def should_build(self, arch):
if exists(join(self.get_build_dir(arch.arch),
'src', '.libs', 'libharfbuzz.a')):
2017-08-13 03:24:00 +02:00
return False
return True
def build_arch(self, arch):
env = self.get_recipe_env(arch)
env['LDFLAGS'] = env['LDFLAGS'] + ' -L{}'.format(
self.ctx.get_libs_dir(arch.arch) +
'-L{}'.format(self.ctx.libs_dir))
with current_directory(self.get_build_dir(arch.arch)):
configure = sh.Command('./configure')
shprint(configure, '--without-icu', '--host=arm-linux=androideabi',
'--prefix={}'.format(
join(self.ctx.build_dir, 'python-install')),
'--without-freetype',
'--without-glib',
'--disable-shared',
_env=env)
2017-08-13 03:24:00 +02:00
shprint(sh.make, '-j5', _env=env)
shprint(sh.cp, '-L', join('src', '.libs', 'libharfbuzz.a'),
self.ctx.libs_dir)
2017-08-13 03:24:00 +02:00
recipe = HarfbuzzRecipe()