
    5h              	          d Z ddlmZ ddl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mZ dd	lmZ erdd
lmZ nd Zd Z G d deeeeef         f                   Z G d de          ZdS )zidistutils.command.bdist

Implements the Distutils 'bdist' command (create a built [binary]
distribution).    )annotationsN)Callable)TYPE_CHECKINGClassVar   )Command)DistutilsOptionErrorDistutilsPlatformError)get_platform)
deprecatedc                    d S )Nc                    | S )N )fns    Clib/python3.11/site-packages/setuptools/_distutils/command/bdist.py<lambda>zdeprecated.<locals>.<lambda>   s    "     r   )messages    r   r   r      s
    }r   c                 ~    ddl m}  d t          j        D             } | |          }|                    d           dS )zAPrint list of available formats (arguments to "--format" option).r   )FancyGetoptc                J    g | ] }d |z   dt           j        |         d         f!S )formats=N   )bdistformat_commands).0formats     r   
<listcomp>z show_formats.<locals>.<listcomp>   sA        
f	dE$9&$A!$DE  r   z'List of available distribution formats:N)fancy_getoptr   r   r   
print_help)r   formatspretty_printers      r   show_formatsr#      sa    ****** +  G ![))NGHHHHHr   c                  8    e Zd Z ed          dd            ZdS )	
ListCompat4format_commands is now a dict. append is deprecated.itemobjectreturnNonec                >    t          j        dt          d           d S )Nr&   r   )
stacklevel)warningswarnDeprecationWarning)selfr'   s     r   appendzListCompat.append'   s.    B	
 	
 	
 	
 	
 	
r   N)r'   r(   r)   r*   )__name__
__module____qualname__r   r1   r   r   r   r%   r%   %   s?        ZFGG
 
 
 HG
 
 
r   r%   c            
          e Zd ZU dZdddd e             dfddd	d
dgZdgZded<   dddefgZ	ded<   dZ
ded<   dddZded<    eddddd d!d"d#          ZeZd$ Zd)d'Zd)d(ZdS )*r   z$create a built (binary) distribution)zbdist-base=bz4temporary directory for creating built distributionsz
plat-name=pz8platform name to embed in generated filenames [default: ])r   Nz/formats for distribution (comma-separated list))z	dist-dir=dz=directory to put final built distributions in [default: dist])
skip-buildNz2skip rebuilding everything (for testing/debugging))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r:   zClassVar[list[str]]boolean_optionszhelp-formatsNz$lists available distribution formatszAClassVar[list[tuple[str, str | None, str, Callable[[], object]]]]help_options)	bdist_rpmzClassVar[tuple[str, ...]]no_format_optiongztarzip)posixntzClassVar[dict[str, str]]default_format)r?   zRPM distribution)
bdist_dumbzgzip'ed tar file)rF   zbzip2'ed tar file)rF   zxz'ed tar file)rF   zcompressed tar file)rF   ztar file)rF   zZIP file)rpmrA   bztarxztarztartarrB   c                h    d | _         d | _        d | _        d | _        d| _        d | _        d | _        d S )NF)
bdist_base	plat_namer!   dist_dir
skip_buildgroupowner)r0   s    r   initialize_optionszbdist.initialize_optionsi   s7    



r   r)   r*   c                   | j         :| j        rt                      | _         n|                     d          j         | _         | j        G|                     d          j        }t          j                            |d| j         z             | _        | 	                    d           | j
        I	 | j        t          j                 g| _
        n*# t          $ r t          dt          j                   w xY w| j        	d| _        d S d S )Nbuildzbdist.r!   z9don't know how to create built distributions on platform dist)rN   rP   r   get_finalized_commandrM   
build_baseospathjoinensure_string_listr!   rE   nameKeyErrorr
   rO   )r0   rX   s     r   finalize_optionszbdist.finalize_optionsr   s   >! O!-!%!;!;G!D!D!N
 ?"33G<<GJ gll:x$.7PQQDO	***< $ 3BG <=   ,-#%7- -   = "DMMM ! s   -C 'C2c                   g }| j         D ]J}	 |                    | j        |         d                    *# t          $ r t	          d| d          w xY wt          t          | j                             D ]}||         }|                     |          }|| j        vr| j         |         |_	        |dk    r| j
        |_
        | j        |_        |||dz   d          v rd|_        |                     |           d S )Nr   zinvalid format ''rF   r   T)r!   r1   r   r^   r	   rangelenreinitialize_commandr@   r   rR   rQ   	keep_temprun_command)r0   commandsr   icmd_namesub_cmds         r   runz	bdist.run   s7   l 	I 	IFI 4V <Q ?@@@@ I I I*+Gf+G+G+GHHHI s4<(()) 	' 	'A{H//99Gt444!%a <'' $
 $
 8AEGG,,,$(!X&&&&	' 	's	   &4A)r)   r*   )r2   r3   r4   descriptionr   user_optionsr=   __annotations__r#   r>   r@   rE   r%   r   format_commandrS   r_   rk   r   r   r   r   r   0   sL        8K 	U+%+ + +	
 	N	

 	S	

	
)L6 -9>O9999 
E|TWL    
 3A@@@@ :A/N/NNNNNN !j03415))" "  O %N  # # # #8' ' ' ' ' 'r   r   )__doc__
__future__r   rY   r-   collections.abcr   typingr   r   corer   errorsr	   r
   utilr   typing_extensionsr   r#   dictstrtupler%   r   r   r   r   <module>r{      sS   
 # " " " " " 				  $ $ $ $ $ $ * * * * * * * *       A A A A A A A A       ,,,,,,,  	I 	I 	I
 
 
 
 
c5c?*+ 
 
 
w' w' w' w' w'G w' w' w' w' w'r   