Yٗ d dl Z d dlmZmZmZ d dlmZ d dlmZ d dl m Z d dlmZ d dl mZ d dlmZ e j e Z G d d e ZdS ) N)IterableSetTuple)BuildEnvironment)AbstractDistribution)InstallationError) PackageFinder)BaseDistribution)runner_with_spinner_messagec e Zd ZdZdefdZdededdfdZdeddfdZ de e fd Zde e fd Z deddfdZded eeeef ddfdZdS )SourceDistributionzRepresents a source distribution. The preparation step for these needs metadata for the packages to be generated, either using PEP 517 or using the legacy `setup.py egg_info`. returnc R ddl m} || j S )Nr )Distribution)$pip._internal.metadata.pkg_resourcesr reqget_dist)self_Dists /builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/distributions/sdist.pyget_metadata_distributionz,SourceDistribution.get_metadata_distribution s2 NNNNNNuTX&&(())) finderbuild_isolationNc | j | j j o|}|rC| | | j | | | j d S )N)r load_pyproject_toml use_pep517_prepare_build_backendisolated_editable_sanity_check_install_build_reqsprepare_metadata)r r r should_isolates r prepare_distribution_metadataz0SourceDistribution.prepare_distribution_metadata s $$&&& ,@ - ''/// H33555$$V,,,!!#####r c | j j }|J t | j _ | j j ||dd | j j | j j \ }}|r| d| |rpt d| j t dd t t t | d S d S )NoverlayzInstalling build dependenciesz"PEP 517/518 supported requirementsz4Missing build requirements in pyproject.toml for %s.z`The project does not specify a build backend, and pip cannot fall back to setuptools without %s.z and )r pyproject_requiresr build_envinstall_requirementscheck_requirementsrequirements_to_check_raise_conflictsloggerwarningjoinmapreprsorted)r r r&