Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/wheel/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/wheel/__pycache__/bdist_wheel.cpython-37.pyc

B

Dt�Z >�@sdZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZddlZdd	lmZmZmZmZdd
lmZmZddlmZddlmZdd
lm Z ddl!mZddl!m"Z#ej$Z$ej%Z%dZ&dd�Z'dd�Z(Gdd�de�Z)dS)zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
�N)�	Generator)�Command)�get_python_version)�log)�rmtree�)�
get_abbr_impl�get_impl_ver�get_abi_tag�get_platform)�native�open_for_csv)�archive_wheelfile)�write_pkg_info)�pkginfo_to_metadata)�
pep425tags)�__version__zcp3\dcCst|��dd�S)N�-�_)�	safe_name�replace)�name�r�B/opt/alt/python37/lib/python3.7/site-packages/wheel/bdist_wheel.py�
safer_name%srcCst|��dd�S)Nrr)�safe_versionr)�versionrrr�
safer_version)src@s�eZdZdZdddde�fdddd	d
ddd
dde�dfddgZddddgZdd�Zdd�Z	e
dd��Zdd�Zdd �Z
d!d"�Zd#ed$fd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�ZdS)/�bdist_wheelzcreate a wheel distribution)z
bdist-dir=�bz1temporary directory for creating the distributionz
plat-name=�pz;platform name to embed in generated filenames (default: %s))z	keep-temp�kzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=�dz-directory to put final built distributions in)z
skip-buildNz2skip rebuilding everything (for testing/debugging))�relativeNz6build the archive using relative paths(default: false))zowner=�uz@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)zpython-tag=Nz7Python implementation compatibility tag (default: py%s)r)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)z	keep-tempz
skip-buildr#r&cCs�d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_dt�d|_d|_d|_d|_dS)N�zipF�pyr)�	bdist_dir�data_dir�	plat_name�plat_tag�format�	keep_temp�dist_dir�distinfo_dir�egginfo_dir�root_is_pure�
skip_buildr#�owner�groupr&r	�
python_tag�build_number�py_limited_api�plat_name_supplied)�selfrrr�initialize_optionsWs&zbdist_wheel.initialize_optionscCs�|jdkr&|�d�j}tj�|d�|_|jd|_|jdk	|_	d}|j
dt||���|j�
�ph|j��|_|jr�t�t|j�s�tdt��|j�d�}d|kr�|dd��}|��dkr�d	|_|jdk	r�|jdd���s�td
��dS)N�bdist�wheelz.data)r/r+r3zpy-limited-api must match '%s'r&r)�1�true�yesTz1Build tag (build-number) must start with a digit.)r<)r)�get_finalized_command�
bdist_base�os�path�join�wheel_dist_namer*r+r9�set_undefined_optionsr'�distribution�has_ext_modules�has_c_librariesr2r8�re�match�PY_LIMITED_API_PATTERN�
ValueError�get_option_dict�strip�lowerr&r7�isdigit)r:rBZneed_optionsr=�valrrr�finalize_optionsls&

zbdist_wheel.finalize_optionscCs8t|j���t|j���f}|jr.||jf7}d�|�S)z4Return distribution full name with - replaced with _r)rrH�get_namer�get_versionr7rE)r:�
componentsrrrrF�s
zbdist_wheel.wheel_dist_namecCs|jr|j}n.|jrd}n"|jp$t�}|dkr<tjdkr<d}|�dd��dd�}|jrt|jrbd}n|j}|d	|f}n�t	�}t
�}||}|jr�||�d
�r�|j}d}nt
t����}|||f}tj|jr�|ndd�}|js�||d
ks�td||d
f��||k�std�|���|S)N�any)zlinux-x86_64Zlinux_x86_64i���Z
linux_i686rr�.zpy2.py3ZnoneZcp3Zabi3)Zsupplied_platformrz%s != %sz)would build wheel with unsupported tag {})r9r+r2r�sys�maxsizerr&r6rr	r8�
startswith�strr
rQrZ
get_supported�AssertionErrorr-)r:r+�impl�tagZ	impl_nameZimpl_ver�abi_tagZsupported_tagsrrr�get_tag�s6
 zbdist_wheel.get_tagcCs$|��\}}}d|j|||f}|S)z%Return archive name without extensionz%s-%s-%s-%s)rbrF)r:�impl_tagrar,�archive_basenamerrr�get_archive_basename�sz bdist_wheel.get_archive_basenamec
