§
    »"½j4X  ã                   ó’  — 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Z	d dl
Z
d dlmZ d dl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mZ d
dlmZ d dlZ  G d„ d¦  «        Z! G d„ d¦  «        Z" G d„ d¦  «        Z# G d„ d¦  «        Z$ G d„ d¦  «        Z% G d„ d¦  «        Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d „ Z-d!„ Z.dS )"é    N)ÚConfigParser)Úproduct)Úcast)ÚPath)Úsdist)Úfind_package_pathÚfind_parent_package)ÚDistribution)ÚPackageDiscoveryErroré   )Úquiet)Úget_sdist_membersÚget_wheel_membersÚrun)ÚDALSc                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestFindParentPackagec                 óÐ   — |dz                        dd¬¦  «         |dz                       ¦   «          |dz                       ¦   «          g d¢}t          |ddi|¦  «        d	k    sJ ‚d S )
Nzsrc/namespace/pkg/nestedT©Úexist_okÚparentsz$src/namespace/pkg/nested/__init__.pyzsrc/namespace/pkg/__init__.py)Ú	namespaceúnamespace.pkgznamespace.pkg.nestedÚ Úsrcr   ©ÚmkdirÚtouchr	   )ÚselfÚtmp_pathÚpackagess      úf/home/spazio/kingdom_calls/venv/lib/python3.11/site-packages/setuptools/tests/test_config_discovery.pyÚtest_single_packagez)TestFindParentPackage.test_single_package   sƒ   € à	Ð.Ñ	.×5Ò5¸tÈTÐ5ÑRÔRÐRØ	Ð:Ñ	:×AÒAÑCÔCÐCØ	Ð3Ñ	3×:Ò:Ñ<Ô<Ð<ØIÐIÐIˆÝ" 8¨b°%¨[¸(ÑCÔCÀÒVÐVÐVÐVÐVÐVó    c                 ó²   — g d¢}|D ]:}|d|› �z                        dd¬¦  «         |d|› d�z                       ¦   «          Œ;t          |ddi|¦  «        �J ‚d S )N)ÚpkgÚpkg1Úpkg2úsrc/Tr   z/__init__.pyr   r   r   )r   r    ÚmultipleÚnames       r"   Útest_multiple_toplevelz,TestFindParentPackage.test_multiple_toplevel!   sŠ   € ð +Ð*Ð*ˆØð 	;ð 	;ˆDØ˜˜t˜˜Ñ%×,Ò,°dÀDÐ,ÑIÔIÐIØÐ1˜tÐ1Ð1Ð1Ñ1×8Ò8Ñ:Ô:Ð:Ð:Ý" 8¨b°%¨[¸(ÑCÔCÐKÐKÐKÐKÐKr$   N)Ú__name__Ú
__module__Ú__qualname__r#   r,   © r$   r"   r   r      s:   € € € € € ðWð Wð WðLð Lð Lð Lð Lr$   r   c                   ó(  — e Zd ZdZddidgdœdddiiddgid	dgidd
dgii i i i dœ	ZddgddgddgdgdgdœZd„ Zej         	                    de 
                    ¦   «         ¦  «        d„ ¦   «         Zej         	                    de 
                    ¦   «         ¦  «        d„ ¦   «         Z ed¦  «         ed¦  «         ed¦  «         ed¦  «        dœZej         	                    d eg d ¢dd	ge 
                    ¦   «         ¦  «        ¦  «        d!„ ¦   «         Zej         	                    d"d#gdhfd$gdd%hfd&gdd'hfd(gh d)£fd*gdd+hfd,gdhfd-gdhfg¦  «        d.„ ¦   «         Zej         	                    d/d0gd1gg¦  «        d2„ ¦   «         Zd3„ Zd4„ Zd5„ Zd6S )7Ú TestDiscoverPackagesAndPyModulesz‹Make sure discovered values for ``packages`` and ``py_modules`` work
    similarly to explicit configuration for the simple scenarios.
    r   r   r&   )Úpackage_dirr!   r3   Úlibr!   Ú
