electrum-bitcoinprivate/contrib/make_packages

63 lines
1.7 KiB
Python
Executable File

#!/usr/bin/python2
import sys, re, shutil, os, hashlib
import imp
import getpass
if __name__ == '__main__':
d = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))
os.chdir(d)
v = imp.load_source('version', 'lib/version.py')
version = v.ELECTRUM_VERSION
print "version", version
# copy dependencies into 'packages' directory
deps = [
'pyaes',
'ecdsa',
'pbkdf2',
'requests', # note: requests-2.5.1 is needed to build with pyinstaller
'qrcode',
'google/protobuf',
'dns',
'six',
'jsonrpclib',
'socks',
]
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'))
# fix google/__init__.py needed by pyinstaller
n = 'packages/google/__init__.py'
if not os.path.exists(n):
os.system("echo \# do not remove>%s"%n)
# patch requests and add cacert.pem
import requests
crt = requests.certs.where()
n = 'packages/requests/certs.py'
with open(n, 'r') as f:
s = f.read()
s = s.replace("'%s'"%crt, "os.path.join(os.path.dirname(__file__), 'cacert.pem')")
with open(n, 'w') as f:
f.write(s)
shutil.copy(crt, 'packages/requests/cacert.pem')
os.system("pyrcc4 icons.qrc -o gui/qt/icons_rc.py")
os.system("python setup.py sdist --format=zip,gztar")
print "Packages are ready in dist"