�
_�d� � �. � d dl mZ d dlZd dlZd dlZd dlmc mZ d dl Z ddl
mZmZ ej Z
G d� dej � Zej j D � cg c] } | d ej vs�| �� c} ej z e_ yc c} w )� )�DistutilsArgErrorN� )�SetuptoolsDeprecationWarning�SetuptoolsWarningc �� � e Zd ZdZej
j ddgz Zej
j ddgz Zdd� fdd � fgZ e e� Z
d
� Zd� Zd� Z
d
� Zed� � Zd� Zy)�installz7Use easy_install to install the package, w/dependencies)�old-and-unmanageableNzTry not to use this!)�!single-version-externally-managedNz5used by system package builders to create 'flat' eggsr r
�install_egg_infoc � � y�NT� ��selfs �</usr/lib/python3/dist-packages/setuptools/command/install.py�<lambda>zinstall.<lambda> � � � �install_scriptsc � � yr
r r s r r zinstall.<lambda> r r c � � t j ddd�� t j j | � d | _ d | _ y )Nzsetup.py install is deprecated.z�
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
zAhttps://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html)�see_url)r �emit�origr �initialize_options�old_and_unmanageable�!single_version_externally_managedr s r r zinstall.initialize_options$ sB � �$�)�)�-�
�
X�
�
���'�'��-�$(��!�15��.r c �� � t j j | � | j rd| _ y | j r%| j s| j
st
d� �y y y )NTzAYou must specify --record or --root when building system packages)r r �finalize_options�rootr �recordr r s r r zinstall.finalize_options6 sW � ����%�%�d�+��9�9�59�D�2�
�
3�
3��9�9�T�[�[�'� �� � &1�9� 4r c � � | j s| j rt j j | � S d | _ d| _ y )N� )r r r r �handle_extra_path� path_file�
extra_dirsr s r r$ zinstall.handle_extra_pathA s6 � ��9�9��>�>��<�<�1�1�$�7�7� �����r c � � | j s| j rt j j | � S | j t
j � � s t j j | � y | j � y )N) r r r r �run�_called_from_setup�inspect�currentframe�do_egg_installr s r r( zinstall.runK s] � ��$�$��(N�(N��<�<�#�#�D�)�)��&�&�w�';�';�'=�>��L�L���T�"����!r c � � | �Fd}t j |� t j � dk( rd}t j |� yt j
| � }|dd D ]f }|dd \ }t j |� }|j j d d
� }|dk( r|j dk( r�P|d
k( xr |j dk( c S y)a�
Attempt to detect whether run() was called from setup() or by another
command. If called by setup(), the parent caller will be the
'run_command' method in 'distutils.dist', and *its* caller will be
the 'run_commands' method. If called any other way, the
immediate caller *might* be 'run_command', but it won't have been
called by 'run_commands'. Return True in that case or if a call stack
is unavailable. Return False otherwise.
Nz4Call stack not available. bdist_* commands may fail.�
IronPythonz6For best results, pass -X:Frames to enable call stack.Tr � � �__name__r# zsetuptools.dist�run_commandzdistutils.dist�run_commands)
r r �platform�python_implementationr* �getouterframes�getframeinfo� f_globals�get�function)� run_frame�msg�frames�frame�caller�info�
caller_modules r r) zinstall._called_from_setupV s� � � ��H�C��"�"�3�'��-�-�/�<�?�N��!�&�&�s�+���'�'� �2���A�a�[� Y�E��b�q� �I�V��'�'��/�D�"�,�,�0�0��R�@�M�� 1�1�d�m�m�}�6T�� �$4�4�X����.�9X�X� Yr c �. � | j j d� } || j d| j | j �� }|j � d|_ |j j t j d� � | j d� | j j d� j g}t j r |j dt j � ||_ |j! d� � d t _
y )
N�easy_install�x)�argsr r! �.z*.egg� bdist_eggr F)�show_deprecation)�distribution�get_command_classr r! �ensure_finalized�always_copy_from�
package_index�scan�globr2 �get_command_obj�
egg_output�
setuptools�bootstrap_install_from�insertrE r( )r rC �cmdrE s r r, zinstall.do_egg_installu s� � ��(�(�:�:�>�J�����������;�;�
�� ����"��� �����t�y�y��1�2�����%��!�!�1�1�+�>�I�I�J���,�,��K�K��:�<�<�=���������'�,0�
�)r N)r1 �
__module__�__qualname__�__doc__r r �user_options�boolean_options�new_commands�dict�_ncr r r$ r( �staticmethodr) r, r r r r r s� � �A��<�<�,�,�>�
�0� �L� �l�l�2�2��+�6� �O�
�.�/� �-�.��L� �|�
�C�6�$ �� "� �Y� �Y�<1r r )�distutils.errorsr r* rO r4 �distutils.command.install�commandr r rR �warningsr r �_install�sub_commandsr] r[ )rU s 0r �<module>re s� �� .� � � � (� (� � F� �<�<��~1�d�l�l� ~1�F �<�<�,�,����A��g�k�k�0I�C������� �� s �!B�8B |