+
    êh@   ã                   ó:  € R t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIt^ RIHt ^RIHtHt ]P$                  P&                  t]! RR	4      w  t R
]3R]3R]3R]3R]3R]3R]3R]3R]3R]3.
tRR%RR&/tRRR/RRR//tRRRR/t]P4                  RR3tR't]P:                  R 4       t]P:                  ! RR7      R 4       t]P$                  PA                  R(]4      ]P$                  PB                  R 4       4       t"R  t#R! t$R" t%R# t&R$ t'R# ))a™  Integration tests for setuptools that focus on building packages via pip.

The idea behind these tests is not to exhaustively check all the possible
combinations of packages, operating systems, supporting libraries, etc, but
rather check a limited number of popular packages and how they interact with
the exposed public API. This way if any change in API is introduced, we hope to
identify backward compatibility problems before publishing a release.

The number of tested packages is purposefully kept small, to minimise duration
and the associated maintenance cost (changes in the way these packages define
their build process may require changes in the tests).
N)ÚEnum)Úglob)Úmd5)Úurlopen)ÚRequirement)ÚArchiveÚrunÚvÚLATESTÚpipÚpytestÚmypyÚbotocoreÚ
kiwisolverÚbrotliÚpyyamlzcharset-normalizerÚprotobufÚceleryÚPYYAML_FORCE_CYTHONÚ1ÚCHARSET_NORMALIZER_USE_MYPYCÚyamlzgoogle.protobufú-mÚ
virtualenvc                 óâ   € \        . \        O\        V R ,          4      N4       R V P                  R4       4       p\        P
                  ! R\        P                  P                  V4      R7      # )z.venvc              3   óL   "  € T F  p\        VP                  4      x € K  	  R # 5i)N)ÚstrÚparent)Ú.0Úps   & ÚU/usr/lib/python3/dist-packages/setuptools/tests/integration/test_pip_install_sdist.pyÚ	<genexpr>Úvenv_python.<locals>.<genexpr>f   s   é € ÐMÑ,L q”S˜Ÿ™—]�]Ó,Lùs   ‚"$z.venv/*/python*Úpython)Úpath)	r   Ú
VIRTUALENVr   r   ÚshutilÚwhichÚosÚpathsepÚjoin)Útmp_pathÚpossible_paths   & r    Úvenv_pythonr-   c   sQ   € äÐ.Œ*Ð.”c˜( WÕ,Ó-Ð.Ô/ÙM¨H¯M©MÐ:KÔ,LÓM€MÜ�<Š<˜¤r§z¡z§¡°}Ó'EÔFÐFó    T)Úautousec              #   óH  "  € \         P                  ! R \        V 4      4      p\         P                  ! VRR7       VP	                  RR4       Rx € \        R4       \        R4       \        \
        V P                  R4      4       \        R	4       \        VR
RR.4       R# 5i)ÚDOWNLOAD_PATHT)Úexist_okÚ	USE_MYPYCr   Nú<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zTemporary directory:Ú*zVirtual environment:r   r   Úfreeze)	r(   Úgetenvr   ÚmakedirsÚsetenvÚprintÚmapr   r   )r+   r-   ÚmonkeypatchÚdownload_paths   &&& r    Ú_preparer>   j   s}   é € ä—I’I˜o¬s°8«}Ó=€MÜ‡K‚K�¨Õ-ð ×Ñ�{ CÔ(ã	ô 
Ð
HÔIÜ	Ð
 Ô!ÜŒˆx�}‰}˜SÓ!Ô"Ü	Ð
 Ô!Üˆ�d˜E 8Ð,Ö-ùs   ‚B B"c                 ó˜  € VR R3p\        WV4      p\        W4      pV'       d)   \        R4       \        RV4       \        . VORNVO4       \        P                  V / 4      p\        . VORNRNVN4       \        . VORN\        OVNV4       \        P                  W 4      P                  RR4      p	RV	 R	V	 R
