Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot package libraries that contain vendored Rust libraries used in the build #6917

Open
jdm opened this issue May 7, 2019 · 4 comments
Open
Labels
A-directory-source Area: directory sources (vendoring) Command-package S-needs-rfc Status: Needs an RFC to make progress.

Comments

@jdm
Copy link

jdm commented May 7, 2019

https://github.com/servo/mozjs is a snapshot of the JS engine from https://hg.mozilla.org/mozilla-central/, wrapped up in a crate that invokes the native Makefile build from build.rs. This native build happens to invoke cargo build on a Rust project that exists inside https://hg.mozilla.org/mozilla-central/ and generates a binary that is used in the JS engine build. The build works fine, but running cargo package causes the subdirectory containing this project to be ignored (mozjs/js/src/frontend/binsource) because it contains a Cargo.toml. I am no longer able to publish new versions of mozjs on crates.io since this Rust library was introduced upstream because of this restriction.

@alexcrichton
Copy link
Member

I believe this happens roughly around here, and unfortunately there's no clear fix for this I know of.

@SimonSapin
Copy link
Contributor

@alexcrichton What do you think of not excluding a subpackage from the tarball if that directory is explicitly listed in include?

@SimonSapin
Copy link
Contributor

By no clear fix, did you mean in the design decision of what the behavior should be, or are there implementation difficulties?

@alexcrichton
Copy link
Member

I believe this is both a difficult design decision as well has something which has a number of implementation difficulties. I think that supporting this would require an RFC as well as a champion for the implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-directory-source Area: directory sources (vendoring) Command-package S-needs-rfc Status: Needs an RFC to make progress.
Projects
None yet
Development

No branches or pull requests

5 participants
@jdm @epage @alexcrichton @SimonSapin and others