Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib/python3.8/site-packages/wheel/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib/python3.8/site-packages/wheel/__pycache__/bdist_wheel.cpython-38.pyc

U

c�a�J�@stdZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlmZ
ddlmZddlmZddlmZdd	lmZdd
lmZmZddlZddlmZdd
lmZddlmZddlm Z ddl!m"Z"ddl#m$Z%ej&dk�r
ddl'm(Z)nddl'm)Z)ej*Z*ej+Z+dZ,dd�Z-dd�Z.d'dd�Z/dd�Z0dd �Z1d!d"�Z2d#d$�Z3Gd%d&�d&e�Z4dS)(zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
�N)�OrderedDict)�Command)�log)�BytesIO)�iglob)�rmtree)�get_config_var)�ZIP_DEFLATED�
ZIP_STORED�)�write_pkg_info)�calculate_macosx_platform_tag)�pkginfo_to_metadata)�tags)�	WheelFile)�__version__��)�	Generator)�BytesGeneratorzcp3\dcCsd�tjd�S)Nzpy{}r)�format�sys�version_info�rr�B/opt/alt/python38/lib/python3.8/site-packages/wheel/bdist_wheel.py�
python_tag+srcCs@tj��}|�d�r&|dk	r&t||�}|dkr<tjdkr<d}|S)z0Return our platform name 'win32', 'linux_x86_64'�macosxN�linux_x86_64���
linux_i686)�	distutils�util�get_platform�
startswithr
r�maxsize)�archive_root�resultrrrr"/s

r"TcCs4t|�}|dkr,|r(t�d�|�td�|S||kS)zfUse a fallback value for determining SOABI flags if the needed config
    var is unset or unavailable.Nz?Config variable '{0}' is unset, Python ABI tag may be incorrect�)r�warnings�warnr�RuntimeWarning)�var�fallback�expectedr)�valrrr�get_flag;s��r/cCsLtd�}t��}|s�|dkr�ttd�r�d}d}d}tdttd�|dkd�rNd	}td
|dk|dkohtjdkd�r|tjdkr|d}td
tjdkd|dko�tjdkd�r�tjdkr�d}d|t��|||f}n�|r�|�	d�r�d|�
d�d}n`|�r(|�	d��r(d�|�
d�dd��}|�dd��dd�}n |�rD|�dd��dd�}nd}|S)zXReturn the ABI tag based on SOABI (if available) or emulate SOABI
    (CPython 2, PyPy).�SOABI)�cp�pp�
maxunicode��Py_DEBUG�gettotalrefcountr1)r)�d�
WITH_PYMALLOC)r��mZPy_UNICODE_SIZEi���)rr)r-r)�uz
%s%s%s%s%szcpython-�-rzpypy-Nr'�.�_)
rr�interpreter_name�hasattrrr/rr3�interpreter_versionr#�split�join�replace)Zsoabi�implr7r:r<�abirrr�get_abi_tagGsL�����rHcCst|��dd�S�Nr=r?)�	safe_namerE)�namerrr�
safer_nameosrLcCst|��dd�SrI)�safe_versionrE)�versionrrr�
safer_versionssrOcCs*tt|d��t�|tj�||�dS)Nr)�print�str�os�chmod�stat�S_IWRITE)�func�path�excinforrr�remove_readonlywsrYc@s�eZdZdZedefdefg�Zdddded�fd	d
ddd
ddddd�	d�
e��fddde�fddg
ZddddgZ
dd�Zdd�Zedd ��Zd!d"�Zd#d$�Zd%ed&fd'd(�Zd)d*�Zed+d,��Zd-d.�ZdS)/�bdist_wheelzcreate a wheel distributionZstored�deflated)z
bdist-dir=�bz1temporary directory for creating the distributionz
plat-name=�pz;platform name to embed in generated filenames (default: %s)N)�	keep-temp�kzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=r7z-directory to put final built distributions in)�
skip-buildNz2skip rebuilding everything (for testing/debugging))�relativeNz7build the archive using relative paths (default: false))zowner=r<z@Owner name used when creating a tar file [default: current user])zgroup=�gzAGroup name used when creating a tar file [default: current group])�	universalNz'make a universal wheel (default: false)zcompression=z6zipfile compression (one of: {}) (default: 'deflated')z, zpython-tag=z7Python implementation compatibility tag (default: '%s'))z
build-number=NzqBuild number for this particular version. As specified in PEP-0427, this must start with a digit. [default: None])zpy-limited-api=Nz?Python tag (cp32|cp33|cpNN) for abi3 wheel tag (default: false)r^r`rarccCsxd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_t�|_d|_d|_d|_dS)N�zipFr[)�	bdist_dir�data_dir�	plat_name�plat_tagr�	keep_temp�dist_dir�egginfo_dir�root_is_pure�
skip_buildra�owner�grouprc�compressionr�build_number�py_limited_api�plat_name_supplied)�selfrrr�initialize_options�s&zbdist_wheel.initialize_optionscCs6|jdkr&|�d�j}tj�|d�|_|jd|_|jdk	|_	z|j
|j|_Wn$tk
rtt
d�|j���YnXd}|jd
t||���|j��p�|j��|_|jr�t�t|j�s�t
dt��|j�d�}d|k�r
t�d�|dd	��}|��d
k�r
d|_|jdk	�r2|jdd	�� ��s2t
d��dS)N�bdist�wheelz.datazUnsupported compression: {})rjrgrmzpy-limited-api must match '%s'rcz=The [wheel] section is deprecated. Use [bdist_wheel] instead.r)�1�true�yesTz1Build tag (build-number) must start with a digit.)rv)!re�get_finalized_command�
bdist_baserRrWrD�wheel_dist_namerfrgrs�supported_compressionsrp�KeyError�
ValueErrorr�set_undefined_optionsrd�distribution�has_ext_modules�has_c_librariesrlrr�re�match�PY_LIMITED_API_PATTERN�get_option_dict�loggerr)�strip�lowerrcrq�isdigit)rtr|Zneed_optionsrwr.rrr�finalize_options�s4
�
�

 zbdist_wheel.finalize_optionscCs8t|j���t|j���f}|jr.||jf7}d�|�S)z4Return distribution full name with - replaced with _r=)rLr��get_namerO�get_versionrqrD)rt�
