Skip to content

Commit

Permalink
Fix pyo3 abi3 detection
Browse files Browse the repository at this point in the history
  • Loading branch information
messense committed Apr 15, 2022
1 parent 453563b commit 18b5a84
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions src/build_options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -406,15 +406,14 @@ fn get_min_python_minor(metadata21: &Metadata21) -> Option<usize> {

/// pyo3 supports building abi3 wheels if the unstable-api feature is not selected
fn has_abi3(cargo_metadata: &Metadata) -> Result<Option<(u8, u8)>> {
let resolve = cargo_metadata
.resolve
.as_ref()
.context("Expected cargo to return metadata with resolve")?;
let package = cargo_metadata
.root_package()
.context("Expected cargo to return metadata with root_package")?;
for &lib in PYO3_BINDING_CRATES.iter() {
let pyo3_packages = resolve
.nodes
let pyo3_packages = package
.dependencies
.iter()
.filter(|package| cargo_metadata[&package.id].name.as_str() == lib)
.filter(|dep| dep.name == lib)
.collect::<Vec<_>>();
match pyo3_packages.as_slice() {
[pyo3_crate] => {
Expand Down Expand Up @@ -505,7 +504,9 @@ pub fn find_bridge(cargo_metadata: &Metadata, bridge: Option<&str>) -> Result<Br
println!("🔗 Found rust-cpython bindings");
BridgeModel::Bindings("rust_cpython".to_string(), MINIMUM_PYTHON_MINOR)
} else {
let package = &cargo_metadata[resolve.root.as_ref().unwrap()];
let package = cargo_metadata
.root_package()
.context("Expected cargo to return metadata with root_package")?;
let targets: Vec<_> = package
.targets
.iter()
Expand Down

0 comments on commit 18b5a84

Please sign in to comment.