<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
Re                 @   s   d 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Zddl	m
Z
 ddlmZ ddlmZmZ ejeZd	d
 ZG dd deZdddZdddZdS )zIBuild wheels/sdists by installing build deps to a temporary environment.
    N)toml)
check_call)	get_paths)mkdtemp   )Pep517HookCallerLoggerWrapperc             C   sH   t tjj| d}tj|}W d Q R X |d }|d |d |jdfS )Nzpyproject.tomlzbuild-systemrequireszbuild-backendzbackend-path)openospathjoinr   loadget)
source_dirfZpyproject_dataZbuildsys r   /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/pep517/envbuild.py_load_pyproject   s    r   c               @   s6   e Zd ZdZdZdddZdd Zdd	 Zd
d ZdS )BuildEnvironmentzContext manager to install build deps in a simple temporary environment

    Based on code I wrote for pip, which is MIT licensed.
    NTc             C   s
   || _ d S )N)_cleanup)selfcleanupr   r   r   __init__9   s    zBuildEnvironment.__init__c             C   s   t dd| _tjd| j tjjdd | _tjjdd | _tj	dkrHdnd}t
|| j| jdd	}|d
 }| jr|tj | j tjd< n|tj tj tjd< |d |d kr|d }n|d tj |d  }| jr|tj | j tjd< n
|tjd< | S )Nzpep517-build-env-)prefixzTemporary build environment: %sPATH
PYTHONPATHntposix_prefix)baseplatbase)varsscriptspurelibplatlib)r   r   loginfor   environr   	save_pathsave_pythonpathnamer   pathsepdefpath)r   Zinstall_schemeZinstall_dirsr"   lib_dirsr   r   r   	__enter__<   s*    


zBuildEnvironment.__enter__c             C   sT   |sdS t jd| tjddddd| jgt| }t|tt tj	tt tj
d dS )	zAInstall dependencies into this env by calling pip in a subprocessNzCalling pip to install %sz-mpipinstallz--ignore-installedz--prefix)stdoutstderr)r%   r&   sys
executabler   listr   r   loggingINFOERROR)r   reqscmdr   r   r   pip_install\   s    
zBuildEnvironment.pip_installc             C   s~   | j o| jd k	otjj| j}|r.tj| j | jd krHtjjdd  n| jtjd< | j	d krntjjdd  n| j	tjd< d S )Nr   r   )
r   r   r   isdirshutilrmtreer(   r'   popr)   )r   exc_typeexc_valexc_tbZneeds_cleanupr   r   r   __exit__j   s    


zBuildEnvironment.__exit__)T)	__name__
__module____qualname____doc__r   r   r.   r;   rC   r   r   r   r   r      s   
 r   c       	   
   C   sb   |dkri }t | \}}}t| ||}t ,}|j| |j|}|j| |j||S Q R X dS )am  Build a wheel from a source directory using PEP 517 hooks.

    :param str source_dir: Source directory containing pyproject.toml
    :param str wheel_dir: Target directory to create wheel in
    :param dict config_settings: Options to pass to build backend

    This is a blocking function which will run pip in a subprocess to install
    build requirements.
    N)r   r   r   r;   get_requires_for_build_wheelbuild_wheel)	r   	wheel_dirconfig_settingsr	   backendbackend_pathhooksenvr9   r   r   r   rI   ~   s    



rI   c       	   
   C   sb   |dkri }t | \}}}t| ||}t ,}|j| |j|}|j| |j||S Q R X dS )am  Build an sdist from a source directory using PEP 517 hooks.

    :param str source_dir: Source directory containing pyproject.toml
    :param str sdist_dir: Target directory to place sdist in
    :param dict config_settings: Options to pass to build backend

    This is a blocking function which will run pip in a subprocess to install
    build requirements.
    N)r   r   r   r;   get_requires_for_build_sdistbuild_sdist)	r   Z	sdist_dirrK   r	   rL   rM   rN   rO   r9   r   r   r   rQ      s    



rQ   )N)N)rG   r   r6   pip._vendorr   r=   
subprocessr   r3   	sysconfigr   tempfiler   wrappersr   r   	getLoggerrD   r%   r   objectr   rI   rQ   r   r   r   r   <module>   s   
a
