�
,�Re� � � � d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
Z
ddlZddl
mZ ddl
mZ ddlmZ ddlmZ ddlmZ ej d ej � � j Zd
Zd� Zej d� � � Z G d
� d� � ZdS )zWheels support.� N)�get_platform)�
parse_version)�sys_tags)�canonicalize_name)�write_requirements)�_unpack_zipfile_objz�^(?P.+?)-(?P\d.*?)
((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?)
)\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
c �� � t j | � � D �])\ }}}t j � || � � }|D ]X}t j � ||� � }t j � |||� � }t j ||� � �Yt
t t |� � � � � � D ]}\ } }
t j � ||
� � }t j � |||
� � }t j � |� � st j ||� � || = �~��+t j | d�� � D ]\ }}}|rJ �t j
|� � �dS )zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)�topdownN)�os�walk�path�relpath�join�renames�reversed�list� enumerate�exists�rmdir)�src_dir�dst_dir�dirpath�dirnames� filenames�subdir�f�src�dst�n�ds ��/builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/wheel.py�unpackr" se � �(*���(8�(8�
�
�$���9������'�2�2��� !� !�A��'�,�,�w��*�*�C��'�,�,�w���2�2�C��J�s�C� � � � ��T�)�H�"5�"5�6�6�7�7� � �D�A�q��'�,�,�w��*�*�C��'�,�,�w���2�2�C��7�>�>�#�&�&�
� �
�3��$�$�$��Q�K�� � )+����(F�(F�(F� � �$���9�����
�������� � c # � K � ddl m} | � | j � � } dV � | � |� � dS # | � |� � w xY w)z*
Temporarily disable info traces.
r )�logN)� distutilsr% �
set_threshold�WARN)r% �saveds r! �disable_info_tracesr* 6 sq � � � �
���������c�h�'�'�E�!�
�������%� � � � � �����%� � � � ���s �? �Ac �z � e Zd Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z e
d� � � Ze
d � � � Ze
d
� � � Z
dS )�Wheelc � � t t j � |� � � � }|�t d|z � � �|| _ |� � � � � � D ]\ }}t | ||� � �d S )Nzinvalid wheel name: %r) �
WHEEL_NAMEr r
�basename�
ValueError�filename� groupdict�items�setattr)�selfr1 �match�k�vs r! �__init__zWheel.__init__E s� � ��2�7�+�+�H�5�5�6�6���=��5��@�A�A�A� ��
��O�O�%�%�+�+�-�-� � �D�A�q��D�!�Q����� � r# c � � t j | j � d� � | j � d� � | j � d� � � � S )z>List tags (py_version, abi, platform) supported by this wheel.�.)� itertools�product�
py_version�split�abi�platform�r5 s r! �tagsz
Wheel.tagsM sN � �� ��O�!�!�#�&�&��H�N�N�3����M����$�$�
�
�
r# c � �� t d� t � � D � � � � �t �fd�| � � � D � � d� � S )z5Is the wheel is compatible with the current platform?c 3 �> K � | ]}|j |j |j fV � �d S �N)�interpreterr@ rA )�.0�ts r! � z&Wheel.is_compatible..W sH � � � � D� D�34�Q�]�A�E�1�:�.�D� D� D� D� D� Dr# c 3 �$ �K � | ]
}|�v �d V � �dS )TN� )rH rI �supported_tagss �r! rJ z&Wheel.is_compatible..Y s- �� � � �F�F�a�!�~�2E�2E�T�2E�2E�2E�2E�F�Fr# F)�setr �nextrC )r5 rM s @r! �
is_compatiblezWheel.is_compatibleU sf �� �� D� D�8@�
�
�D� D� D� D� D���F�F�F�F�4�9�9�;�;�F�F�F��N�N�Nr# c � � t j | j | j | j dk rd n
t � � �� � � � � dz S )N�any)�project_name�versionrA z.egg)�
pkg_resources�DistributionrS rT rA r �egg_namerB s r! rW zWheel.egg_name[ sO � ��)��*�D�L�"�m�u�4�4�d�d�,�.�.�
�
�
� �(�*�*�v�� r# c � � |� � � D ]c}t j |� � }|� d� � r8t |� � � t | j � � � � r|c S �dt d� � �)Nz
.dist-infoz.unsupported wheel format. .dist-info not found)�namelist� posixpath�dirname�endswithr �
startswithrS r0 )r5 �zf�memberr[ s r! �
get_dist_infozWheel.get_dist_infoa s� � ��k�k�m�m� � �F��'��/�/�G�� � ��.�.�
�%�g�.�.�9�9�)�$�*;�<�<�>� >�
� ������I�J�J�Jr# c � � t j | j � � 5 }| � ||� � ddd� � dS # 1 swxY w Y dS )z"Install wheel as an egg directory.N)�zipfile�ZipFiler1 �_install_as_egg)r5 �destination_eggdirr^ s r! �install_as_eggzWheel.install_as_eggk s� � �
�_�T�]�
+�
+� 9�r�� � �!3�R�8�8�8� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9���� 9� 9� 9� 9� 9� 9s �>�A�Ac �$ � | j �d| j ��}| � |� � }d|z }t j � |d� � }| � ||||� � | � ||� � | � ||� � d S )N�-z%s.data�EGG-INFO) rS rT r` r r
r �_convert_metadata�_move_data_entries�_fix_namespace_packages)r5 re r^ �
dist_basename� dist_info� dist_data�egg_infos r! rd zWheel._install_as_eggp s� � �#'�#4�#4�#4�d�l�l�C�
��&�&�r�*�*� ��
�-� ��7�<�<� 2�J�?�?�����r�#5�y�(�K�K�K���� 2�I�>�>�>��$�$�X�/A�B�B�B�B�Br# c �0 � ��
��� �� fd�} |d� � }t |� d� � � � }t d� � |cxk ot d� � k nc }|st d|z � � �t � |� � t j � |�� � �t j � |�t j
|�� � �� � �
d� �t t ��
�
� � � � � � ��
��fd ��
j D � � }t j �|� � t j t j � |d
� � t j � |d� � � � t! j t# �|�� � �
� � } t% � � 5 t' | � d� � d t j � |d� � � � d d d � � d S # 1 swxY w Y d S )Nc �8 �� �� t j �| � � � � 5 }|� � � � d� � }t
j � � � � |� � cd d d � � S # 1 swxY w Y d S )Nzutf-8) �openrZ r �read�decode�email�parser�Parser�parsestr)�name�fp�valuern r^ s ��r! �get_metadataz-Wheel._convert_metadata..get_metadata| s� �� ������ �4�8�8�9�9�
=�R���� � �(�(��1�1���|�*�*�,�,�5�5�e�<�<�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=����
=�
=�
=�
=�
=�
=s �AB�B�B�WHEELz
Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)�metadatac �. � d | _ t | � � S rF )�marker�str)�reqs r! �raw_reqz(Wheel._convert_metadata..raw_req� s � ��C�J��s�8�8�Or# c
�r �� i | ]3}|�fd �t ��� |f� � � � D � � ��4S )c � �� g | ]}|�v�|�� S rL rL )rH r� �install_requiress �r! �
z6Wheel._convert_metadata...� s/ �� � � � ���.�.�.� �.�.�.r# )�map�requires)rH �extra�distr� r� s ���r! �
z+Wheel._convert_metadata..� si �� �
�
�
� �
� � � � ��w��
�
�u�h�(?�(?�@�@�� � �
�
�
r# �METADATAzPKG-INFO)r� �extras_require)�attrsrp zrequires.txt)r �getr0 r r r
r rU rV �
from_location�PathMetadatar r� r� �extras�rename�
setuptools�dictr* r �get_command_obj)
r^ re rn rp r} �wheel_metadata�
wheel_version�wheel_v1r� �
setup_distr� r� r� s
` ` @@@r! rj zWheel._convert_metadataz s� ������ � =� =� =� =� =� =�
&��g�.�.��%�n�&8�&8��&I�&I�J�J�
��%� � �M�L�L�L�L�M�)�4L�4L�L�L�L�L� � � H��6��F�H� H�
H� �B� 2�3�3�3��G�L�L�!3�Y�?�?� ��)�7�7�� �"�/�0B�I�N�N� 8�
�
�� � � � ��G�T�]�]�_�_� =� =�>�>��
�
�
�
�
�
� ��
�
�
�� � �)�X�&�&�&�
� ��G�L�L��:�.�.��G�L�L��:�.�.�
�
�
� �,��!1�-�� � �
�
�
�
� !�
"�
"� � ���*�*�:�6�6������X�~�6�6�
�
�
� � � � � � � � � � � � ���� � � � � � s �;AH�H�Hc � �� t j � | �� � �t j � �d� � }t j � |� � r�t j � | dd� � }t j |� � t j |� � D ]�}|� d� � r3t j t j � ||� � � � �Jt j t j � ||� � t j � ||� � � � ��t j |� � t t j j �fd�dD � � � � D ]}t || � � �t j � �� � rt j �� � dS dS )z,Move data entries to their correct location.�scriptsri z.pycc 3 �X �K � | ]$}t j � �|� � V � �%d S rF )r r
r )rH r ro s �r! rJ z+Wheel._move_data_entries..� sG �� � � � .
� .
��
�G�L�L��A�&�&�.
� .
� .
� .
� .
� .
r# )�data�headers�purelib�platlibN)r r
r r �mkdir�listdirr\ �unlinkr� r �filterr" )re ro �dist_data_scripts�egg_info_scripts�entryr s ` r! rk zWheel._move_data_entries� s� �� � �G�L�L�!3�Y�?�?� ��G�L�L��I�>�>��
�7�>�>�+�,�,� (�!�w�|�|�"�J� � ;� ;���H�%�&�&�&���$5�6�6�
�
�� �>�>�&�)�)� ��I�b�g�l�l�+<�e�D�D�E�E�E�E��I�����%6��>�>�����%5�u�=�=�� � � �
�H�&�'�'�'��R�W�^� .
� .
� .
� .
�>�.
� .
� .
� � � /� /�F�
�6�-�.�.�.�.�
�7�>�>�)�$�$� ��H�Y������ � r# c �� � t j � | d� � }t j � |� � �r0t |� � 5 }|� � � � � � }d d d � � n# 1 swxY w Y |D ]�}t j j |g|� d� � �R � }t j � |d� � }t j � |� � st j |� � t j � |� � sBt |d� � 5 }|� t � � d d d � � n# 1 swxY w Y ��d S d S )Nznamespace_packages.txtr; z__init__.py�w)
r r
r r rs rt r? r� �write�NAMESPACE_PACKAGE_INIT)rp re �namespace_packagesr{ �mod�mod_dir�mod_inits r! rl zWheel._fix_namespace_packages� s� � ��W�\�\��.�0� 0��
�7�>�>�,�-�-�
9��(�)�)�
7�R�%'�W�W�Y�Y�_�_�%6�%6�"�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7����
7�
7�
7�
7�)�
9�
9���'�,�'9�K�C�I�I�c�N�N�K�K�K���7�<�<���?�?���w�~�~�g�.�.� &��H�W�%�%�%��w�~�~�h�/�/� 9��h��,�,� 9�����!7�8�8�8�9� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9���� 9� 9� 9� 9��
9�
9�
9�
9s$ �'B�B�
B�>E%�%E) �,E) N)�__name__�
__module__�__qualname__r9 rC rP rW r` rf rd �staticmethodrj rk rl rL r# r! r, r, C s� � � � � � � � � �
�
�
�O� O� O�� � �K� K� K�9� 9� 9�
C� C� C� �7� 7� �\�7�r � � � �\� �6 �
9�
9� �\�
9�
9�
9r# r, )�__doc__rv r<