about summary refs log tree commit diff
path: root/setup.py
diff options
context:
space:
mode:
authorPaweł Jastrzębski <pawelj@vulturis.eu>2013-03-09 16:16:01 +0100
committerPaweł Jastrzębski <pawelj@vulturis.eu>2013-03-09 16:16:01 +0100
commita72d1128dd174ba3b0ec0320e96f5f1fe7f6b7f6 (patch)
treec92a451a870950723d345939630bc5378bf81496 /setup.py
parentsetup.py py2exe/app -> cx_freeze (diff)
downloadkcc-a72d1128dd174ba3b0ec0320e96f5f1fe7f6b7f6.tar.gz
kcc-a72d1128dd174ba3b0ec0320e96f5f1fe7f6b7f6.tar.bz2
kcc-a72d1128dd174ba3b0ec0320e96f5f1fe7f6b7f6.zip
Fixed OS X build script
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py60
1 files changed, 50 insertions, 10 deletions
diff --git a/setup.py b/setup.py
index 8106f72..44caed6 100644
--- a/setup.py
+++ b/setup.py
@@ -1,29 +1,54 @@
 """
-cx_freeze build script for KCC.
+cx_freeze/py2app build script for KCC.
 
 Will automatically ensure that all build prerequisites are available via ez_setup
 
-Usage (Windows/Mac OS X):
+Usage (Windows):
     python setup.py build
+
+Usage (OS X):
+    python setup.py py2app
 """
 from ez_setup import use_setuptools
 use_setuptools()
 
 import sys
-from cx_Freeze import setup, Executable
 
 NAME = "KindleComicConverter"
 VERSION = "2.7"
 MAIN = "kcc.py"
 
 if sys.platform == "darwin":
-    icon = "comic2ebook.icns"
-    base = None
-    buildEXEOptions = {}
+    from setuptools import setup
+    extra_options = dict(
+        setup_requires=['py2app'],
+        app=[MAIN],
+        options=dict(
+            py2app=dict(
+                argv_emulation=True,
+                iconfile='comic2ebook.icns',
+                plist=dict(
+                    CFBundleName=NAME,
+                    CFBundleShortVersionString=VERSION,
+                    CFBundleGetInfoString=NAME + " " + VERSION + ", written 2012-2013 by Ciro Mattia Gonano",
+                    CFBundleExecutable=NAME,
+                    CFBundleIdentifier='com.github.ciromattia.kcc',
+                    CFBundleSignature='dplt'
+                )
+            )
+        )
+    )
 elif sys.platform == "win32":
-    icon = "comic2ebook.ico"
+    from cx_Freeze import setup, Executable
     base = "Win32GUI"
-    buildEXEOptions = {"include_files": ["comic2ebook.ico"]}
+    extra_options = dict(
+        options = {"build_exe": {"include_files": ["comic2ebook.ico"]}},
+        executables=[Executable(MAIN, base=base, icon="comic2ebook.ico", appendScriptToExe=True, appendScriptToLibrary=False, compress=True)]
+    )
+else:
+    extra_options = dict(
+        scripts=[MAIN],
+    )
 
 setup(
     name = NAME,
@@ -34,6 +59,21 @@ setup(
     license = "ISC License (ISCL)",
     keywords = "kindle comic mobipocket mobi cbz cbr manga",
     url = "http://github.com/ciromattia/kcc",
-    options = {"build_exe": buildEXEOptions},
-    executables = [Executable(MAIN, base=base, icon=icon, appendScriptToExe=True, appendScriptToLibrary=False, compress=True)]
+    classifiers=[
+       'Development Status :: 4 - Beta'
+       'License :: OSI Approved :: ISC License (ISCL)',
+       'Environment :: Console',
+       'Environment :: MacOS X',
+       'Environment :: Win32 (MS Windows)',
+       'Environment :: X11 Applications',
+       'Intended Audience :: End Users/Desktop',
+       'Operating System :: OS Independent',
+       'Programming Language :: Python',
+       'Programming Language :: Python :: 3',
+       'Topic :: Multimedia :: Graphics :: Graphics Conversion',
+       'Topic :: Utilities'
+    ],
+    packages=['kcc'],
+    include_package_data=True,
+    **extra_options
 )