+
     h_  c                   s    ^ RI t ^ RIHtHtHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ]'       d   ^ RIHt ] P&                  ! ]4      t ! R	 R
]
4      tR# )i    N)TYPE_CHECKINGIterableOptionalSetTuple)BuildEnvironment)AbstractDistribution)InstallationErrorBaseDistribution)runner_with_spinner_message)PackageFinderc                   s   a  ] tR t^t o Rt]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR	 lt	V 3R
 lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )SourceDistributionzRepresents a source distribution.

The preparation step for these needs metadata for the packages to be
generated, either using PEP 517 or using the legacy `setup.py egg_info`.
c                0   < V ^8  d   QhRS[ S[,          /#    return)r   strformat__classdict__   "F/usr/lib/python3.14/site-packages/pip/_internal/distributions/sdist.py__annotate__SourceDistribution.__annotate__   s     2 2(3- 2    c                s~    V P                   P                  '       g   Q hV P                   P                  P                  # )z/Identify this requirement uniquely by its link.)reqZlinkZurl_without_fragmentself   &r   build_tracker_idZ#SourceDistribution.build_tracker_id   s*     xx}}}}xx}}111r   c                s    < V ^8  d   QhRS[ /# r   r   r   r   r   r   r      s     # #+; #r   c                s6    V P                   P                  4       # )N)r   Zget_distr   r   r   get_metadata_distributionZ,SourceDistribution.get_metadata_distribution   s    xx  ""r   c                s.   < V ^8  d   QhRRRS[ RS[ RR/# )r   finderr   build_isolationcheck_build_depsr   N)Zboolr   r   r   r   r       s3     %$ %$%$ %$ 	%$
 
%$r   c                sr   V P                   P                  4        V P                   P                  ;'       d    TpV'       d=   V P                  V4       V P                   P	                  4        V P                  V4       V P                   P                  ;'       d    TpV'       dw   V P                   P                  pVf   Q hV P                   P                  P                  V4      w  rxV'       d   V P                  RV4       V'       d   V P                  V4       V P                   P                  4        R # )Nthe backend dependencies)r   Zload_pyproject_tomlZ
use_pep517_prepare_build_backendZisolated_editable_sanity_check_install_build_reqspyproject_requires	build_envcheck_requirements_raise_conflicts_raise_missing_reqsZprepare_metadata)	r   r    r!   r"   Zshould_isolateZshould_check_depsr&   conflictingmissings	   &&&&     r   prepare_distribution_metadataZ0SourceDistribution.prepare_distribution_metadata    s     	$$& ,,@@ ''/ HH335$$V, HH//DD4D!%!<!<%111#'88#5#5#H#H"$ K %%&@+N((1!!#r   c                "   < V ^8  d   QhRRRR/# r   r    r   r   N r   r   r   r   r   G   s      _  r   c                s6   V P                   P                  pVf   Q h\        4       V P                   n        V P                   P                  P	                  WRRR7       V P                   P                  P                  V P                   P                  4      w  r4V'       d   V P                  RV4       V'       d_   \        P                  RV P                   4       \        P                  RRP                  \        \        \        V4      4      4      4       R # R # )NZoverlayzbuild dependenciesZkindz"PEP 517/518 supported requirementsz4Missing build requirements in pyproject.toml for %s.z`The project does not specify a build backend, and pip cannot fall back to setuptools without %s.z and )r   r&   r   r'   install_requirementsr(   Zrequirements_to_checkr)   loggerZwarningjoinmapreprsorted)r   r    r&   r+   r,      &&   r   r$   Z)SourceDistribution._prepare_build_backendG   s     "XX88!----///	8L 	0 	
  $xx11DDHH** 
 !!"FTNNF NNASvg78 r   c                r   r   r   r   r   r   r   r   r   a   s     > >8C= >r   c           	     n   V P                   P                  ;_uu_ 4        \        R 4      pV P                   P                  pVf   Q hVP	                  V4      ;_uu_ 4        VP                  4       uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)z#Getting requirements to build wheelN)r   r'   r
   pep517_backendsubprocess_runnerZget_requires_for_build_wheelr   ZrunnerZbackend   &  r   _get_build_requires_wheelZ,SourceDistribution._get_build_requires_wheela   s    XX01VWFhh--G&&&**622;;= 32	   322	  $   AB# B	0
B#BB##B4	c                r   r   r9   r   r   r   r   r   i   s     A Ahsm Ar   c           	     r:   )z&Getting requirements to build editableN)r   r'   r
   r;   r<   Zget_requires_for_build_editabler=   r>   r   _get_build_requires_editableZ/SourceDistribution._get_build_requires_editablei   s    XX08F hh--G&&&**622>>@ 32   322  r@   c                r.   r/   r0   r   r   r   r   r   s   s     
 
/ 
d 
r   c                s   V P                   P                  '       dJ   V P                   P                  '       d.   V P                   P                  '       d   V P	                  4       pMV P                  4       pV P                   P                  P                  V4      w  r4V'       d   V P                  R V4       V P                   P                  P                  WRRR7       R# )r#   Znormalzbackend dependenciesr1   N)
r   ZeditableZpermit_editable_wheelsZsupports_pyproject_editablerA   r?   r'   r(   r)   r2   )r   r    Z
build_reqsr+   r,   r8   r   r%   Z&SourceDistribution._install_build_reqss   s    
 HH///444::<J779J#xx11DDZP!!"<kJ//X,B 	0 	
r   c                sP   < V ^8  d   QhRS[ RS[S[S[ S[ 3,          ,          RR/# )r   conflicting_withconflicting_reqsr   N)r   r   r   r   r   r   r   r      s2     / / #/7:5c?7K/	/r   c           
     s    R pVP                  V P                  VRP                  R \        V4       4       4      R7      p\	        V4      h)zZSome build dependencies for {requirement} conflict with {conflicting_with}: {description}., c              3   s4   "   T F  w  rV R V 2x  K  	  R# 5i)z is incompatible with Nr0   )Z.0Z	installedZwantedr>   r   Z	<genexpr>Z6SourceDistribution._raise_conflicts.<locals>.<genexpr>   s&      ")A%I +3F8<)As   )requirementrB   Zdescription)r   r   r4   r7   r   )r   rB   rC   format_stringerror_messages   &&&  r   r)   Z#SourceDistribution._raise_conflicts   sY    ? 	 &,,-		 ")/0@)A"  - 
  ..r   c                s4   < V ^8  d   QhRS[ S[,          RR/# )r   r,   r   N)r   r   r   r   r   r   r      s     / /3s8 / /r   c                s    R pVP                  V P                  RP                  \        \        \        V4      4      4      R7      p\        V4      h)zASome build dependencies for {requirement} are missing: {missing}.rD   )rE   r,   )r   r   r4   r5   r6   r7   r   )r   r,   rF   rG   s   &&  r   r*   Z&SourceDistribution._raise_missing_reqs   sK    O 	 &,,$))CfWo4N*O - 
  ..r   r0   N)__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Zpropertyr   r   r-   r$   r?   rA   r%   r)   r*   Z__static_attributes__Z__classdictcell__)r   s   @r   r   r      sq      2 2
# #%$ %$N 4> >A A
 
&/ /"/ /r   r   )ZloggingZtypingr    r   r   r   r   Zpip._internal.build_envr   Z pip._internal.distributions.baser   Zpip._internal.exceptionsr   Zpip._internal.metadatar	   Zpip._internal.utils.subprocessr
   Z"pip._internal.index.package_finderr   Z	getLoggerrH   r3   r   r0   r   r   <module>rI      sB     @ @ 4 A 6 3 F@			8	$N/- N/r   