mirror of https://github.com/astral-sh/uv
Avoid keyword arguments for PEP 517 build hooks (#3517)
## Summary pip passes these as positional arguments, and at least one build backend relies on that. My personal opinion is that it's a spec violation, and the build backend should be updated, but I'd prefer to favor compatibility over strictness here. Closes https://github.com/astral-sh/uv/issues/3509. ## Test Plan `cargo run pip install cryptacular==1.6.2`
This commit is contained in:
parent
45a2594de6
commit
1ba3414dd6
|
|
@ -682,7 +682,7 @@ impl SourceBuild {
|
||||||
|
|
||||||
prepare_metadata_for_build_wheel = getattr(backend, "prepare_metadata_for_build_wheel", None)
|
prepare_metadata_for_build_wheel = getattr(backend, "prepare_metadata_for_build_wheel", None)
|
||||||
if prepare_metadata_for_build_wheel:
|
if prepare_metadata_for_build_wheel:
|
||||||
dirname = prepare_metadata_for_build_wheel("{}", config_settings={})
|
dirname = prepare_metadata_for_build_wheel("{}", {})
|
||||||
else:
|
else:
|
||||||
dirname = None
|
dirname = None
|
||||||
|
|
||||||
|
|
@ -808,22 +808,26 @@ impl SourceBuild {
|
||||||
.join(format!("build_{}.txt", self.build_kind));
|
.join(format!("build_{}.txt", self.build_kind));
|
||||||
|
|
||||||
debug!(
|
debug!(
|
||||||
"Calling `{}.build_{}(metadata_directory={})`",
|
r#"Calling `{}.build_{}("{}", {}, {})`"#,
|
||||||
pep517_backend.backend, self.build_kind, metadata_directory
|
pep517_backend.backend,
|
||||||
|
self.build_kind,
|
||||||
|
wheel_dir.escape_for_python(),
|
||||||
|
self.config_settings.escape_for_python(),
|
||||||
|
metadata_directory,
|
||||||
);
|
);
|
||||||
let script = formatdoc! {
|
let script = formatdoc! {
|
||||||
r#"
|
r#"
|
||||||
{}
|
{}
|
||||||
|
|
||||||
wheel_filename = backend.build_{}("{}", metadata_directory={}, config_settings={})
|
wheel_filename = backend.build_{}("{}", {}, {})
|
||||||
with open("{}", "w") as fp:
|
with open("{}", "w") as fp:
|
||||||
fp.write(wheel_filename)
|
fp.write(wheel_filename)
|
||||||
"#,
|
"#,
|
||||||
pep517_backend.backend_import(),
|
pep517_backend.backend_import(),
|
||||||
self.build_kind,
|
self.build_kind,
|
||||||
wheel_dir.escape_for_python(),
|
wheel_dir.escape_for_python(),
|
||||||
metadata_directory,
|
|
||||||
self.config_settings.escape_for_python(),
|
self.config_settings.escape_for_python(),
|
||||||
|
metadata_directory,
|
||||||
outfile.escape_for_python()
|
outfile.escape_for_python()
|
||||||
};
|
};
|
||||||
let span = info_span!(
|
let span = info_span!(
|
||||||
|
|
@ -916,7 +920,7 @@ async fn create_pep517_build_environment(
|
||||||
|
|
||||||
get_requires_for_build = getattr(backend, "get_requires_for_build_{}", None)
|
get_requires_for_build = getattr(backend, "get_requires_for_build_{}", None)
|
||||||
if get_requires_for_build:
|
if get_requires_for_build:
|
||||||
requires = get_requires_for_build(config_settings={})
|
requires = get_requires_for_build({})
|
||||||
else:
|
else:
|
||||||
requires = []
|
requires = []
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue