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: preliminary cross compilation support #47386
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
For example, paperwork is at https://gitlab.gnome.org/World/OpenPaperwork/paperwork and you can fetch this repo with group = "World", owner = "OpenPaperwork", and repo = "paperwork".
or else at least the following config will fail with an evaluation error instead of an assert ``` { services.nixosManual.enable = false; services.nixosManual.showManual = true; } ```
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/cadvisor/versions
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ace/versions
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/alembic/versions
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/brightnessctl/versions
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/apktool/versions
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/cb2bib/versions
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/batctl/versions
It fails to compile with 3.5 and 3.6.
Fix to specific patch revision rather than latest
protobuf: default to 3.6
grpc: 1.10.1 -> 1.15.0
brightnessctl: 0.3.2 -> 0.4
apktool: 2.3.3 -> 2.3.4
alembic: 1.7.8 -> 1.7.9
cadvisor: 0.30.2 -> 0.31.0
cargo-edit: 0.3.0 -> 0.3.1
ace: 6.5.1 -> 6.5.2
perl: add devel version at 5.29.3
Changes the evaluation order in that it evaluates assertions before warnings, so that eg. the following would work: { config, lib, ... }: { options.foo = lib.mkOption { type = lib.types.bool; default = true; description = "..."; }; options.bar = lib.mkOption { type = lib.types.bool; default = false; description = "..."; }; config = lib.mkMerge [ (lib.mkIf config.bar { system.build.bar = "foobar"; }) (lib.mkIf config.foo { assertions = lib.singleton { assertion = config.bar; message = "Bar needs to be enabled"; }; systemd.services.foo = { description = "Foo"; serviceConfig.ExecStart = config.system.build.bar; }; }) ]; } This is because the systemd module includes definitions for warnings that would trigger evaluation of the config.system.build.bar definition. The original pull request references a breakage due to the following: { services.nixosManual.enable = false; services.nixosManual.showManual = true; } However, changing the eval order between asserts and warnings clearly is a corner case here and it only happens because of the aforementioned usage of warnings in the systemd module and needs more discussion. Nevertheless, this is still useful because it lowers the evaluation time whenever an assertion is hit, which is a hard failure anyway.
spectral: init at 2018-09-24; nheko: 0.5.0 -> 0.6.0 and bump dep mtxclient
/cc @Ericson2314 This line broke MacOS cross compilation. paxctl cannot be built on macOS. Maybe it can be fixed, but no reason to break things unnecessarily. Regardless, you definitely need to be more careful about backporting. I think it’s fine to move fast and break things on master but with release-18.09 we should be more careful. Something like more automated testing for cross compilation would also be helpful (hopefully even making it block).
Moves some things to native build inputs in rust infrastructure to get things working. rustPlatform has to get rust from buildPackages in order to get the proper version.
We put rust updates these days into staging too. Also this one seems to affect cargo. |
GrahamcOfBorg
added
6.topic: haskell
6.topic: nixos
6.topic: python
6.topic: stdenv
Standard environment
6.topic: vim
8.has: module (update)
8.has: package (new)
labels
Sep 26, 2018
@matthewbauer you forgot the force push. |
When I build cargo it does not find
|
matthewbauer
referenced
this pull request
Sep 26, 2018
/cc @Ericson2314 PR was #46857 This line broke MacOS cross compilation. paxctl cannot be built on macOS. Maybe it can be fixed, but no reason to break things unnecessarily. Regardless, you definitely need to be more careful about backporting. I think it’s fine to move fast and break things on master but with release-18.09 we should be more careful. Something like more automated testing for cross compilation would also be helpful (hopefully even making it block).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Moves some things to native build inputs in rust infrastructure to get
things working. rustPlatform has to get rust from buildPackages in
order to get the proper version.