� ��^i/� ���ddlZddlmZddlmZmZmZddlmZddl m Z m Z ddl m Z dedefd �Zd edefd �Zed gd ���Zdeededededeef d�ZdS)�N)� namedtuple)�Any�List�Optional)�tomli)�InvalidRequirement� Requirement)�InstallationError�obj�returnc�^�t|t��otd�|D����S)Nc3�@K�|]}t|t��V��dS)N)� isinstance�str)�.0�items ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/pyproject.py� z"_is_list_of_str.. s,����(O�(O�4��D�#�)>�)>�(O�(O�(O�(O�(O�(O�)r�list�all)r s r�_is_list_of_strr s.�� �c�4� � � O�S�(O�(O�3�(O�(O�(O�%O�%O�Or�unpacked_source_directoryc�B�tj�|d��S)Nzpyproject.toml)�os�path�join)rs r�make_pyproject_pathrs�� �7�<�<�1�3C� D� D�Dr�BuildSystemDetails)�requires�backend�check� backend_path� use_pep517�pyproject_toml�setup_py�req_namec �4�tj�|��}tj�|��}|s|st|�d����|rSt |d���5}t j|��}ddd��n #1swxYwY|�d��}nd}|r|s|�|std���d}n9|r3d|vr/|�*|s(td �|d�����d}n|�|}|�J�|sdS|�d d gd d �}|�J�d} d|vr$t| �|d������|d} t| ��s$t| �|d������| D]W} t| ���#t$r8t| �|d�| ��������wxYw|�d��} |�dg��} g}| �d } d d g}t| | || ��S)aBLoad the pyproject.toml file. Parameters: use_pep517 - Has the user requested PEP 517 processing? None means the user hasn't explicitly specified. pyproject_toml - Location of the project's pyproject.toml file setup_py - Location of the project's setup.py file req_name - The name of the requirement we're processing (for error reporting) Returns: None if we should use the legacy code path, otherwise a tuple ( requirements from pyproject.toml, name of PEP 517 backend, requirements we should check are installed after setting up the build environment directory paths to import the backend from (backend-path), relative to the project root. ) zW does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.zutf-8)�encodingNz build-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyT� build-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.tomlzsetuptools>=40.8.0�wheelz setuptools.build_meta:__legacy__)r r*zO{package} has a pyproject.toml file that does not comply with PEP 518: {reason}r z]it has a 'build-system' table but not 'build-system.requires' which is mandatory in the table)�package�reasonz1'build-system.requires' is not a list of strings.z='build-system.requires' contains an invalid requirement: {!r}z backend-path) rr�isfiler �openr�load�get�formatrr rr)r$r%r&r'� has_pyproject� has_setup�f�pp_toml� build_system�error_templater � requirementr!r#r"s r�load_pyproject_tomlr:sC��0�G�N�N�>�2�2�M�����x�(�(�I� � �� ��� >� >� >� � � � �� �.�7� 3� 3� 3� $�q��j��m�m�G� $� $� $� $� $� $� $� $� $� $� $���� $� $� $� $��{�{�>�2�2� � �� ��#�Y�#� � !�*� !�#�3��� �� � � � #�/�\�9�9� � !�*� !�#�$�$*�F�<��+H�$I�$I��� � � � � � �"� � � !� !� !� ���t���.�w�7�?� � � � � #� #� #�  !�� ��%�%�� � !� !� �N� "� � � � � ��J�'�H� �8� $� $� �� � !� !� �J� "� � � � � � � � � � � � � $� $� $� $��!� � � �#��%�%�$�,�,2�F�;�,?�,?� &����� � ��������/�/�G��#�#�N�B�7�7�L��E���5��%�w�/�� �h��� � E� E�Es�(B � B �B �>F�AG)r� collectionsr�typingrrr� pip._vendorr�"pip._vendor.packaging.requirementsrr �pip._internal.exceptionsr �boolrrrrr:�rr�rBsP�� � � � �"�"�"�"�"�"�&�&�&�&�&�&�&�&�&�&�������N�N�N�N�N�N�N�N�6�6�6�6�6�6�P��P��P�P�P�P�E�3�E�3�E�E�E�E� �Z��J�J�J���� _F����_F�03�_F�?B�_F�NQ�_F� � �!�_F�_F�_F�_F�_F�_Fr