forked from Feathercoin-Foundation/electrum-ftc
/
setup.py
executable file
·125 lines (114 loc) · 4.32 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/usr/bin/env python3
# python setup.py sdist --format=zip,gztar
from setuptools import setup
from setuptools.command.build_py import build_py
from setuptools.command.install import install
from distutils import core
import os
import sys
import platform
import imp
import argparse
with open('contrib/requirements/requirements.txt') as f:
requirements = f.read().splitlines()
with open('contrib/requirements/requirements-hw.txt') as f:
requirements_hw = f.read().splitlines()
version = imp.load_source('version', 'lib/version.py')
if sys.version_info[:3] < (3, 4, 0):
sys.exit("Error: Electrum requires Python version >= 3.4.0...")
data_files = []
if platform.system() in ['Linux', 'FreeBSD', 'DragonFly']:
parser = argparse.ArgumentParser()
parser.add_argument('--root=', dest='root_path', metavar='dir', default='/')
opts, _ = parser.parse_known_args(sys.argv[1:])
usr_share = os.path.join(sys.prefix, "share")
icons_dirname = 'pixmaps'
if not os.access(opts.root_path + usr_share, os.W_OK) and \
not os.access(opts.root_path, os.W_OK):
icons_dirname = 'icons'
if 'XDG_DATA_HOME' in os.environ.keys():
usr_share = os.environ['XDG_DATA_HOME']
else:
usr_share = os.path.expanduser('~/.local/share')
data_files += [
(os.path.join(usr_share, 'applications/'), ['electrum-ftc.desktop']),
(os.path.join(usr_share, icons_dirname), ['icons/electrum_light.png'])
]
class BuildPyCommand(build_py):
def run(self):
build_py.run(self)
try:
from PyQt5 import pyrcc_main
if not pyrcc_main.processResourceFile(['icons.qrc'],
'build/lib/electrum_ftc_gui/qt/icons_rc.py',
False):
raise RuntimeError('Failed to generate icons_rc.py')
except ImportError:
import subprocess
subprocess.run(['pyrcc5', 'icons.qrc', '-o', 'build/lib/electrum_ftc_gui/qt/icons_rc.py'])
with open('build/lib/electrum_ftc/version.py', 'r+') as fp:
verfile = fp.readlines()
verfile[0] = "ELECTRUM_FTC_VERSION = '{}'\n".format(
version.ELECTRUM_FTC_VERSION)
fp.seek(0)
fp.writelines(verfile)
fp.truncate()
class InstallCommand(install):
def run(self):
setup = core.run_setup('neoscrypt_module/setup.py', stop_after='commandline')
if platform.system() == 'Windows':
setup.command_options['build_ext'] = {'compiler': ('build_ext', 'mingw32')}
setup.run_command('install')
install.run(self)
setup(
name="Electrum-FTC",
version=version.ELECTRUM_FTC_VERSION,
cmdclass={'build_py': BuildPyCommand, 'install': InstallCommand},
install_requires=requirements,
extras_require={
'full': requirements_hw + ['pycryptodomex'],
},
packages=[
'electrum_ftc',
'electrum_ftc_gui',
'electrum_ftc_gui.qt',
'electrum_ftc_plugins',
'electrum_ftc_plugins.audio_modem',
'electrum_ftc_plugins.cosigner_pool',
'electrum_ftc_plugins.email_requests',
'electrum_ftc_plugins.hw_wallet',
'electrum_ftc_plugins.keepkey',
'electrum_ftc_plugins.labels',
'electrum_ftc_plugins.ledger',
'electrum_ftc_plugins.trezor',
'electrum_ftc_plugins.digitalbitbox',
'electrum_ftc_plugins.virtualkeyboard',
],
package_dir={
'electrum_ftc': 'lib',
'electrum_ftc_gui': 'gui',
'electrum_ftc_plugins': 'plugins',
},
package_data={
'electrum_ftc': [
'servers.json',
'servers_testnet.json',
'servers_regtest.json',
'currencies.json',
'checkpoints.json',
'target_bridge.json',
'checkpoints_testnet.json',
'www/index.html',
'wordlist/*.txt',
'locale/*/LC_MESSAGES/electrum.mo',
]
},
scripts=['electrum-ftc'],
data_files=data_files,
description="Lightweight Feathercoin Wallet",
author="Thomas Voegtlin; Feathercoin Development Foundation",
author_email="thomasv@electrum.org; info@feathercoin.foundation",
license="MIT Licence",
url="https://electrum.org",
long_description="""Lightweight Feathercoin Wallet"""
)