
    YHh@I                       U d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
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 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 ddlmZ de fddddddddfddddddddfddddddddfdddd d!d"d#dffZ!ejD                  jG                  d$e!e!D  cg c]  } | d   	 c} %      d&        Z$ejJ                  dd'       Z&d( Z'd) Z(d* Z)d+ Z* G d, d-      Z+ e,d.d/d0d1ii e,d/g2       e(d3g d4d0gd5i      6       e,d7 e,d89      :       e,d;d< ed=      i e,d>d<gfg?       e(d3g d4d<gd@i      6       e,dAdB edC      i e, e+dDdAdBgE      gF       e(dGdHdIg d4igi      6       e,dJdK edL      i e,dKgM       e(d3dKdIg d4igi      6       e,dN edO       edP      dQ e,dRdSgT       e(d3dIdUdVdWdXdYdRdSgigii      6       e,dZd[ e(d3dIg d\ii       ed]      ^       e,d_d`e
jZ                  da edb      c       e,dddee
jZ                  dfg       e,dhdidjdki edl      m       e,dndjdoe
jZ                  dpidq edr      z   s       e,dtdudjdvi edw      m       e,dxd/dyd0d1iii e,d/gdzg{       e(d3d|dIg d}id/d0dyd0gigigi      6       e,d~dd0dii e,dgdg{       e(d3d|dIg d}idd0gigi      6       e,dd/d1d< ed      idi e,d/gddgfg       e(d3g d4d0d>d<gigd5i      6      fZ.de/d<   ejD                  jG                  de.e.D cg c]  }|d   	 c}%      d        Z0d Z1d Z2d Z3yc c} w c c}w )zwheel tests    )annotationsN)Anypath)	parse_tag)metadata)Wheel   )tempdir)DALS)get_config_var)get_platformzinvalid.whlz&simplewheel-2.0-1-py2.py3-none-any.whlsimplewheelz2.01zpy2.py3noneany)project_nameversionbuild
py_versionabiplatformz$simple.dist-0.1-py2.py3-none-any.whlzsimple.distz0.1z example_pkg_a-1-py3-none-any.whlexample_pkg_apy3z9PyQt5-5.9-5.9.1-cp35.cp36.cp37-abi3-manylinux1_x86_64.whlPyQt5z5.9z5.9.1zcp35.cp36.cp37abi3manylinux1_x86_64)filenameinfo)idsc                   t        j                  |      r*t        j                  |      5  t	        |        d d d        y t	        |       }|j                         D ci c]  }|t        ||       c}|k(  sJ y # 1 sw Y   y xY wc c}w N)inspectisclasspytestraisesr	   keysgetattr)r   r   wks       T/var/www/html/planif/env/lib/python3.12/site-packages/setuptools/tests/test_wheel.pytest_wheel_infor,   O   sn     t]]4  	(O	hA&*iik2Awq!}2d:::		2s   A:B:Bc              +    K   dt        d      |z  j                  d      i}| r|j                  |        t               5 }t	        j
                  ||       t        j                  t        j                  dddf|       t        j                  t        j                  j                  |dd            d	    d d d        y # 1 sw Y   y xY ww)
Nsetup.pyz
            # -*- coding: utf-8 -*-
            from setuptools import setup
            import setuptools
            setup(**%r)
            utf-8-qbdist_wheelcwddist*.whlr   )r   encodeupdater   r   r   
subprocess
check_callsys
executableglobosjoin)extra_file_defskwargs	file_defs
source_dirs       r+   build_wheelrC   [   s      	  &/I )	 Fj

9j)^^Z}=:	
 iiZAB1EEF F Fs   =CA9C8	CC
Cc           
         t               }t        j                  |       D ]Z  \  }}}|D ]O  }|j                  t        j                  j                  t        j                  j                  ||       |             Q \ |S r"   )setr=   walkaddr   r>   relpath)rootcontentsdirpathdirnames	filenamesr   s         r+   tree_setrN   t   sk    uH(* Q$9! 	QHLLbggoogt&DhOP	QQ O    c           
        t               }| j                         D ]  \  }}t        |t              rt	        |      }|D ]|  }t        |t              r;|t	        |      D ch c]"  }t
        j                  j                  ||      $ c}z  }N|j                  t
        j                  j                  ||             ~  |S c c}w )z8Flatten nested dicts and lists into a full list of paths)	rE   items
isinstancedictflatten_treer=   r   r>   rG   )treeoutputnoderJ   elemvals         r+   rT   rT   |   s    UF**, 5hh%#H-H 	5D$%l4>PQs277<<c2QQ

277<<d34		5	5 M Rs   'C
c           
         | D ch c]F  }|j                  t        j                         t               t	        d      xs t	        d            H c}S c c}w )N
