Ë
    ��hÌ+  ã                   óÆ  — d Z ddlZddlZddlZddlZddlmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZ ddlmZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3  ejh                  e5«      Z6 ejn                  dejp                  «      Z9e
ee$   ee$   f   Z:de;de<fd„Z=de$de<fd„Z>de$de<fd„Z?de$de	e<   fd„Z@de$dede;fd„ZAde$d e;ddfd!„ZBde$d"e;d#e<d$ee;   d%ee;   d&e<de	e;   fd'„ZCde$d"e;d$ee;   d%ee;   d&e<de	e;   fd(„ZDde$d%ee;   de<fd)„ZEd*ee$   ded#e<d$ee;   d%ee;   de:fd+„ZFy),z:Orchestrator for building wheels from InstallRequirements.é    N)ÚIterableÚListÚOptionalÚTuple)Úcanonicalize_nameÚcanonicalize_version)ÚInvalidVersionÚVersion)Ú
WheelCache)ÚInvalidWheelFilenameÚUnsupportedWheel)ÚFilesystemWheelÚget_wheel_distribution)ÚLink)ÚWheel)Úbuild_wheel_pep517)Úbuild_wheel_editable)Úbuild_wheel_legacy)ÚInstallRequirement)Ú
indent_log)Ú
ensure_dirÚ	hash_file)Úmake_setuptools_clean_args)Úcall_subprocess)ÚTempDirectory)Úpath_to_url)Úvcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)ÚsÚreturnc                 ó>   — t        t        j                  | «      «      S )zjDetermine whether the string looks like an egg_info.

    :param s: The string to parse. E.g. foo-2.1
    )ÚboolÚ_egg_info_reÚsearch)r   s    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/wheel_builder.pyÚ_contains_egg_infor%   $   s   € ô
 ”×#Ñ# AÓ&Ó'Ð'ó    Úreqc                 ó†   — | j                   rJ ‚| j                  ry| j                  sJ ‚| j                  r| j                  S y)zBReturn whether an InstallRequirement should be built into a wheel.FT)Ú
constraintÚis_wheelÚ
source_dirÚeditableÚsupports_pyproject_editable©r'   s    r$   Ú_should_buildr/   ,   s=   € ð �~Š~ÐÐà
‡|‚|Øà�>Š>Ðˆ>à
‡|‚|à×.Ñ.Ð.àr&   c                 ó   — t        | «      S ©N)r/   r.   s    r$   Ú should_build_for_install_commandr2   >   s   € ô ˜ÓÐr&   c                 óÞ  — | j                   s| j                  sy| j                  r‘| j                  j                  r{| j                   rJ ‚| j                  sJ ‚t	        j
                  | j                  j                  «      }|sJ ‚|j                  | j                  j                  | j                  «      ryy| j                  sJ ‚| j                  j                  «       \  }}t        |«      ryy)zÍ
    Return whether a built InstallRequirement can be stored in the persistent
    wheel cache, assuming the wheel cache is available, and _should_build()
    has determined a wheel needs to be built.
    FT)r,   r+   ÚlinkÚis_vcsr   Úget_backend_for_schemeÚschemeÚis_immutable_rev_checkoutÚurlÚsplitextr%   )r'   Úvcs_backendÚbaseÚexts       r$   Ú_should_cacher>   D   s³   € ð ‡|‚|˜3Ÿ>š>àà
‡x‚x�C—H‘H—O’Oð —<’<ÐÐØ�~Š~Ðˆ~Ü×0Ñ0°·±·±ÓAˆÙÐˆ{Ø×0Ñ0°·±·±¸s¿~¹~ÔNØØà�8Š8€Oˆ8Ø—‘×!Ñ!Ó#�I€Dˆ#Ü˜$ÔØð r&   Úwheel_cachec                 óÖ   — t        |j                  «      }| j                  sJ ‚|r(t        | «      r|j	                  | j                  «      }|S |j                  | j                  «      }|S )zdReturn the persistent or temporary cache directory where the built
    wheel need to be stored.
    )r!   Ú	cache_dirr4   r>   Úget_path_for_linkÚget_ephem_path_for_link)r'   r?   Úcache_availablerA   s       r$   Ú_get_cache_dirrE   d   sa   € ô ˜;×0Ñ0Ó1€OØ�8Š8€Oˆ8Ùœ=¨Ô-Ø×1Ñ1°#·(±(Ó;ˆ	ð Ðð  ×7Ñ7¸¿¹ÓAˆ	ØÐr&   Ú
