oxalica / nocargo

[alpha] Build Rust crates with Nix Build System.
MIT License
138 stars 9 forks source link

Suggested contributions #15

Closed rigille closed 10 months ago

rigille commented 1 year ago

Hey I know this is just a PoC and @oxalica isn't active anymore on it. However I would like to contribute and get it closer to production-ready. What kinds of contributions are most important right now?

rigille commented 1 year ago

I'll try to include support for the registry layout version 2

oxalica commented 1 year ago

Thanks! PRs are welcome.

What kinds of contributions are most important right now?

The complexity of this project grows quite beyond my expectation, especially the already-over-complex dependency and feature resolution parts, let alone the registry layout v2 (weak features and dep:package). Since v2 is gradually used by more and more crates, it's now a primary usability issue. I tried some ways to refactor and/or simplify it but failed. If you have any idea or implementation patches, I'm happy to hear that.

Time penalty due to the lack of streaming build is also a concern. Cargo can build the dependent crates, and as long as all its dependencies has rmeta files produced, but may before their codegen (rlibs). Nix derivation boundary stops us from doing this. But it's less of concern and can be overcome by cached dependency builds.

If you're willing to, we can discuss on Matrix. The address is on my GitHub profile page.

rigille commented 1 year ago

Alright I'll contact you soon 😊

o-santi commented 1 year ago

Hello, I'd be very glad to contribute, and sent you a message on Matrix.

rigille commented 10 months ago

Closing since we already have a PR https://github.com/oxalica/nocargo/pull/17