§
    (¶Õi¨  ã                   óò   — d Z ddlZddlZddlZddlZddlmc mZ	 ddl
mc mZ ddl
mZmZmZ ddlmZ  G d„ de	j        ¦  «        Z G d„ dej        ¦  «        Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Z e¦   «          dS )a  
Apply Debian-specific patches to distutils commands.

Extracts the customized behavior from patches as reported
in pypa/distutils#2 and applies those customizations (except
for scheme definitions) to those commands.

Place this module somewhere in sys.path to take effect.
é    N)Úto_filenameÚ	safe_nameÚsafe_version)ÚDistutilsOptionErrorc                   ód   ‡ — e Zd Z eej        j        ¦  «        dgz   Zˆ fd„Zˆ fd„Zˆ fd„Z	ˆ xZ
S )Úinstall)zinstall-layout=Nz7installation layout to choose (known values: deb, unix)c                 ód   •— t          ¦   «                              ¦   «          d | _        d | _        d S ©N©ÚsuperÚinitialize_optionsÚprefix_optionÚinstall_layout©ÚselfÚ	__class__s    €ú,/usr/lib/python3.11/_distutils_system_mod.pyr   zinstall.initialize_options    ó/   ø€ Ý‰Œ×"Ò"Ñ$Ô$Ð$Ø!ˆÔØ"ˆÔÐÐó    c                 ó  •— |dk    rØ| j         rK| j                              ¦   «         dv rd}n³| j                              ¦   «         dv rd}n•t          d¦  «        ‚| j        r(t          j                             | j        ¦  «        dk    st          ¦   «         rd}nFt          j                             | j        ¦  «        dk    rdx| _        | _	        dx| _
        | _        d}t          ¦   «                              |¦  «         d S )	NÚposix_prefix)ÚdebÚ
deb_system)Úunixú"unknown value for --install-layoutú
/usr/localú/usrÚposix_local)r   Úlowerr   r   ÚosÚpathÚnormpathÚprefixÚis_virtual_environmentÚexec_prefixÚinstall_baseÚinstall_platbaser   Úselect_scheme)r   Únamer   s     €r   r(   zinstall.select_scheme%   s  ø€ Ø�>Ò!Ð!ØÔ"ð %ØÔ&×,Ò,Ñ.Ô.°'Ð9Ð9Ø'�D�DØÔ(×.Ò.Ñ0Ô0°HÐ<Ð<Ø)�D�Då.Ø<ñ>ô >ð >àÔ%ð %Ý”7×#Ò# D¤KÑ0Ô0°LÒ@Ð@Ý+Ñ-Ô-ð Aà%��å”7×#Ò# D¤KÑ0Ô0°LÒ@Ð@Ø5;Ð;�D”K $Ô"2Ø@FÐF�DÔ%¨Ô(=Ø$�Ý‰Œ×Ò˜dÑ#Ô#Ð#Ð#Ð#r   c                 ó`   •— | j         | _        t          ¦   «                              ¦   «          d S r
   )r#   r   r   Úfinalize_unixr   s    €r   r+   zinstall.finalize_unix:   s)   ø€ Ø!œ[ˆÔÝ‰Œ×ÒÑÔÐÐÐr   )Ú__name__Ú
__module__Ú__qualname__ÚlistÚorig_installr   Úuser_optionsr   r(   r+   Ú__classcell__©r   s   @r   r   r      s�   ø€ € € € € Ø�4˜Ô,Ô9Ñ:Ô:ð	Dð>ñ €Lð
#ð #ð #ð #ð #ð
$ð $ð $ð $ð $ð* ð  ð  ð  ð  ð  ð  ð  ð  r   r   c                   óp   ‡ — e Zd Z eej        j        ¦  «        dgz   Zˆ fd„Zˆ fd„Ze	d„ ¦   «         Z
ˆ xZS )Úinstall_egg_info)zinstall-layoutNzcustom installation layoutc                 ód   •— t          ¦   «                              ¦   «          d | _        d | _        d S r
   r   r   s    €r   r   z#install_egg_info.initialize_optionsD   r   r   c                 ó    •— |                       dd¦  «         |                       dd¦  «         t          ¦   «                              ¦   «          d S )Nr   )r   r   )r   r   )Úset_undefined_optionsr   Úfinalize_optionsr   s    €r   r9   z!install_egg_info.finalize_optionsI   sM   ø€ Ø×"Ò" 9Ð-PÑQÔQÐQØ×"Ò" 9Ð-NÑOÔOÐOÝ‰Œ× Ò Ñ"Ô"Ð"Ð"Ð"r   c                 ó’  — | j         rH| j                              ¦   «         dvrt          d¦  «        ‚| j                              ¦   «         dk    }n| j        rd}nd}|rkt	          t          | j                             ¦   «         ¦  «        ¦  «        ›dt	          t          | j         	                    ¦   «         ¦  «        ¦  «        ›d�}n~dt	          t          | j                             ¦   «         ¦  «        ¦  «        t	          t          | j         	                    ¦   «         ¦  «        ¦  «        gt          j        d d	…         ¢R z  }|S )