wheel_pathc                 ó¬  — t        | j                  xs d«      }t        t        j                  j                  |«      «      }t        |j                  «      |k7  rt        d|›d|j                  ›�«      ‚t        t        |«      |«      }t        |j                  «      }t        |«      t        |j                  «      k7  rt        d|›d|j                  ›�«      ‚|j                  }|€t        d«      ‚	 t        |«      }|t        d«      k\  r*t!        |j                  t        «      st        d|›d�«      ‚y y # t        $ r d|› �}t        |«      ‚w xY w)	NÚ z)Wheel has unexpected file name: expected z, got zMissing Metadata-VersionzInvalid Metadata-Version: z1.2z+Metadata 1.2 mandates PEP 440 version, but z is not)r   Únamer   ÚosÚpathÚbasenamer   r   r   ÚstrÚversionr   Úmetadata_versionr   r
   r	   Ú
isinstance)	r'   rF   Úcanonical_nameÚwÚdistÚdist_verstrÚmetadata_version_valuerO   Úmsgs	            r$   Ú_verify_onerW   t   s_  € Ü& s§x¡x¢~°2Ó6€NÜŒb�g‰g×Ñ˜zÓ*Ó+€AÜ˜Ÿ™Ó  NÒ2Ü"Ø7¸Ð7Ið JØ—6‘6�*ðó
ð 	
ô "¤/°*Ó"=¸~ÓN€DÜ�d—l‘lÓ#€KÜ˜KÓ(Ô,@ÀÇÁÓ,KÒKÜ"Ø7¸°ð GØ—9‘9�-ð!ó
ð 	
ð "×2Ñ2ÐØÐ%ÜÐ9Ó:Ð:ð$Ü"Ð#9Ó:Ðð œ7 5›>Ò)´*¸T¿\¹\Ì7Ô2SÜØ9¸+¸ÈÐPó
ð 	
ð 3TÐ)øô ò $Ø*Ð+AÐ*BÐCˆÜ˜sÓ#Ð#ð$ús   Ã5D9 Ä9EÚ
output_dirÚverifyÚbuild_optionsÚglobal_optionsr,   c                 óœ  — |rdnd}	 t        |«       | j
                  5  t        | ||||«      }ddd«       r|r	 t        | |«       |S |S # t        $ r,}t        j                  d|| j                  |«       Y d}~yd}~ww xY w# 1 sw Y   ŒVxY w# t        t        f$ r,}t        j                  d|| j                  |«       Y d}~yd}~ww xY w)zaBuild one wheel.

    :return: The filename of the built wheel, or None if the build failed.
    r,   ÚwheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s)
r   ÚOSErrorÚloggerÚwarningrI   Ú	build_envÚ_build_one_inside_envrW   r   r   )	r'   rX   rY   rZ   r[   r,   ÚartifactÚerF   s	            r$   Ú
_build_onere   ‘   sÕ   € ñ &‰z¨7€Hð	Ü�:Ôð 
�‰ñ 
Ü*Ø�˜]¨N¸Hó
ˆ
÷
ñ ‘fð	Ü˜˜ZÔ(ð Ðˆ:Ðøô) ò Ü�‰Ø+ØØ�H‰HØô		
ô ûðú÷
ð 
ûô %Ô&6Ð7ò 	Ü�N‰NÐ;¸XÀsÇxÁxÐQRÔSÜûð	ús9   ˆA ŸB¼B Á	BÁ"A<Á<BÂBÂCÂ"CÃCc           	      ó   — t        d¬«      5 }| j                  sJ ‚| j                  rÒ| j                  sJ ‚| j                  sJ ‚|r t
        j                  d| j                  «       |r t
        j                  d| j                  «       |r8t        | j                  | j                  | j                  |j                  ¬«      }nqt        | j                  | j                  | j                  |j                  ¬«      }n9t        | j                  | j                  | j                  |||j                  ¬«      }|�¶t        j                  j                  |«      }t        j                  j                  ||«      }	 t!        |«      \  }	}
