use `pip install -t` in make_packages to aggregate packages.

This commit is contained in:
akshayaurora 2015-10-07 13:14:07 +05:30
parent e5778316e8
commit 29b66e1279
2 changed files with 26 additions and 24 deletions

View File

@ -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)

View File

@ -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