o
ai/ @ s d dl Z d dlmZ d dlmZmZmZ d dlmZ d dl m
Z
mZ d dlm
Z
dedefd d
Zdedefdd
Zedg dZdee dedededee f
ddZdS ) N)
namedtuple)AnyListOptional)tomli)InvalidRequirementRequirement)InstallationErrorobjreturnc C s t | to
tdd | D S )Nc s s | ]}t |tV qd S )N)
isinstancestr).0item r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/pyproject.py s z"_is_list_of_str..)r listall)r
r r r _is_list_of_str s r unpacked_source_directoryc C s t j| dS )Nzpyproject.toml)ospathjoin)r r r r make_pyproject_path s r BuildSystemDetails)requiresbackendcheckbackend_path
use_pep517pyproject_tomlsetup_pyreq_namec
C s t j|}t j|}|s|st| d|r:t|dd
}t|}W d n1 s/w Y |d}nd}|rM|sM| durJ| sJtdd} n|red|v re| durb| sbtd |d d} n| du rk|} | dusqJ | sudS |du rd
dgdd
}|dusJ d} d|vrt| j|dd|d }
t |
st| j|dd|
D ]}zt
| W q ty t| j|d|dw |d}|dg }
g }|du rd}d
dg}t|
|||
S )aB Load the pyproject.toml file.
Parameters:
use_pep517 - Has the user requested PEP 517 processing? None
means the user hasn't explicitly specified.
pyproject_toml - Location of the project's pyproject.toml file
setup_py - Location of the project's setup.py file
req_name - The name of the requirement we're processing (for
error reporting)
Returns:
None if we should use the legacy code path, otherwise a tuple
(
requirements from pyproject.toml,
name of PEP 517 backend,
requirements we should check are installed after setting
up the build environment
directory paths to import the backend from (backend-path),
relative to the project root.
)
zW does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.zutf-8)encodingNzbuild-systemzIDisabling PEP 517 processing is invalid: project does not have a setup.pyT
build-backendzbDisabling PEP 517 processing is invalid: project specifies a build backend of {} in pyproject.tomlzsetuptools>=40.8.0wheelz setuptools.build_meta:__legacy__)r r% zO{package} has a pyproject.toml file that does not comply with PEP 518: {reason}r z]it has a 'build-system' table but not 'build-system.requires' which is mandatory in the table)packagereasonz1'build-system.requires' is not a list of strings.z='build-system.requires' contains an invalid requirement: {!r}zbackend-path)
r r isfiler openr loadgetformatr r r r )r r! r" r#
has_pyproject has_setupfpp_tomlbuild_systemerror_templater requirementr r r r r r load_pyproject_toml s
r5 )r collectionsr typingr r r pip._vendorr Z"pip._vendor.packaging.requirementsr r pip._internal.exceptionsr boolr r
r r r5 r r r r s,