import glob from io import open # for open(..,encoding=...) parameter in python 2 from os import walk from os.path import join, dirname, sep import re from setuptools import setup, find_packages # NOTE: All package data should also be set in MANIFEST.in packages = find_packages() package_data = {'': ['*.tmpl', '*.patch', '*.diff', ], } data_files = [] # must be a single statement since buildozer is currently parsing it, refs: # https://github.com/kivy/buildozer/issues/722 install_reqs = [ 'appdirs', 'colorama>=0.3.3', 'jinja2', 'six', 'enum34; python_version<"3.4"', 'sh>=1.10; sys_platform!="nt"', 'pep517<0.7.0', 'toml', ] # (pep517 and toml are used by pythonpackage.py) # By specifying every file manually, package_data will be able to # include them in binary distributions. Note that we have to add # everything as a 'pythonforandroid' rule, using '' apparently doesn't # work. def recursively_include(results, directory, patterns): for root, subfolders, files in walk(directory): for fn in files: if not any(glob.fnmatch.fnmatch(fn, pattern) for pattern in patterns): continue filename = join(root, fn) directory = 'pythonforandroid' if directory not in results: results[directory] = [] results[directory].append(join(*filename.split(sep)[1:])) recursively_include(package_data, 'pythonforandroid/recipes', ['*.patch', 'Setup*', '*.pyx', '*.py', '*.c', '*.h', '*.mk', '*.jam', '*.diff', ]) recursively_include(package_data, 'pythonforandroid/bootstraps', ['*.properties', '*.xml', '*.java', '*.tmpl', '*