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 | )
|
---|