Turning image's media manager into a new style class.
[mediagoblin.git] / setup.py
index 3508f5f099aa25838c292299173967b8ee9ee490..ce1e41029e83871bf20c06f882e0c99c71de3628 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 Free Software Foundation, Inc
+# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from setuptools import setup, find_packages
+import os
+import re
+
+READMEFILE = "README"
+VERSIONFILE = os.path.join("mediagoblin", "_version.py")
+VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]"
+
+
+def get_version():
+    verstrline = open(VERSIONFILE, "rt").read()
+    mo = re.search(VSRE, verstrline, re.M)
+    if mo:
+        return mo.group(1)
+    else:
+        raise RuntimeError("Unable to find version string in %s." %
+                           VERSIONFILE)
+
 
 setup(
-    name = "mediagoblin",
-    version = "0.0.4",
+    name="mediagoblin",
+    version=get_version(),
     packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
     zip_safe=False,
+    include_package_data = True,
     # scripts and dependencies
-    install_requires = [
+    install_requires=[
         'setuptools',
         'PasteScript',
-        'beaker',
-        'routes',
-        'pymongo',
-        'mongokit',
-        'webob',
         'wtforms',
         'py-bcrypt',
-        'nose',
-        'werkzeug',
-        'celery',
+        'pytest',
+        'pytest-xdist',
+        'werkzeug>=0.7',
+        'celery==2.5.3',
+        'kombu==2.1.7',
         'jinja2',
         'sphinx',
-        'PIL',
         'Babel',
-        'translitcodec',
         'argparse',
-        'webtest',
+        'webtest<2',
         'ConfigObj',
         'Markdown',
+        'sqlalchemy>=0.7.0',
+        'sqlalchemy-migrate',
+        'mock',
+        'itsdangerous',
+        'pytz',
+        ## This is optional!
+        # 'translitcodec',
         ## For now we're expecting that users will install this from
         ## their package managers.
         # 'lxml',
+        # 'PIL',
         ],
+    # requires=['gst'],
     test_suite='nose.collector',
-    entry_points = """\
+    entry_points="""\
         [console_scripts]
         gmg = mediagoblin.gmg_commands:main_cli
+        pybabel = mediagoblin.babel.messages.frontend:main
 
         [paste.app_factory]
         app = mediagoblin.app:paste_app_factory
 
+        [paste.filter_app_factory]
+        errors = mediagoblin.errormiddleware:mgoblin_error_middleware
+
         [zc.buildout]
         make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
 
         [babel.extractors]
         jinja2 = jinja2.ext:babel_extract
         """,
     license='AGPLv3',
     author='Free Software Foundation and contributors',
     author_email='cwebber@gnu.org',
     url="http://mediagoblin.org/",
     download_url="http://mediagoblin.org/download/",
-    long_description=open('README').read(),
+    long_description=open(READMEFILE).read(),
     classifiers=[
         "Development Status :: 3 - Alpha",
         "Environment :: Web Environment",
-        "License :: OSI Approved :: GNU Affero General Public License",
+        "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
         "Operating System :: OS Independent",
         "Programming Language :: Python",
+        'Programming Language :: Python :: 2.6',
+        'Programming Language :: Python :: 2.7',
         "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
         ],
     )