X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=setup.py;h=e8c4b0349dd1648813cd5441235b52c87f385872;hb=64c035b39fe76bf07d8b12152d1f14574c9e4677;hp=bf31e23b31f65299f25a5d78f6b3bf2a0ccc5e9b;hpb=897354e6e4a9ba5ed36fe2ccd75c00a7b3d0b8d4;p=mediagoblin.git diff --git a/setup.py b/setup.py index bf31e23b..e8c4b034 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,7 @@ from __future__ import print_function from setuptools import setup, find_packages +from io import open import os import re @@ -39,18 +40,30 @@ def get_version(): raise RuntimeError("Unable to find version string in %s." % VERSIONFILE) -py2_only_install_requires = [] +pyversion_install_requires = [] if PY2: - py2_only_install_requires.append('argparse') # only for < 2.7 - py2_only_install_requires.append('PasteScript') + pyversion_install_requires.append('argparse') # only for < 2.7 + pyversion_install_requires.append('PasteScript') # newer sqlalchemy-migrate requires pbr which BREAKS EVERYTHING AND IS # TERRIBLE AND IS THE END OF ALL THINGS # I'd love to remove this restriction. - py2_only_install_requires.append('sqlalchemy-migrate<0.8') - py2_only_install_requires.append('mock') # mock is in the stdlib for 3.3+ + pyversion_install_requires.append('sqlalchemy-migrate<0.8') + # # Annoying. Please remove once we can! We only indirectly + # # use pbr, and currently it breaks things, presumably till + # # their next release. + # pyversion_install_requires.append('pbr==0.5.22') + pyversion_install_requires.append('mock==1.0.1') # mock is in the stdlib for 3.3+ + # PyPI version (1.4.2) does not have proper Python 3 support + pyversion_install_requires.append('ExifRead') + pyversion_install_requires.append('PasteScript') + # Paste 2.0 is breaking wsgi, see: + # https://bitbucket.org/ianb/paste/issue/4/wsgi-environ-totally-borked + pyversion_install_requires.append('Paste') +else: + pyversion_install_requires.append('gunicorn') install_requires = [ - 'setuptools', # TODO: is this necessary + 'alembic==0.6.6', 'python-dateutil', 'wtforms', 'py-bcrypt', @@ -60,33 +73,36 @@ install_requires = [ 'celery>=3.0', 'kombu', 'jinja2', - 'sphinx', # TODO: is this a docs requirement? - 'Babel<1.0', - 'webtest<2', + 'Babel>=1.3', + 'WebTest>=2.0.18', 'ConfigObj', 'Markdown', 'sqlalchemy<0.9.0, >0.8.0', 'itsdangerous', 'pytz', - # PLEASE change this when we can; a dependency is forcing us to set this - # specific number and it is breaking setup.py develop - 'six==1.5.2', - 'oauthlib==0.5.0', + 'sphinx', + 'six', + 'oauthlib', 'unidecode', - 'ExifRead', - # Annoying. Please remove once we can! We only indirectly - # use pbr, and currently it breaks things, presumably till - # their next release. - 'pbr==0.5.22', + 'jsonschema', + 'PasteDeploy', + 'requests>=2.6.0', + 'pyld', # This is optional: # 'translitcodec', # For now we're expecting that users will install this from # their package managers. # 'lxml', - # 'PIL', # TODO: switch to Pillow? -] + py2_only_install_requires + # 'Pillow', +] + pyversion_install_requires -with open(READMEFILE) as fobj: +dependency_links = [] +if not PY2: + # PyPI version (1.4.2) does not have proper Python 3 support + dependency_links.append('https://github.com/ianare/exif-py/zipball/develop#egg=ExifRead-2.0.0') + install_requires.append('ExifRead>=2.0.0') + +with open(READMEFILE, encoding="utf-8") as fobj: long_description = fobj.read() try: @@ -98,15 +114,18 @@ try: include_package_data = True, # scripts and dependencies install_requires=install_requires, - test_suite='nose.collector', # TODO: We are using py.test now? + dependency_links=dependency_links, + test_suite='nose.collector', 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.server_runner] + paste_server_selector = mediagoblin.app:paste_server_selector + [paste.filter_app_factory] errors = mediagoblin.errormiddleware:mgoblin_error_middleware @@ -120,8 +139,8 @@ try: author='Free Software Foundation and contributors', author_email='cwebber@gnu.org', url="http://mediagoblin.org/", - download_url="http://mediagoblin.org/download/", long_description=long_description, + description='MediaGoblin is a web application for publishing all kinds of media', classifiers=[ "Development Status :: 3 - Alpha", "Environment :: Web Environment",