EXT_SUFFIXSO)r   r   	shlib_ext)format	sysconfigget_python_versionr   r   )rU   xs     r+   format_install_treerb      sW       	
 335!^$\2JnT6J 	 	
  s   AAc                   t        |       }t        j                  j                  ||j	                               }|j                  |       |1t        |      }t        |      }	|j                  |	      s
J ||	z
         t        j                  j                  |g      \  }
|
j                  d   |k(  sJ |
j                  d   |k(  sJ |
j                  d      |k(  sJ y )Nr   NameVersionrequires.txt)r	   r=   r   r>   egg_nameinstall_as_eggrb   rN   issubsetr   Distributiondiscover	read_text)r   install_dirinstall_tree_includesr   r   requires_txtr)   egg_pathinstall_treeexpr4   s              r+   _check_wheel_installrs      s     	hAww||K6HX(*+@A{#$$S)=<#+==)##,,8*,=GT == L000==#w...>>.)\999rO   c                      e Zd Zd ZddZy)Recordc                     || _         || _        y r"   _id_fields)selfidr@   s      r+   __init__zRecord.__init__   s    rO   c                :    | j                    d| j                  dS )Nz(**)rw   )rz   s    r+   __repr__zRecord.__repr__   s    ((3t||.a00rO   N)returnstr)__name__
__module____qualname__r|   r    rO   r+   ru   ru      s    1rO   ru   basicfoo__init__.py )packagesfoo-1.0-py{py_version}.egg)PKG-INFORECORDWHEELtop_level.txt)EGG-INFOr   r{   rA   setup_kwargsrq   r/   u   Description accentuée)description)r{   r   datazdata.txtz.
                Some data...
                data_dir)
data_files)r   r   	extensionzextension.can  
                #include "Python.h"

                #if PY_MAJOR_VERSION >= 3

                static struct PyModuleDef moduledef = {
                        PyModuleDef_HEAD_INIT,
                        "extension",
                        NULL,
                        0,
                        NULL,
                        NULL,
                        NULL,
                        NULL,
                        NULL
                };

                #define INITERROR return NULL

                PyMODINIT_FUNC PyInit_extension(void)

                #else

                #define INITERROR return

                void initextension(void)

                #endif
                {
                #if PY_MAJOR_VERSION >= 3
                    PyObject *module = PyModule_Create(&moduledef);
                #else
                    PyObject *module = Py_InitModule("extension", NULL);
                #endif
                    if (module == NULL)
                        INITERROR;
                #if PY_MAJOR_VERSION >= 3
                    return module;
                #endif
                }
                zsetuptools.Extension)namesources)ext_modulesz%foo-1.0-py{py_version}-{platform}.eggzextension{shlib_ext}r   headerzheader.hz
                )headersscriptX
                #/usr/bin/python
                print('hello world!')
                N
                #/bin/sh
                echo 'hello world!'
                	script.py	script.shr   r   scriptsr   r   r   r   r   	requires1zfoobar==2.0)r   r   r   rf   r   z%
            foobar==2.0
            )r{   install_requiresrq   ro   	requires2z
        bar
        foo<=2.0; z in sys_platform
        z2
            bar
            foo<=2.0
            )r{   r   ro   	requires3z
        bar; z != sys_platform
        )r{   r   	requires4z
        foo
        extrazfoobar>3zG
            foo

            [extra]
            foobar>3
            )r{   r   extras_requirero   	requires5zfoobar; z != sys_platform
z!
            [extra]
            )r{   r   ro   requires_ensure_orderz9
        foo
        bar
        baz
        qux
        za
            foobar>3
            barbaz>4
            bazqux>5
            quxzap>6
            z
            foo
            bar
            baz
            qux

            [extra]
            foobar>3
            barbaz>4
            bazqux>5
            quxzap>6
            namespace_packagebarzfoo.bar)namespace_packagesr   z foo-1.0-py{py_version}-nspkg.pth)r   r   r   znamespace_packages.txtr   empty_namespace_packagefoobarz7__import__('pkg_resources').declare_namespace(__name__)data_in_packagez>
                        Some data...
                        )r   r   zfoo/data_dirzfoo/data_dir/data.txt)r   r   ztuple[dict[str, Any], ...]WHEEL_INSTALL_TESTSparamsr{   c           
        | j                  dd      }| j                  dd      }| j                  dg       }| j                  di       }| j                  dd       }| j                  d      }| j                  d	i       }| j                  d
i       }t        d|||||d|5 }	t               5 }
t        |	|
||||       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   1.0r   r   ro   rq   rA   r   r   r   r   r   r?   r   )getrC   r   rs   )r   r   r   r   r   ro   rq   rA   r   r   rm   s              r+   test_wheel_installr   %  s     ::fe,LjjE*Gzz"4b9ZZ 0"5N::nd3L::n-L

