Assorted project boilerplate.
[naja.git] / setup.py
diff --git a/setup.py b/setup.py
new file mode 100644 (file)
index 0000000..a54b907
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,120 @@
+# setup.py
+# -*- coding: utf8 -*-
+# vim:fileencoding=utf8 ai ts=4 sts=4 et sw=4
+
+"""Setuptools setup.py file for naja."""
+
+from setuptools import setup, find_packages
+
+try:
+    import py2exe
+    py2exe  # To make pyflakes happy.
+except ImportError:
+    pass
+
+# This should probably be pulled from constants.py
+VERSION_STR = "0.1"
+
+setup(
+    name="naja",
+    version=VERSION_STR,
+    description="naja: Game for PyWeek 18",
+
+    author=(", ".join([
+        "Simon Cross",
+        "Neil Muller",
+        "Adrianna Pinska",
+        "Stefano Rivera",
+        "David Sharpe",
+        "Jeremy Thurgood",
+    ])),
+    author_email="ctpug@googlegroups.com",
+
+    maintainer="Naja Team",
+    maintainer_email="ctpug@googlegroups.com",
+
+    url="http://ctpug.org.za/",
+    download_url="http://www.ctpug.org.za/gitweb/?p=naja.git",
+
+    license="MIT",
+
+    classifiers=[
+        'Development Status :: 4 - Beta',
+        'Environment :: MacOS X',
+        'Environment :: Win32 (MS Windows)',
+        'Environment :: X11 Applications',
+        'Intended Audience :: End Users/Desktop',
+        'License :: OSI Approved :: MIT License',
+        'Natural Language :: English',
+        'Operating System :: Microsoft :: Windows',
+        'Operating System :: POSIX',
+        'Operating System :: MacOS :: MacOS X',
+        'Programming Language :: Python :: 2.6',
+        'Programming Language :: Python :: 2.7',
+        'Topic :: Games/Entertainment',
+    ],
+
+    platforms=[
+        'Linux',
+        'Mac OS X',
+        'Windows',
+    ],
+
+    # Dependencies
+    install_requires=['pygame'],
+
+    # Files
+    packages=find_packages(),
+    scripts=[
+        'scripts/naja',
+    ],
+
+    # py2exe
+    windows=[{
+        'script': 'scripts/naja',
+        'icon_resources': [(0, "data/icons/naja.ico")],
+    }],
+    app=['scripts/naja'],
+    options={
+        'py2exe': {
+            'skip_archive': 1,
+            'dist_dir': 'dist/naja-%s' % VERSION_STR,
+            'packages': [
+                'logging', 'encodings', 'naja',
+            ],
+            'includes': [
+                'pygame', 'pymunk',
+            ],
+            'excludes': [
+                'numpy',
+            ],
+            'ignores': [
+                # all database modules
+                'pgdb', 'Sybase', 'adodbapi',
+                'kinterbasdb', 'psycopg', 'psycopg2', 'pymssql',
+                'sapdb', 'pysqlite2', 'sqlite', 'sqlite3',
+                'MySQLdb', 'MySQLdb.connections',
+                'MySQLdb.constants.CR', 'MySQLdb.constants.ER',
+                # old datetime equivalents
+                'DateTime', 'DateTime.ISO',
+                'mx', 'mx.DateTime', 'mx.DateTime.ISO',
+                # email modules
+                'email.Generator', 'email.Iterators', 'email.Utils',
+            ],
+        },
+        'py2app': {
+            'app': ['run_game.py'],
+            'argv_emulation': True,
+            'iconfile': 'data/icons/program/icon.icns',
+            'packages': [
+                'logging', 'encodings', 'pygame', 'naja', 'data',
+            ],
+            'excludes': ['numpy'],
+        }},
+    data_files=[
+        # 'COPYRIGHT',
+        'LICENSE.txt',
+        'README.txt',
+    ],
+    include_package_data=True,
+)