t#        j$                  ||«       t
        j'                  d| j                  ||
|	j)                  «       «       t
        j'                  d|«       |cd d d «       S | j                  st-        | |«       	 d d d «       y # t*        $ r+}t
        j                  d	| j                  |«       Y d }~ŒQd }~ww xY w# 1 sw Y   y xY w)
Nr]   )Úkindz7Ignoring --global-option when building %s using PEP 517z6Ignoring --build-option when building %s using PEP 517)rI   ÚbackendÚmetadata_directoryÚtempd)rI   Úsetup_py_pathr+   r[   rZ   rj   z3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)r   rI   Ú
use_pep517ri   Úpep517_backendr_   r`   r   rK   r   r   rk   Úunpacked_source_directoryrJ   rL   Újoinr   ÚshutilÚmoveÚinfoÚ	hexdigestÚ	ExceptionÚ_clean_one_legacy)r'   rX   rZ   r[   r,   Útemp_dirrF   Ú
wheel_nameÚ	dest_pathÚ
wheel_hashÚlengthrd   s               r$   rb   rb   ·   sú  € ô 
˜GÔ	$ð =¨Ø�xŠxˆˆxØ�>Š>Ø×)Ò)Ð)Ð)Ø×%Ò%Ð%Ð%ÙÜ—‘ØMÈsÏxÉxôñ Ü—‘ØLÈcÏhÉhôñ Ü1ØŸ™Ø×.Ñ.Ø'*×'=Ñ'=Ø"Ÿ-™-ô	‘
ô 0ØŸ™Ø×.Ñ.Ø'*×'=Ñ'=Ø"Ÿ-™-ô	‘
ô ,Ø—X‘XØ!×/Ñ/Ø×8Ñ8Ø-Ø+Ø—m‘môˆJð Ð!ÜŸ™×)Ñ)¨*Ó5ˆJÜŸ™Ÿ™ Z°Ó<ˆIðÜ%.¨zÓ%:Ñ"�
˜FÜ—‘˜J¨	Ô2Ü—‘ØIØ—H‘HØØØ×(Ñ(Ó*ôô —‘Ð5°zÔBØ ÷g=ñ =ðv �~Š~Ü˜c >Ô2Ø÷{=ð =øôh ò Ü—‘Ø6Ø—H‘HØ÷ñ ûðú÷i=ð =ús7   �E'IÅ5A,HÇ+IÈ	IÈ!H<È7IÈ<IÉIÉIc                 ó  — t        | j                  |¬«      }t        j                  d| j                  «       	 t        |d| j                  ¬«       y# t        $ r# t        j                  d| j                  «       Y yw xY w)N)r[   zRunning setup.py clean for %szpython setup.py clean)Úcommand_descÚcwdTz Failed cleaning build dir for %sF)	r   rk   r_   rr   rI   r   r+   rt   Úerror)r'   r[   Ú
clean_argss      r$   ru   ru   þ   sp   € Ü+Ø×ÑØ%ô€Jô
 ‡K�KÐ/°·±Ô:ðÜØÐ%<À#Ç.Á.õ	
ð øÜò Ü�‰Ð7¸¿¹ÔBÙðús   ¹A Á)A>Á=A>Úrequirementsc                 óŠ  — | sg g fS t         j                  ddj                  d„ | D «       «      «       t        «       5  g g }}| D ]Ý  }|j                  sJ ‚t        ||«      }t        ||||||j                  xr |j                  «      }	|	r†|j                  �|j                  ||j                  «       t        t        |	«      «      |_        |j                  j                  |_        |j                  j                   sJ ‚|j#                  |«       ŒÍ|j#                  |«       Œß 	 ddd«       r=t         j                  ddj                  |D �cg c]  }|j                  ‘Œ c}«      «       r=t         j                  ddj                  |D �cg c]  }|j                  ‘Œ c}«      «       ||fS # 1 sw Y   Œ‹xY wc c}w c c}w )z˜Build wheels.

    :return: The list of InstallRequirement that succeeded to build and
        the list of InstallRequirement that failed to build.
    z*Building wheels for collected packages: %sz, c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr1   )rI   )Ú.0r'   s     r$   ú	<genexpr>zbuild.<locals>.<genexpr>!  s   è ø€ Ò3˜s�#—(•(Ñ3ùs   ‚NzSuccessfully built %sú zFailed to build %s)r_   rr   ro   r   rI   rE   re   r,   Úpermit_editable_wheelsÚdownload_infoÚrecord_download_originr   r   r4   Ú	file_pathÚlocal_file_pathr*   Úappend)
r€   r?   rY   rZ   r[   Úbuild_successesÚbuild_failuresr'   rA   Ú
wheel_files
             r$   Úbuildr�     sš  € ñ Ø�2ˆvˆô ‡K�KØ4Ø�	‰	Ñ3 lÔ3Ó3ôô
 
‹ñ +Ø*,¨b˜ˆØò 	+ˆCØ—8’8ˆO�8Ü& s¨KÓ8ˆIÜ#ØØØØØØ—‘Ò; ×!;Ñ!;óˆJñ à×$Ñ$Ð0ð  ×6Ñ6°yÀ#×BSÑBSÔTä¤¨JÓ 7Ó8�”Ø&)§h¡h×&8Ñ&8�Ô#Ø—x‘x×(Ò(Ð(Ð(Ø×&Ñ& sÕ+à×%Ñ% cÕ*ñ1	+÷+ñ: Ü�‰Ø#Ø�H‰H¨/Ö: 3�c—h“hÒ:Ó;ô	
ñ Ü�‰Ø Ø�H‰H¨.Ö9 3�c—h“hÒ9Ó:ô	
ð
 ˜NÐ*Ð*÷Q+ð +üò@ ;ùò
 :s   ½C'F/ÅF;ÆG Æ/F8)GÚ__doc__ÚloggingÚos.pathrJ   Úrerp   Útypingr   r   r   r   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr	   r
   Úpip._internal.cacher   Úpip._internal.exceptionsr   r   Úpip._internal.metadatar   r   Úpip._internal.models.linkr   Úpip._internal.models.wheelr   Ú$pip._internal.operations.build.wheelr   Ú-pip._internal.operations.build.wheel_editabler   Ú+pip._internal.operations.build.wheel_legacyr   Úpip._internal.req.req_installr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Ú$pip._internal.utils.setuptools_buildr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   Úpip._internal.utils.urlsr   Úpip._internal.vcsr   Ú	getLoggerÚ__name__r_   ÚcompileÚ
IGNORECASEr"   ÚBuildResultrM   r!   r%   r/   r2   r>   rE   rW   re   rb   ru   r�   © r&   r$   ú<module>r­      s4  ðÙ @ã Û Û 	Û ß 2Ó 2ç Oß Aå *ß Kß JÝ *Ý ,Ý CÝ NÝ JÝ <Ý 2ß :Ý KÝ :Ý 6Ý 0Ý !à	ˆ×	Ñ	˜8Ó	$€àˆr�z‰zÐ;¸R¿]¹]ÓK€à�DÐ+Ñ,¨dÐ3EÑ.FÐFÑG€ð(˜#ð ( $ó (ðØ	ðà	óð$Ø	ðà	óðØ	ðàˆd�^óð@Ø	ðàðð 	óð 
Ð'ð 
°Sð 
¸Tó 
ð:#Ø	ð#àð#ð ð#ð ˜‘9ð	#ð
 ˜‘Ið#ð ð#ð ˆc�]ó#ðLDØ	ðDàðDð ˜‘9ðDð ˜‘Ið	Dð
 ðDð ˆc�]óDðNÐ-ð ¸tÀC¹yð ÈTó ð"=+ØÐ-Ñ.ð=+àð=+ð ð=+ð ˜‘9ð	=+ð
 ˜‘Ið=+ð ô=+r&   