componentsrrrr}�s�zbdist_wheel.wheel_dist_namecs|jr|j�nF|jrd�n:|jr4|j�d�s4|j�n
t|j���dkrTtjdkrTd�����	dd��	dd��|jr�|j
r~d	}n|j}|d
�f}n~t�
�}t��}||}|jr�||�d�r�|j}d}ntt����}||�f}�fd
d�t��D�}||k�std�|���|S)N�anyr)zlinux-x86_64rrrr=r?r>zpy2.py3ZnoneZcp3Zabi3csg|]}|j|j�f�qSr)ZinterpreterrG)�.0�t�rgrr�
<listcomp>s�z'bdist_wheel.get_tag.<locals>.<listcomp>z)would build wheel with unsupported tag {})rsrgrlr#r"rerr$r�rErcrrr@rBrrrQrHZsys_tags�AssertionErrorr)rtrF�tagZ	impl_nameZimpl_ver�abi_tagZsupported_tagsrr�r�get_tag�s8


�zbdist_wheel.get_tagc	Cs@|�d�}d|_d|_|�d�}d|_|js6|�d�|jddd�}|j|_d|_|j|_d|_	|�d	�}d|_
d
D] }t|d|tj
�|j|��qtd}tjd
kr�tj
�tj
�|jd��}||_|_t||jr�dnd|�t�d|j�|�d�|��\}}}	d�|j|||	�}
|j�s&|j}ntj
�|j|�|j��}|�dd�d�t|j� ��t!|j�"���}tj
�|j|�}
|�#|j$|
�|�%|
�tj
�&|j'��s�t�(|j'�tj
�|j'|
d�}t)|d|j*��}|�+|�W5QRXt,|jdg��-ddjt.j/dd��|f�|j0�s<t�d|j�|j1�s<t2|jt3d�dS)N�
build_scripts�pythonT�	build_extF�build�install)�reinit_subcommands�install_scripts)�headers�scripts�data�purelib�platlib�install_r4�ntz..�install_purelib�install_platlibzinstalling to %sz{}-{}-{}-{}�install_egg_info)�targetrkz{}-{}.dist-infoz.whl�w�
dist_filesrZz{}.{}r'zremoving %s)�onerror)4�reinitialize_command�
executable�forceZinplacerm�run_commandre�root�compile�warn_dirZno_ep�setattrrRrWrDrfrK�normpath�install_libbase�install_librlr��infor�rr}ra�_ensure_relative�install_baser�rLr�r�rOr��egg2distrk�write_wheelfile�existsrj�makedirsrrpZwrite_files�getattr�appendrrri�dry_runrrY)rtr�r�r�r��keyZbasedir_observed�impl_tagr�rhZarchive_basenamer%Zdistinfo_dirnameZdistinfo_dirZ
wheel_pathZwfrrr�run"s|