2p
\        VRV
.4       R# )r   r   r4   zDependencies:Úinstallz--force-reinstallÚ-Ú_zimport z; print(getattr(z, '__version__', 0))z-cN)	Úretrieve_sdistÚ
build_depsr:   r   ÚEXTRA_ENV_VARSÚgetÚINSTALL_OPTIONSÚIMPORT_NAMEÚreplace)ÚpackageÚversionr+   r-   Úsetuptools_wheelÚvenv_pipÚsdistÚdepsÚenvÚpkgÚscripts   &&&&&      r    Útest_install_sdistrS   }   sè   € ð ˜T 5Ð)€HÜ˜7¨XÓ6€EÜ�gÓ%€DßÜÐLÔMÜˆo˜tÔ$ÜÐ)ˆhÐ)˜	Ð) DÐ)Ô*ô ×
Ñ
˜W bÓ
)€CÜÐEˆ(ÐE�IÐEÐ2ÐEÐ4DÐEÔFÜÐ7ˆ(Ð7�IÐ7¤Ð7°Ð7¸Ô=ô �/‰/˜'Ó
+×
3Ñ
3°C¸Ó
=€CØ�s�eÐ+¨C¨5Ð0DÐE€FÜˆ�d˜FÐ#Ö$r.   c                óÖ  € \         P                  ! R\        V4      4      p\        W4      p\	        \         P
                  P                  W0 R24      4       F)  pVR,          V8w  g   K  \         P                  ! V4       K+  	  \         P
                  P                  W4R,          4      p\         P
                  P                  V4      '       g   \        VR,          WdR,          4       V# )z5Either use cached sdist file or download it from PyPIr1   r5   ÚfilenameÚurlÚ
md5_digest)
r(   r7   r   Úretrieve_pypi_sdist_metadatar   r$   r*   ÚunlinkÚexistsÚdownload)rJ   rK   r+   r=   ÚdistÚfileÚ	dist_files   &&&    r    rC   rC   —   s¤   € ô —I’I˜o¬s°8«}Ó=€MÜ'¨Ó9€Dô ”R—W‘W—\‘\ -°9¸A°Ó?Ö@ˆØ�
Õ˜tÖ#Ü�IŠI�dŽOñ Aô —‘—‘˜]°Õ,<Ó=€IÜ�7‰7�>‰>˜)×$Ò$Ü��e•˜i¨lÕ);Ô<ØÐr.   c                 ó’  € V\         J d   T MV  R V 2p\        RV R24      ;_uu_ 4       p\        P                  ! V4      pRRR4       XR,          R,          '       d   \	        RV  RV R24      hVR,          R	,          pV\         J d   VR
,          V,          MVR,          p\        R V4      w  pV#   + '       g   i     L|; i)Ú/zhttps://pypi.org/pypi/z/jsonNÚinfoÚyankedzRelease for Ú z was yankedrK   ÚreleasesÚurlsc                 ó   € V R ,          R8H  # )ÚpackagetyperN   © )Úds   &r    Ú<lambda>Ú.retrieve_pypi_sdist_metadata.<locals>.<lambda>¶   s   €   -Õ 0°GÒ ;r.   )r
   r   ÚjsonÚloadÚ
ValueErrorÚfilter)rJ   rK   Úid_ÚfÚmetadataÚreleaserN   s   &&     r    rX   rX   «   s¹   € à¤Ó&‰'¨w¨i°q¸¸	Ð,B€CÜ	Ð)¨#¨¨eÐ4×	5Ô	5¸Ü—9’9˜Q“<ˆ÷ 
6ð �Õ˜×!Ô!Ü˜<¨ y°°'°¸+ÐFÓGÐGà�vÕ˜yÕ)€GØ/6¼&Ó/@ˆh�zÕ" 7Ö+ÀhÈvÕFV€GÜÑ;¸WÓE�H€UØ€L÷ 
6×	5ús   «B6Â6C	c                 ó”  € \        V 4      ;_uu_ 4       pVP                  4       pR R R 4       \        X4      P                  4       V8X  g   Q h\	        VR4      ;_uu_ 4       pVP                  V4       R R R 4       \        P                  P                  V4      '       g   Q hR #   + '       g   i     L‡; i  + '       g   i     LL; i)NÚwb)	r   Úreadr   Ú	hexdigestÚopenÚwriter(   r$   rZ   )rV   ÚdestrW   rq   Údatas   &&&  r    r[   r[   º   s…   € Ü	��Œ˜Ø�v‰v‹xˆ÷ 
ô ˆt‹9×ÑÓ  JÔ.Ð.Ð.ä	ˆd�D×	Ô	˜QØ	�‰�Œ÷ 
ô �7‰7�>‰>˜$×ÒÐÒ÷ 
�ú÷
 
