From 29b66e1279f777c35d94cbc6f9d64243d80341c9 Mon Sep 17 00:00:00 2001 From: akshayaurora Date: Wed, 7 Oct 2015 13:14:07 +0530 Subject: [PATCH] use `pip install -t` in make_packages to aggregate packages. --- contrib/make_packages | 48 ++++++++++++++++++----------------- gui/kivy/tools/buildozer.spec | 2 +- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/contrib/make_packages b/contrib/make_packages index 999ca8d7..54947c50 100755 --- a/contrib/make_packages +++ b/contrib/make_packages @@ -3,6 +3,16 @@ import sys, re, shutil, os, hashlib import imp import getpass +import subprocess + +def recurse_into(target, ext, func): + # traverse root directory, and list directories as dirs and files as files + for root, dirs, files in os.walk(target): + for dfile in files: + if dfile.endswith(ext): + print('Running {} on file: {}'.format(func, dfile)) + func(os.path.join(root, dfile)) + if __name__ == '__main__': @@ -12,34 +22,26 @@ if __name__ == '__main__': version = v.ELECTRUM_VERSION print "version", version - # copy dependencies into 'packages' directory - deps = [ - 'aes', - 'ecdsa', + # install dependencies into 'packages' directory + deps = ['slowaes>=0.1a1', + 'ecdsa>=0.9', 'pbkdf2', - 'requests', # note: requests-2.5.1 is needed to build with pyinstaller + 'requests', 'qrcode', - 'google/protobuf', - 'dns', - 'six', - ] - # don't use /usr/lib - sys.path = ['/usr/local/lib/python2.7/dist-packages'] + 'protobuf', + 'dnspython', + 'six'] + + popen = subprocess.Popen + target = os.path.join(d, 'packages') for module in deps: - f, pathname, descr = imp.find_module(module) - target = 'packages/' + module + descr[0] - if os.path.exists(target): - continue - d = os.path.dirname(target) - if d and not (os.path.exists(d)): - os.makedirs(d) - if descr[0]: - shutil.copy(pathname, target) - else: - shutil.copytree(pathname, target, ignore=shutil.ignore_patterns('*.pyc')) + subprocess.call('pip install {} -t {}'.format(module, target), shell=True) + + # recurse into dir and run func on extensions + recurse_into(target, '.pyc', os.unlink) # fix google/__init__.py needed by pyinstaller - n = 'packages/google/__init__.py' + n = d + '/packages/google/__init__.py' if not os.path.exists(n): os.system("echo \# do not remove>%s"%n) diff --git a/gui/kivy/tools/buildozer.spec b/gui/kivy/tools/buildozer.spec index 5775c7b7..e50b13a7 100644 --- a/gui/kivy/tools/buildozer.spec +++ b/gui/kivy/tools/buildozer.spec @@ -90,7 +90,7 @@ android.add_jars = lib/android/zbar.jar # (str) python-for-android branch to use, if not master, useful to try # not yet merged features. -android.branch = master +#android.branch = master # (str) OUYA Console category. Should be one of GAME or APP # If you leave this blank, OUYA support will not be enabled