99 lines
3.2 KiB
Diff
99 lines
3.2 KiB
Diff
|
From a16863d1a448ff91a7cc4e48042d3a8669b78b34 Mon Sep 17 00:00:00 2001
|
||
|
From: David Hotham <david.hotham@blueyonder.co.uk>
|
||
|
Date: Fri, 8 Sep 2023 10:27:09 +0100
|
||
|
Subject: [PATCH] Support build 1.0 (#8400)
|
||
|
|
||
|
---
|
||
|
poetry.lock | 25 ++++++++++++++++++-------
|
||
|
pyproject.toml | 2 +-
|
||
|
src/poetry/inspection/info.py | 9 ++++-----
|
||
|
src/poetry/installation/chef.py | 19 +++++++++++++------
|
||
|
4 files changed, 36 insertions(+), 19 deletions(-)
|
||
|
|
||
|
diff --git a/pyproject.toml b/pyproject.toml
|
||
|
index 8f5db44f8a7..73e31be5de7 100644
|
||
|
--- a/pyproject.toml
|
||
|
+++ b/pyproject.toml
|
||
|
@@ -34,7 +34,7 @@ python = "^3.8"
|
||
|
|
||
|
poetry-core = "1.7.0"
|
||
|
poetry-plugin-export = "^1.5.0"
|
||
|
-build = "^0.10.0"
|
||
|
+build = "^1.0.3"
|
||
|
cachecontrol = { version = "^0.13.0", extras = ["filecache"] }
|
||
|
cleo = "^2.0.0"
|
||
|
crashtest = "^0.4.1"
|
||
|
diff --git a/src/poetry/inspection/info.py b/src/poetry/inspection/info.py
|
||
|
index d1461d4ed76..e45046dceea 100644
|
||
|
--- a/src/poetry/inspection/info.py
|
||
|
+++ b/src/poetry/inspection/info.py
|
||
|
@@ -46,11 +46,10 @@
|
||
|
source = '{source}'
|
||
|
dest = '{dest}'
|
||
|
|
||
|
-with build.env.IsolatedEnvBuilder() as env:
|
||
|
+with build.env.DefaultIsolatedEnv() as env:
|
||
|
builder = build.ProjectBuilder(
|
||
|
- srcdir=source,
|
||
|
- scripts_dir=env.scripts_dir,
|
||
|
- python_executable=env.executable,
|
||
|
+ source_dir=source,
|
||
|
+ python_executable=env.python_executable,
|
||
|
runner=pyproject_hooks.quiet_subprocess_runner,
|
||
|
)
|
||
|
env.install(builder.build_system_requires)
|
||
|
@@ -58,7 +57,7 @@
|
||
|
builder.metadata_path(dest)
|
||
|
"""
|
||
|
|
||
|
-PEP517_META_BUILD_DEPS = ["build==0.10.0", "pyproject_hooks==1.0.0"]
|
||
|
+PEP517_META_BUILD_DEPS = ["build==1.0.3", "pyproject_hooks==1.0.0"]
|
||
|
|
||
|
|
||
|
class PackageInfoError(ValueError):
|
||
|
diff --git a/src/poetry/installation/chef.py b/src/poetry/installation/chef.py
|
||
|
index da8679df21f..bcbb77d5ba1 100644
|
||
|
--- a/src/poetry/installation/chef.py
|
||
|
+++ b/src/poetry/installation/chef.py
|
||
|
@@ -1,5 +1,6 @@
|
||
|
from __future__ import annotations
|
||
|
|
||
|
+import os
|
||
|
import tarfile
|
||
|
import tempfile
|
||
|
import zipfile
|
||
|
@@ -43,12 +44,19 @@ def __init__(self, env: Env, pool: RepositoryPool) -> None:
|
||
|
self._pool = pool
|
||
|
|
||
|
@property
|
||
|
- def executable(self) -> str:
|
||
|
+ def python_executable(self) -> str:
|
||
|
return str(self._env.python)
|
||
|
|
||
|
- @property
|
||
|
- def scripts_dir(self) -> str:
|
||
|
- return str(self._env._bin_dir)
|
||
|
+ def make_extra_environ(self) -> dict[str, str]:
|
||
|
+ path = os.environ.get("PATH")
|
||
|
+ scripts_dir = str(self._env._bin_dir)
|
||
|
+ return {
|
||
|
+ "PATH": (
|
||
|
+ os.pathsep.join([scripts_dir, path])
|
||
|
+ if path is not None
|
||
|
+ else scripts_dir
|
||
|
+ )
|
||
|
+ }
|
||
|
|
||
|
def install(self, requirements: Collection[str]) -> None:
|
||
|
from cleo.io.null_io import NullIO
|
||
|
@@ -109,8 +117,7 @@ def _prepare(
|
||
|
env = IsolatedEnv(venv, self._pool)
|
||
|
builder = ProjectBuilder(
|
||
|
directory,
|
||
|
- python_executable=env.executable,
|
||
|
- scripts_dir=env.scripts_dir,
|
||
|
+ python_executable=env.python_executable,
|
||
|
runner=quiet_subprocess_runner,
|
||
|
)
|
||
|
env.install(builder.build_system_requires)
|