-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Rust 1.20.0 #30088
Rust 1.20.0 #30088
Conversation
I agree that we should remove the nightly builds. However there's an alias for |
You should probably also remove the references (to beta and nightly versions) in the docs ( |
I start |
ok I fixed the doc as well. there is a last thing I want to do but on the nixpkgs-mozilla overlay: it should be aligned so that |
I get the following test failures, when running the rust test suite: https://gist.github.com/anonymous/95cefd8f364351b17294c59a9fe56be8 From the commandline arguments it looks, like it does something with |
@Mic92 Seems like this is related: |
Maybe we need rust's llvm fork https://github.com/rust-lang/llvm/ 🦊 |
the rust project has forked the llvm compiler to solve some issues. With pkgs.llvm the test suite fails. See rust-lang/rust#43026 And PR NixOS#30088
Still seeing #28459 (comment) after these Very sad. 🎺 |
I would recommend jumping straight to Rust v1.21 since that is releasing in a few days. |
It looks like cargo has a new way of creating crates.io-index mirrors. See http://doc.crates.io/source-replacement.html . I'm trying to untangle how everything work and come up with a more stable solution. |
Actually it should be easier now to provide a custom replacement for the official registry. |
@bachp yes. Thank you. |
merging more stuff into this PR :) |
success! it's a mess so I will cleanup the branch a bit |
Did you forgot to add something?
|
@zimbatm I wrote an alternative version of the My plan was to submit this while adding support for aarch64, but it might be helpful here already. |
@wizeman: I see. Thanks. I suppose I'll have to get used to waiting a long time for Firefox... |
cargo 0.22.0 has been released https://github.com/rust-lang/cargo/releases/tag/0.22.0 which includes rust-lang/cargo@5b08b8f and thus should form the base for dhovart/cargo-local-registry#9 (so many meta-dependencies! 😥) |
b787ca1
to
523ae7d
Compare
I have replaced the dependency fetching method to use cargo-vendor and it seems to be producing much more stable sha256. Anyone wants to nox-review? |
Currently rebasing, please don't push anything |
It's working but programs who depend one git are still problematic. The issue is that the .cargo/config should contain an override for all the targets. Is it acceptable for now to mark all these packages as broken and move on? |
Once we have alexcrichton/cargo-vendor#53 it will be easier to generate the .cargo/config and store it alongside the vendor output |
Even with the generated cargo config, cargo seems to need the git repos to work properly :/ |
I think that we should just merge that for now |
nixpkgs is for stable software. If you want beta and nightly, use the nixpkgs-mozilla overlay.
simplify the boostrap hashes a bit build with bundled llvm: the rust project has forked the llvm compiler to solve some issues. With pkgs.llvm the test suite fails. See rust-lang/rust#43026 And PR NixOS#30088
The biggest benefit is that we no longer have to update the registry package. This means that just about any cargo package can be built by nix. No longer does `cargo update` need to be feared because it will update to packages newer then what is available in nixpkgs. Instead of fetching the cargo registry this bundles all the source code into a "vendor/" folder. This also uses the new --frozen and --locked flags which is nice. Currently cargo-vendor only provides binaries for Linux and macOS 64-bit. This can be solved by building it for the other architectures and uploading it somewhere (like the NixOS cache). This also has the downside that it requires a change to everyone's deps hash. And if the old one is used because it was cached it will fail to build as it will attempt to use the old version. For this reason the attribute has been renamed to `cargoSha256`. Authors: * Kevin Cox <kevincox@kevincox.ca> * Jörg Thalheim <Mic92@users.noreply.github.com> * zimbatm <zimbatm@zimbatm.com>
Motivation for this change
Updating the rust package and cleaning things up a bit. In general nixpkgs doesn't hold unstable software unless there is a specific need so I suggest to remove beta and nightly and rely on nixpkgs-mozilla for those.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)Newly-broken packages
A number of packages were broken by the update (or just exposed as already broken):