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: | |
243c3843 NY |
32 | raise RuntimeError("Unable to find version string in %s." % |
33 | VERSIONFILE) | |
cf37fffc | 34 | |
31a8ff42 | 35 | |
31a8ff42 | 36 | setup( |
243c3843 NY |
37 | name="mediagoblin", |
38 | version=get_version(), | |
31a8ff42 CAW |
39 | packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), |
40 | zip_safe=False, | |
d595374d | 41 | include_package_data = True, |
0c04118b | 42 | # scripts and dependencies |
243c3843 | 43 | install_requires=[ |
0c04118b CAW |
44 | 'setuptools', |
45 | 'PasteScript', | |
46 | 'beaker', | |
47 | 'routes', | |
48 | 'pymongo', | |
508775bd | 49 | 'mongokit', |
eb5bb3fc | 50 | 'webob<=1.2a2', |
0c04118b | 51 | 'wtforms', |
6755f50e | 52 | 'py-bcrypt', |
4b5f4e87 | 53 | 'nose', |
9578fe50 | 54 | 'werkzeug', |
6bcab715 | 55 | 'celery', |
132a68b5 CAW |
56 | 'jinja2', |
57 | 'sphinx', | |
883cf497 | 58 | 'PIL', |
84d4f04e | 59 | 'Babel', |
b4e877ae | 60 | 'translitcodec', |
029cad45 | 61 | 'argparse', |
c5678c1a | 62 | 'webtest', |
f970e6e5 | 63 | 'ConfigObj', |
44e2da2f | 64 | 'Markdown', |
d45e3966 CAW |
65 | ## For now we're expecting that users will install this from |
66 | ## their package managers. | |
67 | # 'lxml', | |
0c04118b | 68 | ], |
1b766201 | 69 | # requires=['gst'], |
4b5f4e87 | 70 | test_suite='nose.collector', |
243c3843 | 71 | entry_points="""\ |
b7e57b1f WKG |
72 | [console_scripts] |
73 | gmg = mediagoblin.gmg_commands:main_cli | |
fbeeacd7 | 74 | pybabel = mediagoblin.babel.messages.frontend:main |
029cad45 | 75 | |
b7e57b1f WKG |
76 | [paste.app_factory] |
77 | app = mediagoblin.app:paste_app_factory | |
df0953ce | 78 | |
72ae87af CAW |
79 | [paste.filter_app_factory] |
80 | errors = mediagoblin.errormiddleware:mgoblin_error_middleware | |
81 | ||
b7e57b1f WKG |
82 | [zc.buildout] |
83 | make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs | |
84d4f04e | 84 | |
b7e57b1f WKG |
85 | [babel.extractors] |
86 | jinja2 = jinja2.ext:babel_extract | |
87 | """, | |
b7e57b1f WKG |
88 | license='AGPLv3', |
89 | author='Free Software Foundation and contributors', | |
90 | author_email='cwebber@gnu.org', | |
91 | url="http://mediagoblin.org/", | |
92 | download_url="http://mediagoblin.org/download/", | |
cf37fffc | 93 | long_description=open(READMEFILE).read(), |
b7e57b1f WKG |
94 | classifiers=[ |
95 | "Development Status :: 3 - Alpha", | |
96 | "Environment :: Web Environment", | |
97 | "License :: OSI Approved :: GNU Affero General Public License", | |
98 | "Operating System :: OS Independent", | |
99 | "Programming Language :: Python", | |
100 | "Topic :: Internet :: WWW/HTTP :: Dynamic Content" | |
101 | ], | |
31a8ff42 | 102 | ) |