diff --git a/flake.nix b/flake.nix index 2b44207..375f8c9 100644 --- a/flake.nix +++ b/flake.nix @@ -95,12 +95,12 @@ }; }) # Rustc bootstrap: symlink_file panics with "File exists" during - # s390x cross-compilation (lib.rs:1823 calls t!(self.symlink_file(link, dst))). - # Patch symlink_file in lib.rs to remove existing destination first. + # s390x cross-compilation. Multiple call sites use t!(symlink_file(...)). + # Patch the symlink_file method body to remove existing dest first. (final: prev: { rustc = prev.rustc.overrideAttrs (old: { postPatch = (old.postPatch or "") + '' - sed -i 's|if !self.config.dry_run() { symlink_file(src.as_ref(), link.as_ref())|if !self.config.dry_run() { let _ = std::fs::remove_file(link.as_ref()); symlink_file(src.as_ref(), link.as_ref())|' src/bootstrap/src/lib.rs + sed -i 's|if !self.config.dry_run() { symlink_file(src.as_ref(), link.as_ref()) }|if !self.config.dry_run() { let _ = std::fs::remove_file(link.as_ref()); symlink_file(src.as_ref(), link.as_ref()) }|' src/bootstrap/src/lib.rs ''; }); })