�
�
�

��
��zbdist_wheel.runz
bdist_wheel (�)c	Csddlm}tjdkr*t|t�s*|�d�}|�}d|d<||d<t|j���|d<|j	dk	rf|j	|d	<|�
�\}}}|�d
�D]8}|�d
�D](}	|�d
�D]}
d�||	|
f�|d<q�q�q~t
j�|d
�}t�d|�t�}t|dd��|�t|d��}
|
�|���dd��W5QRXdS)Nr)�Messagerzutf-8z1.0z
Wheel-VersionrzRoot-Is-Purelib�Buildr>r=ZTagZWHEELzcreating %s)�maxheaderlen�wbs
�
)�
email.messager�rr�
isinstancerQ�encoderlr�rqr�rCrDrRrWr�r�rr�flatten�open�write�getvaluerE)rtZwheelfile_base�	generatorr��msgr�r�rhrFrG�platZwheelfile_path�buffer�frrrr�vs(


zbdist_wheel.write_wheelfilecCs6tj�|�\}}|dd�tjkr2||dd�}|S)Nrr)rRrW�
splitdrive�sep)rtrW�driverrrr��szbdist_wheel._ensure_relativecCs�|j�d�}t�}tdd�|�dd�d��D��}d|krZt�dt�|�	|dd�d|krnd|krnd	}|D]V}t
|�D]H}|�d
�r�t�
d|�q~||kr~tj�|�r~t�d||�|�	|�q~qr|S)
N�metadatacSsh|]}|�qSrr)r��optionrrr�	<setcomp>�sz,bdist_wheel.license_paths.<locals>.<setcomp>�
license_files)r4r4r�license_filezEThe "license_file" option is deprecated. Use "license_files" instead.)zLICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*�~z4ignoring license file "%s" as it looks like a backupz/adding license file "%s" (matched pattern "%s"))r�r��set�sorted�getrCr(r)�DeprecationWarning�addr�endswithr��debugrRrW�isfiler�)rtr��files�patterns�patternrWrrr�
license_paths�s*��
zbdist_wheel.license_pathsc	CsXdd�}||�tj�|�sxddl}tj�tj�|�d�}|�|�}d|f}|rptj�|d�}|d|f7}t|��tj�|�r�|}	t	||�}
t�
|�njtj�|d�}	t	||	�}
tj||d	d
�d�tj�|d�}t
|d
��}|����}
W5QRX|
�s||�ttj�|d�|
�|jD](}tj�|�}t�|tj�||���q"||�dS)z:Convert an .egg-info directory into a .dist-info directorycSsJtj�|�r0tj�|�s0tj�|�r0t�|�ntj�|�rFt�|�dS)z-Appropriately delete directory, file or link.N)rRrWr��islink�isdir�shutilr�unlink)r]rrr�adios�s$z#bdist_wheel.egg2dist.<locals>.adiosrNz
*.egg-infoz)Egg metadata expected at %s but not foundz- (%s found - possible misnamed archive file?)�PKG-INFOcSsddddhS)Nr�zrequires.txtzSOURCES.txtznot-zip-safer)�x�yrrr�<lambda>�s�z&bdist_wheel.egg2dist.<locals>.<lambda>)�ignorezdependency_links.txt�r�METADATA)rRrWr��globrD�dirname�basenamer�r�r�mkdirr��copytreer��readr�rr��copy)rtZegginfo_pathZ
distinfo_pathr�r��pat�possible�errZaltZpkginfo_path�pkg_infoZdependency_links_pathZdependency_links_file�dependency_linksZlicense_path�filenamerrrr��s<



�
zbdist_wheel.egg2dist)�__name__�
__module__�__qualname__�descriptionrr
r	r~r"rrDr�user_options�boolean_optionsrur��propertyr}r�r��
wheel_versionr�r�r�r�rrrrrZ}sV��������($
0T
rZ)TT)5�__doc__r rRr�rTrr�r(�collectionsr�distutils.corerrr��iorr�rr�	sysconfigr�zipfiler	r
�
pkg_resourcesZpkginforZmacosx_libfiler
r�rZvendored.packagingrZ	wheelfilerr4rrr�email.generatorrrrJrMr�rr"r/rHrLrOrYrZrrrr�<module>sH
(