Update setup.py
[p2pool.git] / setup.py
1 import os
2 import shutil
3 import sys
4 import zipfile
5 import platform
6
7 from distutils.core import setup
8 import py2exe
9
10 version = __import__('p2pool').__version__
11 im64 = '64' in platform.architecture()[0]
12
13 if os.path.exists('INITBAK'):
14     os.remove('INITBAK')
15 os.rename(os.path.join('p2pool', '__init__.py'), 'INITBAK')
16 try:
17     open(os.path.join('p2pool', '__init__.py'), 'wb').write('__version__ = %r%s%sDEBUG = False%s' % (version, os.linesep, os.linesep, os.linesep))
18     bundle = 1
19     if im64:
20         bundle = bundle + 2
21     sys.argv[1:] = ['py2exe']
22     setup(name='p2pool',
23         version=version,
24         description='Peer-to-peer Bitcoin mining pool',
25         author='Forrest Voight',
26         author_email='forrest@forre.st',
27         url='http://p2pool.forre.st/',
28         data_files=[
29             ('', ['README']),
30             ('web-static', [
31                 'web-static/d3.v2.min.js',
32                 'web-static/graphs.html',
33                 'web-static/index.html',
34                 'web-static/share.html',
35             ]),
36         ],
37         
38         console=['run_p2pool.py'],
39         options=dict(py2exe=dict(
40             bundle_files=bundle,
41             dll_excludes=['w9xpopen.exe', "mswsock.dll", "MSWSOCK.dll"],
42             includes=['twisted.web.resource', 'ltc_scrypt'],
43         )),
44         zipfile=None,
45     )
46 finally:
47     os.remove(os.path.join('p2pool', '__init__.py'))
48     os.rename('INITBAK', os.path.join('p2pool', '__init__.py'))
49
50 win = '32'
51 if im64:
52     win = '64'
53     
54 dir_name = 'p2pool_win' + win + '_' + version
55
56 if os.path.exists(dir_name):
57     shutil.rmtree(dir_name)
58 os.rename('dist', dir_name)
59
60 with zipfile.ZipFile(dir_name + '.zip', 'w', zipfile.ZIP_DEFLATED) as zf:
61     for dirpath, dirnames, filenames in os.walk(dir_name):
62         for filename in filenames:
63             zf.write(os.path.join(dirpath, filename))
64
65 print dir_name