Files @ 33ca6d0f7058
Branch filter:

Location: kallithea/setup.py - annotation

Mads Kiilerich
style: introduce "clearfix" class where the Bootstrap migration will need it

Based on work by Dominik Ruf.
bf011c9f7f58
266a3cbc0302
9382e88eae22
65c27fd21769
9382e88eae22
9382e88eae22
a922e91a4f02
a9a1560dad79
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
7e5f8c12a3fc
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
9382e88eae22
3a1cf70e0f42
2d7a94f3eaae
9382e88eae22
7894a440e134
9ec73e01e5b1
f6fcb21db7b3
f6fcb21db7b3
3521120e72bc
298bac3757a7
9382e88eae22
ed11cb3e905e
1a080d4e926e
8c2e96646545
298bac3757a7
d55c104e6c87
4f2e231df222
7bcc73aaf601
9382e88eae22
4034eb731b33
9ccdb6c537c9
ffd45b185016
ffd45b185016
b5859022ac69
94db428caa4e
9382e88eae22
9382e88eae22
d4f6dc38d625
ffd45b185016
bda2bd2558b1
9382e88eae22
953ee49f3b30
023d9202481e
9382e88eae22
880a39e5d8df
880a39e5d8df
880a39e5d8df
fc6063e6630b
cc48c1541c7e
fc6063e6630b
fc6063e6630b
fc6063e6630b
fc6063e6630b
fc6063e6630b
fc6063e6630b
fc6063e6630b
fc6063e6630b
cc48c1541c7e
fc6063e6630b
a60cd29ba7e2
b0e2c949c34b
2afa6b8c2ade
2afa6b8c2ade
65c27fd21769
65c27fd21769
24c0d584ba86
326a9336fbe5
faad9dd06b58
266a3cbc0302
266a3cbc0302
7e5f8c12a3fc
266a3cbc0302
266a3cbc0302
266a3cbc0302
266a3cbc0302
2afa6b8c2ade
266a3cbc0302
65c27fd21769
7c732f2047f8
d69aa464f373
266a3cbc0302
7c732f2047f8
7c732f2047f8
266a3cbc0302
ad2e97c6f17f
2642f128ad46
a922e91a4f02
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
c79e4f89bfd3
a922e91a4f02
564e40829f80
a922e91a4f02
24c0d584ba86
9382e88eae22
ad2e97c6f17f
2642f128ad46
2d7a94f3eaae
f4807acf643d
9382e88eae22
3315e9263a53
880a39e5d8df
9382e88eae22
2642f128ad46
a60cd29ba7e2
dd676fdeda0f
2642f128ad46
65c27fd21769
20dc7a5eb748
7e5f8c12a3fc
564e40829f80
564e40829f80
0e6035a85980
564e40829f80
20dc7a5eb748
20dc7a5eb748
20dc7a5eb748
7ac09514a178
9793473d74be
9793473d74be
9793473d74be
7ac09514a178
564e40829f80
7e5f8c12a3fc
564e40829f80
564e40829f80
564e40829f80
341beaa9edba
341beaa9edba
7e5f8c12a3fc
b1679034b6c4
7e5f8c12a3fc
7e5f8c12a3fc
7e5f8c12a3fc
7e5f8c12a3fc
7e5f8c12a3fc
7e5f8c12a3fc
c436f337e253
cf73bd884a53
2dad9708c89f
564e40829f80
564e40829f80
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import os
import sys
import platform

if sys.version_info < (2, 6) or sys.version_info >= (3,):
    raise Exception('Kallithea requires python 2.6 or 2.7')


here = os.path.abspath(os.path.dirname(__file__))


def _get_meta_var(name, data, callback_handler=None):
    import re
    matches = re.compile(r'(?:%s)\s*=\s*(.*)' % name).search(data)
    if matches:
        if not callable(callback_handler):
            callback_handler = lambda v: v

        return callback_handler(eval(matches.groups()[0]))

_meta = open(os.path.join(here, 'kallithea', '__init__.py'), 'rb')
_metadata = _meta.read()
_meta.close()

callback = lambda V: ('.'.join(map(str, V[:3])) + '.'.join(V[3:]))
__version__ = _get_meta_var('VERSION', _metadata, callback)
__license__ = _get_meta_var('__license__', _metadata)
__author__ = _get_meta_var('__author__', _metadata)
__url__ = _get_meta_var('__url__', _metadata)
# defines current platform
__platform__ = platform.system()

is_windows = __platform__ in ['Windows']

