| 22 Apr 2024 |
ManUtopiK | Salut à tous ! J'essaye de builder une application en rust. Première fois que je fais ça. Dans mon home.nix j'utilise la dernière version de rust 1.77 en chargeant depuis unstable. Dans le terminal, cargo -V me donne bien 1.77.1 Mais quand je lance nix-build default.nix, le build plante car rustc est en version 1.74. Comment spécifier la version de rust ? Voici default.nix :
{ pkgs ? import <nixpkgs> {} }:
rustPlatform.buildRustPackage rec {
pname = "gcli";
version = "0.2.9";
cargoLock.lockFile = ./Cargo.lock;
src = pkgs.lib.cleanSource ./.;
cargoLock.outputHashes = {
"ark-secret-scalar-0.0.2" = "sha256-91sODxaj0psMw0WqigMCGO5a7+NenAsRj5ZmW6C7lvc=";
"common-0.1.0" = "sha256-LHz2dK1p8GwyMimlR7AxHLz1tjTYolPwdjP7pxork1o=";
"fflonk-0.1.0" = "sha256-+BvZ03AhYNP0D8Wq9EMsP+lSgPA6BBlnWkoxTffVLwo=";
"simple-mermaid-0.1.0" = "sha256-IekTldxYq+uoXwGvbpkVTXv2xrcZ0TQfyyE2i2zH+6w=";
"sp-application-crypto-23.0.0" = "sha256-Ju+VoWSw/KLF1dnTbgxw+ezwTUQV+tUTYuehD7G8M+k=";
"sp-ark-bls12-381-0.4.2" = "sha256-nNr0amKhSvvI9BlsoP+8v6Xppx/s7zkf0l9Lm3DW8w8=";
"sp-crypto-ec-utils-0.10.0" = "sha256-OVoNzvupbqpQSEz1bYcrhkGxfyKoUsQ6/w+kQgFlk/o=";
"subxt-0.34.0" = "sha256-i6yIRBllVedBIh57x1Ye6gDtQ08VlV08uwwnd1bjgzI=";
};
}
| 19:12:03 |
symphorien | ça depend de la version de <nixpkgs> | 19:24:14 |
symphorien | et le fait que ça ignore la version "ambiante" de rustc (celle de home.nix) est fait exprès | 19:25:01 |
symphorien | je suppose qu'il faut que tu utilises unstable dans ce fichier aussi | 19:27:19 |
ManUtopiK | Ok, merci ! Pour connaitre ma version de nixpkgs, c'est nix-channel --list ? Ça me retourne :
nixpkgs https://nixos.org/channels/nixpkgs-unstable Comment je peux utiliser unstable dans default.nix ? En fait, idéalement, il me faudrait la version 1.75 de rustc pour builder. | 19:29:49 |
symphorien | nix-info te dira | 19:30:10 |
symphorien | aussi pense bien que root et ton utilisateur peuvent avoir des channels différents | 19:30:59 |
ManUtopiK | nix-info retourne :
system: "x86_64-linux", multi-user?: yes, version: nix-env (Nix) 2.18.1, channels(manu): "nixpkgs", channels(root): "nixos-23.11, nixos-hardware, nixos-unstable, nixpkgs, unstable", nixpkgs: /home/manu/.nix-defexpr/channels/nixpkgs | 19:31:29 |
symphorien | je te déconseille d'avoir le même nom de channel pour ton utilisateur et root, ça.prête à confusion | 19:32:44 |
symphorien | mais sinon remplace <nixpkgs> par <nixos-unstable> et ça devrait marcher | 19:34:34 |
ManUtopiK | Ah ok, tout simplement ! Ça build :) | 19:36:39 |
ManUtopiK | Bon, le build plante, mais ça vient du code que je compile. J'ai pas finit de galérer...
Merci en tout cas ! | 19:39:30 |
ManUtopiK | In reply to @symphorien:xlumurb.eu je te déconseille d'avoir le même nom de channel pour ton utilisateur et root, ça.prête à confusion Comment je peux changer ça ? | 19:40:27 |
symphorien | avec nix-channel --delete | 19:41:10 |
symphorien | et à la fin --update | 19:41:21 |