Ë
    äØjjL  ã                   óö   — 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 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
lmZmZ d dlmZmZ d dlmZ d dlmZmZ  e j>                  e «      Z! G d„ de«      Z"y)é    N)ÚValues)ÚList)Ú
WheelCache)Ú
cmdoptions)ÚRequirementCommandÚwith_cleanup)ÚSUCCESS)ÚCommandError)Úget_build_tracker)ÚInstallRequirementÚcheck_legacy_setup_py_options)Ú
ensure_dirÚnormalize_path)ÚTempDirectory)ÚbuildÚshould_build_for_wheel_commandc                   ó@   — e Zd ZdZdZd	d„Zededee	   de
fd„«       Zy)
ÚWheelCommanda‘  
    Build Wheel archives for your requirements and dependencies.

    Wheel is a built-package format, and offers the advantage of not
    recompiling your software during every install. For more details, see the
    wheel docs: https://wheel.readthedocs.io/en/latest/

    'pip wheel' uses the build system interface as described here:
    https://pip.pypa.io/en/stable/reference/build-system/

    zõ
      %prog [options] <requirement specifier> ...
      %prog [options] -r <requirements file> ...
      %prog [options] [-e] <vcs project url> ...
      %prog [options] [-e] <local project path> ...
      %prog [options] <archive url/path> ...ÚreturnNc                 ó  — | j                   j                  ddddt        j                  d¬«       | j                   j                  t	        j
                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                  «       «       | j                   j                  t	        j                   «       «       | j                   j                  t	        j"                  «       «       | j                   j                  t	        j$                  «       «       | j                   j                  ddd	d
d¬«       | j                   j                  t	        j&                  «       «       | j                   j                  t	        j(                  «       «       | j                   j                  t	        j*                  «       «       | j                   j                  dd	d
d¬«       | j                   j                  t	        j,                  «       «       t	        j.                  t        j0                  | j2                  «      }| j2                  j5                  d|«       | j2                  j5                  d| j                   «       y )Nz-wz--wheel-dirÚ	wheel_dirÚdirzLBuild wheels into <dir>, where the default is the current working directory.)ÚdestÚmetavarÚdefaultÚhelpz--no-verifyÚ	no_verifyÚ
store_trueFz%Don't verify if built wheel is valid.)r   Úactionr   r   z--prezYInclude pre-release and development versions. By default, pip only finds stable versions.)r   r   r   r   )Úcmd_optsÚ
add_optionÚosÚcurdirr   Ú	no_binaryÚonly_binaryÚprefer_binaryÚno_build_isolationÚ
use_pep517Úno_use_pep517Úcheck_build_depsÚconstraintsÚeditableÚrequirementsÚsrcÚignore_requires_pythonÚno_depsÚprogress_barÚconfig_settingsÚbuild_optionsÚglobal_optionsÚrequire_hashesÚmake_option_groupÚindex_groupÚparserÚinsert_option_group)ÚselfÚ
index_optss     ú^/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_internal/commands/wheel.pyÚadd_optionszWheelCommand.add_options,   s´  € Ø�‰× Ñ ØØØØÜ—I‘Ið-ð 	!ô 
	
ð 	�‰× Ñ ¤×!5Ñ!5Ó!7Ô8Ø�‰× Ñ ¤×!7Ñ!7Ó!9Ô:Ø�‰× Ñ ¤×!9Ñ!9Ó!;Ô<Ø�‰× Ñ ¤×!>Ñ!>Ó!@ÔAØ�‰× Ñ ¤×!6Ñ!6Ó!8Ô9Ø�‰× Ñ ¤×!9Ñ!9Ó!;Ô<Ø�‰× Ñ ¤×!<Ñ!<Ó!>Ô?Ø�‰× Ñ ¤×!7Ñ!7Ó!9Ô:Ø�‰× Ñ ¤×!4Ñ!4Ó!6Ô7Ø�‰× Ñ ¤×!8Ñ!8Ó!:Ô;Ø�‰× Ñ ¤§¡Ó!1Ô2Ø�‰× Ñ ¤×!BÑ!BÓ!DÔEØ�‰× Ñ ¤×!3Ñ!3Ó!5Ô6Ø�‰× Ñ ¤×!8Ñ!8Ó!:Ô;à�‰× Ñ ØØØØØ8ð 	!ô 	
ð 	�‰× Ñ ¤×!;Ñ!;Ó!=Ô>Ø�‰× Ñ ¤×!9Ñ!9Ó!;Ô<Ø�‰× Ñ ¤×!:Ñ!:Ó!<Ô=à�‰× Ñ ØØØð2ð 	!ô 	
ð 	�‰× Ñ ¤×!:Ñ!:Ó!<Ô=ä×1Ñ1Ü×"Ñ"Ø�K‰Kó
ˆ
ð
 	�‰×'Ñ'¨¨:Ô6Ø�‰×'Ñ'¨¨4¯=©=Õ9ó    ÚoptionsÚargsc           
      ó   — | j                  |«      }| j                  ||«      }t        |j                  «      |_        t	        |j                  «       | j                  t        «       «      }t        |j                   dd¬«      }| j                  ||||«      }t        ||«       t        |j                  «      }| j                  ||||||j                  d| j                  ¬«      }	| j                  |	||||j                   |j"                  ¬«      }
