25 import sys |
25 import sys |
26 import shutil |
26 import shutil |
27 from os.path import isdir, exists, join, walk |
27 from os.path import isdir, exists, join, walk |
28 |
28 |
29 try: |
29 try: |
30 if os.environ.get('NO_SETUPTOOLS'): |
30 if os.environ.get('NO_SETUPTOOLS'): |
31 raise ImportError() # do as there is no setuptools |
31 raise ImportError() # do as there is no setuptools |
32 from setuptools import setup |
32 from setuptools import setup |
33 from setuptools.command import install_lib |
33 from setuptools.command import install_lib |
34 USE_SETUPTOOLS = True |
34 USE_SETUPTOOLS = True |
35 except ImportError: |
35 except ImportError: |
36 from distutils.core import setup |
36 from distutils.core import setup |
37 from distutils.command import install_lib |
37 from distutils.command import install_lib |
38 USE_SETUPTOOLS = False |
38 USE_SETUPTOOLS = False |
39 |
39 |
40 # import required features |
40 # import required features |
41 from __pkginfo__ import modname, version, license, description, web, \ |
41 from __pkginfo__ import modname, version, license, description, web, \ |
42 author, author_email |
42 author, author_email |
43 |
43 |
44 long_description = file('README').read() |
44 long_description = file('README').read() |
45 |
45 |
46 # import optional features |
46 # import optional features |
47 import __pkginfo__ |
47 import __pkginfo__ |
48 if USE_SETUPTOOLS: |
48 if USE_SETUPTOOLS: |
49 requires = {} |
49 requires = {} |
50 for entry in ("__depends__", "__recommends__"): |
50 for entry in ("__depends__", "__recommends__"): |
51 requires.update(getattr(__pkginfo__, entry, {})) |
51 requires.update(getattr(__pkginfo__, entry, {})) |
52 install_requires = [("%s %s" % (d, v and v or "")).strip() |
52 install_requires = [("%s %s" % (d, v and v or "")).strip() |
53 for d, v in requires.iteritems()] |
53 for d, v in requires.iteritems()] |
54 else: |
54 else: |
55 install_requires = [] |
55 install_requires = [] |
56 |
56 |
57 distname = getattr(__pkginfo__, 'distname', modname) |
57 distname = getattr(__pkginfo__, 'distname', modname) |
58 scripts = getattr(__pkginfo__, 'scripts', ()) |
58 scripts = getattr(__pkginfo__, 'scripts', ()) |
59 include_dirs = getattr(__pkginfo__, 'include_dirs', ()) |
59 include_dirs = getattr(__pkginfo__, 'include_dirs', ()) |
60 data_files = getattr(__pkginfo__, 'data_files', None) |
60 data_files = getattr(__pkginfo__, 'data_files', None) |
179 kwargs['namespace_packages'] = [subpackage_of] |
179 kwargs['namespace_packages'] = [subpackage_of] |
180 else: |
180 else: |
181 kwargs['package_dir'] = {modname : '.'} |
181 kwargs['package_dir'] = {modname : '.'} |
182 packages = [modname] + get_packages(os.getcwd(), modname) |
182 packages = [modname] + get_packages(os.getcwd(), modname) |
183 if USE_SETUPTOOLS: |
183 if USE_SETUPTOOLS: |
184 kwargs['install_requires'] = install_requires |
184 kwargs['install_requires'] = install_requires |
185 kwargs['packages'] = packages |
185 kwargs['packages'] = packages |
186 return setup(name=distname, version=version, license=license, url=web, |
186 return setup(name=distname, version=version, license=license, url=web, |
187 description=description, long_description=long_description, |
187 description=description, long_description=long_description, |
188 author=author, author_email=author_email, |
188 author=author, author_email=author_email, |
189 scripts=ensure_scripts(scripts), data_files=data_files, |
189 scripts=ensure_scripts(scripts), data_files=data_files, |