Commit | Line | Data |
---|---|---|
8e1e744d | 1 | # GNU MediaGoblin -- federated, autonomous media hosting |
12a100e4 | 2 | # Copyright (C) 2011 MediaGoblin contributors. See AUTHORS. |
e5572c60 ML |
3 | # |
4 | # This program is free software: you can redistribute it and/or modify | |
5 | # it under the terms of the GNU Affero General Public License as published by | |
6 | # the Free Software Foundation, either version 3 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU Affero General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | ||
31a8ff42 | 17 | from setuptools import setup, find_packages |
cf37fffc WKG |
18 | import os |
19 | import re | |
20 | ||
21 | READMEFILE = "README" | |
22 | VERSIONFILE = os.path.join("mediagoblin", "_version.py") | |
23 | VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]" | |
24 | ||
25 | ||
26 | def get_version(): | |
27 | verstrline = open(VERSIONFILE, "rt").read() | |
28 | mo = re.search(VSRE, verstrline, re.M) | |
29 | if mo: | |
30 | return mo.group(1) | |
31 | else: | |
32 | raise RuntimeError("Unable to find version string in %s." % VERSIONFILE) | |
33 | ||
31a8ff42 | 34 | |
31a8ff42 CAW |
35 | setup( |
36 | name = "mediagoblin", | |
cf37fffc | 37 | version = get_version(), |
31a8ff42 CAW |
38 | packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), |
39 | zip_safe=False, | |
0c04118b CAW |
40 | # scripts and dependencies |
41 | install_requires = [ | |
42 | 'setuptools', | |
43 | 'PasteScript', | |
44 | 'beaker', | |
45 | 'routes', | |
46 | 'pymongo', | |
508775bd | 47 | 'mongokit', |
eb5bb3fc | 48 | 'webob<=1.2a2', |
0c04118b | 49 | 'wtforms', |
6755f50e | 50 | 'py-bcrypt', |
4b5f4e87 | 51 | 'nose', |
9578fe50 | 52 | 'werkzeug', |
6bcab715 | 53 | 'celery', |
132a68b5 CAW |
54 | 'jinja2', |
55 | 'sphinx', | |
883cf497 | 56 | 'PIL', |
84d4f04e | 57 | 'Babel', |
0546833c | 58 | 'translitcodec', |
029cad45 | 59 | 'argparse', |
c5678c1a | 60 | 'webtest', |
f970e6e5 | 61 | 'ConfigObj', |
44e2da2f | 62 | 'Markdown', |
851c51a3 | 63 | 'python-cloudfiles', |
d45e3966 CAW |
64 | ## For now we're expecting that users will install this from |
65 | ## their package managers. | |
66 | # 'lxml', | |
0c04118b | 67 | ], |
4b5f4e87 | 68 | test_suite='nose.collector', |
31a8ff42 | 69 | entry_points = """\ |
b7e57b1f WKG |
70 | [console_scripts] |
71 | gmg = mediagoblin.gmg_commands:main_cli | |
fbeeacd7 | 72 | pybabel = mediagoblin.babel.messages.frontend:main |
029cad45 | 73 | |
b7e57b1f WKG |
74 | [paste.app_factory] |
75 | app = mediagoblin.app:paste_app_factory | |
df0953ce | 76 | |
72ae87af CAW |
77 | [paste.filter_app_factory] |
78 | errors = mediagoblin.errormiddleware:mgoblin_error_middleware | |
79 | ||
b7e57b1f WKG |
80 | [zc.buildout] |
81 | make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs | |
84d4f04e | 82 | |
b7e57b1f WKG |
83 | [babel.extractors] |
84 | jinja2 = jinja2.ext:babel_extract | |
85 | """, | |
86 | ||
87 | license='AGPLv3', | |
88 | author='Free Software Foundation and contributors', | |
89 | author_email='cwebber@gnu.org', | |
90 | url="http://mediagoblin.org/", | |
91 | download_url="http://mediagoblin.org/download/", | |
cf37fffc | 92 | long_description=open(READMEFILE).read(), |
b7e57b1f WKG |
93 | classifiers=[ |
94 | "Development Status :: 3 - Alpha", | |
95 | "Environment :: Web Environment", | |
96 | "License :: OSI Approved :: GNU Affero General Public License", | |
97 | "Operating System :: OS Independent", | |
98 | "Programming Language :: Python", | |
99 | "Topic :: Internet :: WWW/HTTP :: Dynamic Content" | |
100 | ], | |
31a8ff42 | 101 | ) |