Ë
    »ÿæi2#  ã                  óø  — d Z ddlmZ ddlZddlZddlZddl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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&m'Z' ddl(m)Z) ddl*m+Z+  ejX                  e-«      Z. ej^                  dej`                  «      Z1e2e3e"   e3e"   f   Z4dd„Z5	 	 	 	 dd„Z6	 	 	 	 	 	 dd„Z7dd„Z8	 	 	 	 	 	 	 	 	 	 d d„Z9	 	 	 	 	 	 	 	 d!d„Z:	 	 	 	 	 	 	 	 d"d„Z;y)#z:Orchestrator for building wheels from InstallRequirements.é    )ÚannotationsN)ÚIterable)ÚTemporaryDirectory)Úcanonicalize_nameÚcanonicalize_version)ÚInvalidVersionÚVersion)Ú
WheelCache)ÚInvalidWheelFilenameÚUnsupportedWheel)ÚFilesystemWheelÚget_wheel_distribution)ÚLink)ÚWheel)Úbuild_wheel_pep517)Úbuild_wheel_editable)ÚInstallRequirement)Ú
indent_log)Ú
ensure_dirÚ	hash_file)Úpath_to_url)Úvcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)c                ó>   — 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)Úss    úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pip/_internal/wheel_builder.pyÚ_contains_egg_infor   "   s   € ô
 ”×#Ñ# AÓ&Ó'Ð'ó    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.
    FT)ÚeditableÚ
source_dirÚlinkÚis_vcsr   Úget_backend_for_schemeÚschemeÚis_immutable_rev_checkoutÚurlÚsplitextr   )ÚreqÚvcs_backendÚbaseÚexts       r   Ú_should_cacher/   *   s³   € ð ‡|‚|˜3Ÿ>š>àà
‡x‚x�C—H‘H—O’Oð —<’<ÐÐØ�~Š~Ðˆ~Ü×0Ñ0°·±·±ÓAˆÙÐˆ{Ø×0Ñ0°·±·±¸s¿~¹~ÔNØØà�8Š8€Oˆ8Ø—‘×!Ñ!Ó#�I€Dˆ#Ü˜$ÔØð r    c                óÖ   — 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_dirr$   r/   Úget_path_for_linkÚget_ephem_path_for_link)r+   Úwheel_cacheÚcache_availabler1   s       r   Ú_get_cache_dirr6   I   sa   € ô ˜;×0Ñ0Ó1€OØ�8Š8€Oˆ8Ùœ=¨Ô-Ø×1Ñ1°#·(±(Ó;ˆ	ð Ðð  ×7Ñ7¸¿¹ÓAˆ	ØÐr    c                óš  — t        | j                  xs d«      }t        t        j                  j                  |«      «      }|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+   Ú
wheel_pathÚcanonical_nameÚwÚdistÚdist_verstrÚmetadata_version_valuer?   Úmsgs	            r   Ú_verify_onerH   Y   sZ  € Ü& s§x¡x¢~°2Ó6€NÜŒb�g‰g×Ñ˜zÓ*Ó+€AØ‡v�v�ÒÜ"Ø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   Ã,D0 Ä0E
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Úwarningr9   Ú	build_envÚ_build_one_inside_envrH   r   r   )r+   Ú
output_dirÚverifyr"   ÚartifactÚerA   s          r   Ú
_build_onerT   v   sÄ   € ñ &‰z¨7€Hð	Ü�:Ôð 
�‹Ü*¨3°
¸HÓEˆ
÷ 
á‘fð	Ü˜˜ZÔ(ð Ðˆ:Ðøô% ò Ü�‰Ø+ØØ�H‰HØô		
ô ûðú÷ 
ˆûô
 %Ô&6Ð7ò 	Ü�N‰NÐ;¸XÀsÇxÁxÐQRÔSÜûð	ús9   ˆA
 ŸBºB Á
	A?Á"A:Á:A?ÂBÂC	Â"CÃC	c           	     ó4  — t        |¬«      5 }| j                  sJ ‚| j                  sJ ‚| j                  sJ ‚|r.t	        | j                  | j                  | j                  |¬«      }n-t        | 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 	 d d d «       y # t        $ r+}	t        j!                  d| j                  |	«       Y d }	~	Œ9d }	~	ww xY w# 1 sw Y   y xY w)N)Údir)r9   ÚbackendÚmetadata_directoryÚwheel_directoryz3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)r   r9   rX   Úpep517_backendr   r   r:   r;   r<   Újoinr   ÚreplacerL   ÚinfoÚ	hexdigestÚ	ExceptionrM   )
