summaryrefslogtreecommitdiffstats
path: root/debian/patches/u-fix-sysroot-detection-logic.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/u-fix-sysroot-detection-logic.patch')
-rw-r--r--debian/patches/u-fix-sysroot-detection-logic.patch46
1 files changed, 0 insertions, 46 deletions
diff --git a/debian/patches/u-fix-sysroot-detection-logic.patch b/debian/patches/u-fix-sysroot-detection-logic.patch
deleted file mode 100644
index 64cc291f7..000000000
--- a/debian/patches/u-fix-sysroot-detection-logic.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Description: Fix sysroot detection which would result in /usr/lib/lib/rustlib
- This patch is a mixture of two upstream fix attempts. The first from
- https://github.com/rust-lang/rust/pull/108376 didn't actually solve the
- problem in Debian's case. After reporting that in $Bug, a second attempt is
- made at https://github.com/rust-lang/rust/pull/110281, which worked.
-Bug: https://github.com/rust-lang/rust/issues/109994
---- a/compiler/rustc_session/src/filesearch.rs
-+++ b/compiler/rustc_session/src/filesearch.rs
-@@ -179,7 +179,7 @@
- ))?;
-
- // if `dir` points target's dir, move up to the sysroot
-- if dir.ends_with(crate::config::host_triple()) {
-+ let mut sysroot_dir = if dir.ends_with(crate::config::host_triple()) {
- dir.parent() // chop off `$target`
- .and_then(|p| p.parent()) // chop off `rustlib`
- .and_then(|p| {
-@@ -194,13 +194,25 @@
- }
- })
- .map(|s| s.to_owned())
-- .ok_or(format!(
-+ .ok_or_else(|| format!(
- "Could not move 3 levels upper using `parent()` on {}",
- dir.display()
-- ))
-+ ))?
- } else {
-- Ok(dir.to_owned())
-+ dir.to_owned()
-+ };
-+
-+ // On multiarch linux systems, there will be multiarch directory named
-+ // with the architecture(e.g `x86_64-linux-gnu`) under the `lib` directory.
-+ // Which cause us to mistakenly end up in the lib directory instead of the sysroot directory.
-+ if sysroot_dir.ends_with("lib") {
-+ sysroot_dir =
-+ sysroot_dir.parent().map(|real_sysroot| real_sysroot.to_owned()).ok_or_else(
-+ || format!("Could not move to parent path of {}", sysroot_dir.display()),
-+ )?
- }
-+
-+ Ok(sysroot_dir)
- }
-
- // Use env::args().next() to get the path of the executable without