N)r   r   r   r   FTú-z	.egg-infoz%s-%s-py%d.%d.egg-infoé   )r   r   r   r   r   r   ÚdistributionÚget_namer   Úget_versionÚsysÚversion_info)r   Úno_pyverÚbasenames      r   rC   zinstall_egg_info.basenameN   sF  € àÔð 	ØÔ&×,Ò,Ñ.Ô.°/ÐAÐAÝ*Ø8ñ:ô :ð :àÔ+×1Ò1Ñ3Ô3°uÒ<ˆHˆHØÔð 	ØˆHˆHàˆHØð 
	å�I dÔ&7×&@Ò&@Ñ&BÔ&BÑCÔCÑDÔDÐDÐDÝ�L¨Ô):×)FÒ)FÑ)HÔ)HÑIÔIÑJÔJÐJÐJðˆHˆHð
 0Ý�I dÔ&7×&@Ò&@Ñ&BÔ&BÑCÔCÑDÔDÝ�L¨Ô):×)FÒ)FÑ)HÔ)HÑIÔIÑJÔJð3õ Ô! " 1 "Ô%ð3ð 3ñ ˆHð
 ˆr   )r,   r-   r.   r/   Úorig_install_egg_infor5   r1   r   r9   ÚpropertyrC   r2   r3   s   @r   r5   r5   ?   s�   ø€ € € € € Ø�4Ð-Ô>ÔKÑLÔLØ>ðPñ €Lð#ð #ð #ð #ð #ð
