1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2003-2018 Edgewall Software
# All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at http://trac.edgewall.org/wiki/TracLicense.
#
# This software consists of voluntary contributions made by many
# individuals. For the exact contribution history, see the revision
# history and logs, available at http://trac.edgewall.org/log/.
import sys
from setuptools import setup, find_packages
min_python = (2, 6)
if sys.version_info < min_python:
print("Trac requires Python %d.%d or later" % min_python)
sys.exit(1)
if sys.version_info >= (3,):
print("Trac doesn't support Python 3 (yet)")
sys.exit(1)
extra = {}
try:
import babel
from trac.dist import get_l10n_trac_cmdclass
extra['cmdclass'] = get_l10n_trac_cmdclass()
except ImportError:
pass
try:
import genshi
except ImportError:
print("Genshi is needed by Trac setup, pre-installing")
# give some context to the warnings we might get when installing Genshi
def readme():
# Don't use context manager (comment:21:ticket:12578)
f = open('README.rst')
content = f.read()
f.close()
return content
setup(
name = 'Trac',
version = '1.2.3',
description = 'Integrated SCM, wiki, issue tracker and project environment',
long_description = readme(),
author = 'Edgewall Software',
author_email = 'trac-dev@googlegroups.com',
license = 'BSD',
url = 'https://trac.edgewall.org/',
download_url = 'https://trac.edgewall.org/wiki/TracDownload',
classifiers = [
'Environment :: Web Environment',
'Framework :: Trac',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Topic :: Software Development :: Bug Tracking',
'Topic :: Software Development :: Version Control',
],
packages = find_packages(exclude=['*.tests', 'tests.*', '*.tests.*']),
package_data = {
'': ['templates/*'],
'trac': ['htdocs/*.*', 'htdocs/README', 'htdocs/js/*.*',
'htdocs/js/messages/*.*', 'htdocs/css/*.*',
'htdocs/css/jquery-ui/*.*',
'htdocs/css/jquery-ui/images',
'htdocs/guide/*', 'locale/*/LC_MESSAGES/messages.mo',
'locale/*/LC_MESSAGES/tracini.mo'],
'trac.wiki': ['default-pages/*'],
'trac.ticket': ['workflows/*.ini'],
},
test_suite = 'trac.test.test_suite',
zip_safe = True,
setup_requires = [
'Genshi>=0.6',
],
install_requires = [
'setuptools>=0.6',
'Genshi>=0.6',
],
extras_require = {
'babel': ['Babel>=0.9.5'],
'mysql': ['MySQL-python >= 1.2.2'],
'postgresql': ['psycopg2 >= 2.0'],
'psycopg2': ['psycopg2 >= 2.0'],
'psycopg2-binary': ['psycopg2-binary'],
'pygments': ['Pygments>=0.6'],
'rest': ['docutils>=0.3.9'],
'textile': ['textile>=2.0'],
},
entry_points = """
[console_scripts]
trac-admin = trac.admin.console:run
tracd = trac.web.standalone:main
[trac.plugins]
trac.about = trac.about
trac.admin.console = trac.admin.console
trac.admin.web_ui = trac.admin.web_ui
trac.attachment = trac.attachment
trac.db.mysql = trac.db.mysql_backend[mysql]
trac.db.postgres = trac.db.postgres_backend
trac.db.sqlite = trac.db.sqlite_backend
trac.mimeview.patch = trac.mimeview.patch
trac.mimeview.pygments = trac.mimeview.pygments[pygments]
trac.mimeview.rst = trac.mimeview.rst[rest]
trac.mimeview.txtl = trac.mimeview.txtl[textile]
trac.notification.api = trac.notification.api
trac.notification.compat = trac.notification.compat
trac.notification.mail = trac.notification.mail
trac.notification.prefs = trac.notification.prefs
trac.prefs = trac.prefs.web_ui
trac.search = trac.search.web_ui
trac.ticket.admin = trac.ticket.admin
trac.ticket.batch = trac.ticket.batch
trac.ticket.query = trac.ticket.query
trac.ticket.notification = trac.ticket.notification
trac.ticket.report = trac.ticket.report
trac.ticket.roadmap = trac.ticket.roadmap
trac.ticket.web_ui = trac.ticket.web_ui
trac.timeline = trac.timeline.web_ui
trac.versioncontrol.admin = trac.versioncontrol.admin
trac.versioncontrol.svn_authz = trac.versioncontrol.svn_authz
trac.versioncontrol.web_ui = trac.versioncontrol.web_ui
trac.web.auth = trac.web.auth
trac.web.main = trac.web.main
trac.web.session = trac.web.session
trac.wiki.admin = trac.wiki.admin
trac.wiki.interwiki = trac.wiki.interwiki
trac.wiki.macros = trac.wiki.macros
trac.wiki.web_ui = trac.wiki.web_ui
trac.wiki.web_api = trac.wiki.web_api
tracopt.perm.authz_policy = tracopt.perm.authz_policy
tracopt.perm.config_perm_provider = tracopt.perm.config_perm_provider
tracopt.ticket.clone = tracopt.ticket.clone
tracopt.ticket.commit_updater = tracopt.ticket.commit_updater
tracopt.ticket.deleter = tracopt.ticket.deleter
tracopt.versioncontrol.git.git_fs = tracopt.versioncontrol.git.git_fs
tracopt.versioncontrol.svn.svn_fs = tracopt.versioncontrol.svn.svn_fs
tracopt.versioncontrol.svn.svn_prop = tracopt.versioncontrol.svn.svn_prop
""",
**extra
)
|