requirements = [
    "alembic>=0.8.0,<0.9",
    "waitress>=0.8.8,<1.0",
    "webob>=1.0.8,<=1.1.1",
    "Pylons>=1.0.0,<=1.0.2",
    "WebTest<2.0", # make the Pylons dependency pick a version that supports our WebOb version
    "Beaker==1.6.4",
    "WebHelpers==1.3",
    "formencode>=1.2.4,<=1.2.6",
    "SQLAlchemy>=1.0,<1.1",
    "Mako>=0.9.0,<=1.0.0",
    "pygments>=1.5",
    "whoosh>=2.4.0,<=2.5.7",
    "celery>=3.1,<3.2",
    "babel>=0.9.6,<=1.3",
    "python-dateutil>=1.5.0,<2.0.0",
    "markdown==2.2.1",
    "docutils>=0.8.1,<=0.11",
    "URLObject==2.3.4",
    "Routes==1.13",
    "dulwich>=0.14.1",
    "mercurial>=2.9,<4.0",
]

if sys.version_info < (2, 7):
    requirements.append("importlib==1.0.1")
    requirements.append("argparse")

if not is_windows:
    requirements.append("bcrypt>=2.0.0")

dependency_links = [
]

classifiers = [
    'Development Status :: 4 - Beta',
    'Environment :: Web Environment',
    'Framework :: Pylons',
    'Intended Audience :: Developers',
    'License :: OSI Approved :: GNU General Public License (GPL)',
    'Operating System :: OS Independent',
    'Programming Language :: Python',
    'Programming Language :: Python :: 2.6',
    'Programming Language :: Python :: 2.7',
    'Topic :: Software Development :: Version Control',
]


# additional files from project that goes somewhere in the filesystem
# relative to sys.prefix
data_files = []

description = ('Kallithea is a fast and powerful management tool '
               'for Mercurial and Git with a built in push/pull server, '
               'full text search and code-review.')

keywords = ' '.join([
    'kallithea', 'mercurial', 'git', 'code review',
    'repo groups', 'ldap', 'repository management', 'hgweb replacement',
    'hgwebdir', 'gitweb replacement', 'serving hgweb',
])

# long description
README_FILE = 'README.rst'
try:
    long_description = open(README_FILE).read()
except IOError as err:
    sys.stderr.write(
        "[WARNING] Cannot find file specified as long_description (%s)\n"
        % README_FILE
    )
    long_description = description

import setuptools

# monkey patch setuptools to use distutils owner/group functionality
from setuptools.command import sdist
sdist_org = sdist.sdist
class sdist_new(sdist_org):
    def initialize_options(self):
        sdist_org.initialize_options(self)
        self.owner = self.group = 'root'
sdist.sdist = sdist_new

packages = setuptools.find_packages(exclude=['ez_setup'])

setuptools.setup(
    name='Kallithea',
    version=__version__,
    description=description,
    long_description=long_description,
    keywords=keywords,
    license=__license__,
    author=__author__,
    author_email='kallithea@sfconservancy.org',
    dependency_links=dependency_links,
    url=__url__,
    install_requires=requirements,
    classifiers=classifiers,
    setup_requires=['PasteScript>=1.6.3'],
    data_files=data_files,
    packages=packages,
    include_package_data=True,
    message_extractors={'kallithea': [
            ('**.py', 'python', None),
            ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
            ('templates/**.html', 'mako', {'input_encoding': 'utf-8'}),
            ('public/**', 'ignore', None)]},
    zip_safe=False,
    paster_plugins=['PasteScript', 'Pylons'],
    entry_points="""
    [console_scripts]
    kallithea-api =    kallithea.bin.kallithea_api:main
    kallithea-gist =   kallithea.bin.kallithea_gist:main
    kallithea-config = kallithea.bin.kallithea_config:main

    [paste.app_factory]
    main = kallithea.config.middleware:make_app

    [paste.app_install]
    main = pylons.util:PylonsInstaller

    [paste.global_paster_command]
    setup-db=kallithea.lib.paster_commands.setup_db:Command
    cleanup-repos=kallithea.lib.paster_commands.cleanup:Command
    update-repoinfo=kallithea.lib.paster_commands.update_repoinfo:Command
    make-rcext=kallithea.lib.paster_commands.make_rcextensions:Command
    repo-scan=kallithea.lib.paster_commands.repo_scan:Command
    cache-keys=kallithea.lib.paster_commands.cache_keys:Command
    ishell=kallithea.lib.paster_commands.ishell:Command
    make-index=kallithea.lib.paster_commands.make_index:Command
    upgrade-db=kallithea.lib.dbmigrate:UpgradeDb
    celeryd=kallithea.lib.paster_commands.celeryd:Command
    install-iis=kallithea.lib.paster_commands.install_iis:Command
    """,
)