#ð #ð #ð #ð #ð
 ðð ñ „Xðð ð ð ð r   r5   c                  ó`   — t           j        t           j        k    pt          t           d¦  «        S )NÚreal_prefix)r@   Úbase_prefixr#   Úhasattr© r   r   r$   r$   g   s    € ÝŒ?�cœjÒ(ÐG­GµC¸Ñ,GÔ,GÐGr   c                 óö   — | p t           j                             |¦  «        dv }| r|S |r0t          ¦   «         s"t           j                             |ddd¦  «        S t           j                             |d¦  «        S )N)r   r   ÚlibÚpython3zdist-packageszsite-packages)r    r!   r"   r$   Újoin)Ústandard_libÚ	libpythonÚearly_prefixr#   Úis_default_prefixs        r   Ú
_posix_librS   k   sz   € Ø(Ð(Ðd­B¬G×,<Ò,<¸\Ñ,JÔ,JÐNdÐ,dÐØð 8ØÐØ	ð 8Õ#9Ñ#;Ô#;ð 8ÝŒw�|Š|˜F E¨9°oÑFÔFÐFåŒw�|Š|˜I Ñ7Ô7Ð7r   c                 ó¦   — d|vrL| dk    r	|d         }nt           j        d         d         }| dk    rd|vr|                     dd¦  «        }||d<   |S )aN  
    Given a scheme name and the resolved scheme,
    if the scheme does not include headers, resolve
    the fallback scheme for the name and use headers
    from it. pypa/distutils#88

    headers: module headers install location (posix_local is /local/ prefixed)
    include: cpython headers (Python.h)
    See also: bpo-44445
    Úheadersr   Úincluder   z/local/z	/include/z/local/include/)r0   ÚINSTALL_SCHEMESÚreplace)r)   ÚschemerU   s      r   Ú_inject_headersrZ   u   sp   € ð ˜ÐÐØ�>Ò!Ð!Ø˜YÔ'ˆGˆGå"Ô2°>ÔBÀ9ÔMˆGØ�=Ò Ð  Y°gÐ%=Ð%=Ø—o’o kÐ3DÑEÔEˆGØ#ˆˆyÑØ€Mr   c                 ó   ‡ — ˆ fd„}|S )z�
    Implement the _inject_headers modification, above, but before
    _inject_headers() was introduced, upstream. So, slower and messier.
    c                  óp   •—  ‰¦   «         } |                       ¦   «         D ]\  }}t          ||¦  «         Œ| S r
   )ÚitemsrZ   )Úschemesr)   rY   Ú_load_schemess      €r   Úwrapped_load_schemesz2load_schemes_wrapper.<locals>.wrapped_load_schemes�   sA   ø€ Ø�-‘/”/ˆØ#ŸMšM™OœOð 	*ð 	*‰LˆD�&Ý˜D &Ñ)Ô)Ð)Ð)Øˆr   rJ   )r_   r`   s   ` r   Úload_schemes_wrapperra   ‹   s$   ø€ ð
ð ð ð ð ð
  Ðr   c                 ój   — dD ]/}|| vr)t          j        |d¬¦  «        }t          ||¦  «        | |<   Œ0dS )zR
    Ensure that the custom schemes we refer to above are present in schemes.
    )r   r   r   F)ÚexpandN)Ú	sysconfigÚ	get_pathsrZ   )r^   r)   rY   s      r   Úadd_debian_schemesrf   ˜   sQ   € ð >ð :ð :ˆØ�wÐÐÝÔ(¨°eÐ<Ñ<Ô<ˆFÝ+¨D°&Ñ9Ô9ˆG�D‰Møð:ð :r   c                  ól  — t           t          _         t          t          _        t          t
          j        _        t          t          d¦  «        rt          t          _        d S t          t          d¦  «        r%t          t          j
        ¦  «        t          _
        d S t          t          j        ¦  «         d S )NrZ   r_   )r   r0   r5   rD   rS   Ú	distutilsrd   rI   rZ   ra   r_   rf   rW   rJ   r   r   Úapply_customizationsri   ¢   sƒ   € Ý"…LÔÝ-=ÕÔ*Ý%/…IÔÔ"å�|Ð.Ñ/Ô/ð 
9å'6�Ô$Ð$Ð$Ý	•˜Ñ	/Ô	/ð 9å%9½,Ô:TÑ%UÔ%U�Ô"Ð"Ð"õ
 	�<Ô7Ñ8Ô8Ð8Ð8Ð8r   )Ú__doc__r    r@   rd   Údistutils.sysconfigrh   Údistutils.command.installÚcommandr   r0   Ú"distutils.command.install_egg_infor5   rD   r   r   r   Údistutils.errorsr   r$   rS   rZ   ra   rf   ri   rJ   r   r   ú<module>rp      sˆ  ððð ð 
€	€	€	Ø 
€
€
€
Ø Ð Ð Ð à Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ð ð ð ð ð ð
 2Ð 1Ð 1Ð 1Ð 1Ð 1ð" ð " ð " ð " ð " ˆlÔ"ñ " ô " ð " ðJ%ð %ð %ð %ð %Ð,Ô=ñ %ô %ð %ðPHð Hð Hð8ð 8ð 8ðð ð ð,
 ð 
 ð 
 ð:ð :ð :ð9ð 9ð 9ð$ Ð Ñ Ô Ð Ð Ð r   