diff --git a/Changelog.md b/Changelog.md index 2c522431e..3dc5d22d9 100644 --- a/Changelog.md +++ b/Changelog.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Package license files in `.dist-info/license_files` following PEP 639 in [#837](https://github.com/PyO3/maturin/pull/837) * Stop testing Python 3.6 on CI since it's already EOL in [#840](https://github.com/PyO3/maturin/pull/840) +* Fix `maturin sdist --manifest-path ` for workspace project in [#843](https://github.com/PyO3/maturin/pull/843) ## [0.12.10] - 2022-03-09 diff --git a/src/source_distribution.rs b/src/source_distribution.rs index 498a1af64..7c22bdf5e 100644 --- a/src/source_distribution.rs +++ b/src/source_distribution.rs @@ -96,9 +96,15 @@ fn add_crate_to_source_distribution( known_path_deps: &HashMap, root_crate: bool, ) -> Result<()> { + let crate_dir = manifest_path.as_ref().parent().with_context(|| { + format!( + "Can't get parent directory of {}", + manifest_path.as_ref().display() + ) + })?; let output = Command::new("cargo") - .args(&["package", "--list", "--allow-dirty", "--manifest-path"]) - .arg(manifest_path.as_ref()) + .args(&["package", "--list", "--allow-dirty"]) + .current_dir(crate_dir) .output() .context("Failed to run cargo")?; if !output.status.success() {