py_modulesÚnszns.pkg)	zexplicit-srczvariation-libzexplicit-flatzexplicit-single_modulezexplicit-namespacezautomatic-srczautomatic-flatzautomatic-single_modulezautomatic-namespaceúsrc/pkg/__init__.pyzsrc/pkg/main.pyzlib/pkg/__init__.pyzlib/pkg/main.pyzpkg/__init__.pyzpkg/main.pyúpkg.pyzns/pkg/__init__.py)r   r4   ÚflatÚsingle_moduler   c                 óp   — |                      d¦  «        \  }}}| j        |         }| j        |         }||fS )NÚ-)Ú	partitionÚFILESÚOPTIONS)r   ÚcircumstanceÚ_ÚlayoutÚfilesÚoptionss         r"   Ú	_get_infoz*TestDiscoverPackagesAndPyModules._get_infoF   s=   € Ø#×-Ò-¨cÑ2Ô2‰ˆˆ1ˆfØ”
˜6Ô"ˆØ”,˜|Ô,ˆØ�gˆ~Ðr$   r@   c                 óð   ‡— |                       |¦  «        \  }}t          |||¦  «         t          ||¦  «        \  }}d„ |j        j        D ¦   «         }|D ]Št          ˆfd„|D ¦   «         ¦  «        sJ ‚Œ d S )Nc                 óN   — g | ]"}|                      t          j        d ¦  «        ‘Œ#S )ú/)ÚreplaceÚosÚsep©Ú.0Úfs     r"   ú
<listcomp>zHTestDiscoverPackagesAndPyModules.test_sdist_filelist.<locals>.<listcomp>S   s(   € ÐGÐGÐG¨q�A—I’I�bœf cÑ*Ô*ÐGÐGÐGr$   c              3   óB   •K  — | ]}|                      ‰¦  «        V — Œd S ©N)Úendswith)rM   rN   Úfiles     €r"   ú	<genexpr>zGTestDiscoverPackagesAndPyModules.test_sdist_filelist.<locals>.<genexpr>U   s/   øè è € Ð:Ð:¨A�q—z’z $Ñ'Ô'Ð:Ð:Ð:Ð:Ð:Ð:r$   )rE   Ú_populate_project_dirÚ_run_sdist_programaticallyÚfilelistrC   Úany)	r   r    r@   rC   rD   rA   ÚcmdÚmanifestrS   s	           @r"   Útest_sdist_filelistz4TestDiscoverPackagesAndPyModules.test_sdist_filelistL   sš   ø€ àŸš¨Ñ5Ô5‰ˆˆwÝ˜h¨¨wÑ7Ô7Ð7å+¨H°gÑ>Ô>‰ˆˆ3àGÐG°C´LÔ4FÐGÑGÔGˆØð 	;ð 	;ˆDÝÐ:Ð:Ð:Ð:°Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:ð	;ð 	;r$   c                 óÚ  — |                       |¦  «        \  }}t          |||¦  «         |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          |dz                       ¦   «          t	          |¦  «         t          t          |                     d	¦  «        ¦  «        ¦  «        }t          d
¦  «         t          d 	                    |¦  «        ¦  «         |t          |¦  «        k    sJ ‚t          t          |                     d¦  «        ¦  «        ¦  «        }t          d¦  «         t          d 	                    |¦  «        ¦  «         d„ |D ¦   «         }||k    sJ ‚|D ]}d|vsJ ‚d|vsJ ‚Œd S )NÚbuildz	build/libzbuild/bdist.linux-x86_64z build/bdist.linux-x86_64/file.pyzbuild/lib/__init__.pyzbuild/lib/file.pyÚdistzdist/file.pyúdist/*.tar.gzú~~~~~ sdist_members ~~~~~Ú
ú
dist/*.whlú~~~~~ wheel_members ~~~~~c                 ób   — h | ],}|                      d d¦  «                              dd¦  «        ’Œ-S ©r)   r   zlib/©rI   rL   s     r"   ú	<setcomp>z@TestDiscoverPackagesAndPyModules.test_project.<locals>.<setcomp>p   s6   € ÐOÐOÐOÀA�a—i’i ¨Ñ+Ô+×3Ò3°F¸BÑ?Ô?ÐOÐOÐOr$   )rE   rU   r   r   Ú
_run_buildr   ÚnextÚglobÚprintÚjoinÚsetr   )	r   r    r@   rC   rD   Úsdist_filesÚwheel_filesÚ
orig_filesrS   s	            r"   Útest_projectz-TestDiscoverPackagesAndPyModules.test_projectW   s  € àŸš¨Ñ5Ô5‰ˆˆwÝ˜h¨¨wÑ7Ô7Ð7ð 
�GÑ	×"Ò"Ñ$Ô$Ð$Ø	�KÑ	×&Ò&Ñ(Ô(Ð(Ø	Ð.Ñ	.×5Ò5Ñ7Ô7Ð7Ø	Ð6Ñ	6×=Ò=Ñ?Ô?Ð?Ø	Ð+Ñ	+×2Ò2Ñ4Ô4Ð4Ø	Ð'Ñ	'×.Ò.Ñ0Ô0Ð0Ø	�FÑ	×!Ò!Ñ#Ô#Ð#Ø	�NÑ	"×)Ò)Ñ+Ô+Ð+å�8ÑÔÐå'­¨X¯]ª]¸?Ñ-KÔ-KÑ(LÔ(LÑMÔMˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%Ø�c %™jœjÒ(Ð(Ð(Ð(å'­¨X¯]ª]¸<Ñ-HÔ-HÑ(IÔ(IÑJÔJˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%ØOÐOÈÐOÑOÔOˆ
Ø˜jÒ(Ð(Ð(Ð(ð  ð 	'ð 	'ˆDØ %Ð'Ð'Ð'Ð'Ø Ð&Ð&Ð&Ð&Ð&ð	'ð 	'r$   z‡
            [metadata]
            name = myproj
            version = 0.0.0

            [options]
            {param} =
            z¢
            __import__('setuptools').setup(
                name="myproj",
                version="0.0.0",
                {param}=[]
            )
            zÿ
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'

            [project]
            name = "myproj"
            version = "0.0.0"

            [tool.setuptools]
            {param} = []
            zv
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'
            )ú	setup.cfgúsetup.pyúpyproject.tomlútemplate-pyproject.toml)Úconfig_fileÚparamr@   )rr   rs   rt   c                 óÔ  — | j         |         g d¢z   }t          ||i ¦  «         |dk    r|                     dd¦  «        }n)| j        d         }|dz                       |d¬¦  «         |}| j        |                              |¬¦  «        }||z                       |d¬¦  «         t          |i ¦  «        }	t          |	|¦  «        g k    sJ ‚d	d
dœ|         }
t          |	|
¦  «        �J ‚d S )N)zmod.pyzother.pyr7   rt   rA   r<   ru   úutf-8©Úencoding)rw   r!   r5   )r5   r!   )r>   rU   rI   ÚPURPOSEFULLY_EMPYÚ
write_textÚformatÚ	_get_distÚgetattr)r   r    rv   rw   r@   rC   Útemplate_paramÚ	pyprojectÚconfigr^   Úothers              r"   Útest_purposefully_emptyz8TestDiscoverPackagesAndPyModules.test_purposefully_empty£   s  € ð ”
˜<Ô(Ð+XÐ+XÐ+XÑXˆÝ˜h¨¨rÑ2Ô2Ð2àÐ*Ò*Ð*Ø"Ÿ]š]¨3°Ñ4Ô4ˆNˆNð Ô.Ð/HÔIˆIØÐ(Ñ(×4Ò4°YÈÐ4ÑQÔQÐQØ"ˆNàÔ'¨Ô4×;Ò;À.Ð;ÑQÔQˆØ	�KÑ	×+Ò+¨F¸WÐ+ÑEÔEÐEå˜ 2Ñ&Ô&ˆõ �t˜UÑ#Ô# rÒ)Ð)Ð)Ð)Ø)°|ÐDÐDÀUÔKˆÝ�t˜UÑ#Ô#Ð+Ð+Ð+Ð+Ð+r$   )Úextra_filesÚpkgszvenv/bin/simulate_venvzpkg-stubs/__init__.pyiz	pkg-stubszother-stubs/__init__.pyizother-stubsz namespace-stubs/pkg/__init__.pyi>   únamespace-stubs.pkgr&   únamespace-stubsz&namespace-stubs/pkg-stubs/__init__.pyir‰   z_hidden/file.pyznews/finalize.pyc                 óœ   — | j         d         |z   }t          ||i ¦  «         t          |i ¦  «        }t          |j        ¦  «        |k    sJ ‚d S )Nr9   )r>   rU   r   rm   r!   )r   r    r†   r‡   rC   r^   s         r"   Ú!test_flat_layout_with_extra_fileszBTestDiscoverPackagesAndPyModules.test_flat_layout_with_extra_filesÁ   sW   € ð* ”
˜6Ô" [Ñ0ˆÝ˜h¨¨rÑ2Ô2Ð2Ý˜ 2Ñ&Ô&ˆÝ�4”=Ñ!Ô! TÒ)Ð)Ð)Ð)Ð)Ð)r$   r†   zother/__init__.pyzother/finalize.pyc                 óÐ   — | j         d         |z   }t          ||i ¦  «         t          j        t          d¬¦  «        5  t          |i ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr9   úmultiple (packages|modules)©Úmatch©r>   rU   ÚpytestÚraisesr   r   )r   r    r†   rC   s       r"   Ú+test_flat_layout_with_dangerous_extra_fileszLTestDiscoverPackagesAndPyModules.test_flat_layout_with_dangerous_extra_filesÛ   s²   € ð ”
˜6Ô" [Ñ0ˆÝ˜h¨¨rÑ2Ô2Ð2ÝŒ]Õ0Ð8UÐVÑVÔVð 	$ð 	$Ý�h Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ½AÁAÁ"Ac                 ó    — | j         d         dgz   }t          ||i ¦  «         t          |i ¦  «        }t          |j        ¦  «        dhk    sJ ‚d S )Nr:   zinvalid-module-name.pyr&   )r>   rU   r   rm   r5   )r   r    rC   r^   s       r"   Ú#test_flat_layout_with_single_modulezDTestDiscoverPackagesAndPyModules.test_flat_layout_with_single_moduleè   s[   € Ø”
˜?Ô+Ð/GÐ.HÑHˆÝ˜h¨¨rÑ2Ô2Ð2Ý˜ 2Ñ&Ô&ˆÝ�4”?Ñ#Ô#¨ wÒ.Ð.Ð.Ð.Ð.Ð.r$   c                 óÒ   — | j         d         dgz   }t          ||i ¦  «         t          j        t          d¬¦  «        5  t          |i ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr:   zvalid_module_name.pyr�   rŽ   r�   )r   r    rC   s      r"   Ú&test_flat_layout_with_multiple_moduleszGTestDiscoverPackagesAndPyModules.test_flat_layout_with_multiple_modulesî   s´   € Ø”
˜?Ô+Ð/EÐ.FÑFˆÝ˜h¨¨rÑ2Ô2Ð2ÝŒ]Õ0Ð8UÐVÑVÔVð 	$ð 	$Ý�h Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ¾AÁA Á#A c                 ó¸  — ddl m} d}|dz                       t          |¦  «        d¬¦  «         |dz                       ¦   «          t
          j                             ¦   «                              |¦  «        5  | 	                    d¦  «         d	d	d	¦  «         n# 1 swxY w Y   t          t          |                     d
¦  «        ¦  «        ¦  «        }d|v sJ ‚d	S )zRegression for issue 3692r   )Ú
build_metaz%[project]
name = "test"
version = "1"rt   ry   rz   zfoo.pyú.Nz*.whl)Ú
setuptoolsr™   r}   r   r   ÚjaracoÚpathÚDirectoryStackÚcontextÚbuild_wheelr   ri   rj   )r   r    r™   r‚   ro   s        r"   Ú%test_py_modules_when_wheel_dir_is_cwdzFTestDiscoverPackagesAndPyModules.test_py_modules_when_wheel_dir_is_cwdô   s  € à)Ð)Ð)Ð)Ð)Ð)à=ˆ	Ø	Ð$Ñ	$×0Ò0µ°i±´È7Ð0ÑSÔSÐSØ	�HÑ	×#Ò#Ñ%Ô%Ð%ÝŒ[×'Ò'Ñ)Ô)×1Ò1°(Ñ;Ô;ð 	(ð 	(Ø×"Ò" 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(õ (­¨X¯]ª]¸7Ñ-CÔ-CÑ(DÔ(DÑEÔEˆØ˜;Ð&Ð&Ð&Ð&Ð&Ð&s   Á8BÂBÂ!BN)r-   r.   r/   Ú__doc__r?   r>   rE   r‘   ÚmarkÚparametrizeÚkeysr[   rq   r   r|   r   r…   r‹   r“   r•   r—   r¡   r0   r$   r"   r2   r2   +   s  € € € € € ðð ð *,¨U¨À%ÀÐIÐIà˜B ˜;ð
ð % u gÐ.Ø#/°%°Ð"9Ø)¨D°(Ð+;Ð<ØØØ#%Ø!ðð €Gð &Ð'8Ð9Ø%Ð'8Ð9Ø" MÐ2Ø"˜Ø*Ð+ðð €Eðð ð ð „[×Ò˜^¨W¯\ª\©^¬^Ñ<Ô<ð;ð ;ñ =Ô<ð;ð „[×Ò˜^¨W¯\ª\©^¬^Ñ<Ô<ð'ð 'ñ =Ô<ð'ðB �Tðñ	
ô 	
ð �Dðñ
ô 
ð ˜$ðñ
ô 
ð $( 4ðñ$
ô $
ðE)ð )ÐðV „[×ÒØ0ØˆØ7Ð7Ð7Ø˜Ð&Ø�JŠJ‰LŒLñ	
ô 	
ñô ð,ð ,ñô ð,ð, „[×ÒØà&Ð'¨%¨Ð1Ø&Ð'¨%°Ð)=Ð>Ø(Ð)¨E°=Ð+AÐBð 4Ð4ØAÐAÐAðð :Ð:ØÐ)Ð*ðð
  Ð  5 'Ð*Ø Ð! E 7Ð+ð	
ñô ð(*ð *ñ)ô ð(*ð „[×ÒØà Ð!Ø Ð!ð	
ñô ð$ð $ñô ð$ð/ð /ð /ð$ð $ð $ð'ð 'ð 'ð 'ð 'r$   r2   c                   ó¦   — e Zd ZdZdgdgddgddgdgd	gd
œZej                             de                     ¦   «         ¦  «        d„ ¦   «         Z	d„ Z
dS )ÚTestNoConfigz0.0.0zsrc/pkg1.pyzsrc/pkg2/__init__.pyzsrc/pkg3/__init__.pyzsrc/pkg3-stubs/__init__.pyzpkg4/__init__.pyzpkg4-stubs/__init__.pyzsrc/ns/nested/pkg1/__init__.pyzns/nested/pkg2/__init__.py)r'   r(   Úpkg3Úpkg4zns.nested.pkg1zns.nested.pkg2Úexamplec                 ó’   — t          || j        |         i ¦  «         t          |i ¦  «        }|                     ¦   «         |k    sJ ‚d S rQ   )rU   ÚEXAMPLESr   Úget_name)r   r    rª   r^   s       r"   Útest_discover_namezTestNoConfig.test_discover_name  sI   € å˜h¨¬°gÔ(>ÀÑCÔCÐCÝ˜ 2Ñ&Ô&ˆØ�}Š}‰Œ 'Ò)Ð)Ð)Ð)Ð)Ð)r$   c                 ó–   — dg}t          ||i ¦  «         t          |d¦  «         |d| j        › d�z  }|                     ¦   «         sJ ‚d S )Nzsrc/ns/nested/pkg/__init__.pyú--sdistzdist/ns_nested_pkg-z.tar.gz)rU   rh   ÚDEFAULT_VERSIONÚis_file)r   r    rC   Ú	dist_files       r"   Útest_build_with_discovered_namez,TestNoConfig.test_build_with_discovered_name  sc   € Ø0Ð1ˆÝ˜h¨¨rÑ2Ô2Ð2Ý�8˜YÑ'Ô'Ð'àÐR°TÔ5IÐRÐRÐRÑRˆ	Ø× Ò Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r$   N)r-   r.   r/   r±   r¬   r‘   r£   r¤   r¥   r®   r´   r0   r$   r"   r§   r§     s•   € € € € € Ø€Oð �Ø'Ð(Ø'Ð)EÐFØ#Ð%=Ð>Ø;Ð<Ø7Ð8ðð €Hð „[×Ò˜Y¨¯ª©¬Ñ8Ô8ð*ð *ñ 9Ô8ð*ð
#ð #ð #ð #ð #r$   r§   c                   ór   — e Zd Zej                             ddi fddddidœfg¦  «        d„ ¦   «         Zd„ Zd	S )
ÚTestWithAttrDirective)ÚfolderÚoptsr   r4   zfind:Úwhere)r!   úpackages.findc                 ól  — |› d�dg}t          |||¦  «         |dz                       d¬¦  «        }|dddiidd|z   i}t          j                             ||¬	¦  «         t          |i ¦  «        }|                     ¦   «         dk    sJ ‚|                     ¦   «         d
k    sJ ‚|j        sJ ‚t          d|j        |¦  «        }t          j                             |¦  «        sJ ‚|t          |¦  «                             ¦   «         v sJ ‚t          |d¦  «         |dz  }	|	                     ¦   «         sJ ‚d S )Nz/pkg/__init__.pyrr   ry   rz   r&   ú__init__.pyúversion = 42z'[metadata]
version = attr: pkg.version
©ÚprefixÚ42r°   zdist/pkg-42.tar.gz)rU   Ú	read_textrœ   r�   r]   r   r­   Úget_versionr3   r   rJ   Úexistsr   Úpartsrh   r²   )
r   r    r·   r¸   rC   rƒ   Ú	overwriter^   Úpackage_pathr³   s
             r"   Útest_setupcfg_metadataz,TestWithAttrDirective.test_setupcfg_metadata  sb  € ð Ð,Ð,Ð,¨kÐ:ˆÝ˜h¨¨tÑ4Ô4Ð4à˜[Ñ(×3Ò3¸WÐ3ÑEÔEˆà�U˜]¨NÐ;Ð<ØÐDÀvÑMð
ˆ	õ 	Œ×Ò˜)¨HÐÑ5Ô5Ð5å˜ 2Ñ&Ô&ˆØ�}Š}‰Œ %Ò'Ð'Ð'Ð'Ø×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØÔÐÐÐÝ(¨°Ô0@À(ÑKÔKˆÝŒw�~Š~˜lÑ+Ô+Ð+Ð+Ð+Ø�˜lÑ+Ô+×1Ò1Ñ3Ô3Ð3Ð3Ð3Ð3å�8˜YÑ'Ô'Ð'ØÐ3Ñ3ˆ	Ø× Ò Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r$   c                 óð   — t          |dgi ¦  «         dddiiddœ}t          j                             ||¬¦  «         t	          |i ¦  «        }|                     ¦   «         dk    sJ ‚|j        d	d
ik    sJ ‚d S )Nr7   r&   r¼   r½   zh[project]
name = 'pkg'
dynamic = ['version']
[tool.setuptools.dynamic]
version = {attr = 'pkg.version'}
©r   rt   r¾   rÀ   r   r   )rU   rœ   r�   r]   r   rÂ   r3   )r   r    rÅ   r^   s       r"   Útest_pyproject_metadataz-TestWithAttrDirective.test_pyproject_metadata<  s    € Ý˜hÐ)>Ð(?ÀÑDÔDÐDð ˜M¨>Ð:Ð;ðPð
ð 
ˆ	õ 	Œ×Ò˜)¨HÐÑ5Ô5Ð5å˜ 2Ñ&Ô&ˆØ×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØÔ B¨ ;Ò.Ð.Ð.Ð.Ð.Ð.r$   N)r-   r.   r/   r‘   r£   r¤   rÇ   rÊ   r0   r$   r"   r¶   r¶     su   € € € € € Ø„[×ÒØà�BˆKØ ¸GÀUÐ;KÐLÐLÐMð	
ñô ð#ð #ñô ð#ð./ð /ð /ð /ð /r$   r¶   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestWithCExtensionc                 ó‚   — g d¢}t          ||i ¦  «         d}|dz                       t          |¦  «        d¬¦  «         d S )N)zbenchmarks/file.pyzdocs/Makefilezdocs/requirements.txtzdocs/source/conf.pyzproj/header.hzproj/file.pyzpy/proj.cppzpy/other.cppz
py/file.pyzpy/py.typedzpy/tests/test_proj.pyz
README.rsta^  
            from setuptools import Extension, setup

            ext_modules = [
                Extension(
                    "proj",
                    ["py/proj.cpp", "py/other.cpp"],
                    include_dirs=["."],
                    language="c++",
                ),
            ]
            setup(ext_modules=ext_modules)
        rs   ry   rz   ©rU   r}   r   )r   r    rC   Úsetup_scripts       r"   Ú _simulate_package_with_extensionz3TestWithCExtension._simulate_package_with_extensionN  s\   € ð
ð 
ð 
ˆõ 	˜h¨¨rÑ2Ô2Ð2ðˆð 
�JÑ	×*Ò*­4°Ñ+=Ô+=ÈÐ*ÑPÔPÐPÐPÐPr$   c                 óä  — |                       |¦  «         d}|dz                       t          |¦  «        d¬¦  «         d}|dz                       t          |¦  «        d¬¦  «         t          |i ¦  «        }|                     ¦   «         dk    sJ ‚|                     ¦   «         dk    sJ ‚|j        �J ‚|j        �J ‚t          |j	        ¦  «        d
k    sJ ‚|j	        d         j
        dk    sJ ‚d	S )zˆEnsure that auto-discovery is not triggered when the project is based on
        C-extensions only, for backward compatibility.
        zr
            [build-system]
            requires = []
            build-backend = 'setuptools.build_meta'
        rt   ry   rz   zQ
            [metadata]
            name = proj
            version = 42
        rr   ÚprojrÀ   Nr   r   )rÐ   r}   r   r   r­   rÂ   r5   r!   ÚlenÚext_modulesr+   )r   r    r‚   Úsetupcfgr^   s        r"   Ú*test_skip_discovery_with_setupcfg_metadataz=TestWithCExtension.test_skip_discovery_with_setupcfg_metadatao  s  € ð 	×-Ò-¨hÑ7Ô7Ð7ðˆ	ð
 
Ð$Ñ	$×0Ò0µ°i±´È7Ð0ÑSÔSÐSðˆð
 
�KÑ	×+Ò+­D°©N¬NÀWÐ+ÑMÔMÐMå˜ 2Ñ&Ô&ˆØ�}Š}‰Œ &Ò(Ð(Ð(Ð(Ø×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØŒÐ&Ð&Ð&ØŒ}Ð$Ð$Ð$Ý�4Ô#Ñ$Ô$¨Ò)Ð)Ð)Ð)ØÔ Ô"Ô'¨6Ò1Ð1Ð1Ð1Ð1Ð1r$   c                 ó
  — |                       |¦  «         d}|dz                       t          |¦  «        d¬¦  «         t          j        t
          d¬¦  «        5  t          |i ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )aŽ  When opting-in to pyproject.toml metadata, auto-discovery will be active if
        the package lists C-extensions, but does not configure py-modules or packages.

        This way we ensure users with complex package layouts that would lead to the
        discovery of multiple top-level modules/packages see errors and are forced to
        explicitly set ``packages`` or ``py-modules``.
        zT
            [project]
            name = 'proj'
            version = '42'
        rt   ry   rz   r�   rŽ   N)rÐ   r}   r   r‘   r’   r   r   )r   r    r‚   s      r"   Ú0test_dont_skip_discovery_with_pyproject_metadatazCTestWithCExtension.test_dont_skip_discovery_with_pyproject_metadata‹  sÑ   € ð 	×-Ò-¨hÑ7Ô7Ð7ðˆ	ð
 
Ð$Ñ	$×0Ò0µ°i±´È7Ð0ÑSÔSÐSÝŒ]Õ0Ð8UÐVÑVÔVð 	$ð 	$Ý�h Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ÁA8Á8A<Á?A<N)r-   r.   r/   rÐ   rÖ   rØ   r0   r$   r"   rÌ   rÌ   M  sE   € € € € € ðQð Qð QðB2ð 2ð 2ð8$ð $ð $ð $ð $r$   rÌ   c                   ó@  — e Zd Zd„ ZdZdZdZej         	                    ddd e
e¦  «        ifdd e
e¦  «        ifd	d e
e¦  «        ifd	d e
e¦  «        ifd	d e
e¦  «         e
d
¦  «        z   ifd	d e
e¦  «         e
d¦  «        z   ifg¦  «        d„ ¦   «         ZdS )ÚTestWithPackageDatac                 ó–   — |› d�|› d�|› d�g}t          ||i ¦  «         d}|dz                       t          |¦  «        d¬¦  «         d S )Nz/proj/__init__.pyú/proj/file1.txtú/proj/nested/file2.txtz/
            global-include *.py *.txt
        zMANIFEST.inry   rz   rÎ   )r   r    Úsrc_rootrC   rZ   s        r"   Ú!_simulate_package_with_data_filesz5TestWithPackageData._simulate_package_with_data_files   st   € àÐ*Ð*Ð*ØÐ(Ð(Ð(ØÐ/Ð/Ð/ð
ˆõ
 	˜h¨¨rÑ2Ô2Ð2ðˆð 
�MÑ	!×-Ò-­d°8©n¬nÀwÐ-ÑOÔOÐOÐOÐOr$   zd
    [metadata]
    name = proj
    version = 42

    [options]
    include_package_data = True
    z8
    [project]
    name = "proj"
    version = "42"
    z:
    [tool.setuptools]
    package-dir = {"" = "src"}
    )rÞ   rC   rš   rr   rt   r   zÞ
                        packages = find:
                        package_dir =
                            =src

                        [options.packages.find]
                        where = src
                        zv
                        [tool.setuptools]
                        package-dir = {"" = "src"}
                        c                 ód  — t           j                             |t          |¦  «        ¬¦  «         |                      ||¦  «         t
          j                             |› d�¦  «                             t
          j        d¦  «        t
          j                             |› d�¦  «                             t
          j        d¦  «        h}t          |¦  «         t          t          |                     d¦  «        ¦  «        ¦  «        }t          d¦  «         t          d                     |¦  «        ¦  «         ||k    sJ ‚t          t          |                     d¦  «        ¦  «        ¦  «        }t          d	¦  «         t          d                     |¦  «        ¦  «         d
„ |D ¦   «         }||k    sJ ‚dS )zq
        Make sure auto-discovery does not affect package include_package_data.
        See issue #3196.
        r¾   rÜ   rH   rÝ   r_   r`   ra   rb   rc   c                 ób   — h | ],}|                      d d¦  «                              dd¦  «        ’Œ-S re   rf   rL   s     r"   rg   z@TestWithPackageData.test_include_package_data.<locals>.<setcomp>ü  s6   € ÐRÐRÐRÀA�a—i’i ¨Ñ+Ô+×3Ò3°F¸BÑ?Ô?ÐRÐRÐRr$   N)rœ   r�   r]   Ústrrß   rJ   ÚnormpathrI   rK   rh   r   ri   rj   rk   rl   r   )r   r    rÞ   rC   Úexpectedrn   ro   rp   s           r"   Útest_include_package_dataz-TestWithPackageData.test_include_package_dataÀ  s�  € õT 	Œ×Ò˜%­¨H©¬ÐÑ6Ô6Ð6Ø×.Ò.¨x¸ÑBÔBÐBõ ŒG×Ò Ð9Ð9Ð9Ñ:Ô:×BÒBÅ2Ä6È3ÑOÔOÝŒG×Ò Ð@Ð@Ð@ÑAÔA×IÒIÍ"Ì&ÐRUÑVÔVð
ˆõ
 	�8ÑÔÐå'­¨X¯]ª]¸?Ñ-KÔ-KÑ(LÔ(LÑMÔMˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%Ø˜hÒ&Ð&Ð&Ð&å'­¨X¯]ª]¸<Ñ-HÔ-HÑ(IÔ(IÑJÔJˆÝÐ)Ñ*Ô*Ð*Ýˆd�iŠi˜Ñ$Ô$Ñ%Ô%Ð%ØRÐRÈÐRÑRÔRˆ
Ø˜jÒ(Ð(Ð(Ð(Ð(Ð(r$   N)r-   r.   r/   rß   ÚEXAMPLE_SETUPCFGÚEXAMPLE_PYPROJECTÚPYPROJECT_PACKAGE_DIRr‘   r£   r¤   r   rå   r0   r$   r"   rÚ   rÚ   Ÿ  sI  € € € € € ðPð Pð PðÐðÐðÐð
 „[×ÒØà�;  Ð%5Ñ 6Ô 6Ð7Ð8ØÐ# T TÐ*;Ñ%<Ô%<Ð=Ð>Ø�[ $ $Ð'7Ñ"8Ô"8Ð9Ð:ØÐ% t tÐ,=Ñ'>Ô'>Ð?Ð@àà  Ð&6Ñ!7Ô!7Ø�dðñ	ô 	ñ
"ððð" à$ d dÐ+<Ñ&=Ô&=Ø�dðñô ñ'ððð+!	
ñ$ô $ðJ)ð )ñK$ô $ðJ)ð )ð )r$   rÚ   c                 óÀ   — g d¢}t          | |i ¦  «         t          i ¦  «        }t          ¦   «         |_        |                     ¦   «          |j        �J ‚|j        �J ‚d S )N)zdir1/__init__.pyzdir2/__init__.pyzfile.py)rU   r
   ÚobjectÚconfigurationÚset_defaultsr5   r!   )r    rC   r^   s      r"   Ú(test_compatible_with_numpy_configurationrí      st   € ðð ð €Eõ
 ˜( E¨2Ñ.Ô.Ð.Ý˜ÑÔ€DÝ™œ€DÔØ×ÒÑÔÐØŒ?Ð"Ð"Ð"ØŒ=Ð Ð Ð Ð Ð r$   c                 óú   — t           j                             ddi¦  «         t          i ¦  «        }dg|_        |                     ¦   «          |                     ¦   «          |                     ¦   «         dk    sJ ‚d S )Nr8   r   z--namer&   )rœ   r�   r]   r
   Úscript_argsrì   Úparse_command_liner­   )Ú
tmpdir_cwdr^   s     r"   Ú$test_name_discovery_doesnt_break_clirò     sv   € Ý
„K×Ò�x �nÑ%Ô%Ð%Ý˜ÑÔ€DØ �z€DÔØ×ÒÑÔÐØ×ÒÑÔÐØ�=Š=‰?Œ?˜eÒ#Ð#Ð#Ð#Ð#Ð#r$   c                 ó€  ‡‡— dddiit          d¦  «        dœ}t          j                             |¦  «         t	          i ¦  «        Š‰j        j        Šˆˆfd„}|                     ‰j        d|¦  «         ‰                     ¦   «          ‰ 	                    ¦   «         dk    sJ ‚t          ‰j        ¦  «        dhk    sJ ‚d	S )
a
  According to #3545 it seems that ``name`` discovery is running,
    even when the project already explicitly sets it.
    This seems to be related to parsing of dynamic versions (via ``attr`` directive),
    which requires the auto-discovery of ``package_dir``.
    r&   r¼   z__version__ = 42
zæ
            [project]
            name = "myproj"  # purposefully different from package name
            dynamic = ["version"]
            [tool.setuptools.dynamic]
            version = {"attr" = "pkg.__version__"}
            rÉ   c                  óP   •—  ‰¦   «          ‰                       ¦   «         dk    sJ ‚d S )NÚmyproj)r­   )r^   Úorig_analyse_names   €€r"   Úspy_analyse_namezJtest_preserve_explicit_name_with_dynamic_version.<locals>.spy_analyse_name/  s3   ø€ ð 	ÐÑÔÐØ�}Š}‰Œ (Ò*Ð*Ð*Ð*Ð*Ð*r$   Úanalyse_namerÀ   N)r   rœ   r�   r]   r
   rì   rø   ÚsetattrÚparse_config_filesrÂ   rm   r!   )rñ   ÚmonkeypatchrC   r÷   r^   rö   s       @@r"   Ú0test_preserve_explicit_name_with_dynamic_versionrü     sõ   øø€ ð �MÐ#7Ð8ð
õ ðñ
ô 
ð	ð €Eõ „K×Ò�eÑÔÐÝ˜ÑÔ€DØÔ)Ô6Ðð+ð +ð +ð +ð +ð +ð ×Ò˜Ô)¨>Ð;KÑLÔLÐLØ×ÒÑÔÐØ×ÒÑÔ Ò%Ð%Ð%Ð%ÝˆtŒ}ÑÔ % Ò(Ð(Ð(Ð(Ð(Ð(r$   c                 óü   ‡ — ddddœ}t           j                             |‰ ¬¦  «         t          ‰ |¦  «         ˆ fd„|D ¦   «         }|D ]2}|j                             dd¬¦  «         |                     ¦   «          Œ3d S )	Nz$import setuptools
setuptools.setup()z# Example PackagezCopyright (c) 2018)rs   z	README.mdÚLICENSEr¾   c              3   ó"   •K  — | ]	}‰|z  V — Œ
d S rQ   r0   )rM   rN   Úroots     €r"   rT   z(_populate_project_dir.<locals>.<genexpr>F  s'   øè è € Ð%Ð%˜!ˆT�A‰XÐ%Ð%Ð%Ð%Ð%Ð%r$   Tr   )rœ   r�   r]   Ú_write_setupcfgÚparentr   r   )r   rC   rD   ÚbasicÚpathsr�   s   `     r"   rU   rU   ;  s£   ø€ ð
 <Ø(Ø'ðð €Eõ
 „K×Ò�e DÐÑ)Ô)Ð)Ý�D˜'Ñ"Ô"Ð"Ø%Ð%Ð%Ð%˜uÐ%Ñ%Ô%€EØð ð ˆØŒ×Ò 4°ÐÑ6Ô6Ð6Ø�
Š
‰Œˆˆðð r$   c                 óP  — |st          d¦  «         d S t          ¦   «         }|                     d¦  «         |                     ¦   «         D ]ã\  }}|dk    r7|                     d|› �¦  «         |d|› �                              |¦  «         ŒBt          |t          ¦  «        rd                     |¦  «        |d         |<   Œvt          |t          ¦  «        r@d                     d„ |                     ¦   «         D ¦   «         ¦  «        }d|z   |d         |<   ŒËt          |¦  «        |d         |<   Œät          | dz  d	d
¬¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «         t          | dz                       d
¬¦  «        ¦  «         d S )Nz~~~~~ **NO** setup.cfg ~~~~~rD   rº   zoptions.z, ra   c              3   ó,   K  — | ]\  }}d |› d|› �V — ŒdS )ú	z = Nr0   )rM   ÚkÚvs      r"   rT   z"_write_setupcfg.<locals>.<genexpr>Y  s2   è è € Ð!KÐ!K±T°Q¸ . q . .¨Q . .Ð!KÐ!KÐ!KÐ!KÐ!KÐ!Kr$   rr   Úwry   rz   z~~~~~ setup.cfg ~~~~~)rk   r   Úadd_sectionÚitemsÚupdateÚ
isinstanceÚlistrl   Údictrâ   ÚopenÚwriterÁ   )r   rD   rÕ   ÚkeyÚvalueÚ	str_valuerN   s          r"   r  r  L  só  € Øð ÝÐ,Ñ-Ô-Ð-ØˆÝ‰~Œ~€HØ×Ò˜Ñ#Ô#Ð#Ø—m’m‘o”oð 
2ð 
2‰
ˆˆUØ�/Ò!Ð!Ø× Ò Ð!1¨CÐ!1Ð!1Ñ2Ô2Ð2ØÐ% Ð%Ð%Ô&×-Ò-¨eÑ4Ô4Ð4Ð4Ý˜�tÑ$Ô$ð 	2Ø'+§y¢y°Ñ'7Ô'7ˆH�YÔ Ñ$Ð$Ý˜�tÑ$Ô$ð 	2ØŸ	š	Ð!KÐ!K¸U¿[º[¹]¼]Ð!KÑ!KÔ!KÑKÔKˆIØ'+¨iÑ'7ˆH�YÔ Ñ$Ð$å'*¨5¡z¤zˆH�YÔ Ñ$Ð$Ý	ˆd�[Ñ  #°Ð	8Ñ	8Ô	8ð ¸AØ�Š�qÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Ð
!Ñ"Ô"Ð"Ý	ˆ4�+Ñ×
(Ò
(°'Ð
(Ñ
:Ô
:Ñ;Ô;Ð;Ð;Ð;s   ÅE&Å&E*Å-E*c                 ój   — t           j        dddg|¢t          | ¦  «        ‘}t          |ddi¬¦  «        S )Nz-mr]   z--no-isolationÚDISTUTILS_DEBUGr   )Úenv)ÚsysÚ
executablerâ   r   )r�   ÚflagsrY   s      r"   rh   rh   c  s<   € ÝŒ>˜4 Ð*:Ð
N¸UÐ
NÅCÈÁIÄIÐ
N€CÝˆsÐ*¨BÐ/Ð0Ñ0Ô0Ð0r$   c           	      ó.  — d                      t          j                             | ¦  «        ¦  «        }| dz  }|                     ¦   «         r]t          | ¦  «        5  t          t          t          j	         
                    di d¬¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   nt          |¦  «        }||_        d|_        t          | ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     ¦   «          |S )NrH   rs   Úinit)Ú
stop_after)rl   rJ   r�   ÚsplitrÃ   r   r   r
   Ú	distutilsÚcoreÚ	run_setuprÞ   Úscript_namerú   rì   )Ú	dist_pathÚattrsr   Úscriptr^   s        r"   r   r   h  ss  € Ø�8Š8•B”G—M’M )Ñ,Ô,Ñ-Ô-€Dà˜Ñ#€FØ‡}‚}�„ð #Ý�)‰_Œ_ð 	ð 	ÝÝÝ”×(Ò(¨°RÀFÐ(ÑKÔKñô ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øõ ˜EÑ"Ô"ˆà€D„MØ!€DÔÝ	ˆi‰Œð "ð "Ø×ÒÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð 	×ÒÑÔÐØ€Ks$   Á6BÂB!Â$B!ÃC6Ã6C:Ã=C:c                 óf  — t          | |¦  «        }t          |¦  «        }|                     ¦   «          |j        j        s|j        j        sJ ‚t          ¦   «         5  t          | ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ||fS rQ   )	r   r   Úensure_finalizedÚdistributionr!   r5   r   r   r   )r$  r%  r^   rY   s       r"   rV   rV   ~  s#  € Ý�Y Ñ&Ô&€DÝ
�‰+Œ+€CØ×ÒÑÔÐØÔÔ$ÐC¨Ô(8Ô(CÐCÐCÐCå	‰Œð ð •$�y‘/”/ð ð Ø�Š‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �ˆ9Ðs6   ÁB$Á,BÂB$ÂB	ÂB$ÂB	ÂB$Â$B(Â+B()/rJ   r  Úconfigparserr   Ú	itertoolsr   Útypingr   Újaraco.pathrœ   r‘   r�   r   r›   Úsetuptools.command.sdistr   Úsetuptools.discoveryr   r	   Úsetuptools.distr
   Úsetuptools.errorsr   Úcontextsr   Úintegration.helpersr   r   r   Útextwrapr   Údistutils.corer   r   r2   r§   r¶   rÌ   rÚ   rí   rò   rü   rU   r  rh   r   rV   r0   r$   r"   ú<module>r6     s³  ðØ 	€	€	€	Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ (Ð (Ð (Ð (Ð (Ð (Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à Ð Ð Ð Ð Ð Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ Ð Ð Ð Ð Ð à Ð Ð Ð ðLð Lð Lð Lð Lñ Lô Lð Lð&T'ð T'ð T'ð T'ð T'ñ T'ô T'ð T'ðn#ð #ð #ð #ð #ñ #ô #ð #ð6-/ð -/ð -/ð -/ð -/ñ -/ô -/ð -/ð`O$ð O$ð O$ð O$ð O$ñ O$ô O$ð O$ðd^)ð ^)ð ^)ð ^)ð ^)ñ ^)ô ^)ð ^)ðB!ð !ð !ð$ð $ð $ð!)ð !)ð !)ðHð ð ð"<ð <ð <ð.1ð 1ð 1ð
ð ð ð,	ð 	ð 	ð 	ð 	r$   