r+   rP   r"   rY   rA   Ú
wheel_nameÚ	dest_pathÚ
wheel_hashÚlengthrS   s
             r   rO   rO   ˜   sk  € ô
 
 
Õ	+¨Ø�xŠxˆˆxØ×%Ò%Ð%Ð%Ø×!Ò!Ð!Ð!ÙÜ-Ø—X‘XØ×*Ñ*Ø#&×#9Ñ#9Ø /ô	‰Jô ,Ø—X‘XØ×*Ñ*Ø#&×#9Ñ#9Ø /ô	ˆJð Ð!ÜŸ™×)Ñ)¨*Ó5ˆJÜŸ™Ÿ™ Z°Ó<ˆIðÜ%.¨zÓ%:Ñ"�
˜Fô
 —
‘
˜: yÔ1Ü—‘ØIØ—H‘HØØØ×(Ñ(Ó*ôô —‘Ð5°zÔBØ ÷K 
,Ñ	+ðX ÷Y 
,Ð	+øôL ò Ü—‘Ø6Ø—H‘HØ÷ñ ûðú÷M 
,Ð	+ús7   �C	FÃA,EÅFÅ	FÅ !FÆFÆFÆFÆFc           	     ó†  — | 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)N)r9   )Ú.0r+   s     r   Ú	<genexpr>zbuild.<locals>.<genexpr>Ü   s   è ø€ Ð3¡l˜s�#—(•(¡lùs   ‚NzSuccessfully built %sÚ zFailed to build %s)rL   r]   r[   r   r9   r6   rT   r"   Úpermit_editable_wheelsÚdownload_infoÚrecord_download_originr   r   r$   Ú	file_pathÚlocal_file_pathÚis_wheelÚappend)Úrequirementsr4   rQ   Úbuild_successesÚbuild_failuresr+   r1   Ú
wheel_files           r   Úbuildrt   Ì   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Õ*ñ-  ÷ 
ñ6 Ü�‰Ø#Ø�H‰H©/Ó:©/ 3�c—h“h¨/Ñ:Ó;ô	
ñ Ü�‰Ø Ø�H‰H©.Ó9©. 3�c—h“h¨.Ñ9Ó:ô	
ð
 ˜NÐ*Ð*÷M 
ˆüò< ;ùò
 :s   ½C%F-ÅF9ÆF>Æ-F6)r   r=   Úreturnr   )r+   r   ru   zbool | None)r+   r   r4   r
   ru   r=   )r+   r   rA   r=   ru   ÚNone)
r+   r   rP   r=   rQ   r   r"   r   ru   ú
str | None)r+   r   rP   r=   r"   r   ru   rw   )rp   zIterable[InstallRequirement]r4   r
   rQ   r   ru   ÚBuildResult)<Ú__doc__Ú
__future__r   ÚloggingÚos.pathr:   ÚreÚcollections.abcr   Útempfiler   Ú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.req.req_installr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Úpip._internal.utils.urlsr   Úpip._internal.vcsr   Ú	getLoggerÚ__name__rL   ÚcompileÚ
IGNORECASEr   ÚtupleÚlistrx   r   r/   r6   rH   rT   rO   rt   © r    r   Ú<module>r•      sM  ðÙ @å "ã Û Û 	Ý $Ý 'ç Oß Aå *ß Kß JÝ *Ý ,Ý CÝ NÝ <Ý 2ß :Ý 0Ý !à	ˆ×	Ñ	˜8Ó	$€àˆr�z‰zÐ;¸R¿]¹]ÓK€à�DÐ+Ñ,¨dÐ3EÑ.FÐFÑG€ó(ðØ	ðàóð>Ø	ðàðð 	óó 
ð:Ø	ðàðð ðð ð	ð
 óðD1Ø	ð1àð1ð ð1ð ó	1ðh9+Ø.ð9+àð9+ð ð9+ð ô	9+r    