� ,�Re� ���dZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddlmZddlZddlmZddlmZdd lmZdd lmZmZdd lmZdd lmZgd �Zejj Z dZ!ej"Z#ej"Z$d�Z%d�Z&ej'j&je&_ej(ej'j)��Z*Gd�de*��Z)d�Z+ej,fd�Z-ej.e ��d���Z Gd�de/��Z0ej1��dS)z@Extensions to the 'distutils' for large or complex distributions�N)�DistutilsOptionError)� convert_path�)�SetuptoolsDeprecationWarning)� Extension)� Distribution)�Require)� PackageFinder�PEP420PackageFinder)�monkey)�logging)�setupr�Commandrr r� find_packages�find_namespace_packagesc���Gd�dtjj��}||��}|�d���|jr|�|j��dSdS)Nc�4��eZdZdZ�fd�Zd�fd� Zd�Z�xZS)�4_install_setup_requires..MinimalDistributionzl A minimal version of a distribution for supporting the fetch_build_eggs interface. c�����d}�fd�t|��t���zD��}t���|��|j���dS)N)�dependency_links�setup_requiresc�"��i|] }|�|�� S�r)�.0�k�attrss ���/builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/__init__.py� zQ_install_setup_requires..MinimalDistribution.__init__..8s���E�E�E���5��8�E�E�E�)�set�super�__init__� set_defaults�_disable)�selfr�_incl�filtered� __class__s ` �rr"z=_install_setup_requires..MinimalDistribution.__init__6sf����8�E�E�E�E�E�S��Z�Z�#�e�*�*�-D�E�E�E�H� �G�G� � �X� &� &� &� � � &� &� (� (� (� (� (rNc�~�� t���|��\}}|dfS#t$r|dfcYSwxYw)zAIgnore ``pyproject.toml``, they are not related to setup_requiresr)r!� _split_standard_project_metadata� Exception)r%� filenames�cfg�tomlr(s �r�_get_project_config_fileszN_install_setup_requires..MinimalDistribution._get_project_config_files=sW��� %�!�G�G�D�D�Y�O�O� ��T��B�w���� %� %� %� �"�}�$�$�$� %���s �'+�<�<c��dS)zl Disable finalize_options to avoid building the working set. Ref #2158. Nr)r%s r�finalize_optionszE_install_setup_requires..MinimalDistribution.finalize_optionsEs���r�N)�__name__� __module__� __qualname__�__doc__r"r/r1� __classcell__�r(s@r�MinimalDistributionr0so������� � �  )� )� )� )� )� %� %� %� %� %� %� � � � � � � rr9T)�ignore_option_errors)� distutils�corer�parse_config_filesr�fetch_build_eggs)rr9�dists r�_install_setup_requiresr@-s��������i�n�9����6 � �u� %� %�D� �����6�6�6� ��3� ���d�1�2�2�2�2�2�3�3rc �r�tj��t|��tjjdi|��S)Nr)r � configurer@r;r<r)rs rrrSs8�� ������E�"�"�"� �>� � (� (�%� (� (�(rc�<��eZdZdZdZ�fd�Zd d�Zd�Zd d�Z�xZ S) ra� Setuptools internal actions are organized using a *command design pattern*. This means that each action (or group of closely related actions) executed during the build should be implemented as a ``Command`` subclass. These commands are abstractions and do not necessarily correspond to a command that can (or should) be executed via a terminal, in a CLI fashion (although historically they would). When creating a new command from scratch, custom defined classes **SHOULD** inherit from ``setuptools.Command`` and implement a few mandatory methods. Between these mandatory methods, are listed: .. method:: initialize_options(self) Set or (reset) all options/attributes/caches used by the command to their default values. Note that these values may be overwritten during the build. .. method:: finalize_options(self) Set final values for all options/attributes used by the command. Most of the time, each option/attribute/cache should only be set if it does not have any value yet (e.g. ``if self.attr is None: self.attr = val``). .. method:: run(self) Execute the actions intended by the command. (Side effects **SHOULD** only take place when ``run`` is executed, for example, creating new files or writing to the terminal output). A useful analogy for command classes is to think of them as subroutines with local variables called "options". The options are "declared" in ``initialize_options()`` and "defined" (given their final values, aka "finalized") in ``finalize_options()``, both of which must be defined by every command class. The "body" of the subroutine, (where it does all the work) is the ``run()`` method. Between ``initialize_options()`` and ``finalize_options()``, ``setuptools`` may set the values for options/attributes based on user's input (or circumstance), which means that the implementation should be careful to not overwrite values in ``finalize_options`` unless necessary. Please note that other commands (or other parts of setuptools) may also overwrite the values of the command's options/attributes multiple times during the build process. Therefore it is important to consistently implement ``initialize_options()`` and ``finalize_options()``. For example, all derived attributes (or attributes that depend on the value of other attributes) **SHOULD** be recomputed in ``finalize_options``. When overwriting existing commands, custom defined classes **MUST** abide by the same APIs implemented by the original class. They also **SHOULD** inherit from the original class. Fc ���t���|��t|���|��dS)zj Construct the command for dist, updating vars(self) with any keyword parameters. N)r!r"�vars�update)r%r?�kwr(s �rr"zCommand.__init__�s=��� ��������� �T� � ���"�����rNc ��t||��}|�t|||��|St|t��st d|�d|�d|�d����|S)N�'z ' must be a z (got `z`))�getattr�setattr� isinstance�strr)r%�option�what�default�vals r�_ensure_stringlikezCommand._ensure_stringlike�sq���d�F�#�#�� �;� �D�&�'� *� *� *��N��C��%�%� �&�&�28�&�&�$�$�$����D��� �� rc�6�t||��}|�dSt|t��r&t||t jd|����dSt|t ��rtd�|D����}nd}|std|�d|�d����dS)a�Ensure that 'option' is a list of strings. If 'option' is currently a string, we split it either on /,\s*/ or /\s+/, so "foo bar baz", "foo,bar,baz", and "foo, bar baz" all become ["foo", "bar", "baz"]. .. TODO: This method seems to be similar to the one in ``distutils.cmd`` Probably it is just here for backward compatibility with old Python versions? :meta private: Nz,\s*|\s+c3�@K�|]}t|t��V��dSr2)rLrM)r�vs r� z-Command.ensure_string_list..�s,����9�9���A�s�+�+�9�9�9�9�9�9rFrIz!' must be a list of strings (got �)) rJrLrMrK�re�split�list�allr)r%rNrQ�oks r�ensure_string_listzCommand.ensure_string_list�s����d�F�#�#�� �;� �F� ��S� !� !� � �D�&�"�(�;��"<�"<� =� =� =� =� =��#�t�$�$� ��9�9�S�9�9�9�9�9������ �*�*�AG������M���� � rrc ��t�|||��}t|���|��|Sr2)�_Command�reinitialize_commandrErF)r%�command�reinit_subcommandsrG�cmds rr`zCommand.reinitialize_command�s9���+�+�D�'�;M�N�N�� �S� � �������� rr2)r) r3r4r5r6�command_consumes_argumentsr"rRr]r`r7r8s@rrr`s��������4�4�l"'������� � � � ����6�������rrc��d�tj|d���D��}ttjj|��S)z% Find all files under 'path' c3�hK�|]-\}}}|D]$}tj�||��V��%�.dSr2)�os�path�join)r�base�dirs�files�files rrVz#_find_all_simple..�sc������ �D�$����� � �� � �T�4� � �������rT)� followlinks)rg�walk�filterrh�isfile)rh�resultss r�_find_all_simplers�sE����!#���4�!@�!@�!@����G� �"�'�.�'� *� *�*rc���t|��}|tjkr5tjtjj|���}t||��}t|��S)z� Find all files under 'dir' and return the list of full filenames. Unless dir is '.', return full filenames with dir prepended. )�start) rsrg�curdir� functools�partialrh�relpath�maprZ)�dirrl�make_rels r�findallr}�sR�� �S� !� !�E� �b�i����$�R�W�_�C�@�@�@���H�e�$�$�� ��;�;�rc�v�ddlm}d}tj||��t��t |��S)Nr)�cleandocz� The function `convert_path` is considered internal and not part of the public API. Its direct usage by 3rd-party packages is considered deprecated and the function may be removed in the future. )�inspectr�warnings�warnr� _convert_path)�pathnamer�msgs rrr�sF�� � � � � � � �C�  �M�(�(�3�-�-�!=�>�>�>� �� "� "�"rc��eZdZdZdS)�sicz;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)N)r3r4r5r6rrrr�r��s������E�E�E�Err�)2r6rwrgrXr��_distutils_hack.override�_distutils_hack�distutils.corer;�distutils.errorsr�distutils.utilrr��_deprecation_warningr�setuptools.version� setuptools�setuptools.extensionr�setuptools.distr�setuptools.dependsr �setuptools.discoveryr r �r r �__all__�version� __version__�bootstrap_install_from�findrrr@rr<� get_unpatchedrr_rsrvr}�wrapsrMr�� patch_allrrr�r�sN��F�F����� � � � � � � � �������������1�1�1�1�1�1�8�8�8�8�8�8�>�>�>�>�>�>�����*�*�*�*�*�*�(�(�(�(�(�(�&�&�&�&�&�&�C�C�C�C�C�C�C�C������������� � � ��� �,� ����"� �-�2��#3�#3�#3�L)�)�)���$�,�� � �6� � �� 6� 7� 7��j�j�j�j�j�h�j�j�j�Z +� +� +�� � � � � ������� #� #� �� #�F�F�F�F�F�#�F�F�F� �������r