summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsylvain thenault <sylvain.thenault@logilab.fr>2009-01-21 09:39:49 +0100
committersylvain thenault <sylvain.thenault@logilab.fr>2009-01-21 09:39:49 +0100
commita85e207cc4a16dcb7ed65c36e7f98ad37564f3f4 (patch)
tree7f43d92f219b4bdc3c90d2025befac02d279083e
parent58833108d4c5dcb14079102f4d62e8d8f68588f4 (diff)
downloadlogilab-common-a85e207cc4a16dcb7ed65c36e7f98ad37564f3f4.tar.gz
setuptools integration
-rw-r--r--setup.py30
1 files changed, 26 insertions, 4 deletions
diff --git a/setup.py b/setup.py
index ab54566..7f5bc6a 100644
--- a/setup.py
+++ b/setup.py
@@ -11,11 +11,20 @@ __docformat__ = "restructuredtext en"
import os
import sys
import shutil
-from distutils.core import setup
-from distutils import command
-from distutils.command import install_lib
from os.path import isdir, exists, join, walk
+try:
+ from setuptools import setup
+ from setuptools import command
+ from setuptools.command import install_lib
+ USE_SETUPTOOLS = 1
+except ImportError:
+ from distutils.core import setup
+ from distutils import command
+ from distutils.command import install_lib
+ USE_SETUPTOOLS = 0
+
+
# import required features
from __pkginfo__ import modname, version, license, short_desc, long_desc, \
web, author, author_email
@@ -44,6 +53,10 @@ try:
from __pkginfo__ import ext_modules
except ImportError:
ext_modules = None
+try:
+ from __pkginfo__ import install_requires
+except ImportError:
+ install_requires = None
STD_BLACKLIST = ('CVS', '.svn', '.hg', 'debian', 'dist', 'build')
@@ -119,7 +132,12 @@ def export(from_dir, to_dir,
walk(from_dir, make_mirror, None)
-EMPTY_FILE = '"""generated file, don\'t modify or your data will be lost"""\n'
+EMPTY_FILE = '''"""generated file, don\'t modify or your data will be lost"""
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ pass
+'''
class BuildScripts(command.install_lib.install_lib):
@@ -145,9 +163,13 @@ def install(**kwargs):
package = subpackage_of + '.' + modname
kwargs['package_dir'] = {package : '.'}
packages = [package] + get_packages(os.getcwd(), package)
+ if USE_SETUPTOOLS:
+ kwargs['namespace_packages'] = [subpackage_of]
else:
kwargs['package_dir'] = {modname : '.'}
packages = [modname] + get_packages(os.getcwd(), modname)
+ if USE_SETUPTOOLS and install_requires:
+ kwargs['install_requires'] = install_requires
kwargs['packages'] = packages
return setup(name = distname,
version = version,