source: trunk/setup.py @ 353

Last change on this file since 353 was 315, checked in by sc, 9 years ago
  • Preparations for 0.5.2 release
File size: 4.1 KB
Line 
1#!/usr/bin/env python
2#
3# Puzzlebox - ThinkGear Emulator - Py2Exe Distutils
4#
5# Copyright Puzzlebox Productions, LLC (2010-2011)
6#
7# This code is released under the GNU Pulic License (GPL) version 2
8# For more information please refer to http://www.gnu.org/copyleft/gpl.html
9#
10# Last Update: 2011.12.07
11#
12#####################################################################
13
14from distutils.core import setup
15import os, sys
16import glob
17
18if (sys.platform == 'win32'):
19        import py2exe
20        import shutil
21        import matplotlib
22
23#####################################################################
24# Main
25#####################################################################
26
27if __name__ != '__main__':
28       
29        sys.exit()
30
31
32if (sys.platform == 'win32'):
33       
34        # Remove the build folder, a bit slower but ensures that build contains the latest
35        shutil.rmtree("build", ignore_errors=True)
36       
37        options={"py2exe": { \
38                    "includes": [ \
39                       #"sip", #"PyQt4._qt", \
40                       "PySide", \
41                       "numpy", "pylab", \
42                       "matplotlib", \
43                       "matplotlib.backends", \
44                       "matplotlib.backends.backend_qt4agg", \
45                       "matplotlib.figure", \
46                       "matplotlib.numerix.fft", \
47                       "matplotlib.numerix.linear_algebra", \
48                       "matplotlib.numerix.random_array", \
49                       "matplotlib.backends.backend_tkagg"], \
50                    "excludes": [ \
51                       "bluetooth", "tcl", \
52                       '_gtkagg', '_tkagg', '_agg2', \
53                       '_cairo', '_cocoaagg', \
54                       '_fltkagg', '_gtk', '_gtkcairo'], \
55                    "dll_excludes": [ \
56                       'tcl84.dll', 'tk84.dll' \
57                       'libgdk-win32-2.0-0.dll',
58                       'libgobject-2.0-0.dll', \
59                       'MSVCP90.dll', \
60                       ], \
61                    #"packages": ["pytz"], \
62                    "compressed": 2, \
63                    "optimize": 2, \
64                    "bundle_files": 2, \
65                    "dist_dir": "dist", \
66                    "xref": False, \
67                    "skip_archive": False, \
68                 }
69        }
70       
71        data_files=[("", \
72                       ["puzzlebox_synapse_configuration.ini"]),
73                    ("images", \
74                       ["images/puzzlebox.ico", \
75                        "images/puzzlebox_logo.png"]),
76        ]
77       
78        # Add the mpl mpl-data folder and rc file
79        data_files += matplotlib.get_py2exe_datafiles()
80       
81        matplotlib.use('Qt4Agg') # overrule configuration
82
83
84else:
85        options={}
86       
87        data_files=[("/etc/puzzlebox_synapse", \
88                       ["puzzlebox_synapse_configuration.ini"]),
89                    ("/usr/share/puzzlebox_synapse/images", \
90                       ["images/puzzlebox.ico", \
91                        "images/puzzlebox_logo.png"]),
92                    ("/usr/share/applications", \
93                       ["puzzlebox_synapse.desktop"]),
94                   ]
95
96
97setup(
98        name='puzzlebox_synapse',
99        version='0.5.2',
100        description='Puzzlebox Synapse provides a GUI and socket-server interface to commercially available EEG headsets',
101        author='Steve Castellotti',
102        author_email='sc@puzzlebox.info',
103        url='http://brainstorms.puzzlebox.info',
104        py_modules=['Puzzlebox', \
105                    'Puzzlebox.Synapse', \
106                    'Puzzlebox.Synapse.Protocol', \
107                    'Puzzlebox.Synapse.Server', \
108                    'Puzzlebox.Synapse.Client', \
109                    'Puzzlebox.Synapse.Interface', \
110                    'Puzzlebox.Synapse.Interface_Design', \
111                    'Puzzlebox.Synapse.Interface_Plot', \
112                    'Puzzlebox.Synapse.Configuration', \
113                    'synapse-protocol', \
114                    'synapse-server', \
115                    'synapse-client', \
116                    'synapse-gui'], \
117        console=["synapse-client.py", \
118                 "synapse-server.py", \
119                 "synapse-protocol.py"
120        ],
121        options=options, \
122        zipfile = r'lib\library.zip',
123        data_files=data_files, \
124        windows=[ \
125                {
126                 "script": "synapse-gui.py",
127                 "icon_resources": [(1, \
128                 os.path.join("images", "puzzlebox.ico"))]
129                },
130        ],
131        classifiers=[ \
132                'Development Status :: 4 - Beta',
133                'Intended Audience :: End Users/Desktop',
134                'Programming Language :: Python',
135                'Operating System :: OS Independent',
136                'License :: OSI Approved :: GNU General Public License (GPL)',
137                'Topic :: Scientific/Engineering :: Human Machine Interfaces',
138        ],
139)
Note: See TracBrowser for help on using the repository browser.