cecc8129936a18b804e036462bd68cc6c44b9dbc
[electrum-nvc.git] / setup.py
1 #!/usr/bin/python
2
3 # python setup.py sdist --format=zip,gztar
4
5 from setuptools import setup
6 import os
7 import sys
8 import platform
9 import imp
10
11
12 version = imp.load_source('version', 'lib/version.py')
13 util = imp.load_source('version', 'lib/util.py')
14
15 if sys.version_info[:3] < (2, 6, 0):
16     sys.exit("Error: Electrum requires Python version >= 2.6.0...")
17
18 usr_share = '/usr/share'
19 if not os.access(usr_share, os.W_OK):
20     usr_share = os.getenv("XDG_DATA_HOME", os.path.join(os.getenv("HOME"), ".local", "share"))
21
22 data_files = []
23 if (len(sys.argv) > 1 and (sys.argv[1] == "sdist")) or (platform.system() != 'Windows' and platform.system() != 'Darwin'):
24     print "Including all files"
25     data_files += [
26         (os.path.join(usr_share, 'applications/'), ['electrum-nvc.desktop']),
27         (os.path.join(usr_share, 'app-install', 'icons/'), ['icons/electrum.png'])
28     ]
29     if not os.path.exists('locale'):
30         os.mkdir('locale')
31     for lang in os.listdir('locale'):
32         if os.path.exists('locale/%s/LC_MESSAGES/electrum.mo' % lang):
33             data_files.append((os.path.join(usr_share, 'locale/%s/LC_MESSAGES' % lang), ['locale/%s/LC_MESSAGES/electrum.mo' % lang]))
34
35 appdata_dir = util.appdata_dir()
36 if not os.access(appdata_dir, os.W_OK):
37     appdata_dir = os.path.join(usr_share, "electrum-nvc")
38
39 data_files += [
40     (appdata_dir, ["data/README"]),
41     (os.path.join(appdata_dir, "cleanlook"), [
42         "data/cleanlook/name.cfg",
43         "data/cleanlook/style.css"
44     ]),
45     (os.path.join(appdata_dir, "sahara"), [
46         "data/sahara/name.cfg",
47         "data/sahara/style.css"
48     ]),
49     (os.path.join(appdata_dir, "dark"), [
50         "data/dark/name.cfg",
51         "data/dark/style.css"
52     ])
53 ]
54
55
56 setup(
57     name="Electrum-NVC",
58     version=version.ELECTRUM_VERSION,
59     install_requires=['slowaes', 'ecdsa>=0.9', 'pbkdf2', 'requests', 'pyasn1', 'pyasn1-modules', 'tlslite>=0.4.5', 'qrcode', 'ltc_scrypt'],
60     package_dir={
61         'electrum_nvc': 'lib',
62         'electrum_nvc_gui': 'gui',
63         'electrum_nvc_plugins': 'plugins',
64     },
65     scripts=['electrum'],
66     data_files=data_files,
67     py_modules=[
68         'electrum_nvc.account',
69         'electrum_nvc.bitcoin',
70         'electrum_nvc.blockchain',
71         'electrum_nvc.bmp',
72         'electrum_nvc.commands',
73         'electrum_nvc.daemon',
74         'electrum_nvc.i18n',
75         'electrum_nvc.interface',
76         'electrum_nvc.mnemonic',
77         'electrum_nvc.msqr',
78         'electrum_nvc.network',
79         'electrum_nvc.paymentrequest',
80         'electrum_nvc.paymentrequest_pb2',
81         'electrum_nvc.plugins',
82         'electrum_nvc.scrypt',
83         'electrum_nvc.simple_config',
84         'electrum_nvc.socks',
85         'electrum_nvc.synchronizer',
86         'electrum_nvc.transaction',
87         'electrum_nvc.util',
88         'electrum_nvc.verifier',
89         'electrum_nvc.version',
90         'electrum_nvc.wallet',
91         'electrum_nvc.wallet_bitkey',
92         'electrum_nvc.x509',
93         'electrum_nvc_gui.gtk',
94         'electrum_nvc_gui.qt.__init__',
95         'electrum_nvc_gui.qt.amountedit',
96         'electrum_nvc_gui.qt.console',
97         'electrum_nvc_gui.qt.history_widget',
98         'electrum_nvc_gui.qt.icons_rc',
99         'electrum_nvc_gui.qt.installwizard',
100         'electrum_nvc_gui.qt.lite_window',
101         'electrum_nvc_gui.qt.main_window',
102         'electrum_nvc_gui.qt.network_dialog',
103         'electrum_nvc_gui.qt.password_dialog',
104         'electrum_nvc_gui.qt.paytoedit',
105         'electrum_nvc_gui.qt.qrcodewidget',
106         'electrum_nvc_gui.qt.qrtextedit',
107         'electrum_nvc_gui.qt.receiving_widget',
108         'electrum_nvc_gui.qt.seed_dialog',
109         'electrum_nvc_gui.qt.transaction_dialog',
110         'electrum_nvc_gui.qt.util',
111         'electrum_nvc_gui.qt.version_getter',
112         'electrum_nvc_gui.stdio',
113         'electrum_nvc_gui.text',
114         'electrum_nvc_plugins.qrscanner',
115         'electrum_nvc_plugins.virtualkeyboard',
116     ],
117     description="Lightweight Novacoin Wallet",
118     author="Thomas Voegtlin",
119     author_email="thomasv1@gmx.de",
120     license="GNU GPLv3",
121     url="https://electrum.org",
122     long_description="""Lightweight Novacoin Wallet"""
123 )