Fix copyright statements; add LICENSE for EXIF.py
[mediagoblin.git] / setup.py
index 37144b5be01aa05376aefe16945246cb50f58db3..9dd8964ab1342c6cc80fe3be6464968fd0f94437 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.2",
+    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',
+        'webob<=1.2a2',
         'wtforms',
         'py-bcrypt',
         'nose',
@@ -43,23 +61,42 @@ setup(
         'argparse',
         'webtest',
         'ConfigObj',
+        'Markdown',
+        ## For now we're expecting that users will install this from
+        ## their package managers.
+        # 'lxml',
         ],
+    # requires=['gst'],
     test_suite='nose.collector',
+    entry_points="""\
+        [console_scripts]
+        gmg = mediagoblin.gmg_commands:main_cli
+        pybabel = mediagoblin.babel.messages.frontend:main
 
-    license = 'AGPLv3',
-    author = 'Free Software Foundation and contributors',
-    author_email = 'cwebber@gnu.org',
-    entry_points = """\
-      [console_scripts]
-      gmg = mediagoblin.gmg_commands:main_cli
+        [paste.app_factory]
+        app = mediagoblin.app:paste_app_factory
 
-      [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
+        [zc.buildout]
+        make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
 
-      [babel.extractors]
-      jinja2 = jinja2.ext:babel_extract
-      """,
+        [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(READMEFILE).read(),
+    classifiers=[
+        "Development Status :: 3 - Alpha",
+        "Environment :: Web Environment",
+        "License :: OSI Approved :: GNU Affero General Public License",
+        "Operating System :: OS Independent",
+        "Programming Language :: Python",
+        "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
+        ],
     )