1 | # setup.py |
---|
2 | # -*- coding: utf8 -*- |
---|
3 | # vim:fileencoding=utf8 ai ts=4 sts=4 et sw=4 |
---|
4 | |
---|
5 | """Setuptools setup.py file for nagslang.""" |
---|
6 | |
---|
7 | from setuptools import setup, find_packages |
---|
8 | |
---|
9 | try: |
---|
10 | import py2exe |
---|
11 | py2exe # To make pyflakes happy. |
---|
12 | except ImportError: |
---|
13 | pass |
---|
14 | |
---|
15 | reqs = [] |
---|
16 | with open('requirements.txt') as f: |
---|
17 | for line in f: |
---|
18 | reqs.append(line.strip()) |
---|
19 | |
---|
20 | # This should probably be pulled from constants.py |
---|
21 | VERSION_STR = "0.1" |
---|
22 | |
---|
23 | setup( |
---|
24 | name="nagslang", |
---|
25 | version=VERSION_STR, |
---|
26 | description="naglsang: Game for PyWeek 17", |
---|
27 | |
---|
28 | author=(", ".join([ |
---|
29 | "Simon Cross", |
---|
30 | "David Fraser", |
---|
31 | "Neil Muller", |
---|
32 | "Adrianna Pinska", |
---|
33 | "Stefano Rivera", |
---|
34 | "David Sharpe", |
---|
35 | "Jeremy Thurgood", |
---|
36 | ])), |
---|
37 | author_email="ctpug@googlegroups.com", |
---|
38 | |
---|
39 | maintainer="Nagslang Team", |
---|
40 | maintainer_email="ctpug@googlegroups.com", |
---|
41 | |
---|
42 | url="http://ctpug.org.za/", |
---|
43 | download_url="https://hg.ctpug.org.za/nagslang/", |
---|
44 | |
---|
45 | license="MIT", |
---|
46 | |
---|
47 | classifiers=[ |
---|
48 | 'Development Status :: 4 - Beta', |
---|
49 | 'Environment :: MacOS X', |
---|
50 | 'Environment :: Win32 (MS Windows)', |
---|
51 | 'Environment :: X11 Applications', |
---|
52 | 'Intended Audience :: End Users/Desktop', |
---|
53 | 'License :: OSI Approved :: MIT License', |
---|
54 | 'Natural Language :: English', |
---|
55 | 'Operating System :: Microsoft :: Windows', |
---|
56 | 'Operating System :: POSIX', |
---|
57 | 'Operating System :: MacOS :: MacOS X', |
---|
58 | 'Programming Language :: Python :: 2.6', |
---|
59 | 'Programming Language :: Python :: 2.7', |
---|
60 | 'Topic :: Games/Entertainment :: Role-Playing', |
---|
61 | 'Topic :: Games/Entertainment :: Arcade', |
---|
62 | ], |
---|
63 | |
---|
64 | platforms=[ |
---|
65 | 'Linux', |
---|
66 | 'Mac OS X', |
---|
67 | 'Windows', |
---|
68 | ], |
---|
69 | |
---|
70 | # Dependencies |
---|
71 | install_requires=reqs, |
---|
72 | |
---|
73 | # Files |
---|
74 | packages=find_packages(), |
---|
75 | scripts=[ |
---|
76 | 'scripts/nagslang', |
---|
77 | ], |
---|
78 | |
---|
79 | # py2exe |
---|
80 | windows=[{ |
---|
81 | 'script': 'scripts/nagslang', |
---|
82 | 'icon_resources': [(0, "data/icons/werewolf-sonata.ico")], |
---|
83 | }], |
---|
84 | app=['scripts/nagslang'], |
---|
85 | options={ |
---|
86 | 'py2exe': { |
---|
87 | 'skip_archive': 1, |
---|
88 | 'dist_dir': 'dist/nagslang-%s' % VERSION_STR, |
---|
89 | 'packages': [ |
---|
90 | 'logging', 'encodings', 'nagslang', |
---|
91 | ], |
---|
92 | 'includes': [ |
---|
93 | 'pygame', 'pymunk', |
---|
94 | ], |
---|
95 | 'excludes': [ |
---|
96 | 'numpy', |
---|
97 | ], |
---|
98 | 'ignores': [ |
---|
99 | # all database modules |
---|
100 | 'pgdb', 'Sybase', 'adodbapi', |
---|
101 | 'kinterbasdb', 'psycopg', 'psycopg2', 'pymssql', |
---|
102 | 'sapdb', 'pysqlite2', 'sqlite', 'sqlite3', |
---|
103 | 'MySQLdb', 'MySQLdb.connections', |
---|
104 | 'MySQLdb.constants.CR', 'MySQLdb.constants.ER', |
---|
105 | # old datetime equivalents |
---|
106 | 'DateTime', 'DateTime.ISO', |
---|
107 | 'mx', 'mx.DateTime', 'mx.DateTime.ISO', |
---|
108 | # email modules |
---|
109 | 'email.Generator', 'email.Iterators', 'email.Utils', |
---|
110 | ], |
---|
111 | }, |
---|
112 | 'py2app': { |
---|
113 | 'app': ['run_game.py'], |
---|
114 | 'argv_emulation': True, |
---|
115 | 'iconfile': 'data/icons/program/icon.icns', |
---|
116 | 'packages': [ |
---|
117 | 'logging', 'encodings', 'pygame', 'pymunk', 'nagslang', 'data', |
---|
118 | ], |
---|
119 | 'excludes': ['numpy'], |
---|
120 | }}, |
---|
121 | include_package_data=True, |
---|
122 | ) |
---|