Make chess puzzle level (Kasparov to F3) winnable.
[naja.git] / setup.py
index a54b907ff826f57b5b5404f7e0ca4664593c66e8..abbfcb43079918e648ca7a7498191d5cdcfcdd31 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -2,9 +2,13 @@
 # -*- coding: utf8 -*-
 # vim:fileencoding=utf8 ai ts=4 sts=4 et sw=4
 
-"""Setuptools setup.py file for naja."""
+"""Setuptools setup.py file for Robolock II."""
 
 from setuptools import setup, find_packages
+from setuptools.command.sdist import sdist
+from setuptools.command.install import install
+
+from tools import gen_json
 
 try:
     import py2exe
@@ -12,29 +16,45 @@ try:
 except ImportError:
     pass
 
+
 # This should probably be pulled from constants.py
+# These two constants are used by darwin-py2app.sh.
 VERSION_STR = "0.1"
+NAME_STR = "robolock-II"
+
+
+class NajaSdist(sdist):
+    def run(self):
+        gen_json.main()
+        sdist.run(self)
+
+
+class NajaInstall(install):
+    def run(self):
+        gen_json.main(update=False)
+        install.run(self)
+
 
 setup(
-    name="naja",
+    name=NAME_STR,
     version=VERSION_STR,
-    description="naja: Game for PyWeek 18",
+    description="Robolock II - a puzzle game",
 
     author=(", ".join([
         "Simon Cross",
         "Neil Muller",
-        "Adrianna Pinska",
+        "Adrianna Pińska",
         "Stefano Rivera",
         "David Sharpe",
         "Jeremy Thurgood",
     ])),
     author_email="ctpug@googlegroups.com",
 
-    maintainer="Naja Team",
+    maintainer="Team Naja (CTPUG)",
     maintainer_email="ctpug@googlegroups.com",
 
-    url="http://ctpug.org.za/",
-    download_url="http://www.ctpug.org.za/gitweb/?p=naja.git",
+    url="http://robolock.org/",
+    download_url="http://ctpug.org.za/git/naja",
 
     license="MIT",
 
@@ -61,7 +81,13 @@ setup(
     ],
 
     # Dependencies
-    install_requires=['pygame'],
+    install_requires=[
+        'pygame',
+    ],
+
+    setup_requires=[
+        'PyYAML',
+    ],
 
     # Files
     packages=find_packages(),
@@ -69,10 +95,15 @@ setup(
         'scripts/naja',
     ],
 
+    cmdclass={
+        'sdist': NajaSdist,
+        'install': NajaInstall,
+    },
+
     # py2exe
     windows=[{
         'script': 'scripts/naja',
-        'icon_resources': [(0, "data/icons/naja.ico")],
+        'icon_resources': [(0, "data/icons/robolock.ico")],
     }],
     app=['scripts/naja'],
     options={
@@ -83,10 +114,13 @@ setup(
                 'logging', 'encodings', 'naja',
             ],
             'includes': [
-                'pygame', 'pymunk',
+                'pygame',
             ],
             'excludes': [
-                'numpy',
+                'numpy', 'pygame.sdlmain_osx', 'winreg', 'AppKit',
+                'Foundation', 'Numeric', 'OpenGL.GL', '_scproxy',
+                '_sysconfigdata', 'copyreg', 'dummy.Process', 'pkg_resources',
+                'queue', 'win32evtlog', 'win32evtlogutil',
             ],
             'ignores': [
                 # all database modules
@@ -105,7 +139,7 @@ setup(
         'py2app': {
             'app': ['run_game.py'],
             'argv_emulation': True,
-            'iconfile': 'data/icons/program/icon.icns',
+            'iconfile': 'data/icons/robolock.icns',
             'packages': [
                 'logging', 'encodings', 'pygame', 'naja', 'data',
             ],