Current File : //usr/lib/python3/dist-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc |
�
/�g) � �p � d dl Z d dlZd dlmZmZ dee fd�Zdee fd�Zdee fd�Zdeeef fd�Z y)� N)�Optional�Tuple�returnc �. � t � xs
t � S )z9Returns glibc version string, or None if not using glibc.)�glibc_version_string_confstr�glibc_version_string_ctypes� � �;/usr/lib/python3/dist-packages/pip/_internal/utils/glibc.py�glibc_version_stringr s � �'�)�J�-H�-J�Jr
c � � t j dk( ry t j d� } | �y| j � \ }}|S # t
t t f$ r Y yw xY w)z@Primary implementation of glibc_version_string using os.confstr.�win32N�CS_GNU_LIBC_VERSION)�sys�platform�os�confstr�split�AttributeError�OSError�
ValueError)�gnu_libc_version�_�versions r r r se � � �|�|�w�����:�:�&;�<���#��%�+�+�-�
��7� �N��
�G�Z�0� ���s �A �A �A�Ac � � ddl } | j d� } |j }| j
|_ |� }t |t � s|j d� }|S # t $ r Y yw xY w# t $ r Y yw xY w)z=Fallback implementation of glibc_version_string using ctypes.r N�ascii)
�ctypes�ImportError�CDLL�gnu_get_libc_versionr �c_char_p�restype�
isinstance�str�decode)r �process_namespacer �version_strs r r r s� � ��� ���D�)���0�E�E�� $*�?�?�� �&�(�K��k�3�'�!�(�(��1�����- � ���� � � ��s"