source: trunk/setup.py @ 306

Last change on this file since 306 was 279, checked in by sc, 10 years ago
  • Windows 0.5.0 release
  • PySide? compatibility
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)
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.08.15
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                       "numpy", "pylab", \
41                       "matplotlib", \
42                       "matplotlib.backends", \
43                       "matplotlib.backends.backend_qt4agg", \
44                       "matplotlib.figure", \
45                       "matplotlib.numerix.fft", \
46                       "matplotlib.numerix.linear_algebra", \
47                       "matplotlib.numerix.random_array", \
48                       "matplotlib.backends.backend_tkagg"], \
49                    "excludes": [ \
50                       "bluetooth", "tcl", \
51                       '_gtkagg', '_tkagg', '_agg2', \
52                       '_cairo', '_cocoaagg', \
53                       '_fltkagg', '_gtk', '_gtkcairo'], \
54                    "dll_excludes": [ \
55                       'tcl84.dll', 'tk84.dll' \
56                       'libgdk-win32-2.0-0.dll',
57                       'libgobject-2.0-0.dll', \
58                       'MSVCP90.dll', \
59                       ], \
60                    #"packages": ["pytz"], \
61                    "compressed": 2, \
62                    "optimize": 2, \
63                    "bundle_files": 2, \
64                    "dist_dir": "dist", \
65                    "xref": False, \
66                    "skip_archive": False, \
67                 }
68        }
69       
70        data_files=[("", \
71                       ["puzzlebox_synapse_configuration.ini"]),
72                    ("images", \
73                       ["images/puzzlebox.ico", \
74                        "images/puzzlebox_logo.png"]),
75        ]
76       
77        # Add the mpl mpl-data folder and rc file
78        data_files += matplotlib.get_py2exe_datafiles()
79       
80        matplotlib.use('Qt4Agg') # overrule configuration
81
82
83else:
84        options={}
85       
86        data_files=[("/etc/puzzlebox_synapse", \
87                       ["puzzlebox_synapse_configuration.ini"]),
88                    ("/usr/share/puzzlebox_synapse/images", \
89                       ["images/puzzlebox.ico", \
90                        "images/puzzlebox_logo.png"]),
91                    ("/usr/share/applications", \
92                       ["puzzlebox_synapse.desktop"]),
93                   ]
94
95
96setup(
97        name='puzzlebox_synapse',
98        version='0.5.0',
99        description='Puzzlebox Synapse provides a GUI and socket-server interface to commercially available EEG headsets',
100        author='Steve Castellotti',
101        author_email='sc@puzzlebox.info',
102        url='http://brainstorms.puzzlebox.info',
103        py_modules=['Puzzlebox', \
104                    'Puzzlebox.Synapse', \
105                    'Puzzlebox.Synapse.Protocol', \
106                    'Puzzlebox.Synapse.Server', \
107                    'Puzzlebox.Synapse.Client', \
108                    'Puzzlebox.Synapse.Interface', \
109                    'Puzzlebox.Synapse.Interface_Design', \
110                    'Puzzlebox.Synapse.Interface_Plot', \
111                    'Puzzlebox.Synapse.Configuration', \
112                    'synapse-protocol', \
113                    'synapse-server', \
114                    'synapse-client', \
115                    'synapse-gui'], \
116        console=["synapse-client.py", \
117                 "synapse-server.py", \
118                 "synapse-protocol.py"
119        ],
120        options=options, \
121        zipfile = r'lib\library.zip',
122        data_files=data_files, \
123        windows=[ \
124                {
125                 "script": "synapse-gui.py",
126                 "icon_resources": [(1, \
127                 os.path.join("images", "puzzlebox.ico"))]
128                },
129        ],
130        classifiers=[ \
131                'Development Status :: 4 - Beta',
132                'Intended Audience :: End Users/Desktop',
133                'Programming Language :: Python',
134                'Operating System :: OS Independent',
135                'License :: OSI Approved :: GNU General Public License (GPL)',
136                'Topic :: Scientific/Engineering :: Human Machine Interfaces',
137        ],
138)
Note: See TracBrowser for help on using the repository browser.