Skip to content

Commit

Permalink
[CORE UPDATE - PART V] Fix pycrypto (#1546)
Browse files Browse the repository at this point in the history
* Fix openssl dependant recipe: pycrypto (and grants python3 compatibility)

Since the recent openssl upgrade this recipe stopped to work. Here we adapt the recipe to the new python2 build system and to new openssl version. Also bump the recipe version number to the latest available (to avoid possible errors with our python3).

* Move libraries from LDFLAGS to LIBS for pycrypto recipe

Because this is how you are supposed to do it, you must use LDFLAGS for linker flags and LDLIBS (or the equivalent LOADLIBES) for the libraries
  • Loading branch information
opacam authored and AndreMiras committed Jan 15, 2019
1 parent 6caa51a commit 34a9d05
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions pythonforandroid/recipes/pycrypto/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,27 @@
info,
shprint,
)
from os.path import join
import sh


class PyCryptoRecipe(CompiledComponentsPythonRecipe):
version = '2.6.1'
url = 'https://pypi.python.org/packages/source/p/pycrypto/pycrypto-{version}.tar.gz'
depends = ['openssl', 'python2']
version = '2.7a1'
url = 'https://github.com/dlitz/pycrypto/archive/v{version}.zip'
depends = ['openssl', ('python2', 'python3')]
site_packages_name = 'Crypto'

call_hostpython_via_targetpython = False
patches = ['add_length.patch']

def get_recipe_env(self, arch=None):
def get_recipe_env(self, arch=None, clang=True):
env = super(PyCryptoRecipe, self).get_recipe_env(arch)
openssl_build_dir = Recipe.get_recipe('openssl', self.ctx).get_build_dir(arch.arch)
env['CC'] = '%s -I%s' % (env['CC'], join(openssl_build_dir, 'include'))
env['LDFLAGS'] = env['LDFLAGS'] + ' -L{}'.format(
self.ctx.get_libs_dir(arch.arch) +
'-L{}'.format(self.ctx.libs_dir)) + ' -L{}'.format(
openssl_build_dir)
openssl_recipe = Recipe.get_recipe('openssl', self.ctx)
env['CC'] = env['CC'] + openssl_recipe.include_flags(arch)

env['LDFLAGS'] += ' -L{}'.format(self.ctx.get_libs_dir(arch.arch))
env['LDFLAGS'] += ' -L{}'.format(self.ctx.libs_dir)
env['LDFLAGS'] += openssl_recipe.link_dirs_flags(arch)
env['LIBS'] = env.get('LIBS', '') + openssl_recipe.link_libs_flags()

env['EXTRA_CFLAGS'] = '--host linux-armv'
env['ac_cv_func_malloc_0_nonnull'] = 'yes'
return env
Expand Down

0 comments on commit 34a9d05

Please sign in to comment.