| j%                  |«       |
j'                  |d¬«      }g }|j(                  j+                  «       D ]=  }|j,                  r|	j/                  |«       Œ!t1        |«      sŒ-|j3                  |«       Œ? |	j5                  |j(                  j+                  «       «       |j7                  «        t9        |||j:                   |j<                  xs g |j>                  xs g ¬«      \  }}|D ]_  }|j@                  r|j@                  j,                  sJ ‚|jB                  sJ ‚	 tE        jF                  |jB                  |j                  «       Œa tQ        |«      d
k7  rtS        d«      ‚tT        S # tH        $ r<}tJ        jM                  d	|jN                  |«       |j3                  |«       Y d }~ŒÁd }~ww xY w)NÚwheelT)ÚdeleteÚkindÚglobally_managedF)Útemp_build_dirr?   Úbuild_trackerÚsessionÚfinderÚdownload_dirÚuse_user_siteÚ	verbosity)ÚpreparerrI   r?   Úwheel_cacher/   r(   )Úcheck_supported_wheels)rN   Úverifyr3   r4   z Building wheel for %s failed: %sr   z"Failed to build one or more wheels)+Úget_default_sessionÚ_build_package_finderr   r   r   Úenter_contextr   r   Úno_cleanÚget_requirementsr   r   Ú	cache_dirÚmake_requirement_preparerrL   Úmake_resolverr/   r(   Útrace_basic_infoÚresolver-   ÚvaluesÚis_wheelÚsave_linked_requirementr   ÚappendÚ prepare_linked_requirements_moreÚ#warn_legacy_versions_and_specifiersr   r   r3   r4   ÚlinkÚlocal_file_pathÚshutilÚcopyÚOSErrorÚloggerÚwarningÚnameÚlenr
   r	   )r:   r?   r@   rH   rI   rG   Ú	directoryÚreqsrN   rM   ÚresolverÚrequirement_setÚreqs_to_buildÚreqÚbuild_successesÚbuild_failuresÚes                    r<   ÚrunzWheelCommand.rung   s¦  € à×*Ñ*¨7Ó3ˆà×+Ñ+¨G°WÓ=ˆä*¨7×+<Ñ+<Ó=ˆÔÜ�7×$Ñ$Ô%à×*Ñ*Ô+<Ó+>Ó?ˆä!Ø×'Ñ'Ð'ØØ!ô
ˆ	ð ×$Ñ$ T¨7°F¸GÓDˆÜ% g¨tÔ4ä  ×!2Ñ!2Ó3ˆà×1Ñ1Ø$ØØ'ØØØ ×*Ñ*ØØ—n‘nð 2ó 	
ˆð ×%Ñ%ØØØØ#Ø#*×#AÑ#AØ×)Ñ)ð &ó 
ˆð 	×Ñ˜fÔ%à"×*Ñ*¨4ÈÐ*ÓMˆà24ˆØ"×/Ñ/×6Ñ6Ó8ò 	*ˆCØ�|Š|Ø×0Ñ0°Õ5Ü/°Õ4Ø×$Ñ$ SÕ)ð		*ð 	×1Ñ1°/×2NÑ2N×2UÑ2UÓ2WÔXØ×;Ñ;Ô=ô +0ØØ#Ø×)Ñ)Ð)Ø!×/Ñ/Ò5°2Ø"×1Ñ1Ò7°Rô+
Ñ'ˆ˜ð #ò 	+ˆCØ—8’8 §¡× 1Ò 1Ð1Ð1Ø×&Ò&Ð&Ð&ð+Ü—‘˜C×/Ñ/°×1BÑ1BÕCð	+ô ˆ~Ó !Ò#ÜÐCÓDÐDäˆøô ò +Ü—‘Ø6Ø—H‘HØôð
 ×%Ñ% c×*Ñ*ûð+ús   È=*JÊ	KÊ2KËK)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úusager=   r   r   r   ÚstrÚintrs   © r>   r<   r   r      sF   „ ñ
ð0€Eó9:ðv ðO˜6ð O¨¨c©ð O°sò Oó ñOr>   r   )#Úloggingr"   rc   Úoptparser   Útypingr   Úpip._internal.cacher   Úpip._internal.clir   Úpip._internal.cli.req_commandr   r   Úpip._internal.cli.status_codesr	   Úpip._internal.exceptionsr
   Ú,pip._internal.operations.build.build_trackerr   Úpip._internal.req.req_installr   r   Úpip._internal.utils.miscr   r   Úpip._internal.utils.temp_dirr   Úpip._internal.wheel_builderr   r   Ú	getLoggerrt   rf   r   r{   r>   r<   ú<module>rŠ      sX   ðÛ Û 	Û Ý Ý å *Ý (ß JÝ 2Ý 1Ý J÷÷ @Ý 6ß Mà	ˆ×	Ñ	˜8Ó	$€ô_Ð%õ _r>   