U
ÀÒ.e] ã @ s d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl m
Z
ddlmZm
Z
mZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ erÄddlmZmZmZmZmZ dd
l m!Z! e "e#¡Z$G dd„ dƒZ%G dd„ de&ƒZ'G dd„ de'ƒZ(dS )z;Build Environment used for isolation during sdist building
é N)ÚOrderedDict)Úget_python_lib)Ú get_paths)ÚRequirementÚVersionConflictÚ
WorkingSet)Ú__file__)Úcall_subprocess)Ú
TempDirectory)ÚMYPY_CHECK_RUNNING)Úopen_spinner)ÚTupleÚSetÚIterableÚOptionalÚList)Ú
PackageFinderc @ s e Zd Zdd„ ZdS )Ú_Prefixc C sj || _ d| _ttjdkrdnd||dœd�d | _td|d�}td|d�}||kr\|g| _n
||g| _d S ) NFÚntZposix_prefix)ÚbaseZplatbase)ÚvarsZscripts)Ú
plat_specificÚprefixT)ÚpathÚsetupr ÚosÚnameÚbin_dirr Úlib_dirs)Úselfr ZpurelibZplatlib© r ú;/usr/lib/python3.8/site-packages/pip/_internal/build_env.pyÚ__init__! s þý
z_Prefix.__init__N)Ú__name__Ú
__module__Ú__qualname__r" r r r r! r s r c @ s@ e Zd ZdZdd„ Zdd„ Zdd„ Zdd „ Zd
d„ Zdd
„ Z dS )ÚBuildEnvironmentzFCreates and manages an isolated environment to install build deps
c sò t dd�ˆ _t‡ fdd„dD ƒƒˆ _g ˆ _g ˆ _ttˆ j ¡ ƒƒD ] }ˆ j |j
¡ ˆ j |j¡ qBdd„ t
dd �t
d
d �fD ƒ}tj ˆ jjd¡ˆ _tj ˆ j¡s°t ˆ j¡ ttj ˆ jd¡d
ƒ�"}| t d¡j|ˆ jd�¡ W 5 Q R X d S )Nz build-env)Zkindc 3 s( | ] }|t tj ˆ jj|¡ƒfV qd S ©N)r r r ÚjoinÚ _temp_dir©Ú.0r ©r r r! Ú