Beispiel #1
0
    def fetch_build_egg(self, req):
        """Fetch an egg needed for building"""

        try:
            cmd = self._egg_fetcher
            cmd.package_index.to_scan = []
        except AttributeError:
            from setuptools.command.easy_install import easy_install
            dist = self.__class__({'script_args':['easy_install']})
            dist.parse_config_files()
            opts = dist.get_option_dict('easy_install')
            keep = (
                'find_links', 'site_dirs', 'index_url', 'optimize',
                'site_dirs', 'allow_hosts'
            )
            for key in list(opts.keys()):
                if key not in keep:
                    del opts[key]   # don't use any other settings
            if self.dependency_links:
                links = self.dependency_links[:]
                if 'find_links' in opts:
                    links = opts['find_links'][1].split() + links
                opts['find_links'] = ('setup', links)
            cmd = easy_install(
                dist, args=["x"], install_dir=os.curdir, exclude_scripts=True,
                always_copy=False, build_directory=None, editable=False,
                upgrade=False, multi_version=True, no_report=True, user=False
            )
            cmd.ensure_finalized()
            self._egg_fetcher = cmd
        return cmd.easy_install(req)
Beispiel #2
0
 def fetch_build_egg(self, req):
     """Fetch an egg needed for building"""
     from setuptools.command.easy_install import easy_install
     dist = self.__class__({'script_args': ['easy_install']})
     dist.parse_config_files()
     opts = dist.get_option_dict('easy_install')
     keep = (
         'find_links', 'site_dirs', 'index_url', 'optimize',
         'site_dirs', 'allow_hosts'
     )
     for key in list(opts):
         if key not in keep:
             del opts[key]  # don't use any other settings
     if self.dependency_links:
         links = self.dependency_links[:]
         if 'find_links' in opts:
             links = opts['find_links'][1].split() + links
         opts['find_links'] = ('setup', links)
     install_dir = self.get_egg_cache_dir()
     cmd = easy_install(
         dist, args=["x"], install_dir=install_dir,
         exclude_scripts=True,
         always_copy=False, build_directory=None, editable=False,
         upgrade=False, multi_version=True, no_report=True, user=False
     )
     cmd.ensure_finalized()
     return cmd.easy_install(req)
Beispiel #3
0
    def fetch_build_egg(self, req):
        """Fetch an egg needed for building"""
        try:
            cmd = self._egg_fetcher
        except AttributeError:
            from setuptools.command.easy_install import easy_install

            dist = self.__class__({"script_args": ["easy_install"]})
            dist.parse_config_files()
            opts = dist.get_option_dict("easy_install")
            keep = ("find_links", "site_dirs", "index_url", "optimize", "site_dirs", "allow_hosts")
            for key in opts.keys():
                if key not in keep:
                    del opts[key]  # don't use any other settings
            if self.dependency_links:
                links = self.dependency_links[:]
                if "find_links" in opts:
                    links = opts["find_links"][1].split() + links
                opts["find_links"] = ("setup", links)
            cmd = easy_install(
                dist,
                args=["x"],
                install_dir=os.curdir,
                exclude_scripts=True,
                always_copy=False,
                build_directory=None,
                editable=False,
                upgrade=False,
                multi_version=True,
                no_report=True,
            )
            cmd.ensure_finalized()
            self._egg_fetcher = cmd
        return cmd.easy_install(req)
Beispiel #4
0
def _needs_pip_4106_workaround():
    """
    Detect if the environment is configured with a prefix, as
    the workaround is only required under those conditions.
    """
    import distutils.dist

    dist = distutils.dist.Distribution()
    dist.parse_config_files()
    return 'prefix' in dist.get_option_dict('install')
Beispiel #5
0
def _compiler_type():
    """
    Gets the compiler type from distutils. On Windows with MSVC it will be
    "msvc". On macOS and linux it is "unix".

    Borrowed from https://github.com/pyca/cryptography/blob\
        /05b34433fccdc2fec0bb014c3668068169d769fd/src/_cffi_src/utils.py#L78
    """
    dist = distutils.dist.Distribution()
    dist.parse_config_files()
    cmd = dist.get_command_obj('build')
    cmd.ensure_finalized()
    compiler = distutils.ccompiler.new_compiler(compiler=cmd.compiler)
    return compiler.compiler_type
Beispiel #6
0
    def fetch_build_egg(self, req):
        """Fetch an egg needed for building"""

        try:
            cmd = self._egg_fetcher
            cmd.package_index.to_scan = []
        except AttributeError:
            from setuptools.command.easy_install import easy_install
            dist = self.__class__({'script_args':['easy_install']})
            dist.parse_config_files()
            opts = dist.get_option_dict('easy_install')
            keep = (
                'find_links', 'site_dirs', 'index_url', 'optimize',
                'site_dirs', 'allow_hosts'
            )
            for key in list(opts):
                if key not in keep:
                    del opts[key]   # don't use any other settings
            if self.dependency_links:
                links = self.dependency_links[:]
                if 'find_links' in opts:
                    links = opts['find_links'][1].split() + links
                opts['find_links'] = ('setup', links)