Cs|�d�}d|_|js |�d�|jddd�}|j|_d|_|j|_d|_|�d�}d|_x(d	D] }t	|d
|t
j�|j
|��q`Wd}t
jdkr�t
j�t
j�|j
d
��}||_|_t	||jr�dnd|�t�d|j�|�d�|��}t
j�|j|�}|j�s|j}nt
j�|j|�|j��}|�dd�t
j�|jd|j�|_|�|j|j�|�|j�|� |j|j�t
j�!|j��s�t
�"|j�t#||�}	dt
j$k�r�t%�&t
j$dd|	g�t'|j(dg��)dt*�|	f�|j+�st�d|j�|j,�st-|j�dS)N�
build_scripts�python�build�installT)�reinit_subcommandsF�install_scripts)�headers�scripts�data�purelib�platlib�install_��ntz..�install_purelib�install_platlibzinstalling to %s�install_egg_info)�targetr1z%s.dist-infoZ
WHEEL_TOOL�sign�
dist_filesrzremoving %s).�reinitialize_command�
executabler3�run_commandr)�root�compile�warn_dirZno_ep�setattrrCrDrEr*r�normpath�install_libbase�install_libr2�logger�inforer/r#�_ensure_relative�install_baserGrFr0�egg2distr1�write_wheelfile�write_record�exists�makedirsr�environ�
subprocess�call�getattrrH�appendrr.�dry_runr)
r:rfrirk�keyZbasedir_observedrdZpseudoinstall_rootZarchive_rootZ
wheel_namerrr�run�sf







zbdist_wheel.runz
bdist_wheel (�)c
	Cs�ddlm}|�}d|d<||d<t|j���|d<|jdk	rH|j|d<|��\}}}xN|�d�D]@}x:|�d�D],}	x&|�d�D]}
d	�||	|
f�|d
<q�WqrWqbWt	j
�|d�}t�d|�t
|d
��}t|dd��|�WdQRXdS)Nr)�Messagez1.0z
Wheel-VersionrzRoot-Is-Purelib�BuildrYrZTagZWHEELzcreating %s�w)�maxheaderlen)�
email.messager�r]r2rQr7rb�splitrErCrDr�r��openr�flatten)
r:Zwheelfile_base�	generatorr��msgrcrar,r_�abi�platZwheelfile_path�frrrr�s 

 zbdist_wheel.write_wheelfilecCs6tj�|�\}}|dd�tjkr2||dd�}|S)Nrr)rCrD�
splitdrive�sep)r:rD�driverrrr�,szbdist_wheel._ensure_relativecCs$|j�d�}d|krdS|ddS)zFReturn license filename from a license-file key in setup.cfg, or None.�metadata�license_fileNr)rHrO)r:r�rrrr�3szbdist_wheel.license_filec	CsPdd�}||�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
��}|����}
WdQRX|
�s||�ttj�|d�|
�|��}|�rDd}t�|tj�||��||�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)rCrDr��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?)zPKG-INFOcSsddddhS)NzPKG-INFOzrequires.txtzSOURCES.txtznot-zip-safer)�x�yrrr�<lambda>`sz&bdist_wheel.egg2dist.<locals>.<lambda>)�ignorezdependency_links.txt�r�METADATAzLICENSE.txt)rCrDr��globrE�dirname�basenamerN�isfiler�mkdirr��copytreer��readrPrr��copy)r:Zegginfo_pathZ
distinfo_pathr�r��pat�possible�errZaltZpkginfo_path�pkg_infoZdependency_links_pathZdependency_links_file�dependency_links�licenseZlicense_filenamerrrr�:s<



zbdist_wheel.egg2distcs ddlm}tj�|d�}tj�|����fdd�}�fdd�}t|d���}t�|�}x�|�D]�}	tj�|	��}
||
�r�d	}d	}nDt	|	d
��}
|
�
�}WdQRXt�|��
�}dt||��}t|�}tj�|	���tjjd�}t|t�r�|�t����d
�}|�|||f�q^WWdQRXdS)Nr)�urlsafe_b64encodeZRECORDc3sHxBt���D]4\}}}|��x t|�D]}tj�||�Vq(WqWdS)N)rC�walk�sort�sortedrDrE)�dir�dirs�filesr�)r)rrr�{sz&bdist_wheel.write_record.<locals>.walkcs|�kS)z!Wheel hashes every possible file.r)rD)�record_relpathrr�skip�sz&bdist_wheel.write_record.<locals>.skipzw+rr�rbzsha256=�/zutf-8)�utilr�rCrDrE�relpathr
�csv�writerr�r��hashlib�sha256�digestr�lenrr��
isinstance�bytes�decoderZ�getfilesystemencoding�encodeZwriterow)r:r)r0r�Zrecord_pathr�r�Zrecord_filer�rDr��hash�sizer�rnr�r)r)r�rr�us*

zbdist_wheel.write_record)�__name__�
__module__�__qualname__�descriptionrr	�user_options�boolean_optionsr;rT�propertyrFrbrer��
wheel_versionr�r�r�r�r�rrrrr-s:	&R;r)*�__doc__r�r�rCr�r�rZrK�email.generatorr�distutils.corer�distutils.sysconfigr�	distutilsrr�r�
pkg_resourcesrrr	r
rr�rr
�archiverZpkginforr�rrrrr�rrrMrrrrrrr�<module>s4