This commit is contained in:
nora 2026-01-31 23:06:02 +01:00
parent 6316591cd7
commit 056e5653e0
3 changed files with 48 additions and 55 deletions

View file

@ -1,32 +1,11 @@
diff --git a/src/toolchains.rs b/src/toolchains.rs
index 16e68a0..5ce1c50 100644
index a4be8cd..95e9d16 100644
--- a/src/toolchains.rs
+++ b/src/toolchains.rs
@@ -34,6 +34,8 @@ pub(crate) enum InstallError {
TempDir(#[source] io::Error),
#[error("Could not move tempdir into destination: {0}")]
Move(#[source] io::Error),
+ #[error("Could not patchelf")]
+ Patchelf(#[source] io::Error),
#[error("Could not run subcommand {cmd}: {err}")]
Subcommand {
cmd: String,
@@ -208,7 +210,9 @@ impl Toolchain {
})?;
}
@@ -19,6 +19,49 @@ use xz2::read::XzDecoder;
- fs::rename(tmpdir.into_path(), dest).map_err(InstallError::Move)
+ fs::rename(tmpdir.into_path(), &dest).map_err(InstallError::Move)?;
+ nix_patchelf(dest).map_err(InstallError::Patchelf)?;
+ Ok(())
}
use crate::{Config, GitDate};
pub(crate) fn remove(&self, dl_params: &DownloadParams) -> io::Result<()> {
@@ -542,3 +546,46 @@ fn download_tarball(
res => res,
}
}
+
+fn nix_patchelf(mut toolchain_path: PathBuf) -> Result<(), io::Error> {
+ toolchain_path.push("bin");
+
@ -69,3 +48,17 @@ index 16e68a0..5ce1c50 100644
+
+ Ok(())
+}
+
pub const YYYY_MM_DD: &str = "%Y-%m-%d";
pub(crate) const NIGHTLY_SERVER: &str = "https://static.rust-lang.org/dist";
@@ -208,7 +251,8 @@ impl Toolchain {
})?;
}
- fs::rename(tmpdir.keep(), dest).map_err(InstallError::Move)
+ fs::rename(tmpdir.into_path(), &dest).map_err(InstallError::Move)?;
+ nix_patchelf(dest).map_err(InstallError::Move)
}
pub(crate) fn remove(&self, dl_params: &DownloadParams) -> io::Result<()> {

View file

@ -1,15 +1,15 @@
pkgs: pkgs.rustPlatform.buildRustPackage {
pname = "cargo-bisect-rustc";
version = "0.6.7";
version = "0.6.11";
src = pkgs.fetchFromGitHub {
owner = "rust-lang";
repo = "cargo-bisect-rustc";
rev = "e61eb10bb7b5eacb1fe3244d18ccb059393d7fac";
hash = "sha256-rr0fU1Y5k2ScT8zpBz4VhMaUlbW/ze00ORz8dUNFIpI=";
rev = "995147f7863377b3831f84911d21d1895437eee7";
hash = "sha256-kQmQXMiZAh2zAXkxMoxlTfjrpXMIgXlJfwOsJPIVe94=";
};
cargoHash = "sha256-4C63UsFlFAKaSXXwtO+u9yi3kvnLG8hKAnTQRKvwg2U=";
cargoHash = "sha256-WSO5LvdJkAorSwsICz9NAWKNM7x4aeNvhGLhJSO6Vi8=";
patches =
let

54
flake.lock generated
View file

@ -48,11 +48,11 @@
]
},
"locked": {
"lastModified": 1768018810,
"narHash": "sha256-WREj1ZQ2wSGtyPAhQJ3SX/7PJ29PNKv04h/7NgqUS+M=",
"lastModified": 1769813945,
"narHash": "sha256-9ABv9Lo9t6MrFjlnRnU8Zw1C6LVj2+R8PipQ/rxGLHk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7c5d9345ad7cc38832cd4007f5cd03daad64d75b",
"rev": "475921375def3eb930e1f8883f619ff8609accb6",
"type": "github"
},
"original": {
@ -92,11 +92,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1768056313,
"narHash": "sha256-2jx5DeIZ4jsOtBGZEopeY3nqbDhnSyBVy6BKV5YO7yE=",
"lastModified": 1769714858,
"narHash": "sha256-IHHAKi8yMonZZmVHUQxew1V9UfLBG8Um9PLbNPx3OA4=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "07882a2c8130ce0addb6c1388f907780855e8eac",
"rev": "dfbb02586582d5332d0c06653583b9d743bce081",
"type": "github"
},
"original": {
@ -125,11 +125,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1768049147,
"narHash": "sha256-ZR4bY+cF1Nm0PJx0xJWwl5Pf9ku8baUgvbD+d2Q3X1w=",
"lastModified": 1769577126,
"narHash": "sha256-v9vz9Rj4MGwPuhGELdvpRKl2HH+xvkgat6VwL0L86Fg=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "45fc76328145e0bf91b13edb7a43ac1f5770cb48",
"rev": "f30db163b5748e8cf95c05aba77d0d3736f40543",
"type": "github"
},
"original": {
@ -140,11 +140,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=",
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@ -156,11 +156,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1767799921,
"narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=",
"lastModified": 1769598131,
"narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d351d0653aeb7877273920cd3e823994e7579b0b",
"rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211",
"type": "github"
},
"original": {
@ -188,11 +188,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=",
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@ -204,11 +204,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=",
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@ -224,11 +224,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1768059548,
"narHash": "sha256-NSMGzFQtoZxdxrQiShWjfJ5k2gzW+atxcr8MiywI1eI=",
"lastModified": 1769867112,
"narHash": "sha256-n3YYhO6VpGadtVOiL/eAxnm9JBC6GfXsJfj8O6V/JvU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "a4f7c05a5f80044f9dcf3dfeb55a16b5a2713caf",
"rev": "c74b53b75a4219cdecea1194a95e36a222981860",
"type": "github"
},
"original": {
@ -268,11 +268,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1767932953,
"narHash": "sha256-V8+DrPOp940J6icERAaGuDQTKyEyZzFuRw363XwDKXg=",
"lastModified": 1769713942,
"narHash": "sha256-0BtCSO2qzYK/akRDsERqRVLknCYD3FYErc+szreSHUo=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "bc47ef59501556fc2584155ddef76493752dd727",
"rev": "37ec78ee26e158b71f42e113e0e7dd9d5eb6bdb0",
"type": "github"
},
"original": {