Viewing File: /opt/hc_python/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc

�

T�*j2#���dZddlmZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
ddlmZmZddlmZdd	lmZmZdd
lmZmZddlmZddlmZdd
lmZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&m'Z'ddl(m)Z)ddl*m+Z+ejXe-�Z.ej^dej`�Z1e2e3e"e3e"fZ4dd�Z5				dd�Z6						dd�Z7dd�Z8										d d�Z9								d!d�Z:								d"d�Z;y)#z:Orchestrator for building wheels from InstallRequirements.�)�annotationsN)�Iterable)�TemporaryDirectory)�canonicalize_name�canonicalize_version)�InvalidVersion�Version)�
WheelCache)�InvalidWheelFilename�UnsupportedWheel)�FilesystemWheel�get_wheel_distribution)�Link)�Wheel)�build_wheel_pep517)�build_wheel_editable)�InstallRequirement)�
indent_log)�
ensure_dir�	hash_file)�path_to_url)�vcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)c�>�ttj|��S)zjDetermine whether the string looks like an egg_info.

    :param s: The string to parse. E.g. foo-2.1
    )�bool�_egg_info_re�search)�ss �J/opt/hc_python/lib/python3.12/site-packages/pip/_internal/wheel_builder.py�_contains_egg_infor"s��
��#�#�A�&�'�'�c���|js|jsy|jr�|jjr{|jrJ�|jsJ�t	j
|jj�}|sJ�|j|jj|j�ryy|jsJ�|jj�\}}t|�ryy)z�
    Return whether a built InstallRequirement can be stored in the persistent
    wheel cache, assuming the wheel cache is available.
    FT)�editable�
source_dir�link�is_vcsr�get_backend_for_scheme�scheme�is_immutable_rev_checkout�url�splitextr)�req�vcs_backend�base�exts    r�
_should_cacher/*s����|�|�3�>�>��
�x�x�C�H�H�O�O��<�<����~�~��~��0�0������A����{��0�0������s�~�~�N����8�8�O�8����!�!�#�I�D�#��$���r c���t|j�}|jsJ�|r(t|�r|j	|j�}|S|j|j�}|S)zdReturn the persistent or temporary cache directory where the built
    wheel need to be stored.
    )r�	cache_dirr$r/�get_path_for_link�get_ephem_path_for_link)r+�wheel_cache�cache_availabler1s    r�_get_cache_dirr6Isa���;�0�0�1�O��8�8�O�8��=��-��1�1�#�(�(�;�	��� �7�7����A�	��r c��t|jxsd�}ttjj|��}|j|k7rt
d|�d|j����tt|�|�}t|j�}t|�t|j�k7rt
d|�d|j����|j}|�td��	t|�}|td�k\r*t!|jt�std|�d���yy#t$rd|��}t|��wxYw)	N�z)Wheel has unexpected file name: expected z, got zMissing Metadata-VersionzInvalid Metadata-Version: z1.2z+Metadata 1.2 mandates PEP 440 version, but z is not)r�namer�os�path�basenamerrr
�str�versionr�metadata_versionrr	r�
isinstance)	r+�
wheel_path�canonical_name�w�dist�dist_verstr�metadata_version_valuer?�msgs	         r�_verify_onerHYsZ��&�s�x�x�~�2�6�N�
�b�g�g���z�*�+�A��v�v���"�7��7I�J��6�6�*�
�
�	
�"�/�*�"=�~�N�D��d�l�l�#�K��K�(�,@����,K�K�"�7���G��9�9�-�
!�
�	
�"�2�2���%��9�:�:�$�"�#9�:���7�5�>�)�*�T�\�\�7�2S��9�+���P�
�	
�3T�)���$�*�+A�*B�C���s�#�#�$�s�,D0�0E
c��|rdnd}	t|�|j
5t
|||�}ddd�r|r	t||�|S|S#t$r,}tjd||j|�Yd}~yd}~wwxYw#1swY�VxYw#ttf$r,}tjd||j|�Yd}~yd}~wwxYw)zaBuild one wheel.

    :return: The filename of the built wheel, or None if the build failed.
    r"�wheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s)
r�OSError�logger�warningr9�	build_env�_build_one_inside_envrHrr)r+�
output_dir�verifyr"�artifact�erAs       r�
_build_onerTvs���&�z�7�H�	��:��

���*�3�
�H�E�
�
��f�	���Z�(���:���%�����+���H�H�
�		
�����
���
%�&6�7�	��N�N�;�X�s�x�x�QR�S���	�s9�A
�B�B�
	A?�"A:�:A?�B�C	�"C�C	c	�4�t|��5}|jsJ�|jsJ�|jsJ�|r.t	|j|j|j|��}n-t|j|j|j|��}|��tjj|�}tjj||�}	t|�\}}t
j||�tjd|j|||j��tjd|�|cddd�S	ddd�y#t$r+}	tj!d|j|	�Yd}	~	�9d}	~	wwxYw#1swYyxYw)N)�dir)r9�backend�metadata_directory�wheel_directoryz3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)rr9rX�pep517_backendrrr:r;r<�joinr�replacerL�info�	hexdigest�	ExceptionrM)
r+rPr"rYrA�
wheel_name�	dest_path�
wheel_hash�lengthrSs
          rrOrO�sk��

�
�	+���x�x��x��%�%�%�%��!�!�!�!��-��X�X��*�*�#&�#9�#9� /�	�J�,��X�X��*�*�#&�#9�#9� /�	�J��!����)�)�*�5�J������Z��<�I�
�%.�z�%:�"�
�F�
�
�
�:�y�1����I��H�H����(�(�*�����5�z�B� �K
,�	+�X�Y
,�	+��L�
����6��H�H�����
��M
,�	+�s7�C	F�A,E�
F�	F� !F�F�F�F�Fc	��|sggfStjddjd�|D���t�5gg}}|D]�}|jsJ�t||�}t
||||jxr|j�}|r�|j�|j||j�tt|��|_
|jj|_|jj sJ�|j#|���|j#|���	ddd�r=tjddj|D�cgc]}|j��c}��r=tjddj|D�cgc]}|j��c}��||fS#1swY��xYwcc}wcc}w)z�Build wheels.

    :return: The list of InstallRequirement that succeeded to build and
        the list of InstallRequirement that failed to build.
    z*Building wheels for collected packages: %sz, c3�4K�|]}|j���y�w)N)r9)�.0r+s  r�	<genexpr>zbuild.<locals>.<genexpr>�s����3�l�s�#�(�(�l�s�NzSuccessfully built %s� zFailed to build %s)rLr]r[rr9r6rTr"�permit_editable_wheels�
download_info�record_download_originrrr$�	file_path�local_file_path�is_wheel�append)�requirementsr4rQ�build_successes�build_failuresr+r1�
wheel_files        r�buildrt�s�����2�v�
��K�K�4��	�	�3�l�3�3��

��*,�b����C��8�8�O�8�&�s�K�8�I�#�������;��!;�!;�	�J���$�$�0� �6�6�y�#�BS�BS�T���J� 7�8���&)�h�h�&8�&8��#��x�x�(�(�(�(��&�&�s�+��%�%�c�*�- �
�6����#��H�H�/�:�/�3�c�h�h�/�:�;�	
����� ��H�H�.�9�.�3�c�h�h�.�9�:�	
�
�N�*�*�M
���<;��
:s�C%F-�F9�F>�-F6)rr=�returnr)r+rruzbool | None)r+rr4r
rur=)r+rrAr=ru�None)
r+rrPr=rQrr"rru�
str | None)r+rrPr=r"rrurw)rpzIterable[InstallRequirement]r4r
rQrru�BuildResult)<�__doc__�
__future__r�logging�os.pathr:�re�collections.abcr�tempfiler�pip._vendor.packaging.utilsrr�pip._vendor.packaging.versionrr	�pip._internal.cacher
�pip._internal.exceptionsrr�pip._internal.metadatar
r�pip._internal.models.linkr�pip._internal.models.wheelr�$pip._internal.operations.build.wheelr�-pip._internal.operations.build.wheel_editabler�pip._internal.req.req_installr�pip._internal.utils.loggingr�pip._internal.utils.miscrr�pip._internal.utils.urlsr�pip._internal.vcsr�	getLogger�__name__rL�compile�
IGNORECASEr�tuple�listrxrr/r6rHrTrOrt�r r�<module>r�sM��@�"���	�$�'�O�A�*�K�J�*�,�C�N�<�2�:�0�!�	��	�	�8�	$���r�z�z�;�R�]�]�K���D�+�,�d�3E�.F�F�G��(��	����>
�	�
��
�	�
� 
�:�	����
���	�
��D1�	�1��1��1��	1�h9+�.�9+��9+�
�9+��	9+r 
Back to Directory File Manager