2017-02-05 14:31:17 +03:00
|
|
|
#!/usr/bin/env python3
|
2011-11-16 13:53:18 +03:00
|
|
|
|
2011-11-29 10:32:56 +01:00
|
|
|
# python setup.py sdist --format=zip,gztar
|
2011-11-16 13:53:18 +03:00
|
|
|
|
2013-10-07 13:26:10 +02:00
|
|
|
from setuptools import setup
|
2013-11-12 19:33:47 -08:00
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
import platform
|
|
|
|
|
import imp
|
2016-02-29 13:21:54 +01:00
|
|
|
import argparse
|
2013-11-12 19:33:47 -08:00
|
|
|
|
2018-02-11 16:27:01 +01:00
|
|
|
with open('contrib/requirements/requirements.txt') as f:
|
2017-12-17 15:22:10 -04:00
|
|
|
requirements = f.read().splitlines()
|
|
|
|
|
|
2018-02-11 16:27:01 +01:00
|
|
|
with open('contrib/requirements/requirements-hw.txt') as f:
|
2017-12-26 01:27:44 +01:00
|
|
|
requirements_hw = f.read().splitlines()
|
|
|
|
|
|
2012-10-20 17:01:11 +02:00
|
|
|
version = imp.load_source('version', 'lib/version.py')
|
|
|
|
|
|
2017-02-05 14:31:17 +03:00
|
|
|
if sys.version_info[:3] < (3, 4, 0):
|
|
|
|
|
sys.exit("Error: Electrum requires Python version >= 3.4.0...")
|
2014-11-22 14:03:21 +01:00
|
|
|
|
2018-03-07 15:15:54 -05:00
|
|
|
data_files = []
|
2015-10-18 12:43:20 +02:00
|
|
|
|
|
|
|
|
if platform.system() in ['Linux', 'FreeBSD', 'DragonFly']:
|
2016-02-29 13:21:54 +01:00
|
|
|
parser = argparse.ArgumentParser()
|
|
|
|
|
parser.add_argument('--root=', dest='root_path', metavar='dir', default='/')
|
|
|
|
|
opts, _ = parser.parse_known_args(sys.argv[1:])
|
2015-02-18 17:13:41 +01:00
|
|
|
usr_share = os.path.join(sys.prefix, "share")
|
2018-03-20 12:25:04 +01:00
|
|
|
icons_dirname = 'pixmaps'
|
2016-02-29 13:21:54 +01:00
|
|
|
if not os.access(opts.root_path + usr_share, os.W_OK) and \
|
|
|
|
|
not os.access(opts.root_path, os.W_OK):
|
2018-03-20 12:25:04 +01:00
|
|
|
icons_dirname = 'icons'
|
2016-01-05 12:13:15 +01:00
|
|
|
if 'XDG_DATA_HOME' in os.environ.keys():
|
2016-06-18 17:41:24 +02:00
|
|
|
usr_share = os.environ['XDG_DATA_HOME']
|
2016-01-05 12:13:15 +01:00
|
|
|
else:
|
|
|
|
|
usr_share = os.path.expanduser('~/.local/share')
|
2012-06-10 15:43:10 +02:00
|
|
|
data_files += [
|
2013-11-12 19:33:47 -08:00
|
|
|
(os.path.join(usr_share, 'applications/'), ['electrum.desktop']),
|
2018-03-20 12:25:04 +01:00
|
|
|
(os.path.join(usr_share, icons_dirname), ['icons/electrum.png'])
|
2012-07-05 01:41:07 +02:00
|
|
|
]
|
2014-09-13 09:58:11 +02:00
|
|
|
|
2018-05-24 18:57:13 +02:00
|
|
|
extras_require = {
|
|
|
|
|
'hardware': requirements_hw,
|
|
|
|
|
'fast': ['pycryptodomex'],
|
2018-06-16 17:38:30 +02:00
|
|
|
':python_version < "3.5"': ['typing>=3.0.0'],
|
2018-05-24 18:57:13 +02:00
|
|
|
}
|
|
|
|
|
extras_require['full'] = extras_require['hardware'] + extras_require['fast']
|
|
|
|
|
|
|
|
|
|
|
2013-11-12 19:33:47 -08:00
|
|
|
setup(
|
|
|
|
|
name="Electrum",
|
|
|
|
|
version=version.ELECTRUM_VERSION,
|
2017-12-17 15:22:10 -04:00
|
|
|
install_requires=requirements,
|
2018-05-24 18:57:13 +02:00
|
|
|
extras_require=extras_require,
|
2015-11-23 19:38:48 +01:00
|
|
|
packages=[
|
|
|
|
|
'electrum',
|
|
|
|
|
'electrum_gui',
|
|
|
|
|
'electrum_gui.qt',
|
2015-11-24 12:28:47 +01:00
|
|
|
'electrum_plugins',
|
2015-11-23 19:38:48 +01:00
|
|
|
'electrum_plugins.audio_modem',
|
|
|
|
|
'electrum_plugins.cosigner_pool',
|
|
|
|
|
'electrum_plugins.email_requests',
|
|
|
|
|
'electrum_plugins.greenaddress_instant',
|
2016-01-31 02:49:02 +01:00
|
|
|
'electrum_plugins.hw_wallet',
|
2015-11-23 19:38:48 +01:00
|
|
|
'electrum_plugins.keepkey',
|
|
|
|
|
'electrum_plugins.labels',
|
|
|
|
|
'electrum_plugins.ledger',
|
2018-06-10 22:12:23 +02:00
|
|
|
'electrum_plugins.revealer',
|
2015-11-23 19:38:48 +01:00
|
|
|
'electrum_plugins.trezor',
|
2016-12-28 22:49:09 +01:00
|
|
|
'electrum_plugins.digitalbitbox',
|
2015-11-23 19:38:48 +01:00
|
|
|
'electrum_plugins.trustedcoin',
|
|
|
|
|
'electrum_plugins.virtualkeyboard',
|
|
|
|
|
],
|
2013-11-12 19:33:47 -08:00
|
|
|
package_dir={
|
|
|
|
|
'electrum': 'lib',
|
|
|
|
|
'electrum_gui': 'gui',
|
|
|
|
|
'electrum_plugins': 'plugins',
|
|
|
|
|
},
|
2015-02-18 17:13:41 +01:00
|
|
|
package_data={
|
2018-06-10 22:12:23 +02:00
|
|
|
'': ['*.txt', '*.json', '*.ttf', '*.otf'],
|
2015-02-18 17:13:41 +01:00
|
|
|
'electrum': [
|
|
|
|
|
'locale/*/LC_MESSAGES/electrum.mo',
|
2018-06-10 22:12:23 +02:00
|
|
|
],
|
2015-02-18 17:13:41 +01:00
|
|
|
},
|
2013-11-12 19:33:47 -08:00
|
|
|
scripts=['electrum'],
|
|
|
|
|
data_files=data_files,
|
|
|
|
|
description="Lightweight Bitcoin Wallet",
|
2014-06-07 13:30:40 +02:00
|
|
|
author="Thomas Voegtlin",
|
2015-02-17 17:24:40 +01:00
|
|
|
author_email="thomasv@electrum.org",
|
2016-02-23 11:36:42 +01:00
|
|
|
license="MIT Licence",
|
2014-06-07 13:30:40 +02:00
|
|
|
url="https://electrum.org",
|
2013-11-12 19:33:47 -08:00
|
|
|
long_description="""Lightweight Bitcoin Wallet"""
|
2012-05-10 14:38:49 +02:00
|
|
|
)
|