� ��^i� ���dZddlZddlZddlZddlZddlZ ddlmZn#e $rddl ZYnwxYw ddl m Z n#e $r ddl m Z YnwxYwddlmZddlmZmZddlmZmZmZddlmZmZmZeje��Zd �Zdd �Zefd �Zd �Z ej!��Z"e"�#dd���e"�#ddd���d�Z$edkr e$��dSdS)z2Build metadata for a project using PEP 517 hooks. �N)�Path�)�BuildEnvironment)�Pep517HookCaller�quiet_subprocess_runner)�tempdir�mkdir_p�dir_to_zipfile)�validate_system� load_system� compat_systemc �T�|�i��}t�d|��|�|��t�d��t ��5}t�d|��|�|i��}t j�||��}tj |t j�|t j� |������ddd��dS#1swxYwYdS)NzGot build requires: %sz$Installed dynamic build dependencieszTrying to build metadata in %s) �get_requires_for_build_wheel�log�info� pip_installr� prepare_metadata_for_build_wheel�os�path�join�shutil�move�basename)�hooks�env�dest�reqs�td�filename�sources ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/pep517/meta.py� _prep_metar"s>�� � -� -�b� 1� 1�D��H�H� %�t�,�,�,��O�O�D�����H�H� 3�4�4�4� ���L�b� ���1�2�6�6�6��9�9�"�b�A�A������b�(�+�+��� �F�B�G�L�L��r�w�/?�/?��/I�/I�J�J�K�K�K� L�L�L�L�L�L�L�L�L�L�L�L����L�L�L�L�L�Ls�.B"D�D!�$D!�.c��|pt|��}tj�||pd��}t |��t |��t ||d|�d����}|�t��5t��5}|� |d��t|||��ddd��n #1swxYwYddd��dS#1swxYwYdS)N�distz build-backendz backend-path�requires) r rrrr r r�get�subprocess_runnerrrrr")� source_dirr�systemrrs r!�buildr+)so�� � .�{�:�.�.�F� �7�<�<� �D�N�F� 3� 3�D� �D�M�M�M��F���� ��F�?�+�V�Z�Z��-G�-G� � �E� � � �!8� 9� 9�)�)� � � � )�3� �O�O�F�:�.� /� /� /� �u�c�4� (� (� (� )� )� )� )� )� )� )� )� )� )� )���� )� )� )� )�)�)�)�)�)�)�)�)�)�)�)�)����)�)�)�)�)�)s6�C6�%-C� C6�C" �"C6�%C" �&C6�6C:�=C:c��t��5}||���t|��cddd��S#1swxYwYdS)N)r)rr )�builder�out_dirs r!� build_as_zipr/8s��� ���'�g���W������g�&�&�'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'�'�'s �7�;�;c���tj�|��}t|��}t jt ||���}tt|����}tj |��S)z� Given a source directory (root) of a package, return an importlib.metadata.Distribution object with metadata build from that package. )r)r*) rr� expanduserr � functools�partialr+rr/�imp_meta�PathDistribution)�rootr*r-rs r!�loadr7>sc�� �7� � �d� #� #�D� �4� � �F����$�v�F�F�F�G� � �W�%�%� &� &�D� � $�T� *� *�*�r)z%A directory containing pyproject.toml)�helpz --out-dirz-oz>Destination in which to save the builds relative to source dirc�l�t���}t|j|j��dS)N)�parser� parse_argsr+r)r.)�argss r!�mainr>Vs-�� � � � � �D� �$�/�4�<�(�(�(�(�(r8�__main__)r#NN)%�__doc__�argparse�loggingrrr2�importlib.metadata�metadatar4� ImportError�importlib_metadata�zipfiler�zipp�envbuildr�wrappersrr�dirtoolsrr r r+r r r � getLogger�__name__rr"r/r7�ArgumentParserr;� add_argumentr>�r8r!�rQs*������������ � � � � � � � �����*�)�)�)�)�)�)�)���*�*�*�)�)�)�)�)�)�*�����������������������������'�&�&�&�&�&�?�?�?�?�?�?�?�?�6�6�6�6�6�6�6�6�6�6�>�>�>�>�>�>�>�>�>�>��g���!�!�� L� L� L� )� )� )� )��'�'�'�'� +� +� +� !�� � "� "������ 0���������� I����� )�)�)�  �z����D�F�F�F�F�F��s�� +�+�6� A�A