fixes to get version and py2exe working on windows
[p2pool.git] / setup.py
1 import os
2 import shutil
3 import sys
4 import zipfile
5
6 from distutils.core import setup
7 import py2exe
8
9 version = __import__('p2pool').__version__
10
11 old_contents = open('p2pool/__init__.py', 'rb').read()
12 try:
13     open('p2pool/__init__.py', 'wb').write('__version__ = %r%s%sDEBUG = False%s' % (version, os.linesep, os.linesep, os.linesep))
14     
15     sys.argv[1:] = ['py2exe']
16     setup(name='p2pool',
17         version=version,
18         description='Peer-to-peer Bitcoin mining pool',
19         author='Forrest Voight',
20         author_email='forrest@forre.st',
21         url='http://p2pool.forre.st/',
22         data_files=[('', ['README'])],
23         
24         console=['run_p2pool.py'],
25         options=dict(py2exe=dict(
26             bundle_files=1,
27             dll_excludes=['w9xpopen.exe'],
28             includes=['twisted.web.resource', 'ltc_scrypt'],
29         )),
30         zipfile=None,
31     )
32 finally:
33     open('p2pool/__init__.py', 'wb').write(old_contents)
34
35 dir_name = 'p2pool_win32_' + version
36
37 if os.path.exists(dir_name):
38     shutil.rmtree(dir_name)
39 os.rename('dist', dir_name)
40
41 with zipfile.ZipFile(dir_name + '.zip', 'w', zipfile.ZIP_DEFLATED) as zf:
42     for dirpath, dirnames, filenames in os.walk(dir_name):
43         for filename in filenames:
44             zf.write(os.path.join(dirpath, filename))
45
46 print dir_name