×	ús   ”B$Á!B7Â$B4	Â7C	c                ó�  € ^ RI Hp \        V4      pVP                  \	        V4      4      pVP                  R/ 4      P                  R. 4      pV\        P                  V . 4      ,          pV Uu/ uF  p\        V4      P                  VbK  	  ppVP                  4        UU	u. uF  w  r‰VR8w  g   K  V	NK  	  up	p# u upi u up	pi )z•Find out what are the build dependencies for a package.

"Manually" install them, since pip will not install build
deps with `--no-build-isolation`.
)Útomllibzbuild-systemÚrequiresÚ
setuptools)
Úsetuptools.compat.py310r}   r   ÚloadsÚ_read_pyprojectrF   ÚEXTRA_BUILD_DEPSr   ÚnameÚitems)
rJ   Ú
sdist_filer}   Úarchivera   rO   ri   ÚrequirementsÚkr	   s
   &&        r    rD   rD   Æ   s¯   € õ 0ä�jÓ!€GØ�=‰=œ¨Ó1Ó2€DØ�8‰8�N BÓ'×+Ñ+¨J¸Ó;€DØÔ× Ñ  ¨"Ó-Õ-€Dá48Ó9±D¨q”K “N×'Ñ'¨Ò*±D€LÐ9Ø&×,Ñ,Ô.ÔDÑ.‘$�!°!°|Ñ2C�AˆAÑ.ÒDÐDùò :ùÛDs   Á/B=Â#CÂ3Cc                 ó4   a € V 3R  lS  4       p\        VR4      # )c              3   ó°   <"  € T FK  p\         P                  P                  SP                  V4      4      R 8X  g   K8  SP	                  V4      x € KM  	  R# 5i)zpyproject.tomlN)r(   r$   ÚbasenameÚget_nameÚget_content)r   Úmemberr‡   s   & €r    r!   Ú"_read_pyproject.<locals>.<genexpr>Ú   sK   øé € ð áˆFÜ�7‰7×Ñ˜G×,Ñ,¨VÓ4Ó5Ð9IÑIô 	$ˆ×Ñ˜F×#Ð#Ûùs
   ƒ5A½AÚ )Únext)r‡   Úcontentss   f r    r‚   r‚   Ù   s!   ø€ ôáó€Hô
 �˜"ÓÐr.   )z
Cython<3.0)zmypy>=1.4.1)z--ignore-installedz--no-build-isolation)rJ   rK   )(Ú__doc__rl   r(   r&   ÚsysÚenumr   r   Úhashlibr   Úurllib.requestr   r   Úpackaging.requirementsr   Úhelpersr   r   ÚmarkÚintegrationÚ
pytestmarkr
   ÚEXAMPLESrƒ   rE   rH   Ú
executabler%   rG   Úfixturer-   r>   ÚparametrizeÚuses_networkrS   rC   rX   r[   rD   r‚   rh   r.   r    Ú<module>r£      s‘  ðñó Û 	Û Û 
Ý Ý Ý Ý "ã Ý .ç !à�[‰[×$Ñ$€
ñ ��hÓ�	€Ø #ð ˆF€OØˆvÐØˆVÐà�ÐØ�6ÐØˆvÐØˆvÐØ˜6Ð"Ø�ÐàˆvÐð€ð* ˆoØÐ*ðÐ ð Ð$ cÐ*ØÐ9¸3Ð?ð€ð ˆfØÐ!ð€ð �n‰n˜d LÐ1€
ð€ð ‡�ñGó ðGð ‡‚˜Ôñ.ó ð.ð$ ‡�×ÑÐ/°Ó:Ø‡�×Ññ%ó ó ;ð%ò0ò(ò	 òEô&r.   