;+I::nb1L 	
-)%	
 	

 	
 !k<w	

 
 
 
 
 
s$   !C,C=CC	CC#c                    d} d}|  d| d}t               5 }t        j                  j                  ||      }t	        j
                  |d      j                          t               5 }t        j                  t              5  t        ||d | |d        d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)N
nodistinfor   -z-py2.py3-none-any.whlr)   )r   r=   r   r>   zipfileZipFilecloser%   r&   
ValueErrorrs   )r   r   
wheel_namerB   
wheel_pathrm   s         r+   test_wheel_no_dist_dirr   C  s    LG >7)+@AJ	 jWW\\*j9

C(..0Y 	+z* $T<$		 
 	 		 s<   AC&B6 B*B6C*B3/B66B?	;CCc                d    d }| j                  d|       t        d      j                         sJ y )Nc                     t        d      D  ch c]%  } | j                  | j                  | j                  f' c} S c c} w )Nzcp36-cp36m-manylinux1_x86_64)r   interpreterr   r   )ts    r+   sys_tagsz*test_wheel_is_compatible.<locals>.sys_tagsS  s=     =>
 ]]AEE1::.
 	
 
s   *;z$setuptools.wheel._get_supported_tagsz2onnxruntime-0.1.2-cp36-cp36m-manylinux1_x86_64.whl)setattrr	   is_compatible)monkeypatchr   s     r+   test_wheel_is_compatibler   R  s2    
 >IEFTTVVVrO   c                 L   t         j                  dd       } t        dt        d      t        d      dt        ddg      t	        d	d
dddddddgigii            }|j                  dd      }|j                  dd      }|j                  d      }|j                  di       }|j                  di       } | d||g i |d|5 }t               5 }t        |||||d        t        |      }	t        j                  |      |	j                         z  }
|
d
z  dz  dz  }|j                         sJ t        j                  dk7  r;t        t!        j"                  |j!                         j$                              dk(  sJ d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nc              ;    K   dt        d      |z  j                  d      i}| r|j                  |        t               5 }t	        j
                  ||       t        j                  |      dz  }t        j                  |d       t        j                  t        j                  dddf|       t        j                  t        j                  j                  |d	d
            d    d d d        y # 1 sw Y   y xY ww)Nr.   z
                # -*- coding: utf-8 -*-
                from setuptools import setup
                import setuptools
                setup(**%r)
                r/   r   i  r0   r1   r2   r4   r5   r   )r   r6   r7   r   r   r   pathlibPathr=   chmodr8   r9   r:   r;   r<   r>   )r?   r@   rA   rB   runshs        r+   rC   z$test_wheel_mode.<locals>.build_wheel^  s        fWo
	 _-Y 	J*JJy*-LL,{:EHHUE"!!T=Az ))BGGLLVWEFqII	J 	J 	Js   =C;B'C/&	C;/C84C;r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rq   rA   r   r   win320o777r"   r   )
contextlibcontextmanagerrS   r   rT   r   r   rs   r	   r   r   rg   existsr:   r   octstatS_IMODEst_mode)rC   r   r   r   rq   rA   r   r   rm   r)   base	script_shs               r+   test_wheel_moder   ]  s   J J2  
  +.
 "(#k :;+
#
 
'F@ ::fe,LjjE*G::n-L

;+I::nb1L 	 	
%	
 	
J 	J !k<w	
 (O||K(1::<7:%	1K?	!!!<<7"t||INN$4$<$<=>'III)J J J J J Js%   FB-F=FF	FF#r"   )4__doc__
__future__r   r   r<   r#   r=   r   r   r8   r:   r_   r   typingr   r%   jaracor   packaging.tagsr   setuptools._importlibr   setuptools.wheelr	   contextsr   textwrapr   distutils.sysconfigr   distutils.utilr   r   WHEEL_INFO_TESTSmarkparametrizer,   r   rC   rN   rT   rb   rs   ru   rS   r   r   __annotations__r   r   r   r   )r   r   s   00r+   <module>r      s[    "    	    
      $ * "   . ' J0)#	

 	/)#	

 	++	

 	D#*+	

G. b *?O0P!10P  ;; F F0:(1 1 	="-.W
 "(L%+#
  	0
 	
 #j\23
 "(L'L+#
 & 	4(*,
Z *}o
 "3& !
6#
 mCH 	
 L
 "( !
+#
 2 	 
  +.
 "(#k :;+
#
 
'> 	&!( +
#
 
 
( 	<<" #	 
 	ll 	 	 Z
 
" 	x//?@
 


 	"  
 
!> 	r*

  %w[
 "(2 ! %0+#
 @ 	$M
  (zZ
 "(2 ! %+#
  B 	!!	
 W'*A)BCD
 "( ""&%+#
 %$O
l3 / l^ $78&8  



2WUJ[ 1Qp 	9s   4M:M#