� ��^i����ddlZddlmZmZmZddlmZddlmZddl m Z ddl m Z ddl mZddlmZeje��ZGd �d e��ZdS) �N)�Iterable�Set�Tuple)�BuildEnvironment)�AbstractDistribution)�InstallationError)� PackageFinder)�BaseDistribution)�runner_with_spinner_messagec��eZdZdZdefd�Zdededdfd�Zdeddfd�Z de e fd �Z de e fd �Z deddfd �Zd e d eee e fddfd�ZdS)�SourceDistributionz�Represents 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�ddlm}||j�����S)Nr)� Distribution)�$pip._internal.metadata.pkg_resourcesr�req�get_dist)�self�_Dists ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py�get_metadata_distributionz,SourceDistribution.get_metadata_distributions2��N�N�N�N�N�N��u�T�X�&�&�(�(�)�)�)��finder�build_isolationNc��|j���|jjo|}|rC|�|��|j���|�|��|j���dS)N)r�load_pyproject_toml� use_pep517�_prepare_build_backend�isolated_editable_sanity_check�_install_build_reqs�prepare_metadata)rrr�should_isolates r�prepare_distribution_metadataz0SourceDistribution.prepare_distribution_metadatas��� ��$�$�&�&�&���,�@��� � -� � '� '�� /� /� /� �H� 3� 3� 5� 5� 5� � $� $�V� ,� ,� ,� ��!�!�#�#�#�#�#rc ��|jj}|�J�t��|j_|jj�||dd��|jj�|jj��\}}|r|�d|��|rpt� d|j��t� dd� ttt|��������dSdS)N�overlayzInstalling 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_env�install_requirements�check_requirements�requirements_to_check�_raise_conflicts�logger�warning�join�map�repr�sorted)rrr&� conflicting�missings rrz)SourceDistribution._prepare_build_backend3s��"�X�8��!�-�-�-�-�/�/���� ���/�/� �&� �3R� � � � $�x�1�D�D� �H� *� � �� �W� � U� � !� !�"F� � T� T� T� � � �N�N�F��� � � � �N�N�A�� � �S��v�g���7�7�8�8� � � � � � � rc�*�|jj5td��}|jj}|�J�|�|��5|���cddd��cddd��S#1swxYwY ddd��dS#1swxYwYdS)Nz#Getting requirements to build wheel)rr'r �pep517_backend�subprocess_runner�get_requires_for_build_wheel�r�runner�backends r�_get_build_requires_wheelz,SourceDistribution._get_build_requires_wheelMs:�� �X� � >� >�0�1V�W�W�F��h�-�G��&�&�&��*�*�6�2�2� >� >��;�;�=�=� >� >� >� >� >� >� >�  >� >� >� >� >� >� >� >� >� >� >� >���� >� >� >� >� >�  >� >� >� >� >� >� >� >� >� >� >� >���� >� >� >� >� >� >�5�5B�A/� B�/A3 �3B�6A3 �7B�B �B c�*�|jj5td��}|jj}|�J�|�|��5|���cddd��cddd��S#1swxYwY ddd��dS#1swxYwYdS)Nz&Getting requirements to build editable)rr'r r5r6�get_requires_for_build_editabler8s r�_get_build_requires_editablez/SourceDistribution._get_build_requires_editableUsn�� �X� � A� A�0�8���F��h�-�G��&�&�&��*�*�6�2�2� A� A��>�>�@�@� A� A� A� A� A� A� A�  A� A� A� A� A� A� A� A�  A� A� A� A���� A� A� A� A� A�  A� A� A� A� A� A� A� A� A� A� A� A���� A� A� A� A� A� Ar<c�r�|jjr:|jjr.|j���r|���}n|���}|jj�|��\}}|r|�d|��|jj� ||dd��dS)Nzthe backend dependencies�normalzInstalling backend dependencies) r�editable�permit_editable_wheels�supports_pyproject_editabler?r;r'r)r+r()rr� build_reqsr2r3s rr z&SourceDistribution._install_build_reqs_s��� �H� � :���/� :���4�4�6�6� :� �:�:�<�<�J�J��7�7�9�9�J�#�x�1�D�D�Z�P�P�� �W� � K� � !� !�"<�k� J� J� J� ���/�/� �G�X�'H� � � � � r�conflicting_with�conflicting_reqsc ��d}|�|j|d�d�t|��D�������}t |���)NzZSome build dependencies for {requirement} conflict with {conflicting_with}: {description}.z, c3�*K�|]\}}|�d|��V��dS)z is incompatible with N�)�.0� installed�wanteds r� z6SourceDistribution._raise_conflicts..|sH����"�"�%�I�v��<�<�F�<�<�"�"�"�"�"�"r)� requirementrF� description)�formatrr.r1r)rrFrG� format_string� error_messages rr+z#SourceDistribution._raise_conflictsrsv�� ?� �&�,�,���-�� � �"�"�)/�0@�)A�)A�"�"�"���-� � � � � �.�.�.r)�__name__� __module__� __qualname__�__doc__r rr �boolr#rr�strr;r?r rrr+rJrrr r s&�������� *�+;�*�*�*�*� $�#�$�6:�$� �$�$�$�$�2�]��t�����4>�8�C�=�>�>�>�>�A�h�s�m�A�A�A�A� �-� �D� � � � �&/� #�/�7:�5��c��?�7K�/� �/�/�/�/�/�/rr )�logging�typingrrr�pip._internal.build_envr� pip._internal.distributions.baser�pip._internal.exceptionsr�"pip._internal.index.package_finderr �pip._internal.metadatar �pip._internal.utils.subprocessr � getLoggerrTr,r rJrr�rcs�������'�'�'�'�'�'�'�'�'�'�4�4�4�4�4�4�A�A�A�A�A�A�6�6�6�6�6�6�<�<�<�<�<�<�3�3�3�3�3�3�F�F�F�F�F�F� �� �8� $� $��s/�s/�s/�s/�s/�-�s/�s/�s/�s/�s/r