# Setup file for bzr-git
# Copyright (C) 2008-2009 Jelmer Vernooij <jelmer@samba.org>
-from distutils.core import setup
-from distutils.extension import Extension
+try:
+ from setuptools import setup, Extension
+except ImportError:
+ from distutils.core import setup, Extension
-dulwich_version_string = '0.3.4'
+dulwich_version_string = '0.4.2'
include_dirs = []
# Windows MSVC support
if sys.platform == 'win32':
include_dirs.append('dulwich')
+ext_modules = [
+ Extension('dulwich._objects', ['dulwich/_objects.c'],
+ include_dirs=include_dirs),
+ Extension('dulwich._pack', ['dulwich/_pack.c'],
+ include_dirs=include_dirs),
+ ]
+
+try:
+ from setuptools import Feature
+except ImportError:
+ speedups = None
+ mandatory_ext_modules = ext_modules
+else:
+ mandatory_ext_modules = []
+ speedups = Feature(
+ "optional C speed-enhancements",
+ standard = True,
+ ext_modules=ext_modules,
+ )
+
setup(name='dulwich',
description='Pure-Python Git Library',
author='Jelmer Vernooij',
author_email='jelmer@samba.org',
long_description="""
- Simple Pure-Python implementation of the Git file formats and
- protocols. Dulwich is the place where Mr. and Mrs. Git live
+ Simple Pure-Python implementation of the Git file formats and
+ protocols. Dulwich is the place where Mr. and Mrs. Git live
in one of the Monty Python sketches.
""",
packages=['dulwich', 'dulwich.tests'],
scripts=['bin/dulwich', 'bin/dul-daemon'],
- ext_modules=[
- Extension('dulwich._objects', ['dulwich/_objects.c'],
- include_dirs=include_dirs),
- Extension('dulwich._pack', ['dulwich/_pack.c'],
- include_dirs=include_dirs),
- ],
+ features = {'speedups': speedups},
+ ext_modules = mandatory_ext_modules,
)