� ��^i�����dZddlZddlZddlZddlZddlmZddlZddlm Z ddl m Z ddl m Z ddlmZmZeje��Zd �ZGd �d e��Zdd �Zdd �ZdS)zIBuild wheels/sdists by installing build deps to a temporary environment. �N)� check_call)� get_paths)�mkdtemp�)� toml_load)�Pep517HookCaller� LoggerWrapperc��tjtj�|d��d��5}t |��}ddd��n #1swxYwY|d}|d|d|�d��fS)Nzpyproject.toml�rbz build-system�requiresz build-backendz backend-path)�io�open�os�path�joinr�get)� source_dir�f�pyproject_data�buildsyss ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/pep517/envbuild.py�_load_pyprojectrs��� �� �G�L�L��%5� 6� 6� � � �&��"�1���� &�&�&�&�&�&�&�&�&�&�&����&�&�&�&� �n�-�H������!�� � �^�$�$� �s�A�A�Ac�0�eZdZdZdZdd�Zd�Zd�Zd�ZdS) �BuildEnvironmentz�Context manager to install build deps in a simple temporary environment Based on code I wrote for pip, which is MIT licensed. NTc��||_dS�N)�_cleanup)�self�cleanups r�__init__zBuildEnvironment.__init__=s ���� � � �c� �td���|_t�d|j��tj�dd��|_tj�dd��|_tj dkrdnd}t||j|jd�� ��}|d }|jr%|tj z|jztjd<n)|tj ztj ztjd<|d |d kr |d }n|d tj z|d z}|jr%|tj z|jztjd<n|tjd<|S) Nzpep517-build-env-)�prefixzTemporary build environment: %s�PATH� PYTHONPATH�nt� posix_prefix)�base�platbase)�vars�scripts�purelib�platlib) rr�log�infor�environr� save_path�save_pythonpath�namer�pathsep�defpath)r�install_scheme� install_dirsr+�lib_dirss r� __enter__zBuildEnvironment.__enter__@sd���#6�7�7�7�� � ���2�D�I�>�>�>�������5�5���!�z�~�~�l�D�A�A���"$�'�T�/�/����� ���I�� �7 �7 � � � � � �y�)�� �>� C�!(�2�:�!5���!F�B�J�v� � �!(�2�:�!5�� �!B�B�J�v� � � � "�l�9�&=� =� =�#�I�.�H�H�#�I�.���;��Y�'�(�H� � � 0�'/�"�*�'<��$�(%�B�J�|� $� $�(0�B�J�|� $�� r!c�,�|sdSt�d|��tjddddd|jgt |��z}t |tttj ��tttj �����dS) zAInstall dependencies into this env by calling pip in a subprocessNzCalling pip to install %sz-m�pip�installz--ignore-installedz--prefix)�stdout�stderr) r.r/�sys� executabler�listrr �logging�INFO�ERROR)r�reqs�cmds r� pip_installzBuildEnvironment.pip_install`s���� � �F� ���,�d�3�3�3� �N�D�%��4H� �� �#�%)�$�Z�Z�0�� � � ��g�l�3�3� ��g�m�4�4� � � � � � r!c��|jo,|jduo#tj�|j��}|rt j|j��|j�!tj�dd��n|jtjd<|j �"tj�dd��dS|j tjd<dS)Nr$r%) rrr�isdir�shutil�rmtreer1r0�popr2)r�exc_type�exc_val�exc_tb� needs_cleanups r�__exit__zBuildEnvironment.__exit__ns��� �M� %� �I�T� !� %� �G�M�M�$�)� $� $� � � %� �M�$�)� $� $� $� �>� !� �J�N�N�6�4� (� (� (� (�!%��B�J�v� � � � '� �J�N�N�<�� .� .� .� .� .�'+�';�B�J�|� $� $� $r!)T) �__name__� __module__� __qualname__�__doc__rr r9rGrQ�r!rrr!sg��������2 �D� � � � ����@  �  �  �<�<�<�<�rms$���� � � � � � � � ����� � � � �!�!�!�!�!�!� � � � �������������������5�5�5�5�5�5�5�5��g���!�!�� � � �^<�^<�^<�^<�^<�v�^<�^<�^<�B=�=�=�=�,=�=�=�=�=�=r!