o
    6‘ðiÆ  ã                   @  sP   d dl mZ d dlZd dlZd dlmZmZ d dlmZ e 	e
¡Zddd„ZdS )é    )ÚannotationsN)ÚBuildBackendHookCallerÚHookMissing)Úrunner_with_spinner_messageÚnameÚstrÚbackendr   Úmetadata_directoryÚwheel_directoryÚreturnú
str | Nonec                 C  sÜ   |dusJ ‚zPt  d|¡ td| › d�ƒ}| |¡�3 z	|j||d�}W n! tyE } zt  d| |¡ W Y d}~W d  ƒ W dS d}~ww W d  ƒ n1 sPw   Y  W n tyf   t  d| ¡ Y dS w tj	 
||¡S )z�Build one InstallRequirement using the PEP 660 build process.

    Returns path to wheel if successfully built. Otherwise, returns None.
    NzDestination directory: %szBuilding editable for z (pyproject.toml))r
   r	   zLCannot build editable %s because the build backend does not have the %s hookzFailed building editable for %s)ÚloggerÚdebugr   Úsubprocess_runnerÚbuild_editabler   ÚerrorÚ	ExceptionÚosÚpathÚjoin)r   r   r	   r
   ÚrunnerÚ
wheel_nameÚe© r   úl/root/parts/websockify/install/lib/python3.10/site-packages/pip/_internal/operations/build/wheel_editable.pyÚbuild_wheel_editable   s<   

ÿ
þü
ó€üþ€þr   )
r   r   r   r   r	   r   r
   r   r   r   )Ú
__future__r   Úloggingr   Úpip._vendor.pyproject_hooksr   r   Úpip._internal.utils.subprocessr   Ú	getLoggerÚ__name__r   r   r   r   r   r   Ú<module>   s    
