Skip to content

Commit

Permalink
Fix auditwheel bundled shared libs directory name
Browse files Browse the repository at this point in the history
Previous the `pyo3-mixed-py-subdir` crate would produce
`_pyo3_mixed.libs`, now it produces `pyo3_mixed_py_subdir.libs`.
  • Loading branch information
messense committed Jun 15, 2022
1 parent 8e3f7b8 commit cc5fc3b
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 deletions.
11 changes: 9 additions & 2 deletions src/build_context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ impl ProjectLayout {
Cow::Owned(project_root.join(py_src))
});
let (python_module, rust_module, extension_name) = if parts.len() > 1 {
let mut rust_module = project_root.to_path_buf();
let mut rust_module = python_root.to_path_buf();
rust_module.extend(&parts[0..parts.len() - 1]);
(
python_root.join(parts[0]),
Expand Down Expand Up @@ -337,7 +337,14 @@ impl BuildContext {
}
// Put external libs to ${module_name}.libs directory
// See https://github.com/pypa/auditwheel/issues/89
let libs_dir = PathBuf::from(format!("{}.libs", self.module_name));
let mut libs_dir = self
.project_layout
.python_module
.as_ref()
.and_then(|py| py.file_name().map(|s| s.to_os_string()))
.unwrap_or(self.project_layout.extension_name.clone().into());
libs_dir.push(".libs");
let libs_dir = PathBuf::from(libs_dir);
writer.add_directory(&libs_dir)?;

let temp_dir = tempfile::tempdir()?;
Expand Down
1 change: 1 addition & 0 deletions test-crates/pyo3-mixed-py-subdir/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ crate-type = ["cdylib"]

[package.metadata.maturin]
python-source = "python"
name = "pyo3_mixed_py_subdir._pyo3_mixed"
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from .python_module.double import double
from .pyo3_mixed_py_subdir import get_21
from ._pyo3_mixed import get_21


def get_42() -> int:
Expand Down
2 changes: 1 addition & 1 deletion test-crates/pyo3-mixed-py-subdir/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ fn get_21() -> usize {
}

#[pymodule]
fn pyo3_mixed_py_subdir(_py: Python, m: &PyModule) -> PyResult<()> {
fn _pyo3_mixed(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_wrapped(wrap_pyfunction!(get_21))?;

Ok(())
Expand Down

0 comments on commit cc5fc3b

Please sign in to comment.