-
Notifications
You must be signed in to change notification settings - Fork 19
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
Rebasing on Rust3DS repo #8
Comments
Releasing a crate happens individually, not per repository. So it's better to keep them in the same repo. |
The cargo workspace will only be relevant for contributors to the repo. From the point of view of users and crates.io, the crates are just related by dependency. |
The crates are very closely tied together anyways, so having them in separate repos would make it harder to see how a change in sys affects ctru-rs. I highly encourage moving the crates back into one repo like my fork has it. |
Yes, crates are indeed uploaded separately, but |
You can have a dependency specified with both a path and a version/git repo: |
This is not the case. ctru-rs would depend on a version of ctru-sys. An update to ctru-rs only updates ctru-rs. In crates.io the package data only contains ctru-rs data, not ctru-sys. Updating to a new ctru-rs version will only pull ctru-rs so long as the existing ctru-sys version still satisfies the dependency. |
Publishing a crate only publishes that one crate's data: |
I can open a PR to show how this works. It might be easier to have something concrete to talk around. |
Yes, I know this is how crates.io works. I was talking about using the crate through |
Still, it's not really important. Your way works anyways. |
While we're still using git dependencies it may be a little inefficient, sure. But updating a git dependency should just be a delta between the old and new versions (like a git pull), which wouldn't mean redownloading ctru-sys. Either way though it's not an issue once we publish to crates.io. |
If we publish to crates.io. Not to be pessimistic, but 3 months without real news on that libc PR... is there any way to at least receive an answer? |
I expect it will merge eventually. I've had a PR open for months without news, but is now very close to merging: tokio-rs/tokio#3370 We can bump/ping if we don't get news for a while. |
I took a look at how you did the change and the easiest thing to do is just revert/drop the commits you added after forking, and then reapply any small changes you wanted to make (ex. removing travis config, though it should be replaced with something else like GitHub Actions). The Cargo.toml of |
@AzureMarker I rebased
ctru-rs
on your AzureMarker/ctru-rs. I split your repo in 2 crates:ctru-sys - Raw bindings for
libctru
ctru-rs - Safe layer over
ctru-sys
I understand very well your Cargo Workspace approach, but in the view of (eventually and hopefully) release the crate into crates.io, the separate approach works best. This is valid for a couple of reasons:
ctru-sys
has to update WAY less then ctru-rs, and carrying both is wasteful on Cargo's partlibctru
aren't going to be (possibly ever) layered byctru-rs
, some people may want to use and work with onlyctru-sys
.ctru-rs
, and the tree is less heavy.I hope you will accept these changes and we will start working on the same tree. 😄
If you have any issues to note, please do let me know.
The text was updated successfully, but these errors were encountered: