setup.py
changeset 12256 af1245fe6b7b
parent 12255 08628d6d57ee
child 12257 39cd3c7eb2e8
equal deleted inserted replaced
12255:08628d6d57ee 12256:af1245fe6b7b
    21 """Generic Setup script, takes package info from __pkginfo__.py file
    21 """Generic Setup script, takes package info from __pkginfo__.py file
    22 """
    22 """
    23 
    23 
    24 import io
    24 import io
    25 import os
    25 import os
    26 import sys
       
    27 from os.path import dirname, exists, isdir, join
    26 from os.path import dirname, exists, isdir, join
    28 
    27 
    29 from setuptools import setup
    28 from setuptools import setup
    30 
    29 
    31 
    30 
    66                     result.append('%s.%s' % (prefix, package))
    65                     result.append('%s.%s' % (prefix, package))
    67                 else:
    66                 else:
    68                     result.append(package)
    67                     result.append(package)
    69                 result += get_packages(absfile, result[-1])
    68                 result += get_packages(absfile, result[-1])
    70     return result
    69     return result
    71 
       
    72 
       
    73 try:
       
    74     import setuptools.command.easy_install # only if easy_install available
       
    75     # monkey patch: Crack SandboxViolation verification
       
    76     from setuptools.sandbox import DirectorySandbox as DS
       
    77     old_ok = DS._ok
       
    78     def _ok(self, path):
       
    79         """Return True if ``path`` can be written during installation."""
       
    80         out = old_ok(self, path) # here for side effect from setuptools
       
    81         realpath = os.path.normcase(os.path.realpath(path))
       
    82         allowed_path = os.path.normcase(sys.prefix)
       
    83         if realpath.startswith(allowed_path):
       
    84             out = True
       
    85         return out
       
    86     DS._ok = _ok
       
    87 except ImportError:
       
    88     pass
       
    89 
    70 
    90 
    71 
    91 setup(
    72 setup(
    92     name=distname,
    73     name=distname,
    93     version=version,
    74     version=version,