Skip to content

Commit

Permalink
Fix zope_interface and add python3 compatibility
Browse files Browse the repository at this point in the history
The `zope.interface` module lacks of the __init__.py file in one of his folders, that leads into an ImportError: No module named zope.interface
  • Loading branch information
opacam committed Feb 5, 2019
1 parent 78645ea commit b938e59
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
13 changes: 11 additions & 2 deletions pythonforandroid/recipes/zope_interface/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from pythonforandroid.recipe import PythonRecipe
from pythonforandroid.toolchain import current_directory
from os.path import join
import sh


Expand All @@ -9,10 +10,18 @@ class ZopeInterfaceRecipe(PythonRecipe):
version = '4.1.3'
url = 'https://pypi.python.org/packages/source/z/zope.interface/zope.interface-{version}.tar.gz'
site_packages_name = 'zope.interface'

depends = [('python2', 'python3crystax')]
depends = ['setuptools']
patches = ['no_tests.patch']

def build_arch(self, arch):
super(ZopeInterfaceRecipe, self).build_arch(arch)
# The zope.interface module lacks of the __init__.py file in one of his
# folders (once is installed), that leads into an ImportError.
# Here we intentionally apply a patch to solve that, so, in case that
# this is solved in the future an error will be triggered
zope_install = join(self.ctx.get_site_packages_dir(arch.arch), 'zope')
self.apply_patch('fix-init.patch', arch.arch, build_dir=zope_install)

def prebuild_arch(self, arch):
super(ZopeInterfaceRecipe, self).prebuild_arch(arch)
with current_directory(self.get_build_dir(arch.arch)):
Expand Down
9 changes: 9 additions & 0 deletions pythonforandroid/recipes/zope_interface/fix-init.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
The zope.interface module lacks of the __init__.py file in `zope` folder
(once is installed), this patch creates that missing file. This seems to be
caused during the installation process because that file exists in source
files.
diff -Naurp zope.orig/__init__.py zope/__init__.py
--- zope.orig/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ zope/__init__.py 2019-02-05 11:29:22.666757227 +0100
@@ -0,0 +1 @@
+

0 comments on commit b938e59

Please sign in to comment.