-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
updated rustBeta & rustNightly; renamed rustUnstable to rustNightly #20780
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
Conversation
@qknight, thanks for your PR! By analyzing the history of the files in this pull request, we identified @dvc94ch, @the-kenny and @sjmackenzie to be potential reviewers. |
Looks good to me, but your comparability error is breaking Travis. Surely somebody else has made such a thing, so there must be a way to get around it. Otherwise, just delete it, or make it an alias with a warning in |
@@ -97,11 +97,11 @@ stdenv.mkDerivation { | |||
rm -vr src/test/run-make/linker-output-non-utf8 || true | |||
|
|||
# Remove test targeted at LLVM 3.9 - https://github.com/rust-lang/rust/issues/36835 | |||
rm -vr src/test/run-pass/issue-36023.rs || true | |||
rm -fvr src/test/run-pass/issue-36023.rs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a chance we can get the || true
version? To me it feels more explicit like "Try to remove it but we don't care if it fails" which is what these lines are supposed to do. Same in line 104.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
feel free to revert these to lines but either way it is still a hack since we are using rustc.nix with 3 different revisions of rust.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, I know. Maybe I get around writing a patch to remove these files (or better: add the # ignore
line). Do you know which file needs to be removed for which compiler version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC: i think the two changes (the places we added the rm
are only required for stable
) and made beta
and nightly
fail.
I'll try the builds with sandboxing enabled in about half an hour. Will report back if everything's fine :-) |
Note that the patch doesn't apply cleanly to master ( |
@@ -48,12 +48,6 @@ rec { | |||
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ | |||
"$out/bin/rustc" | |||
''} | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i removed it as you requested
LGTM :) Just waiting for my build to succeed. |
i've also started a sandboxed build but with a slightly older revision. let's wait until both succeed and then we might press the 'merge' button ;-) |
my sandbox build succeeded successfully but the ./print-hashes.sh script does not work:
don't know what to expect. can you advice? we also need the |
You can easily build it for |
Uh, why do you need to run the script for this PR anyway? As far as I see everything's fine. Or are you trying to update |
Merged with minor changes as 8806344 🍻 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
checked all the points we were talking about:
- added i686 support on rustNightlyBin
- reverted 'rm -f' to rm || true'
- removed hardcoded 'channel'
you were too fast, here is the code you wanted to have:
|
thanks for merging! |
Great stuff! Very good to see! |
I was under the impression it's done :) No harm, feel free to push it to
master. Download seems to work fine on my machine for `pkgsi686Linux`.
Joachim Schiele <notifications@github.com> writes:
… you were to fast, here is the code you wanted to have:
```
platform =
if stdenv.system == "i686-linux"
then "i686-unknown-linux-gnu"
else if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else abort "missing boostrap url for platform ${stdenv.system}";
bootstrapHash =
if stdenv.system == "i686-linux"
then "0c1ym0pr6j9ymskdqhsy0c3llky3s5azs9wls1h6spcisjfn9qc3"
else if stdenv.system == "x86_64-linux"
then "1hsvf1vj18fqxkqw8jhnwahhk2q5xcl5396czr034fphmp5n4haw"
else throw "missing boostrap hash for platform ${stdenv.system}";
```
--
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
#20780 (comment)
--
|
Wait, was rustcBinary added in a previous commit? I am less sure about that part, if only because its missing many of the features of https://github.com/solson/rust-nightly-nix |
@Ericson2314 @sjmackenzie what do you think? |
@Ericson2314 |
@the-kenny That's true. Though I believe using pre-built binaries except for bootstrapping is also discouraged. My original idea was to share code between just the patchelf part of rust-nightly-nix and nixpkgs. In my WIP branch https://github.com/solson/rust-nightly-nix/tree/stable, you can see that |
@Ericson2314 that sounds good to me :) The less duplicated code the better. 👍 |
@qknight That's some pretty neat nix code by @Ericson2314, and I learned a thing or two. Ultimately anything that provides an easy to maintain (optionally hydra compiled) binary for rust nightly is my solution, ideally whatever is created is of such a caliber that @Ericson2314 and everyone else doesn't have to write out-of-nixpkgs nix scripts for rust nightly, so many folks are doing this and it's a mess, rust nightly is a popular enough target to be supported in nixpkgs. |
Motivation for this change
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)