ɣm/lGzdZddlmZddlZddlZddlZddlmZddl m Z ddl m Z m Z ddlmZmZddlmZdd lmZmZdd lmZmZdd lmZdd lmZdd lmZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&m'Z'ddl(m)Z)ddl*m+Z+ej,e-Z.ej/dej0Z1e2e3e"e3e"fZ4d.dZ5d/dZ6d0d Z7d1d#Z8d2d(Z9d3d)Z:d4d-Z;dS)5z:Orchestrator for building wheels from InstallRequirements.) annotationsN)Iterable)TemporaryDirectory)canonicalize_namecanonicalize_version)InvalidVersionVersion) WheelCache)InvalidWheelFilenameUnsupportedWheel)FilesystemWheelget_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_.!+-]+)sstrreturnboolcPtt|S)zjDetermine whether the string looks like an egg_info. :param s: The string to parse. E.g. foo-2.1 )r _egg_info_research)rs m/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pip/_internal/wheel_builder.py_contains_egg_infor!"s  ##A&& ' ''reqr bool | Nonecr|js|jsdS|jri|jjr]|jrJ|jsJt j|jj}|sJ||jj|jrdSdS|jsJ|j \}}t|rdSdS)z Return whether a built InstallRequirement can be stored in the persistent wheel cache, assuming the wheel cache is available. FT) editable source_dirlinkis_vcsrget_backend_for_schemeschemeis_immutable_rev_checkouturlsplitextr!)r# vcs_backendbaseexts r _should_cacher2*s |3>u x CHO <~~0AA {  0 0s~ N N 4u 8OO8!!##ID#$t 5r" wheel_cacher ct|j}|jsJ|r*t|r||j}n||j}|S)zdReturn the persistent or temporary cache directory where the built wheel need to be stored. )r cache_dirr(r2get_path_for_linkget_ephem_path_for_link)r#r3cache_availabler5s r _get_cache_dirr9Isj;011O 8OO8B=--B11#(;; 77AA r" wheel_pathNonect|jpd}ttj|}|j|krt d|d|jtt||}t|j }t|t|j krt d|d|j |j }|td t|}n"#t$rd|}t|wxYw|tdkr-t!|j tstd|ddSdS) Nz)Wheel has unexpected file name: expected z, got zMissing Metadata-VersionzInvalid Metadata-Version: z1.2z+Metadata 1.2 mandates PEP 440 version, but z is not)rnamerospathbasenamer rr rversionrmetadata_versionr r r isinstance) r#r:canonical_namewdist dist_verstrmetadata_version_valuerCmsgs r _verify_onerKYs&sx~266N bgz**++Av"   6      "/*"="=~ N NDdl##KK((,@,K,KKK" !  ! !9 ! !   "2%9:::$"#9:: $$$C+ACCs###$75>>))*T\72S2S) P+ P P P   *)))s 1DD  output_dirverifyr& str | Nonec|rdnd} t|n:#t$r-}td||j|Yd}~dSd}~wwxYw|j5t |||}dddn #1swxYwY|rU|rS t||nA#ttf$r-}td||j|Yd}~dSd}~wwxYw|S)zaBuild one wheel. :return: The filename of the built wheel, or None if the build failed. r&wheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s) rOSErrorloggerwarningr> build_env_build_one_inside_envrKr r )r#rLrMr&artifacter:s r _build_onerXvsx&2zz7H :  +  H    ttttt FF*3 HEE FFFFFFFFFFFFFFFf  Z ( ( ( ($&67    NN;XsxQR S S S44444  s> A"A  AA77A;>A;BC)"CCc t|5}|jsJ|jsJ|jsJ|r#t |j|j|j|}n"t |j|j|j|}|t j|}t j ||} t|\}}t j ||t d|j|||t d||cdddS#t$r+} td|j| Yd} ~ nd} ~ wwxYw ddddS#1swxYwYdS)N)dir)r>backendmetadata_directorywheel_directoryz3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)rr>r\pep517_backendrrr?r@rAjoinrreplacerRinfo hexdigest ExceptionrS) r#rLr&r]r: wheel_name dest_path wheel_hashlengthrWs r rUrUs0  + + +,xx%%%%!!!!  -X*# / JJ,X*# / J  !))*55J Z<.0r#s r zbuild..s$33s#(333333r"NzSuccessfully built %s cg|] }|j Srmrns r zbuild..s:::3ch:::r"zFailed to build %scg|] }|j Srsrmrns r rtzbuild..s9993ch999r")rRrar_rr>r9rXr&permit_editable_wheels download_inforecord_download_originrrr( file_pathlocal_file_pathis_wheelappend)rhr3rMbuild_successesbuild_failuresr#r5 wheel_files r buildrs+ 2v  KK4 33l33333 ++*,b + +C8OO8&sK88I# ;!; J  +$0 66y#BSTTT J 7 788&)h&8#x((((&&s++++%%c****- ++++++++++++++++6  # HH::/::: ; ;     HH99.999 : :   N **s CD**D.1D.)rrrr)r#rrr$)r#rr3r rr)r#rr:rrr;) r#rrLrrMrr&rrrN)r#rrLrr&rrrN)rhrir3r rMrrrj)<__doc__ __future__rloggingos.pathr?recollections.abcrtempfilerpip._vendor.packaging.utilsrrpip._vendor.packaging.versionrr pip._internal.cacher pip._internal.exceptionsr r pip._internal.metadatar rpip._internal.models.linkrpip._internal.models.wheelr$pip._internal.operations.build.wheelr-pip._internal.operations.build.wheel_editablerpip._internal.req.req_installrpip._internal.utils.loggingrpip._internal.utils.miscrrpip._internal.utils.urlsrpip._internal.vcsr getLogger__name__rRcompile IGNORECASErtuplelistrjr!r2r9rKrXrUrrsr"r rsQ@@"""""" $$$$$$''''''OOOOOOOOAAAAAAAA******KKKKKKKKJJJJJJJJ******,,,,,,CCCCCCNNNNNN<<<<<<222222::::::::000000!!!!!!  8 $ $rz;R]KK D+,d3E.FFG ((((>         :D1111h9+9+9+9+9+9+r"