summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/behaviour/d-rust-gdb-paths.patch (renamed from debian/patches/d-rust-gdb-paths)15
-rw-r--r--debian/patches/behaviour/d-rust-lldb-paths.patch (renamed from debian/patches/d-rust-lldb-paths)12
-rw-r--r--debian/patches/behaviour/d-rustc-add-soname.patch (renamed from debian/patches/d-rustc-add-soname.patch)14
-rw-r--r--debian/patches/behaviour/d-rustc-i686-baseline.patch (renamed from debian/patches/d-rustc-i686-baseline.patch)55
-rw-r--r--debian/patches/behaviour/d-rustc-windows-ssp.patch (renamed from debian/patches/d-rustc-windows-ssp.patch)8
-rw-r--r--debian/patches/behaviour/d-rustdoc-disable-embedded-fonts.patch (renamed from debian/patches/d-rustdoc-disable-embedded-fonts.patch)30
-rw-r--r--debian/patches/build/d-armel-fix-lldb.patch26
-rw-r--r--debian/patches/build/d-bootstrap-cargo-doc-paths.patch (renamed from debian/patches/d-bootstrap-cargo-doc-paths.patch)445
-rw-r--r--debian/patches/build/d-bootstrap-custom-debuginfo-path.patch (renamed from debian/patches/d-bootstrap-custom-debuginfo-path.patch)54
-rw-r--r--debian/patches/build/d-bootstrap-disable-git.patch (renamed from debian/patches/d-bootstrap-disable-git.patch)50
-rw-r--r--debian/patches/build/d-bootstrap-install-symlinks.patch (renamed from debian/patches/d-bootstrap-install-symlinks.patch)10
-rw-r--r--debian/patches/build/d-bootstrap-no-assume-tools.patch (renamed from debian/patches/d-bootstrap-no-assume-tools.patch)15
-rw-r--r--debian/patches/build/d-bootstrap-permit-symlink-in-docs.patch21
-rw-r--r--debian/patches/build/d-bootstrap-rustflags.patch (renamed from debian/patches/d-bootstrap-rustflags.patch)16
-rw-r--r--debian/patches/build/d-bootstrap-use-local-css.patch (renamed from debian/patches/d-bootstrap-use-local-css.patch)17
-rw-r--r--debian/patches/build/d-test-ignore-avx-44056.patch (renamed from debian/patches/d-test-ignore-avx-44056.patch)11
-rw-r--r--debian/patches/c-2200-workaround-x32-test.patch15
-rw-r--r--debian/patches/c-disable-fs-specific-test.patch13
-rw-r--r--debian/patches/cargo/c-0003-tests-add-missing-cross-disabled-checks.patch (renamed from debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch)20
-rw-r--r--debian/patches/cargo/c-2002_disable-net-tests.patch (renamed from debian/patches/c-2002_disable-net-tests.patch)217
-rw-r--r--debian/patches/cargo/c-2003-workaround-qemu-vfork-command-not-found.patch (renamed from debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch)17
-rw-r--r--debian/patches/cargo/c-2200-workaround-x32-test.patch22
-rw-r--r--debian/patches/cargo/c-disable-fs-specific-test.patch22
-rw-r--r--debian/patches/cargo/d-0012-cargo-always-return-dev-channel.patch (renamed from debian/patches/d-0012-cargo-always-return-dev-channel.patch)5
-rw-r--r--debian/patches/d-0010-cargo-remove-vendored-c-crates.patch22
-rw-r--r--debian/patches/d-armel-fix-lldb.patch19
-rw-r--r--debian/patches/d-bootstrap-permit-symlink-in-docs.patch14
-rw-r--r--debian/patches/d-bootstrap-use-system-compiler-rt.patch40
-rw-r--r--debian/patches/d-ignore-test_arc_condvar_poison-ppc.patch12
-rw-r--r--debian/patches/d-rustc-prefer-dynamic.patch18
-rw-r--r--debian/patches/d-test-host-duplicates.patch20
-rw-r--r--debian/patches/prune/d-0000-ignore-removed-submodules.patch (renamed from debian/patches/d-0000-ignore-removed-submodules.patch)26
-rw-r--r--debian/patches/prune/d-0001-pkg-config-no-special-snowflake.patch (renamed from debian/patches/d-0001-pkg-config-no-special-snowflake.patch)3
-rw-r--r--debian/patches/prune/d-0002-mdbook-strip-embedded-libs.patch (renamed from debian/patches/d-0002-mdbook-strip-embedded-libs.patch)164
-rw-r--r--debian/patches/prune/d-0005-no-jemalloc.patch (renamed from debian/patches/d-0005-no-jemalloc.patch)7
-rw-r--r--debian/patches/prune/d-0010-cargo-remove-vendored-c-crates.patch39
-rw-r--r--debian/patches/prune/d-0011-cargo-remove-nghttp2.patch (renamed from debian/patches/d-0011-cargo-remove-nghttp2.patch)8
-rw-r--r--debian/patches/prune/d-0020-remove-windows-dependencies.patch (renamed from debian/patches/d-0020-remove-windows-dependencies.patch)130
-rw-r--r--debian/patches/prune/d-0021-vendor-remove-windows-dependencies.patch (renamed from debian/patches/d-0021-vendor-remove-windows-dependencies.patch)289
-rw-r--r--debian/patches/series125
-rw-r--r--debian/patches/u-allow-system-compiler-rt.patch327
-rw-r--r--debian/patches/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch26
-rw-r--r--debian/patches/u-hurd-getrandom.patch77
-rw-r--r--debian/patches/u-hurd-tests.patch54
-rw-r--r--debian/patches/u-reproducible-build.patch25
-rw-r--r--debian/patches/ubuntu-disable-ppc64el-asm-tests.patch34
-rw-r--r--debian/patches/ubuntu-ignore-arm-doctest.patch42
-rw-r--r--debian/patches/ubuntu/ubuntu-disable-ppc64el-asm-tests.patch44
-rw-r--r--debian/patches/ubuntu/ubuntu-ignore-arm-doctest.patch48
-rw-r--r--debian/patches/upstream/d-disable-download-tests.patch (renamed from debian/patches/d-disable-download-tests.patch)17
-rw-r--r--debian/patches/upstream/d-ignore-test_arc_condvar_poison-ppc.patch21
-rw-r--r--debian/patches/upstream/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch47
-rw-r--r--debian/patches/upstream/u-fix-get-toml-when-test.patch (renamed from debian/patches/u-fix-get-toml-when-test.patch)27
-rw-r--r--debian/patches/upstream/u-hurd-tests.patch64
-rw-r--r--debian/patches/upstream/u-ignore-ppc-hangs.patch (renamed from debian/patches/u-ignore-ppc-hangs.patch)20
-rw-r--r--debian/patches/upstream/u-riscv-disable-unpacked-split-debuginfo.patch (renamed from debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch)23
-rw-r--r--debian/patches/upstream/u-rustc-llvm-cross-flags.patch (renamed from debian/patches/u-rustc-llvm-cross-flags.patch)10
-rw-r--r--debian/patches/vendor/d-0003-cc-psm-rebuild-wasm32.patch (renamed from debian/patches/d-0003-cc-psm-rebuild-wasm32.patch)11
-rw-r--r--debian/patches/vendor/u-hurd-backtrace.patch (renamed from debian/patches/u-hurd-backtrace.patch)19
-rw-r--r--debian/patches/vendor/u-hurd-gix-index-2.patch29
-rw-r--r--debian/patches/vendor/u-hurd-gix-index.patch96
-rw-r--r--debian/patches/vendor/u-hurd-libc.3.patch (renamed from debian/patches/u-hurd-libc.3.patch)23
-rw-r--r--debian/patches/vendor/u-hurd-libc.4.patch (renamed from debian/patches/u-hurd-libc.4.patch)15
-rw-r--r--debian/patches/vendor/u-hurd-libloading-0.7.4.patch (renamed from debian/patches/u-hurd-libloading-0.7.4.patch)13
-rw-r--r--debian/patches/vendor/u-hurd-socket2.patch (renamed from debian/patches/u-hurd-socket2.patch)37
65 files changed, 1548 insertions, 1667 deletions
diff --git a/debian/patches/d-rust-gdb-paths b/debian/patches/behaviour/d-rust-gdb-paths.patch
index ad02db260..86d9c2d4d 100644
--- a/debian/patches/d-rust-gdb-paths
+++ b/debian/patches/behaviour/d-rust-gdb-paths.patch
@@ -2,19 +2,18 @@ From: Angus Lees <gus@debian.org>
Date: Thu, 14 Jul 2022 13:17:39 +0200
Subject: Hardcode GDB python module directory
-Forwarded: not-needed
-
Debian package installs python modules into a fixed directory, so
just hardcode path in wrapper script.
+
+Forwarded: not-needed
---
- src/etc/rust-gdb | 2 +-
src/etc/rust-gdbgui | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-Index: rust/src/etc/rust-gdbgui
-===================================================================
---- rust.orig/src/etc/rust-gdbgui
-+++ rust/src/etc/rust-gdbgui
+diff --git a/src/etc/rust-gdbgui b/src/etc/rust-gdbgui
+index 471810c..be62b44 100755
+--- a/src/etc/rust-gdbgui
++++ b/src/etc/rust-gdbgui
@@ -40,7 +40,7 @@ else
fi
diff --git a/debian/patches/d-rust-lldb-paths b/debian/patches/behaviour/d-rust-lldb-paths.patch
index 02935200e..6afe0cc19 100644
--- a/debian/patches/d-rust-lldb-paths
+++ b/debian/patches/behaviour/d-rust-lldb-paths.patch
@@ -2,18 +2,18 @@ From: Angus Lees <gus@debian.org>
Date: Thu, 14 Jul 2022 13:17:39 +0200
Subject: Hardcode LLDB python module directory
-Forwarded: not-needed
-
Debian package installs python modules into a fixed directory, so
just hardcode path in wrapper script.
+
+Forwarded: not-needed
---
src/etc/rust-lldb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-Index: rust/src/etc/rust-lldb
-===================================================================
---- rust.orig/src/etc/rust-lldb
-+++ rust/src/etc/rust-lldb
+diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
+index bce72f1..38e76c2 100755
+--- a/src/etc/rust-lldb
++++ b/src/etc/rust-lldb
@@ -7,10 +7,10 @@ set -e
host=$(rustc -vV | sed -n -e 's/^host: //p')
diff --git a/debian/patches/d-rustc-add-soname.patch b/debian/patches/behaviour/d-rustc-add-soname.patch
index 29c56a614..91959bdc0 100644
--- a/debian/patches/d-rustc-add-soname.patch
+++ b/debian/patches/behaviour/d-rustc-add-soname.patch
@@ -2,8 +2,6 @@ From: Angus Lees <gus@debian.org>
Date: Thu, 14 Jul 2022 13:17:39 +0200
Subject: Set DT_SONAME when building dylibs
-Forwarded: no
-
In Rust, library filenames include a version-specific hash to help
the run-time linker find the correct version. Unlike in C/C++, the
compiler looks for all libraries matching a glob that ignores the
@@ -20,15 +18,17 @@ find DT_SONAME on shared libraries in public directories.
This patch passes -Wl,-soname=$outfile when building dylibs (and
using a GNU linker).
+
+Forwarded: no
---
compiler/rustc_codegen_ssa/src/back/link.rs | 7 +++++++
1 file changed, 7 insertions(+)
-Index: rust/compiler/rustc_codegen_ssa/src/back/link.rs
-===================================================================
---- rust.orig/compiler/rustc_codegen_ssa/src/back/link.rs
-+++ rust/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2363,6 +2363,13 @@ fn add_order_independent_options(
+diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
+index b0d22ad..9f824f4 100644
+--- a/compiler/rustc_codegen_ssa/src/back/link.rs
++++ b/compiler/rustc_codegen_ssa/src/back/link.rs
+@@ -2384,6 +2384,13 @@ fn add_order_independent_options(
}
add_rpath_args(cmd, sess, codegen_results, out_filename);
diff --git a/debian/patches/d-rustc-i686-baseline.patch b/debian/patches/behaviour/d-rustc-i686-baseline.patch
index e00dc112c..0e40ad70b 100644
--- a/debian/patches/d-rustc-i686-baseline.patch
+++ b/debian/patches/behaviour/d-rustc-i686-baseline.patch
@@ -1,17 +1,24 @@
From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:39 +0200
-Subject: d-rustc-i686-baseline
+Subject: Change i686 to match Debian i386 baseline
+
+see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973414 , might need to be
+adapted to reduce the baseline again
+
+Forwarded: not-needed
===================================================================
---
compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ tests/ui/abi/homogenous-floats-target-feature-mixup.rs | 3 ++-
+ tests/ui/sse2.rs | 2 +-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
-Index: rust/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
-===================================================================
---- rust.orig/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
-+++ rust/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
-@@ -2,7 +2,7 @@ use crate::spec::{base, Cc, LinkerFlavor
+diff --git a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
+index 3b7be48..4f01366 100644
+--- a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
++++ b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
+@@ -2,7 +2,7 @@ use crate::spec::{base, Cc, LinkerFlavor, Lld, SanitizerSet, StackProbeType, Tar
pub fn target() -> Target {
let mut base = base::linux_gnu::opts();
@@ -20,23 +27,10 @@ Index: rust/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs
base.max_atomic_width = Some(64);
base.supported_sanitizers = SanitizerSet::ADDRESS;
base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]);
-Index: rust/tests/ui/sse2.rs
-===================================================================
---- rust.orig/tests/ui/sse2.rs
-+++ rust/tests/ui/sse2.rs
-@@ -15,7 +15,7 @@ fn main() {
- }
- Err(_) => return,
- }
-- if cfg!(any(target_arch = "x86", target_arch = "x86_64")) {
-+ if cfg!(any(target_arch = "x86_64")) {
- assert!(cfg!(target_feature = "sse2"),
- "SSE2 was not detected as available on an x86 platform");
- }
-Index: rust/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
-===================================================================
---- rust.orig/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
-+++ rust/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
+diff --git a/tests/ui/abi/homogenous-floats-target-feature-mixup.rs b/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
+index 4600bd0..e178964 100644
+--- a/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
++++ b/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
@@ -24,7 +24,8 @@ fn main() {
match std::env::var("TARGET") {
Ok(s) => {
@@ -47,3 +41,16 @@ Index: rust/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
return
}
}
+diff --git a/tests/ui/sse2.rs b/tests/ui/sse2.rs
+index 172f407..bf39939 100644
+--- a/tests/ui/sse2.rs
++++ b/tests/ui/sse2.rs
+@@ -15,7 +15,7 @@ fn main() {
+ }
+ Err(_) => return,
+ }
+- if cfg!(any(target_arch = "x86", target_arch = "x86_64")) {
++ if cfg!(any(target_arch = "x86_64")) {
+ assert!(cfg!(target_feature = "sse2"),
+ "SSE2 was not detected as available on an x86 platform");
+ }
diff --git a/debian/patches/d-rustc-windows-ssp.patch b/debian/patches/behaviour/d-rustc-windows-ssp.patch
index b086b9a5d..6cacf0ef1 100644
--- a/debian/patches/d-rustc-windows-ssp.patch
+++ b/debian/patches/behaviour/d-rustc-windows-ssp.patch
@@ -7,10 +7,10 @@ Bug: https://github.com/rust-lang/rust/issues/68973
compiler/rustc_target/src/spec/base/windows_gnu.rs | 2 ++
1 file changed, 2 insertions(+)
-Index: rust/compiler/rustc_target/src/spec/base/windows_gnu.rs
-===================================================================
---- rust.orig/compiler/rustc_target/src/spec/base/windows_gnu.rs
-+++ rust/compiler/rustc_target/src/spec/base/windows_gnu.rs
+diff --git a/compiler/rustc_target/src/spec/base/windows_gnu.rs b/compiler/rustc_target/src/spec/base/windows_gnu.rs
+index 25f02dc..402bb29 100644
+--- a/compiler/rustc_target/src/spec/base/windows_gnu.rs
++++ b/compiler/rustc_target/src/spec/base/windows_gnu.rs
@@ -42,6 +42,8 @@ pub fn opts() -> TargetOptions {
"-lmsvcrt",
"-luser32",
diff --git a/debian/patches/d-rustdoc-disable-embedded-fonts.patch b/debian/patches/behaviour/d-rustdoc-disable-embedded-fonts.patch
index 7d8bab9f5..7f9a13289 100644
--- a/debian/patches/d-rustdoc-disable-embedded-fonts.patch
+++ b/debian/patches/behaviour/d-rustdoc-disable-embedded-fonts.patch
@@ -1,19 +1,19 @@
From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:39 +0200
-Subject: d-rustdoc-disable-embedded-fonts
+Subject: removed some embedded fonts
+Forwarded: not-needed
===================================================================
---
- src/librustdoc/html/render/write_shared.rs | 2 --
- src/librustdoc/html/static/css/rustdoc.css | 8 --------
- src/librustdoc/html/static_files.rs | 23 -----------------------
- 3 files changed, 33 deletions(-)
+ src/librustdoc/html/static/css/rustdoc.css | 8 --------
+ src/librustdoc/html/static_files.rs | 2 --
+ 2 files changed, 10 deletions(-)
-Index: rust/src/librustdoc/html/static/css/rustdoc.css
-===================================================================
---- rust.orig/src/librustdoc/html/static/css/rustdoc.css
-+++ rust/src/librustdoc/html/static/css/rustdoc.css
-@@ -80,14 +80,6 @@
+diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css
+index c4e97de..e9ea715 100644
+--- a/src/librustdoc/html/static/css/rustdoc.css
++++ b/src/librustdoc/html/static/css/rustdoc.css
+@@ -86,14 +86,6 @@
font-display: swap;
}
@@ -28,11 +28,11 @@ Index: rust/src/librustdoc/html/static/css/rustdoc.css
* {
box-sizing: border-box;
}
-Index: rust/src/librustdoc/html/static_files.rs
-===================================================================
---- rust.orig/src/librustdoc/html/static_files.rs
-+++ rust/src/librustdoc/html/static_files.rs
-@@ -123,8 +123,6 @@ static_files! {
+diff --git a/src/librustdoc/html/static_files.rs b/src/librustdoc/html/static_files.rs
+index ca9a78f..2fd45fb 100644
+--- a/src/librustdoc/html/static_files.rs
++++ b/src/librustdoc/html/static_files.rs
+@@ -119,8 +119,6 @@ static_files! {
source_code_pro_semibold => "static/fonts/SourceCodePro-Semibold.ttf.woff2",
source_code_pro_italic => "static/fonts/SourceCodePro-It.ttf.woff2",
source_code_pro_license => "static/fonts/SourceCodePro-LICENSE.txt",
diff --git a/debian/patches/build/d-armel-fix-lldb.patch b/debian/patches/build/d-armel-fix-lldb.patch
new file mode 100644
index 000000000..53fd45d49
--- /dev/null
+++ b/debian/patches/build/d-armel-fix-lldb.patch
@@ -0,0 +1,26 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:40 +0200
+Subject: run panics if lldb is not installed and no output is produced..
+
+Forwarded: no
+---
+ src/bootstrap/src/core/build_steps/test.rs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs
+index 5c115cf..5c28e3d 100644
+--- a/src/bootstrap/src/core/build_steps/test.rs
++++ b/src/bootstrap/src/core/build_steps/test.rs
+@@ -1787,7 +1787,11 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
+ .ok();
+ if let Some(ref vers) = lldb_version {
+ cmd.arg("--lldb-version").arg(vers);
+- let lldb_python_dir = run(Command::new(lldb_exe).arg("-P")).ok();
++ let lldb_python_dir = Command::new(lldb_exe)
++ .arg("-P")
++ .output()
++ .map(|output| String::from_utf8_lossy(&output.stdout).to_string())
++ .ok();
+ if let Some(ref dir) = lldb_python_dir {
+ cmd.arg("--lldb-python-dir").arg(dir);
+ }
diff --git a/debian/patches/d-bootstrap-cargo-doc-paths.patch b/debian/patches/build/d-bootstrap-cargo-doc-paths.patch
index 906f341ad..d0db153e5 100644
--- a/debian/patches/d-bootstrap-cargo-doc-paths.patch
+++ b/debian/patches/build/d-bootstrap-cargo-doc-paths.patch
@@ -4,7 +4,15 @@ Subject: Fix links to cargo-doc
We package cargo docs in a slightly different location; also tweak linkchecker
to not fail these links.
+
+Forwarded: not-needed
---
+ compiler/rustc_error_codes/src/error_codes/E0460.md | 2 +-
+ compiler/rustc_error_codes/src/error_codes/E0461.md | 2 +-
+ compiler/rustc_error_codes/src/error_codes/E0462.md | 2 +-
+ compiler/rustc_error_codes/src/error_codes/E0514.md | 2 +-
+ compiler/rustc_error_codes/src/error_codes/E0519.md | 2 +-
+ src/doc/edition-guide/book.toml | 18 +++++++++---------
.../edition-guide/src/editions/advanced-migrations.md | 14 +++++++-------
...ansitioning-an-existing-project-to-a-new-edition.md | 4 ++--
.../src/rust-2021/default-cargo-resolver.md | 10 +++++-----
@@ -13,17 +21,117 @@ to not fail these links.
src/doc/reference/src/introduction.md | 4 ++--
src/doc/reference/src/linkage.md | 2 +-
src/doc/reference/src/procedural-macros.md | 2 +-
+ src/doc/rustc/src/linker-plugin-lto.md | 2 +-
+ src/doc/rustc/src/platform-support/fuchsia.md | 2 +-
+ src/doc/rustc/src/targets/custom.md | 2 +-
src/doc/rustc/src/tests/index.md | 4 ++--
src/doc/rustc/src/what-is-rustc.md | 2 +-
- src/doc/edition-guide/book.toml | 18 +++++++++---------
- src/tools/linkchecker/main.rs | 6 ++++++
- 12 files changed, 38 insertions(+), 32 deletions(-)
+ .../src/compiler-flags/branch-protection.md | 2 +-
+ .../src/compiler-flags/control-flow-guard.md | 2 +-
+ src/doc/unstable-book/src/compiler-flags/sanitizer.md | 2 +-
+ src/tools/linkchecker/main.rs | 4 ++++
+ 23 files changed, 47 insertions(+), 43 deletions(-)
-Index: rust/src/doc/edition-guide/src/editions/advanced-migrations.md
-===================================================================
---- rust.orig/src/doc/edition-guide/src/editions/advanced-migrations.md
-+++ rust/src/doc/edition-guide/src/editions/advanced-migrations.md
-@@ -186,18 +186,18 @@ Afterwards, the line with `extern crate
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0460.md b/compiler/rustc_error_codes/src/error_codes/E0460.md
+index 001678a..e8b77bf 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0460.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0460.md
+@@ -68,4 +68,4 @@ This error can be fixed by:
+ * Recompiling crate `a` so that both crate `b` and `main` have a uniform
+ version to depend on.
+
+-[Cargo]: ../cargo/index.html
++[Cargo]: ../../../cargo/book/index.html
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0461.md b/compiler/rustc_error_codes/src/error_codes/E0461.md
+index 33105c4..088833d 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0461.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0461.md
+@@ -25,6 +25,6 @@ architectures. This issue also extends to any difference in target triples, as
+ `std` is operating-system specific.
+
+ This error can be fixed by:
+- * Using [Cargo](../cargo/index.html), the Rust package manager, automatically
++ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager, automatically
+ fixing this issue.
+ * Recompiling either crate so that they target a consistent target triple.
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0462.md b/compiler/rustc_error_codes/src/error_codes/E0462.md
+index 4509cc6..b0538b9 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0462.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0462.md
+@@ -26,7 +26,7 @@ prefer `staticlib` for linking with C programs. Learn more about different
+ `crate_type`s in [this section of the Reference](../reference/linkage.html).
+
+ This error can be fixed by:
+- * Using [Cargo](../cargo/index.html), the Rust package manager, automatically
++ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager, automatically
+ fixing this issue.
+ * Recompiling the crate as a `rlib` or `dylib`; formats suitable for Rust
+ linking.
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0514.md b/compiler/rustc_error_codes/src/error_codes/E0514.md
+index ce2bbc5..0b2dab8 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0514.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0514.md
+@@ -27,7 +27,7 @@ the compiler cannot be sure about *how* to call a function between compiler
+ versions, and therefore this error occurs.
+
+ This error can be fixed by:
+- * Using [Cargo](../cargo/index.html), the Rust package manager and
++ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager and
+ [Rustup](https://rust-lang.github.io/rustup/), the Rust toolchain installer,
+ automatically fixing this issue.
+ * Recompiling the crates with a uniform `rustc` version.
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0519.md b/compiler/rustc_error_codes/src/error_codes/E0519.md
+index 12876e2..09bd221 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0519.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0519.md
+@@ -34,7 +34,7 @@ The above example compiles two crates with exactly the same name and
+ impossible for the compiler to distinguish between symbols (`pub` item names).
+
+ This error can be fixed by:
+- * Using [Cargo](../cargo/index.html), the Rust package manager, automatically
++ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager, automatically
+ fixing this issue.
+ * Recompiling the crate with different metadata (different name/
+ `crate_type`).
+diff --git a/src/doc/edition-guide/book.toml b/src/doc/edition-guide/book.toml
+index 7841b64..7094175 100644
+--- a/src/doc/edition-guide/book.toml
++++ b/src/doc/edition-guide/book.toml
+@@ -53,15 +53,15 @@ git-repository-url = "https://github.com/rust-lang/edition-guide"
+ "/rust-2018/the-compiler/incremental-compilation-for-faster-compiles.html" = "https://blog.rust-lang.org/2018/02/15/Rust-1.24.html#incremental-compilation"
+ "/rust-2018/the-compiler/an-attribute-for-deprecation.html" = "../../../reference/attributes/diagnostics.html#the-deprecated-attribute"
+ "/rust-2018/rustup-for-managing-rust-versions.html" = "https://rust-lang.github.io/rustup/"
+-"/rust-2018/cargo-and-crates-io/index.html" = "../../../cargo/index.html"
+-"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../cargo/commands/cargo-check.html"
+-"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../cargo/commands/cargo-install.html"
++"/rust-2018/cargo-and-crates-io/index.html" = "../../../../../cargo/book/index.html"
++"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../../../cargo/book/commands/cargo-check.html"
++"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../../../cargo/book/commands/cargo-install.html"
+ "/rust-2018/cargo-and-crates-io/cargo-new-defaults-to-a-binary-project.html" = "https://blog.rust-lang.org/2018/03/29/Rust-1.25.html#cargo-features"
+-"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../cargo/commands/cargo-rustc.html"
+-"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../cargo/reference/workspaces.html"
+-"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../cargo/guide/project-layout.html"
+-"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../cargo/reference/overriding-dependencies.html#the-patch-section"
+-"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../cargo/reference/source-replacement.html"
++"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../../../cargo/book/commands/cargo-rustc.html"
++"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../../../cargo/book/reference/workspaces.html"
++"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../../../cargo/book/guide/project-layout.html"
++"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../../../cargo/book/reference/overriding-dependencies.html#the-patch-section"
++"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../../../cargo/book/reference/source-replacement.html"
+ "/rust-2018/cargo-and-crates-io/crates-io-disallows-wildcard-dependencies.html" = "https://blog.rust-lang.org/2016/01/21/Rust-1.6.html#cratesio-disallows-wildcards"
+ "/rust-2018/documentation/index.html" = "../../../index.html"
+ "/rust-2018/documentation/new-editions-of-the-book.html" = "../../../book/index.html"
+@@ -93,4 +93,4 @@ git-repository-url = "https://github.com/rust-lang/edition-guide"
+ "/rust-next/future.html" = "../../std/future/trait.Future.html"
+ "/rust-next/alloc.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#the-alloc-crate-is-stable"
+ "/rust-next/maybe-uninit.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#maybeuninitt-instead-of-memuninitialized"
+-"/rust-next/cargo-vendor.html" = "../../cargo/commands/cargo-vendor.html"
++"/rust-next/cargo-vendor.html" = "../../../../cargo/book/commands/cargo-vendor.html"
+diff --git a/src/doc/edition-guide/src/editions/advanced-migrations.md b/src/doc/edition-guide/src/editions/advanced-migrations.md
+index a1a5d80..0c3b0c8 100644
+--- a/src/doc/edition-guide/src/editions/advanced-migrations.md
++++ b/src/doc/edition-guide/src/editions/advanced-migrations.md
+@@ -186,18 +186,18 @@ Afterwards, the line with `extern crate rand;` in `src/lib.rs` will be removed.
We're now more idiomatic, and we didn't have to fix our code manually!
@@ -33,7 +141,7 @@ Index: rust/src/doc/edition-guide/src/editions/advanced-migrations.md
+[`cargo fix`]: ../../../../cargo/book/commands/cargo-fix.html
[`explicit-outlives-requirements`]: ../../rustc/lints/listing/allowed-by-default.html#explicit-outlives-requirements
[`keyword-idents`]: ../../rustc/lints/listing/allowed-by-default.html#keyword-idents
- [`rustfix`]: https://github.com/rust-lang/rustfix
+ [`rustfix`]: https://crates.io/crates/rustfix
[`unused-extern-crates`]: ../../rustc/lints/listing/allowed-by-default.html#unused-extern-crates
-[Cargo features]: ../../cargo/reference/features.html
-[Cargo package]: ../../cargo/reference/manifest.html#the-package-section
@@ -49,11 +157,11 @@ Index: rust/src/doc/edition-guide/src/editions/advanced-migrations.md
[conditional compilation]: ../../reference/conditional-compilation.html
[documentation tests]: ../../rustdoc/documentation-tests.html
[JSON messages]: ../../rustc/json.html
-Index: rust/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
-===================================================================
---- rust.orig/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
-+++ rust/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
-@@ -83,7 +83,7 @@ If new warnings are issued, you may want
+diff --git a/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md b/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
+index d4ebd23..afbb17d 100644
+--- a/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
++++ b/src/doc/edition-guide/src/editions/transitioning-an-existing-project-to-a-new-edition.md
+@@ -83,7 +83,7 @@ If new warnings are issued, you may want to consider running `cargo fix` again (
Congrats! Your code is now valid in both Rust 2015 and Rust 2018!
@@ -63,11 +171,11 @@ Index: rust/src/doc/edition-guide/src/editions/transitioning-an-existing-project
+[`cargo test`]: ../../../../cargo/book/commands/cargo-test.html
[Advanced migration strategies]: advanced-migrations.md
[nightly channel]: ../../book/appendix-07-nightly-rust.html
-Index: rust/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
-===================================================================
---- rust.orig/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
-+++ rust/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
-@@ -21,11 +21,11 @@ The new feature resolver no longer merge
+diff --git a/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md b/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
+index 5f6653d..99332c3 100644
+--- a/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
++++ b/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
+@@ -21,11 +21,11 @@ The new feature resolver no longer merges all requested features for
crates that are depended on in multiple ways.
See [the announcement of Rust 1.51][5] for details.
@@ -83,17 +191,17 @@ Index: rust/src/doc/edition-guide/src/rust-2021/default-cargo-resolver.md
## Migration
-@@ -176,4 +176,4 @@ This snippet of output shows that the pr
+@@ -176,4 +176,4 @@ This snippet of output shows that the project `foo` depends on `bar` with the "d
Then, `bar` depends on `bstr` as a build-dependency with the "default" feature.
We can further see that `bstr`'s "default" feature enables "unicode" (among other features).
-[`cargo tree`]: ../../cargo/commands/cargo-tree.html
+[`cargo tree`]: ../../../../cargo/book/commands/cargo-tree.html
-Index: rust/src/doc/index.md
-===================================================================
---- rust.orig/src/doc/index.md
-+++ rust/src/doc/index.md
-@@ -130,7 +130,7 @@ their differences.
+diff --git a/src/doc/index.md b/src/doc/index.md
+index 8ad5b42..f93d3da 100644
+--- a/src/doc/index.md
++++ b/src/doc/index.md
+@@ -128,7 +128,7 @@ historical editions.
### The Cargo Book
@@ -102,11 +210,11 @@ Index: rust/src/doc/index.md
dependency manager.
### The Rustdoc Book
-Index: rust/src/doc/reference/src/conditional-compilation.md
-===================================================================
---- rust.orig/src/doc/reference/src/conditional-compilation.md
-+++ rust/src/doc/reference/src/conditional-compilation.md
-@@ -376,6 +376,6 @@ println!("I'm running on a {} machine!",
+diff --git a/src/doc/reference/src/conditional-compilation.md b/src/doc/reference/src/conditional-compilation.md
+index e724b21..803d31c 100644
+--- a/src/doc/reference/src/conditional-compilation.md
++++ b/src/doc/reference/src/conditional-compilation.md
+@@ -377,6 +377,6 @@ println!("I'm running on a {} machine!", machine_kind);
[`target_feature` attribute]: attributes/codegen.md#the-target_feature-attribute
[attribute]: attributes.md
[attributes]: attributes.md
@@ -114,11 +222,11 @@ Index: rust/src/doc/reference/src/conditional-compilation.md
+[cargo-feature]: ../../../cargo/book/reference/features.html
[crate type]: linkage.md
[static C runtime]: linkage.md#static-and-dynamic-c-runtimes
-Index: rust/src/doc/reference/src/introduction.md
-===================================================================
---- rust.orig/src/doc/reference/src/introduction.md
-+++ rust/src/doc/reference/src/introduction.md
-@@ -135,8 +135,8 @@ We also want the reference to be as norm
+diff --git a/src/doc/reference/src/introduction.md b/src/doc/reference/src/introduction.md
+index 9038efd..770680d 100644
+--- a/src/doc/reference/src/introduction.md
++++ b/src/doc/reference/src/introduction.md
+@@ -135,8 +135,8 @@ We also want the reference to be as normative as possible, so if you see anythin
[the Rust Reference repository]: https://github.com/rust-lang/reference/
[Unstable Book]: https://doc.rust-lang.org/nightly/unstable-book/
[_Expression_]: expressions.md
@@ -129,10 +237,10 @@ Index: rust/src/doc/reference/src/introduction.md
[expressions chapter]: expressions.html
[file an issue]: https://github.com/rust-lang/reference/issues
[lifetime of temporaries]: expressions.html#temporaries
-Index: rust/src/doc/reference/src/linkage.md
-===================================================================
---- rust.orig/src/doc/reference/src/linkage.md
-+++ rust/src/doc/reference/src/linkage.md
+diff --git a/src/doc/reference/src/linkage.md b/src/doc/reference/src/linkage.md
+index 82864b0..db1508c 100644
+--- a/src/doc/reference/src/linkage.md
++++ b/src/doc/reference/src/linkage.md
@@ -201,7 +201,7 @@ fn main() {
}
```
@@ -142,11 +250,11 @@ Index: rust/src/doc/reference/src/linkage.md
To use this feature locally, you typically will use the `RUSTFLAGS` environment
variable to specify flags to the compiler through Cargo. For example to compile
-Index: rust/src/doc/reference/src/procedural-macros.md
-===================================================================
---- rust.orig/src/doc/reference/src/procedural-macros.md
-+++ rust/src/doc/reference/src/procedural-macros.md
-@@ -331,7 +331,7 @@ Note that neither declarative nor proced
+diff --git a/src/doc/reference/src/procedural-macros.md b/src/doc/reference/src/procedural-macros.md
+index 7d69ab7..5d744c9 100644
+--- a/src/doc/reference/src/procedural-macros.md
++++ b/src/doc/reference/src/procedural-macros.md
+@@ -331,7 +331,7 @@ Note that neither declarative nor procedural macros support doc comment tokens
their equivalent `#[doc = r"str"]` attributes when passed to macros.
[Attribute macros]: #attribute-macros
@@ -155,11 +263,47 @@ Index: rust/src/doc/reference/src/procedural-macros.md
[Derive macros]: #derive-macros
[Function-like macros]: #function-like-procedural-macros
[`Delimiter::None`]: ../proc_macro/enum.Delimiter.html#variant.None
-Index: rust/src/doc/rustc/src/tests/index.md
-===================================================================
---- rust.orig/src/doc/rustc/src/tests/index.md
-+++ rust/src/doc/rustc/src/tests/index.md
-@@ -301,7 +301,7 @@ Experimental support for using custom te
+diff --git a/src/doc/rustc/src/linker-plugin-lto.md b/src/doc/rustc/src/linker-plugin-lto.md
+index ff80f14..99745bc 100644
+--- a/src/doc/rustc/src/linker-plugin-lto.md
++++ b/src/doc/rustc/src/linker-plugin-lto.md
+@@ -112,7 +112,7 @@ targeting Windows-like targets
+ This is fixed if you explicitly set the target, for example
+ `cargo build --target x86_64-pc-windows-msvc`
+ Without an explicit --target the flags will be passed to all compiler invocations (including build
+-scripts and proc macros), see [cargo docs on rustflags](../cargo/reference/config.html#buildrustflags)
++scripts and proc macros), see [cargo docs on rustflags](../../../cargo/book/reference/config.html#buildrustflags)
+
+ If you have dependencies using the `cc` crate, you will need to set these
+ environment variables:
+diff --git a/src/doc/rustc/src/platform-support/fuchsia.md b/src/doc/rustc/src/platform-support/fuchsia.md
+index 34ab3cd..d3dac67 100644
+--- a/src/doc/rustc/src/platform-support/fuchsia.md
++++ b/src/doc/rustc/src/platform-support/fuchsia.md
+@@ -931,7 +931,7 @@ attach and load any relevant debug symbols.
+ [Fuchsia]: https://fuchsia.dev/
+ [source tree]: https://fuchsia.dev/fuchsia-src/get-started/learn/build
+ [rustup]: https://rustup.rs/
+-[cargo]: ../../cargo/index.html
++[cargo]: ../../../../cargo/book/index.html
+ [Fuchsia SDK]: https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core
+ [overview of CML]: https://fuchsia.dev/fuchsia-src/concepts/components/v2/component_manifests
+ [reference for the file format]: https://fuchsia.dev/reference/cml
+diff --git a/src/doc/rustc/src/targets/custom.md b/src/doc/rustc/src/targets/custom.md
+index a67cb10..764ed34 100644
+--- a/src/doc/rustc/src/targets/custom.md
++++ b/src/doc/rustc/src/targets/custom.md
+@@ -14,4 +14,4 @@ To see it for a different target, add the `--target` flag:
+ rustc +nightly -Z unstable-options --target=wasm32-unknown-unknown --print target-spec-json
+ ```
+
+-To use a custom target, see the (unstable) [`build-std` feature](../../cargo/reference/unstable.html#build-std) of `cargo`.
++To use a custom target, see the (unstable) [`build-std` feature](../../../../cargo/book/reference/unstable.html#build-std) of `cargo`.
+diff --git a/src/doc/rustc/src/tests/index.md b/src/doc/rustc/src/tests/index.md
+index 32baed9..2c36c1d 100644
+--- a/src/doc/rustc/src/tests/index.md
++++ b/src/doc/rustc/src/tests/index.md
+@@ -301,7 +301,7 @@ Experimental support for using custom test harnesses is available on the
[`--test` option]: ../command-line-arguments.md#option-test
[`-Z panic-abort-tests`]: https://github.com/rust-lang/rust/issues/67650
[`available_parallelism`]: ../../std/thread/fn.available_parallelism.html
@@ -168,7 +312,7 @@ Index: rust/src/doc/rustc/src/tests/index.md
[`libtest`]: ../../test/index.html
[`main` function]: ../../reference/crates-and-source-files.html#main-functions
[`Result`]: ../../std/result/index.html
-@@ -311,7 +311,7 @@ Experimental support for using custom te
+@@ -311,7 +311,7 @@ Experimental support for using custom test harnesses is available on the
[attribute-should_panic]: ../../reference/attributes/testing.html#the-should_panic-attribute
[attribute-test]: ../../reference/attributes/testing.html#the-test-attribute
[bench-docs]: ../../unstable-book/library-features/test.html
@@ -177,11 +321,11 @@ Index: rust/src/doc/rustc/src/tests/index.md
[crate type]: ../../reference/linkage.html
[custom_test_frameworks documentation]: ../../unstable-book/language-features/custom-test-frameworks.html
[nightly channel]: ../../book/appendix-07-nightly-rust.html
-Index: rust/src/doc/rustc/src/what-is-rustc.md
-===================================================================
---- rust.orig/src/doc/rustc/src/what-is-rustc.md
-+++ rust/src/doc/rustc/src/what-is-rustc.md
-@@ -5,7 +5,7 @@ language, provided by the project itself
+diff --git a/src/doc/rustc/src/what-is-rustc.md b/src/doc/rustc/src/what-is-rustc.md
+index 39a05cf..7e450ae 100644
+--- a/src/doc/rustc/src/what-is-rustc.md
++++ b/src/doc/rustc/src/what-is-rustc.md
+@@ -5,7 +5,7 @@ language, provided by the project itself. Compilers take your source code and
produce binary code, either as a library or executable.
Most Rust programmers don't invoke `rustc` directly, but instead do it through
@@ -190,106 +334,21 @@ Index: rust/src/doc/rustc/src/what-is-rustc.md
want to see how Cargo calls `rustc`, you can
```bash
-Index: rust/src/doc/edition-guide/book.toml
-===================================================================
---- rust.orig/src/doc/edition-guide/book.toml
-+++ rust/src/doc/edition-guide/book.toml
-@@ -53,15 +53,15 @@ git-repository-url = "https://github.com
- "/rust-2018/the-compiler/incremental-compilation-for-faster-compiles.html" = "https://blog.rust-lang.org/2018/02/15/Rust-1.24.html#incremental-compilation"
- "/rust-2018/the-compiler/an-attribute-for-deprecation.html" = "../../../reference/attributes/diagnostics.html#the-deprecated-attribute"
- "/rust-2018/rustup-for-managing-rust-versions.html" = "https://rust-lang.github.io/rustup/"
--"/rust-2018/cargo-and-crates-io/index.html" = "../../../cargo/index.html"
--"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../cargo/commands/cargo-check.html"
--"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../cargo/commands/cargo-install.html"
-+"/rust-2018/cargo-and-crates-io/index.html" = "../../../../../cargo/book/index.html"
-+"/rust-2018/cargo-and-crates-io/cargo-check-for-faster-checking.html" = "../../../../../cargo/book/commands/cargo-check.html"
-+"/rust-2018/cargo-and-crates-io/cargo-install-for-easy-installation-of-tools.html" = "../../../../../cargo/book/commands/cargo-install.html"
- "/rust-2018/cargo-and-crates-io/cargo-new-defaults-to-a-binary-project.html" = "https://blog.rust-lang.org/2018/03/29/Rust-1.25.html#cargo-features"
--"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../cargo/commands/cargo-rustc.html"
--"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../cargo/reference/workspaces.html"
--"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../cargo/guide/project-layout.html"
--"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../cargo/reference/overriding-dependencies.html#the-patch-section"
--"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../cargo/reference/source-replacement.html"
-+"/rust-2018/cargo-and-crates-io/cargo-rustc-for-passing-arbitrary-flags-to-rustc.html" = "../../../../../cargo/book/commands/cargo-rustc.html"
-+"/rust-2018/cargo-and-crates-io/cargo-workspaces-for-multi-package-projects.html" = "../../../../../cargo/book/reference/workspaces.html"
-+"/rust-2018/cargo-and-crates-io/multi-file-examples.html" = "../../../../../cargo/book/guide/project-layout.html"
-+"/rust-2018/cargo-and-crates-io/replacing-dependencies-with-patch.html" = "../../../../../cargo/book/reference/overriding-dependencies.html#the-patch-section"
-+"/rust-2018/cargo-and-crates-io/cargo-can-use-a-local-registry-replacement.html" = "../../../../../cargo/book/reference/source-replacement.html"
- "/rust-2018/cargo-and-crates-io/crates-io-disallows-wildcard-dependencies.html" = "https://blog.rust-lang.org/2016/01/21/Rust-1.6.html#cratesio-disallows-wildcards"
- "/rust-2018/documentation/index.html" = "../../../index.html"
- "/rust-2018/documentation/new-editions-of-the-book.html" = "../../../book/index.html"
-@@ -93,4 +93,4 @@ git-repository-url = "https://github.com
- "/rust-next/future.html" = "../../std/future/trait.Future.html"
- "/rust-next/alloc.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#the-alloc-crate-is-stable"
- "/rust-next/maybe-uninit.html" = "https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#maybeuninitt-instead-of-memuninitialized"
--"/rust-next/cargo-vendor.html" = "../../cargo/commands/cargo-vendor.html"
-+"/rust-next/cargo-vendor.html" = "../../../../cargo/book/commands/cargo-vendor.html"
-Index: rust/src/tools/linkchecker/main.rs
-===================================================================
---- rust.orig/src/tools/linkchecker/main.rs
-+++ rust/src/tools/linkchecker/main.rs
-@@ -262,6 +262,10 @@ impl Checker {
- return;
- }
- }
-+ if url.contains("../../cargo/book/") {
-+ // link to related cargo-doc, ok for our Debian build
-+ return;
-+ }
- if is_exception(file, &target_pretty_path) {
- report.links_ignored_exception += 1;
- } else {
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0462.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0462.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0462.md
-@@ -26,7 +26,7 @@ prefer `staticlib` for linking with C pr
- `crate_type`s in [this section of the Reference](../reference/linkage.html).
-
- This error can be fixed by:
-- * Using [Cargo](../cargo/index.html), the Rust package manager, automatically
-+ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager, automatically
- fixing this issue.
- * Recompiling the crate as a `rlib` or `dylib`; formats suitable for Rust
- linking.
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0460.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0460.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0460.md
-@@ -68,4 +68,4 @@ This error can be fixed by:
- * Recompiling crate `a` so that both crate `b` and `main` have a uniform
- version to depend on.
-
--[Cargo]: ../cargo/index.html
-+[Cargo]: ../../../cargo/book/index.html
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0514.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0514.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0514.md
-@@ -27,7 +27,7 @@ the compiler cannot be sure about *how*
- versions, and therefore this error occurs.
-
- This error can be fixed by:
-- * Using [Cargo](../cargo/index.html), the Rust package manager and
-+ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager and
- [Rustup](https://rust-lang.github.io/rustup/), the Rust toolchain installer,
- automatically fixing this issue.
- * Recompiling the crates with a uniform `rustc` version.
-Index: rust/src/doc/unstable-book/src/compiler-flags/branch-protection.md
-===================================================================
---- rust.orig/src/doc/unstable-book/src/compiler-flags/branch-protection.md
-+++ rust/src/doc/unstable-book/src/compiler-flags/branch-protection.md
-@@ -15,4 +15,4 @@ For example, `-Z branch-protection=bti,p
+diff --git a/src/doc/unstable-book/src/compiler-flags/branch-protection.md b/src/doc/unstable-book/src/compiler-flags/branch-protection.md
+index ca56648..85285e3 100644
+--- a/src/doc/unstable-book/src/compiler-flags/branch-protection.md
++++ b/src/doc/unstable-book/src/compiler-flags/branch-protection.md
+@@ -15,4 +15,4 @@ For example, `-Z branch-protection=bti,pac-ret,leaf` is valid, but
Rust's standard library does not ship with BTI or pointer authentication enabled by default.
In Cargo projects the standard library can be recompiled with pointer authentication using the nightly
-[build-std](../../cargo/reference/unstable.html#build-std) feature.
+[build-std](../../../../cargo/book/reference/unstable.html#build-std) feature.
-Index: rust/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
-===================================================================
---- rust.orig/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
-+++ rust/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
-@@ -39,7 +39,7 @@ It is strongly recommended to also enabl
+diff --git a/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md b/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
+index dbb7414..73876b0 100644
+--- a/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
++++ b/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
+@@ -39,7 +39,7 @@ It is strongly recommended to also enable CFG checks for all linked libraries, i
To enable CFG in the standard library, use the [cargo `-Z build-std` functionality][build-std] to recompile the standard library with the same configuration options as the main program.
@@ -298,11 +357,11 @@ Index: rust/src/doc/unstable-book/src/compiler-flags/control-flow-guard.md
For example:
```cmd
-Index: rust/src/doc/unstable-book/src/compiler-flags/sanitizer.md
-===================================================================
---- rust.orig/src/doc/unstable-book/src/compiler-flags/sanitizer.md
-+++ rust/src/doc/unstable-book/src/compiler-flags/sanitizer.md
-@@ -804,7 +804,7 @@ It is strongly recommended to combine sa
+diff --git a/src/doc/unstable-book/src/compiler-flags/sanitizer.md b/src/doc/unstable-book/src/compiler-flags/sanitizer.md
+index 502853f..00a3b1f 100644
+--- a/src/doc/unstable-book/src/compiler-flags/sanitizer.md
++++ b/src/doc/unstable-book/src/compiler-flags/sanitizer.md
+@@ -813,7 +813,7 @@ It is strongly recommended to combine sanitizers with recompiled and
instrumented standard library, for example using [cargo `-Zbuild-std`
functionality][build-std].
@@ -311,64 +370,18 @@ Index: rust/src/doc/unstable-book/src/compiler-flags/sanitizer.md
# Build scripts and procedural macros
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0461.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0461.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0461.md
-@@ -25,6 +25,6 @@ architectures. This issue also extends t
- `std` is operating-system specific.
-
- This error can be fixed by:
-- * Using [Cargo](../cargo/index.html), the Rust package manager, automatically
-+ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager, automatically
- fixing this issue.
- * Recompiling either crate so that they target a consistent target triple.
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0519.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0519.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0519.md
-@@ -34,7 +34,7 @@ The above example compiles two crates wi
- impossible for the compiler to distinguish between symbols (`pub` item names).
-
- This error can be fixed by:
-- * Using [Cargo](../cargo/index.html), the Rust package manager, automatically
-+ * Using [Cargo](../../../cargo/book/index.html), the Rust package manager, automatically
- fixing this issue.
- * Recompiling the crate with different metadata (different name/
- `crate_type`).
-Index: rust/src/doc/rustc/src/linker-plugin-lto.md
-===================================================================
---- rust.orig/src/doc/rustc/src/linker-plugin-lto.md
-+++ rust/src/doc/rustc/src/linker-plugin-lto.md
-@@ -112,7 +112,7 @@ targeting Windows-like targets
- This is fixed if you explicitly set the target, for example
- `cargo build --target x86_64-pc-windows-msvc`
- Without an explicit --target the flags will be passed to all compiler invocations (including build
--scripts and proc macros), see [cargo docs on rustflags](../cargo/reference/config.html#buildrustflags)
-+scripts and proc macros), see [cargo docs on rustflags](../../../cargo/book/reference/config.html#buildrustflags)
-
- If you have dependencies using the `cc` crate, you will need to set these
- environment variables:
-Index: rust/src/doc/rustc/src/platform-support/fuchsia.md
-===================================================================
---- rust.orig/src/doc/rustc/src/platform-support/fuchsia.md
-+++ rust/src/doc/rustc/src/platform-support/fuchsia.md
-@@ -929,7 +929,7 @@ attach and load any relevant debug symbo
- [Fuchsia]: https://fuchsia.dev/
- [source tree]: https://fuchsia.dev/fuchsia-src/get-started/learn/build
- [rustup]: https://rustup.rs/
--[cargo]: ../../cargo/index.html
-+[cargo]: ../../../../cargo/book/index.html
- [Fuchsia SDK]: https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core
- [overview of CML]: https://fuchsia.dev/fuchsia-src/concepts/components/v2/component_manifests
- [reference for the file format]: https://fuchsia.dev/reference/cml
-Index: rust/src/doc/rustc/src/targets/custom.md
-===================================================================
---- rust.orig/src/doc/rustc/src/targets/custom.md
-+++ rust/src/doc/rustc/src/targets/custom.md
-@@ -14,4 +14,4 @@ To see it for a different target, add th
- rustc +nightly -Z unstable-options --target=wasm32-unknown-unknown --print target-spec-json
- ```
-
--To use a custom target, see the (unstable) [`build-std` feature](../../cargo/reference/unstable.html#build-std) of `cargo`.
-+To use a custom target, see the (unstable) [`build-std` feature](../../../../cargo/book/reference/unstable.html#build-std) of `cargo`.
+diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
+index e4805cc..02f43456 100644
+--- a/src/tools/linkchecker/main.rs
++++ b/src/tools/linkchecker/main.rs
+@@ -262,6 +262,10 @@ impl Checker {
+ return;
+ }
+ }
++ if url.contains("../../cargo/book/") {
++ // link to related cargo-doc, ok for our Debian build
++ return;
++ }
+ if is_exception(file, &target_pretty_path) {
+ report.links_ignored_exception += 1;
+ } else {
diff --git a/debian/patches/d-bootstrap-custom-debuginfo-path.patch b/debian/patches/build/d-bootstrap-custom-debuginfo-path.patch
index 581c83e83..04daef05d 100644
--- a/debian/patches/d-bootstrap-custom-debuginfo-path.patch
+++ b/debian/patches/build/d-bootstrap-custom-debuginfo-path.patch
@@ -2,17 +2,33 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:39 +0200
Subject: d-bootstrap-custom-debuginfo-path
+Forwarded: not-needed
===================================================================
---
- src/bootstrap/src/lib.rs | 5 ++---
- src/test/codegen/remap_path_prefix/issue-73167-remap-std.rs | 2 +-
- 2 files changed, 3 insertions(+), 4 deletions(-)
+ src/bootstrap/src/core/builder.rs | 3 ++-
+ src/bootstrap/src/lib.rs | 5 ++---
+ tests/codegen/remap_path_prefix/issue-73167-remap-std.rs | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
-Index: rust/src/bootstrap/src/lib.rs
-===================================================================
---- rust.orig/src/bootstrap/src/lib.rs
-+++ rust/src/bootstrap/src/lib.rs
-@@ -1163,10 +1163,9 @@ impl Build {
+diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
+index 82f8e91..5f4a7af 100644
+--- a/src/bootstrap/src/core/builder.rs
++++ b/src/bootstrap/src/core/builder.rs
+@@ -1787,7 +1787,8 @@ impl<'a> Builder<'a> {
+ cargo.env("CFG_VIRTUAL_RUST_SOURCE_BASE_DIR", map_to);
+ }
+
+- if self.config.rust_remap_debuginfo {
++ // Debian: this breaks with our vendored sources!
++ if false && self.config.rust_remap_debuginfo {
+ // FIXME: handle vendored sources
+ let registry_src = t!(home::cargo_home()).join("registry").join("src");
+ let mut env_var = OsString::new();
+diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
+index 871318d..861a2aa 100644
+--- a/src/bootstrap/src/lib.rs
++++ b/src/bootstrap/src/lib.rs
+@@ -1155,10 +1155,9 @@ impl Build {
match which {
GitRepo::Rustc => {
@@ -25,10 +41,10 @@ Index: rust/src/bootstrap/src/lib.rs
}
}
-Index: rust/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
-===================================================================
---- rust.orig/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
-+++ rust/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
+diff --git a/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs b/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
+index b66abc6..f6efe1e 100644
+--- a/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
++++ b/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
@@ -7,7 +7,7 @@
// true automatically. If paths to std library hasn't been remapped, we use the
// above simulate-remapped-rust-src-base option to do it temporarily
@@ -38,17 +54,3 @@ Index: rust/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
fn main() {
std::thread::spawn(|| {
println!("hello");
-Index: rust/src/bootstrap/src/core/builder.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/builder.rs
-+++ rust/src/bootstrap/src/core/builder.rs
-@@ -1775,7 +1775,8 @@ impl<'a> Builder<'a> {
- cargo.env("CFG_VIRTUAL_RUST_SOURCE_BASE_DIR", map_to);
- }
-
-- if self.config.rust_remap_debuginfo {
-+ // Debian: this breaks with our vendored sources!
-+ if false && self.config.rust_remap_debuginfo {
- // FIXME: handle vendored sources
- let registry_src = t!(home::cargo_home()).join("registry").join("src");
- let mut env_var = OsString::new();
diff --git a/debian/patches/d-bootstrap-disable-git.patch b/debian/patches/build/d-bootstrap-disable-git.patch
index bd2c75946..f63e3a6cd 100644
--- a/debian/patches/d-bootstrap-disable-git.patch
+++ b/debian/patches/build/d-bootstrap-disable-git.patch
@@ -3,34 +3,15 @@ Date: Thu, 14 Jul 2022 13:17:38 +0200
Subject: Don't check for cargo-vendor when building from (Debian's) git
Forwarded: not-needed
-
-Forwarded: not-needed
---
- src/bootstrap/channel.rs | 6 +++++-
- src/bootstrap/dist.rs | 5 ++++-
- 2 files changed, 9 insertions(+), 2 deletions(-)
+ src/bootstrap/src/core/build_steps/dist.rs | 6 ++++--
+ src/bootstrap/src/utils/channel.rs | 6 ++++++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
-Index: rust/src/bootstrap/src/utils/channel.rs
-===================================================================
---- rust.orig/src/bootstrap/src/utils/channel.rs
-+++ rust/src/bootstrap/src/utils/channel.rs
-@@ -35,6 +35,12 @@ pub struct Info {
-
- impl GitInfo {
- pub fn new(omit_git_hash: bool, dir: &Path) -> GitInfo {
-+ //
-+ // Debian: returning early because the Debian package is also in a git
-+ // repository, but we don't want to parse gitinfo. This is
-+ // needed for the bootstrap tests to work which running for
-+ // Debian git.
-+ return GitInfo::Absent;
- // See if this even begins to look like a git dir
- if !dir.join(".git").exists() {
- match read_commit_info_file(dir) {
-Index: rust/src/bootstrap/src/core/build_steps/dist.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/build_steps/dist.rs
-+++ rust/src/bootstrap/src/core/build_steps/dist.rs
+diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
+index 98e2677..cad4935 100644
+--- a/src/bootstrap/src/core/build_steps/dist.rs
++++ b/src/bootstrap/src/core/build_steps/dist.rs
@@ -991,8 +991,10 @@ impl Step for PlainSourceTarball {
// If we're building from git or tarball sources, we need to vendor
@@ -44,3 +25,20 @@ Index: rust/src/bootstrap/src/core/build_steps/dist.rs
{
if builder.rust_info().is_managed_git_subrepository() {
// Ensure we have the submodules checked out.
+diff --git a/src/bootstrap/src/utils/channel.rs b/src/bootstrap/src/utils/channel.rs
+index e59d7f2..bd93209 100644
+--- a/src/bootstrap/src/utils/channel.rs
++++ b/src/bootstrap/src/utils/channel.rs
+@@ -35,6 +35,12 @@ pub struct Info {
+
+ impl GitInfo {
+ pub fn new(omit_git_hash: bool, dir: &Path) -> GitInfo {
++ //
++ // Debian: returning early because the Debian package is also in a git
++ // repository, but we don't want to parse gitinfo. This is
++ // needed for the bootstrap tests to work which running for
++ // Debian git.
++ return GitInfo::Absent;
+ // See if this even begins to look like a git dir
+ if !dir.join(".git").exists() {
+ match read_commit_info_file(dir) {
diff --git a/debian/patches/d-bootstrap-install-symlinks.patch b/debian/patches/build/d-bootstrap-install-symlinks.patch
index 5e4e125d9..bb0cc7c9a 100644
--- a/debian/patches/d-bootstrap-install-symlinks.patch
+++ b/debian/patches/build/d-bootstrap-install-symlinks.patch
@@ -5,14 +5,16 @@ Subject: Install symlinks as-is, don't dereference them
Our patch to mdbook installs symlinks to systems versions of font-awesome,
highlight, etc. Upstream mdbook otherwise doesn't use symlinks, so this
doesn't affect anything else that's already generated.
+
+Forwarded: not-needed
---
src/tools/rust-installer/install-template.sh | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-Index: rust/src/tools/rust-installer/install-template.sh
-===================================================================
---- rust.orig/src/tools/rust-installer/install-template.sh
-+++ rust/src/tools/rust-installer/install-template.sh
+diff --git a/src/tools/rust-installer/install-template.sh b/src/tools/rust-installer/install-template.sh
+index b477c3e..fd93316 100644
+--- a/src/tools/rust-installer/install-template.sh
++++ b/src/tools/rust-installer/install-template.sh
@@ -617,7 +617,10 @@ install_components() {
maybe_backup_path "$_file_install_path"
diff --git a/debian/patches/d-bootstrap-no-assume-tools.patch b/debian/patches/build/d-bootstrap-no-assume-tools.patch
index 0bc6921dd..512e6a9cd 100644
--- a/debian/patches/d-bootstrap-no-assume-tools.patch
+++ b/debian/patches/build/d-bootstrap-no-assume-tools.patch
@@ -1,17 +1,18 @@
From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:39 +0200
-Subject: d-bootstrap-no-assume-tools
+Subject: set tools to those built in Debian
+Forwarded: not-needed
===================================================================
---
- src/bootstrap/builder/tests.rs | 4 ++++
+ src/bootstrap/src/tests/builder.rs | 4 ++++
1 file changed, 4 insertions(+)
-Index: rust/src/bootstrap/src/tests/builder.rs
-===================================================================
---- rust.orig/src/bootstrap/src/tests/builder.rs
-+++ rust/src/bootstrap/src/tests/builder.rs
-@@ -390,9 +390,13 @@ mod dist {
+diff --git a/src/bootstrap/src/tests/builder.rs b/src/bootstrap/src/tests/builder.rs
+index 700ebcf..bf31009 100644
+--- a/src/bootstrap/src/tests/builder.rs
++++ b/src/bootstrap/src/tests/builder.rs
+@@ -374,9 +374,13 @@ mod dist {
#[test]
fn dist_only_cross_host() {
let b = TargetSelection::from_user("B");
diff --git a/debian/patches/build/d-bootstrap-permit-symlink-in-docs.patch b/debian/patches/build/d-bootstrap-permit-symlink-in-docs.patch
new file mode 100644
index 000000000..bee12f270
--- /dev/null
+++ b/debian/patches/build/d-bootstrap-permit-symlink-in-docs.patch
@@ -0,0 +1,21 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:40 +0200
+Subject: partial revert of b9eedea4b0368fd1f00f204db75109ff444fab5b upstream
+
+Forwarded: not-needed
+---
+ src/bootstrap/src/core/build_steps/dist.rs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs
+index cad4935..6cabff7 100644
+--- a/src/bootstrap/src/core/build_steps/dist.rs
++++ b/src/bootstrap/src/core/build_steps/dist.rs
+@@ -79,6 +79,7 @@ impl Step for Docs {
+ tarball.set_product_name("Rust Documentation");
+ tarball.add_bulk_dir(&builder.doc_out(host), dest);
+ tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
++ tarball.permit_symlinks(true);
+ Some(tarball.generate())
+ }
+ }
diff --git a/debian/patches/d-bootstrap-rustflags.patch b/debian/patches/build/d-bootstrap-rustflags.patch
index 98edfc568..ad9be6165 100644
--- a/debian/patches/d-bootstrap-rustflags.patch
+++ b/debian/patches/build/d-bootstrap-rustflags.patch
@@ -2,18 +2,20 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:38 +0200
Subject: d-bootstrap-rustflags
+Forwarded: not-needed
+
===================================================================
---
src/bootstrap/src/core/builder.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)
-Index: rust/src/bootstrap/src/core/builder.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/builder.rs
-+++ rust/src/bootstrap/src/core/builder.rs
-@@ -1447,6 +1447,18 @@ impl<'a> Builder<'a> {
- hostflags.arg("--check-cfg=values(bootstrap)");
- }
+diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
+index 7245d11..82f8e91 100644
+--- a/src/bootstrap/src/core/builder.rs
++++ b/src/bootstrap/src/core/builder.rs
+@@ -1462,6 +1462,18 @@ impl<'a> Builder<'a> {
+ hostflags.arg("-Zunstable-options");
+ hostflags.arg("--check-cfg=cfg(bootstrap)");
+ // Debian-specific stuff here
+ // set linker flags from LDFLAGS
diff --git a/debian/patches/d-bootstrap-use-local-css.patch b/debian/patches/build/d-bootstrap-use-local-css.patch
index 33d05603b..d6cb82cf3 100644
--- a/debian/patches/d-bootstrap-use-local-css.patch
+++ b/debian/patches/build/d-bootstrap-use-local-css.patch
@@ -2,16 +2,17 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Thu, 14 Jul 2022 13:17:39 +0200
Subject: d-bootstrap-use-local-css
+Forwarded: not-needed
===================================================================
---
- src/bootstrap/src/core/build_steps/doc.rs | 15 ++++-----------
- 1 file changed, 4 insertions(+), 11 deletions(-)
+ src/bootstrap/src/core/build_steps/doc.rs | 27 +++++++++++++++++++++------
+ 1 file changed, 21 insertions(+), 6 deletions(-)
-Index: rust/src/bootstrap/src/core/build_steps/doc.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/build_steps/doc.rs
-+++ rust/src/bootstrap/src/core/build_steps/doc.rs
-@@ -362,7 +362,27 @@ impl Step for Standalone {
+diff --git a/src/bootstrap/src/core/build_steps/doc.rs b/src/bootstrap/src/core/build_steps/doc.rs
+index cf3f5bc..11ae464 100644
+--- a/src/bootstrap/src/core/build_steps/doc.rs
++++ b/src/bootstrap/src/core/build_steps/doc.rs
+@@ -363,7 +363,27 @@ impl Step for Standalone {
.arg("--index-page")
.arg(&builder.src.join("src/doc/index.md"))
.arg("--markdown-playground-url")
@@ -40,7 +41,7 @@ Index: rust/src/bootstrap/src/core/build_steps/doc.rs
.arg("-o")
.arg(&out)
.arg(&path);
-@@ -371,11 +391,6 @@ impl Step for Standalone {
+@@ -372,11 +392,6 @@ impl Step for Standalone {
cmd.arg("--disable-minification");
}
diff --git a/debian/patches/d-test-ignore-avx-44056.patch b/debian/patches/build/d-test-ignore-avx-44056.patch
index 5d6c971af..dfee30eef 100644
--- a/debian/patches/d-test-ignore-avx-44056.patch
+++ b/debian/patches/build/d-test-ignore-avx-44056.patch
@@ -3,16 +3,17 @@ Date: Thu, 14 Jul 2022 13:17:39 +0200
Subject: d-test-ignore-avx-44056
Bug: https://github.com/rust-lang/rust/pull/55667
+Forwarded: not-needed
===================================================================
---
- src/test/ui/issues/issue-44056.rs | 2 +-
+ tests/ui/issues/issue-44056.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: rust/tests/ui/issues/issue-44056.rs
-===================================================================
---- rust.orig/tests/ui/issues/issue-44056.rs
-+++ rust/tests/ui/issues/issue-44056.rs
+diff --git a/tests/ui/issues/issue-44056.rs b/tests/ui/issues/issue-44056.rs
+index a4903ed..ebe8402 100644
+--- a/tests/ui/issues/issue-44056.rs
++++ b/tests/ui/issues/issue-44056.rs
@@ -1,5 +1,5 @@
// build-pass (FIXME(55996): should be run on targets supporting avx)
-// only-x86_64
diff --git a/debian/patches/c-2200-workaround-x32-test.patch b/debian/patches/c-2200-workaround-x32-test.patch
deleted file mode 100644
index 9dc42ddbc..000000000
--- a/debian/patches/c-2200-workaround-x32-test.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Bug: https://github.com/rust-lang/cargo/issues/10005
-
-Index: rust/src/tools/cargo/tests/testsuite/cfg.rs
-===================================================================
---- rust.orig/src/tools/cargo/tests/testsuite/cfg.rs
-+++ rust/src/tools/cargo/tests/testsuite/cfg.rs
-@@ -272,7 +272,7 @@ fn any_ok() {
-
- // https://github.com/rust-lang/cargo/issues/5313
- #[cargo_test]
--#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu"))]
-+#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu", target_pointer_width = "64"))]
- fn cfg_looks_at_rustflags_for_target() {
- let p = project()
- .file(
diff --git a/debian/patches/c-disable-fs-specific-test.patch b/debian/patches/c-disable-fs-specific-test.patch
deleted file mode 100644
index ccdc0ba81..000000000
--- a/debian/patches/c-disable-fs-specific-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: rust/src/tools/cargo/tests/testsuite/metadata.rs
-===================================================================
---- rust.orig/src/tools/cargo/tests/testsuite/metadata.rs
-+++ rust/src/tools/cargo/tests/testsuite/metadata.rs
-@@ -3988,7 +3988,7 @@ fn dep_kinds_workspace() {
- // Creating non-utf8 path is an OS-specific pain, so let's run this only on
- // linux, where arbitrary bytes work.
- #[cfg(target_os = "linux")]
--#[cargo_test]
-+#[allow(dead_code)]
- fn cargo_metadata_non_utf8() {
- use std::ffi::OsString;
- use std::os::unix::ffi::OsStringExt;
diff --git a/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch b/debian/patches/cargo/c-0003-tests-add-missing-cross-disabled-checks.patch
index e3a6397d5..fef435fc6 100644
--- a/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch
+++ b/debian/patches/cargo/c-0003-tests-add-missing-cross-disabled-checks.patch
@@ -1,10 +1,8 @@
-From 981279ccd8f7855faaed010bff0891afff588210 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?=
- <debian@fabian.gruenbichler.email>
+From: =?utf-8?q?Fabian_Gr=C3=BCnbichler?= <debian@fabian.gruenbichler.email>
Date: Sat, 19 Nov 2022 10:24:08 +0100
Subject: [PATCH] tests: add missing cross disabled checks
MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
+Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
cross_conmpile::alternate states it should only be used in test cases
@@ -12,16 +10,17 @@ after checking cross_compile::disabled(), which is missing here. these
tests fail despite setting CFG_DISABLE_CROSS_TESTS on i386, since both
the host and the alternate cross target would be i686 in that case.
+
Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
---
- tests/testsuite/build_script.rs | 6 ++++++
+ src/tools/cargo/tests/testsuite/build_script.rs | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/tests/testsuite/build_script.rs b/tests/testsuite/build_script.rs
-index 902364dff..e458b3262 100644
+diff --git a/src/tools/cargo/tests/testsuite/build_script.rs b/src/tools/cargo/tests/testsuite/build_script.rs
+index f7361fc..f587ddd 100644
--- a/src/tools/cargo/tests/testsuite/build_script.rs
+++ b/src/tools/cargo/tests/testsuite/build_script.rs
-@@ -697,6 +697,9 @@ fn custom_build_linker_bad_host_with_arc
+@@ -734,6 +734,9 @@ fn custom_build_linker_bad_host_with_arch() {
#[cargo_test]
fn custom_build_env_var_rustc_linker_cross_arch_host() {
let target = rustc_host();
@@ -31,7 +30,7 @@ index 902364dff..e458b3262 100644
let cross_target = cross_compile::alternate();
let p = project()
.file(
-@@ -735,6 +738,9 @@ fn custom_build_env_var_rustc_linker_cro
+@@ -772,6 +775,9 @@ fn custom_build_env_var_rustc_linker_cross_arch_host() {
#[cargo_test]
fn custom_build_linker_bad_cross_arch_host() {
let target = rustc_host();
@@ -41,6 +40,3 @@ index 902364dff..e458b3262 100644
let cross_target = cross_compile::alternate();
let p = project()
.file(
---
-2.38.1
-
diff --git a/debian/patches/c-2002_disable-net-tests.patch b/debian/patches/cargo/c-2002_disable-net-tests.patch
index 76f158538..5ed606980 100644
--- a/debian/patches/c-2002_disable-net-tests.patch
+++ b/debian/patches/cargo/c-2002_disable-net-tests.patch
@@ -1,22 +1,96 @@
-Description: Disable network tests
-Author: Ximin Luo <infinity0@debian.org>
+From: Ximin Luo <infinity0@debian.org>
+Date: Thu, 13 Jun 2024 11:16:38 +0200
+Subject: Disable network tests
+
Forwarded: TODO
---
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: rust/src/tools/cargo/tests/testsuite/git_auth.rs
-===================================================================
---- rust.orig/src/tools/cargo/tests/testsuite/git_auth.rs
-+++ rust/src/tools/cargo/tests/testsuite/git_auth.rs
-@@ -103,7 +103,7 @@ fn setup_failed_auth_test() -> (SocketAd
+ .../cargo/tests/testsuite/credential_process.rs | 14 +--
+ src/tools/cargo/tests/testsuite/git_auth.rs | 4 +-
+ src/tools/cargo/tests/testsuite/net_config.rs | 4 +-
+ src/tools/cargo/tests/testsuite/publish.rs | 104 ++++++++++-----------
+ 4 files changed, 63 insertions(+), 63 deletions(-)
+
+diff --git a/src/tools/cargo/tests/testsuite/credential_process.rs b/src/tools/cargo/tests/testsuite/credential_process.rs
+index 815089f..477e5d2 100644
+--- a/src/tools/cargo/tests/testsuite/credential_process.rs
++++ b/src/tools/cargo/tests/testsuite/credential_process.rs
+@@ -63,7 +63,7 @@ fn get_token_test() -> (Project, TestRegistry) {
+ (p, server)
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish() {
+ // Checks that credential-process is used for `cargo publish`.
+ let (p, _t) = get_token_test();
+@@ -85,7 +85,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn basic_unsupported() {
+ // Non-action commands don't support login/logout.
+ let registry = registry::RegistryBuilder::new()
+@@ -121,7 +121,7 @@ Caused by:
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn login() {
+ let registry = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -142,7 +142,7 @@ fn login() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn logout() {
+ let server = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -161,7 +161,7 @@ fn logout() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn yank() {
+ let (p, _t) = get_token_test();
+
+@@ -176,7 +176,7 @@ fn yank() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn owner() {
+ let (p, _t) = get_token_test();
+
+@@ -191,7 +191,7 @@ fn owner() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn invalid_token_output() {
+ // Error when credential process does not output the expected format for a token.
+ let cred_proj = project()
+diff --git a/src/tools/cargo/tests/testsuite/git_auth.rs b/src/tools/cargo/tests/testsuite/git_auth.rs
+index c79ae7c..b15582e 100644
+--- a/src/tools/cargo/tests/testsuite/git_auth.rs
++++ b/src/tools/cargo/tests/testsuite/git_auth.rs
+@@ -103,7 +103,7 @@ fn setup_failed_auth_test() -> (SocketAddr, JoinHandle<()>, Arc<AtomicUsize>) {
}
// Tests that HTTP auth is offered from `credential.helper`.
-#[cargo_test]
+#[allow(dead_code)]
fn http_auth_offered() {
- // TODO(Seb): remove this once possible.
- if cargo_uses_gitoxide() {
-@@ -172,7 +172,7 @@ Caused by:
+ let (addr, t, connections) = setup_failed_auth_test();
+ let p = project()
+@@ -167,7 +167,7 @@ Caused by:
}
// Boy, sure would be nice to have a TLS implementation in rust!
@@ -25,10 +99,10 @@ Index: rust/src/tools/cargo/tests/testsuite/git_auth.rs
fn https_something_happens() {
let server = TcpListener::bind("127.0.0.1:0").unwrap();
let addr = server.local_addr().unwrap();
-Index: rust/src/tools/cargo/tests/testsuite/net_config.rs
-===================================================================
---- rust.orig/src/tools/cargo/tests/testsuite/net_config.rs
-+++ rust/src/tools/cargo/tests/testsuite/net_config.rs
+diff --git a/src/tools/cargo/tests/testsuite/net_config.rs b/src/tools/cargo/tests/testsuite/net_config.rs
+index 569ec55..27c4132 100644
+--- a/src/tools/cargo/tests/testsuite/net_config.rs
++++ b/src/tools/cargo/tests/testsuite/net_config.rs
@@ -2,7 +2,7 @@
use cargo_test_support::project;
@@ -47,10 +121,10 @@ Index: rust/src/tools/cargo/tests/testsuite/net_config.rs
fn net_retry_git_outputs_warning() {
let p = project()
.file(
-Index: rust/src/tools/cargo/tests/testsuite/publish.rs
-===================================================================
---- rust.orig/src/tools/cargo/tests/testsuite/publish.rs
-+++ rust/src/tools/cargo/tests/testsuite/publish.rs
+diff --git a/src/tools/cargo/tests/testsuite/publish.rs b/src/tools/cargo/tests/testsuite/publish.rs
+index 5d29ac8..05d0f02 100644
+--- a/src/tools/cargo/tests/testsuite/publish.rs
++++ b/src/tools/cargo/tests/testsuite/publish.rs
@@ -88,7 +88,7 @@ fn validate_upload_li() {
);
}
@@ -60,7 +134,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn simple() {
let registry = RegistryBuilder::new().http_api().http_index().build();
-@@ -130,7 +130,7 @@ You may press ctrl-c to skip waiting; th
+@@ -130,7 +130,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
// Check that the `token` key works at the root instead of under a
// `[registry]` table.
@@ -69,7 +143,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn simple_publish_with_http() {
let _reg = registry::RegistryBuilder::new()
.http_api()
-@@ -170,7 +170,7 @@ You may press ctrl-c to skip waiting; th
+@@ -170,7 +170,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
.run();
}
@@ -78,7 +152,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn simple_publish_with_asymmetric() {
let _reg = registry::RegistryBuilder::new()
.http_api()
-@@ -213,7 +213,7 @@ You may press ctrl-c to skip waiting; th
+@@ -213,7 +213,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
.run();
}
@@ -105,7 +179,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn git_deps() {
// Use local registry for faster test times since no publish will occur
let registry = registry::init();
-@@ -353,7 +353,7 @@ the `git` specification will be removed
+@@ -353,7 +353,7 @@ the `git` specification will be removed from the dependency declaration.
.run();
}
@@ -114,7 +188,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn path_dependency_no_version() {
// Use local registry for faster test times since no publish will occur
let registry = registry::init();
-@@ -393,7 +393,7 @@ the `path` specification will be removed
+@@ -393,7 +393,7 @@ the `path` specification will be removed from the dependency declaration.
.run();
}
@@ -132,7 +206,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn dont_publish_dirty() {
// Use local registry for faster test times since no publish will occur
let registry = registry::init();
-@@ -468,7 +468,7 @@ to proceed despite this and include the
+@@ -468,7 +468,7 @@ to proceed despite this and include the uncommitted changes, pass the `--allow-d
.run();
}
@@ -141,7 +215,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn publish_clean() {
// `publish` generally requires a remote registry
let registry = registry::RegistryBuilder::new().http_api().build();
-@@ -516,7 +516,7 @@ You may press ctrl-c to skip waiting; th
+@@ -516,7 +516,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
// Other tests will verify the endpoint gets the right payload.
}
@@ -195,7 +269,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn registry_not_in_publish_list() {
let p = project()
.file(
-@@ -771,7 +771,7 @@ The registry `alternative` is not listed
+@@ -771,7 +771,7 @@ The registry `alternative` is not listed in the `package.publish` value in Cargo
.run();
}
@@ -222,7 +296,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn publish_implicitly_to_only_allowed_registry() {
let _registry = RegistryBuilder::new()
.http_api()
-@@ -963,7 +963,7 @@ fn publish_failed_with_index_and_only_al
+@@ -963,7 +963,7 @@ fn publish_failed_with_index_and_only_allowed_registry() {
.run();
}
@@ -231,7 +305,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn publish_fail_with_no_registry_specified() {
let p = project().build();
-@@ -997,7 +997,7 @@ The registry `crates-io` is not listed i
+@@ -997,7 +997,7 @@ The registry `crates-io` is not listed in the `package.publish` value in Cargo.t
.run();
}
@@ -294,7 +368,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn publish_checks_for_token_before_verify() {
let registry = registry::RegistryBuilder::new()
.no_configure_token()
-@@ -1373,7 +1373,7 @@ fn publish_checks_for_token_before_verif
+@@ -1373,7 +1373,7 @@ fn publish_checks_for_token_before_verify() {
.run();
}
@@ -303,7 +377,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn publish_with_bad_source() {
let p = project()
.file(
-@@ -1422,7 +1422,7 @@ include `--registry crates-io` to use cr
+@@ -1422,7 +1422,7 @@ include `--registry crates-io` to use crates.io
}
// A dependency with both `git` and `version`.
@@ -348,7 +422,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn cratesio_source_replacement() {
registry::init();
let p = project()
-@@ -1776,7 +1776,7 @@ include `--registry dummy-registry` or `
+@@ -1776,7 +1776,7 @@ include `--registry dummy-registry` or `--registry crates-io`
.run();
}
@@ -456,7 +530,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn in_package_workspace_not_found() {
// Use local registry for faster test times since no publish will occur
let registry = registry::init();
-@@ -2369,7 +2369,7 @@ error: package ID specification `li` did
+@@ -2369,7 +2369,7 @@ error: package ID specification `li` did not match any packages
.run();
}
@@ -465,7 +539,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn in_package_workspace_found_multiple() {
// Use local registry for faster test times since no publish will occur
let registry = registry::init();
-@@ -2426,7 +2426,7 @@ error: the `-p` argument must be specifi
+@@ -2426,7 +2426,7 @@ error: the `-p` argument must be specified to select a single package to publish
.run();
}
@@ -474,7 +548,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
// https://github.com/rust-lang/cargo/issues/10536
fn publish_path_dependency_without_workspace() {
// Use local registry for faster test times since no publish will occur
-@@ -2473,7 +2473,7 @@ error: package ID specification `bar` di
+@@ -2473,7 +2473,7 @@ error: package ID specification `bar` did not match any packages
.run();
}
@@ -492,7 +566,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn wait_for_first_publish() {
// Counter for number of tries before the package is "published"
let arc: Arc<Mutex<u32>> = Arc::new(Mutex::new(0));
-@@ -2616,7 +2616,7 @@ You may press ctrl-c to skip waiting; th
+@@ -2616,7 +2616,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
/// A separate test is needed for package names with - or _ as they hit
/// the responder twice per cargo invocation. If that ever gets changed
/// this test will need to be changed accordingly.
@@ -501,7 +575,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn wait_for_first_publish_underscore() {
// Counter for number of tries before the package is "published"
let arc: Arc<Mutex<u32>> = Arc::new(Mutex::new(0));
-@@ -2712,7 +2712,7 @@ You may press ctrl-c to skip waiting; th
+@@ -2712,7 +2712,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
p.cargo("build").with_status(0).run();
}
@@ -510,7 +584,7 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn wait_for_subsequent_publish() {
// Counter for number of tries before the package is "published"
let arc: Arc<Mutex<u32>> = Arc::new(Mutex::new(0));
-@@ -2804,7 +2804,7 @@ You may press ctrl-c to skip waiting; th
+@@ -2804,7 +2804,7 @@ You may press ctrl-c to skip waiting; the crate should be available shortly.
p.cargo("check").with_status(0).run();
}
@@ -519,70 +593,3 @@ Index: rust/src/tools/cargo/tests/testsuite/publish.rs
fn skip_wait_for_publish() {
// Intentionally using local registry so the crate never makes it to the index
let registry = registry::init();
-Index: rust/src/tools/cargo/tests/testsuite/credential_process.rs
-===================================================================
---- rust.orig/src/tools/cargo/tests/testsuite/credential_process.rs
-+++ rust/src/tools/cargo/tests/testsuite/credential_process.rs
-@@ -63,7 +63,7 @@ fn get_token_test() -> (Project, TestReg
- (p, server)
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn publish() {
- // Checks that credential-process is used for `cargo publish`.
- let (p, _t) = get_token_test();
-@@ -85,7 +85,7 @@ You may press ctrl-c [..]
- .run();
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn basic_unsupported() {
- // Non-action commands don't support login/logout.
- let registry = registry::RegistryBuilder::new()
-@@ -121,7 +121,7 @@ Caused by:
- .run();
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn login() {
- let registry = registry::RegistryBuilder::new()
- .no_configure_token()
-@@ -142,7 +142,7 @@ fn login() {
- .run();
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn logout() {
- let server = registry::RegistryBuilder::new()
- .no_configure_token()
-@@ -161,7 +161,7 @@ fn logout() {
- .run();
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn yank() {
- let (p, _t) = get_token_test();
-
-@@ -176,7 +176,7 @@ fn yank() {
- .run();
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn owner() {
- let (p, _t) = get_token_test();
-
-@@ -191,7 +191,7 @@ fn owner() {
- .run();
- }
-
--#[cargo_test]
-+#[allow(dead_code)]
- fn invalid_token_output() {
- // Error when credential process does not output the expected format for a token.
- let cred_proj = project()
diff --git a/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch b/debian/patches/cargo/c-2003-workaround-qemu-vfork-command-not-found.patch
index 6453c3a30..3daad1651 100644
--- a/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch
+++ b/debian/patches/cargo/c-2003-workaround-qemu-vfork-command-not-found.patch
@@ -1,8 +1,17 @@
-Index: rust/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:38 +0200
+Subject: c-2003-workaround-qemu-vfork-command-not-found
+
===================================================================
---- rust.orig/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
-+++ rust/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
-@@ -223,6 +223,14 @@ fn has_command(command: &str) -> bool {
+---
+ src/tools/cargo/crates/cargo-test-macro/src/lib.rs | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/tools/cargo/crates/cargo-test-macro/src/lib.rs b/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
+index 14672ab..9208cb3 100644
+--- a/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
++++ b/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
+@@ -222,6 +222,14 @@ fn has_command(command: &str) -> bool {
}
};
if !output.status.success() {
diff --git a/debian/patches/cargo/c-2200-workaround-x32-test.patch b/debian/patches/cargo/c-2200-workaround-x32-test.patch
new file mode 100644
index 000000000..eb78ec51c
--- /dev/null
+++ b/debian/patches/cargo/c-2200-workaround-x32-test.patch
@@ -0,0 +1,22 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:38 +0200
+Subject: c-2200-workaround-x32-test
+
+Bug: https://github.com/rust-lang/cargo/issues/10005
+---
+ src/tools/cargo/tests/testsuite/cfg.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tools/cargo/tests/testsuite/cfg.rs b/src/tools/cargo/tests/testsuite/cfg.rs
+index dcce654..c9e2e0c 100644
+--- a/src/tools/cargo/tests/testsuite/cfg.rs
++++ b/src/tools/cargo/tests/testsuite/cfg.rs
+@@ -272,7 +272,7 @@ fn any_ok() {
+
+ // https://github.com/rust-lang/cargo/issues/5313
+ #[cargo_test]
+-#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu"))]
++#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu", target_pointer_width = "64"))]
+ fn cfg_looks_at_rustflags_for_target() {
+ let p = project()
+ .file(
diff --git a/debian/patches/cargo/c-disable-fs-specific-test.patch b/debian/patches/cargo/c-disable-fs-specific-test.patch
new file mode 100644
index 000000000..84d887702
--- /dev/null
+++ b/debian/patches/cargo/c-disable-fs-specific-test.patch
@@ -0,0 +1,22 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:38 +0200
+Subject: c-disable-fs-specific-test
+
+===================================================================
+---
+ src/tools/cargo/tests/testsuite/metadata.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tools/cargo/tests/testsuite/metadata.rs b/src/tools/cargo/tests/testsuite/metadata.rs
+index 888cdce..f06f73f 100644
+--- a/src/tools/cargo/tests/testsuite/metadata.rs
++++ b/src/tools/cargo/tests/testsuite/metadata.rs
+@@ -3997,7 +3997,7 @@ fn dep_kinds_workspace() {
+ // Creating non-utf8 path is an OS-specific pain, so let's run this only on
+ // linux, where arbitrary bytes work.
+ #[cfg(target_os = "linux")]
+-#[cargo_test]
++#[allow(dead_code)]
+ fn cargo_metadata_non_utf8() {
+ use std::ffi::OsString;
+ use std::os::unix::ffi::OsStringExt;
diff --git a/debian/patches/d-0012-cargo-always-return-dev-channel.patch b/debian/patches/cargo/d-0012-cargo-always-return-dev-channel.patch
index 2465a48cb..7cbe41213 100644
--- a/debian/patches/d-0012-cargo-always-return-dev-channel.patch
+++ b/debian/patches/cargo/d-0012-cargo-always-return-dev-channel.patch
@@ -3,15 +3,16 @@ Date: Mon, 6 May 2024 10:25:32 +0200
Subject: d-0012-cargo-always-return-dev-channel
Last-Update: 2023-05-30
+Forwarded: not-needed
---
src/tools/cargo/src/cargo/core/features.rs | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/tools/cargo/src/cargo/core/features.rs b/src/tools/cargo/src/cargo/core/features.rs
-index 72a267f..032a1ef 100644
+index 4f5b069..0a42077 100644
--- a/src/tools/cargo/src/cargo/core/features.rs
+++ b/src/tools/cargo/src/cargo/core/features.rs
-@@ -1192,9 +1192,8 @@ pub fn channel() -> String {
+@@ -1205,9 +1205,8 @@ pub fn channel() -> String {
return "dev".to_string();
}
}
diff --git a/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch b/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch
deleted file mode 100644
index 0df7a9ec8..000000000
--- a/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
-Date: Mon, 6 May 2024 10:25:32 +0200
-Subject: d-0010-cargo-remove-vendored-c-crates
-
-Last-Update: 2023-05-17
----
- src/tools/cargo/Cargo.toml | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/tools/cargo/Cargo.toml b/src/tools/cargo/Cargo.toml
-index 3fb36b4..c011909 100644
---- a/src/tools/cargo/Cargo.toml
-+++ b/src/tools/cargo/Cargo.toml
-@@ -226,7 +226,5 @@ test = false
- doc = false
-
- [features]
--vendored-openssl = ["openssl/vendored"]
--vendored-libgit2 = ["libgit2-sys/vendored"]
-+# Debian: removed vendoring flags
- # This is primarily used by rust-lang/rust distributing cargo the executable.
--all-static = ['vendored-openssl', 'curl/static-curl', 'curl/force-system-lib-on-osx']
diff --git a/debian/patches/d-armel-fix-lldb.patch b/debian/patches/d-armel-fix-lldb.patch
deleted file mode 100644
index 36065ace9..000000000
--- a/debian/patches/d-armel-fix-lldb.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-run panics if lldb is not installed and no output is produced..
-
-Index: rust/src/bootstrap/src/core/build_steps/test.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/build_steps/test.rs
-+++ rust/src/bootstrap/src/core/build_steps/test.rs
-@@ -1779,7 +1779,11 @@ NOTE: if you're sure you want to do this
- .ok();
- if let Some(ref vers) = lldb_version {
- cmd.arg("--lldb-version").arg(vers);
-- let lldb_python_dir = run(Command::new(lldb_exe).arg("-P")).ok();
-+ let lldb_python_dir = Command::new(lldb_exe)
-+ .arg("-P")
-+ .output()
-+ .map(|output| String::from_utf8_lossy(&output.stdout).to_string())
-+ .ok();
- if let Some(ref dir) = lldb_python_dir {
- cmd.arg("--lldb-python-dir").arg(dir);
- }
diff --git a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
deleted file mode 100644
index d170c709c..000000000
--- a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-partial revert of b9eedea4b0368fd1f00f204db75109ff444fab5b upstream
-
-Index: rust/src/bootstrap/src/core/build_steps/dist.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/build_steps/dist.rs
-+++ rust/src/bootstrap/src/core/build_steps/dist.rs
-@@ -79,6 +79,7 @@ impl Step for Docs {
- tarball.set_product_name("Rust Documentation");
- tarball.add_bulk_dir(&builder.doc_out(host), dest);
- tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644);
-+ tarball.permit_symlinks(true);
- Some(tarball.generate())
- }
- }
diff --git a/debian/patches/d-bootstrap-use-system-compiler-rt.patch b/debian/patches/d-bootstrap-use-system-compiler-rt.patch
deleted file mode 100644
index 22843aeb1..000000000
--- a/debian/patches/d-bootstrap-use-system-compiler-rt.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Description: Use system compiler-rt from clang
-Forwarded: not-needed
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -200,6 +200,12 @@
- let mut features = builder.std_features();
- features.push_str(&compiler_builtins_c_feature);
-
-+ // In Debian this is always available
-+ let llvm_config = builder.ensure(native::Llvm {
-+ target: builder.config.build,
-+ emscripten: false,
-+ });
-+ cargo.env("LLVM_CONFIG", llvm_config);
- if compiler.stage != 0 && builder.config.sanitizers {
- // This variable is used by the sanitizer runtime crates, e.g.
- // rustc_lsan, to build the sanitizer runtime from C code
-@@ -208,11 +214,6 @@
- // missing
- // We also only build the runtimes when --enable-sanitizers (or its
- // config.toml equivalent) is used
-- let llvm_config = builder.ensure(native::Llvm {
-- target: builder.config.build,
-- emscripten: false,
-- });
-- cargo.env("LLVM_CONFIG", llvm_config);
- cargo.env("RUSTC_BUILD_SANITIZERS", "1");
- }
-
---- a/vendor/compiler_builtins/Cargo.toml
-+++ b/vendor/compiler_builtins/Cargo.toml
-@@ -49,7 +49,7 @@
- # LLVM_CONFIG or CLANG (more reliable) must be set.
- c-system = []
-
--c = ["c-vendor"]
-+c = ["c-system"]
- compiler-builtins = []
- default = ["compiler-builtins"]
- mangled-names = []
diff --git a/debian/patches/d-ignore-test_arc_condvar_poison-ppc.patch b/debian/patches/d-ignore-test_arc_condvar_poison-ppc.patch
deleted file mode 100644
index c9684a26c..000000000
--- a/debian/patches/d-ignore-test_arc_condvar_poison-ppc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: rustc-1.75.0+dfsg1/library/std/src/sync/mutex/tests.rs
-===================================================================
---- rustc-1.75.0+dfsg1.orig/library/std/src/sync/mutex/tests.rs
-+++ rustc-1.75.0+dfsg1/library/std/src/sync/mutex/tests.rs
-@@ -145,6 +145,7 @@ fn test_mutex_arc_condvar() {
- }
- }
-
-+#[cfg(not(target_arch = "powerpc"))]
- #[test]
- fn test_arc_condvar_poison() {
- let packet = Packet(Arc::new((Mutex::new(1), Condvar::new())));
diff --git a/debian/patches/d-rustc-prefer-dynamic.patch b/debian/patches/d-rustc-prefer-dynamic.patch
deleted file mode 100644
index 13bb42922..000000000
--- a/debian/patches/d-rustc-prefer-dynamic.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: Prefer dynamic linking (currently disabled, not applied)
- As per Debian policy, we basically revert
- https://github.com/rust-lang/rfcs/blob/master/text/0404-change-prefer-dynamic.md
- TODO: this does not yet work: https://github.com/rust-lang/rust/issues/43289
- Perhaps a better method would be to modify dh-cargo instead of rustc
-Author: Ximin Luo <infinity0@debian.org>
-Forwarded: not-needed
---- a/src/librustc/session/config.rs
-+++ b/src/librustc/session/config.rs
-@@ -846,7 +846,7 @@
- "don't run LLVM's SLP vectorization pass"),
- soft_float: bool = (false, parse_bool, [TRACKED],
- "use soft float ABI (*eabihf targets only)"),
-- prefer_dynamic: bool = (false, parse_bool, [TRACKED],
-+ prefer_dynamic: bool = (true, parse_bool, [TRACKED],
- "prefer dynamic linking to static linking"),
- no_integrated_as: bool = (false, parse_bool, [TRACKED],
- "use an external assembler rather than LLVM's integrated one"),
diff --git a/debian/patches/d-test-host-duplicates.patch b/debian/patches/d-test-host-duplicates.patch
deleted file mode 100644
index 50c39adf9..000000000
--- a/debian/patches/d-test-host-duplicates.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description: Work around #842634 on some machines, e.g. Debian porterboxes
- This should remain commented-out in debian/patches/series, it's not needed everywhere
-Author: Ximin Luo <infinity0@debian.org>
-Forwarded: not-needed
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/library/std/src/sys_common/net/tests.rs
-+++ b/library/std/src/sys_common/net/tests.rs
-@@ -11,8 +11,10 @@
- for sa in lh {
- *addrs.entry(sa).or_insert(0) += 1;
- }
-+ let mut v = addrs.iter().filter(|&(_, &v)| v > 1).collect::<Vec<_>>();
-+ v.clear();
- assert_eq!(
-- addrs.iter().filter(|&(_, &v)| v > 1).collect::<Vec<_>>(),
-+ v,
- vec![],
- "There should be no duplicate localhost entries"
- );
diff --git a/debian/patches/d-0000-ignore-removed-submodules.patch b/debian/patches/prune/d-0000-ignore-removed-submodules.patch
index 2ca3804d4..f3a7b7030 100644
--- a/debian/patches/d-0000-ignore-removed-submodules.patch
+++ b/debian/patches/prune/d-0000-ignore-removed-submodules.patch
@@ -2,6 +2,10 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Sat, 2 Oct 2021 01:07:59 +0100
Subject: d-0000-ignore-removed-submodules
+Description: remove upstream parts that are not needed for the Debian build, in
+order to both reduce the orig tarball and the vendored crates within.
+
+Forwarded: not-needed
---
Cargo.toml | 7 ----
src/bootstrap/bootstrap.py | 4 ---
@@ -38,10 +42,10 @@ index 9b11ae8..19a98f9 100644
"src/tools/lld-wrapper",
"src/tools/collect-license-metadata",
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
-index 5a84e37..9bb09a6 100644
+index fea194a..ed99a47 100644
--- a/src/bootstrap/bootstrap.py
+++ b/src/bootstrap/bootstrap.py
-@@ -969,10 +969,6 @@ class RustBuild(object):
+@@ -955,10 +955,6 @@ class RustBuild(object):
args = [self.cargo(), "build", "--manifest-path",
os.path.join(self.rust_root, "src/bootstrap/Cargo.toml")]
args.extend("--verbose" for _ in range(self.verbose))
@@ -53,10 +57,10 @@ index 5a84e37..9bb09a6 100644
args.append("--features")
args.append("build-metrics")
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs
-index d2aa89d..1ea2d93 100644
+index 4eb7766..5c115cf 100644
--- a/src/bootstrap/src/core/build_steps/test.rs
+++ b/src/bootstrap/src/core/build_steps/test.rs
-@@ -2278,17 +2278,7 @@ impl Step for RustcGuide {
+@@ -2295,17 +2295,7 @@ impl Step for RustcGuide {
}
fn run(self, builder: &Builder<'_>) {
@@ -76,11 +80,11 @@ index d2aa89d..1ea2d93 100644
}
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
-index cd27667..2c870e9 100644
+index e180964..7245d11 100644
--- a/src/bootstrap/src/core/builder.rs
+++ b/src/bootstrap/src/core/builder.rs
@@ -498,20 +498,20 @@ impl<'a> ShouldRun<'a> {
- static SUBMODULES_PATHS: OnceCell<Vec<String>> = OnceCell::new();
+ static SUBMODULES_PATHS: OnceLock<Vec<String>> = OnceLock::new();
let init_submodules_paths = |src: &PathBuf| {
- let file = File::open(src.join(".gitmodules")).unwrap();
@@ -175,7 +179,7 @@ index cd27667..2c870e9 100644
doc::EmbeddedBook,
doc::EditionGuide,
doc::StyleGuide,
-@@ -823,12 +804,9 @@ impl<'a> Builder<'a> {
+@@ -824,12 +805,9 @@ impl<'a> Builder<'a> {
dist::Analysis,
dist::Src,
dist::Cargo,
@@ -188,7 +192,7 @@ index cd27667..2c870e9 100644
dist::LlvmTools,
dist::RustDev,
dist::Bootstrap,
-@@ -845,11 +823,9 @@ impl<'a> Builder<'a> {
+@@ -846,11 +824,9 @@ impl<'a> Builder<'a> {
install::Docs,
install::Std,
install::Cargo,
@@ -200,7 +204,7 @@ index cd27667..2c870e9 100644
install::LlvmTools,
install::Src,
install::Rustc
-@@ -859,7 +835,6 @@ impl<'a> Builder<'a> {
+@@ -860,7 +836,6 @@ impl<'a> Builder<'a> {
run::BuildManifest,
run::BumpStage0,
run::ReplaceVersionPlaceholder,
@@ -208,7 +212,7 @@ index cd27667..2c870e9 100644
run::CollectLicenseMetadata,
run::GenerateCopyright,
run::GenerateWindowsSys,
-@@ -2045,10 +2020,7 @@ impl<'a> Builder<'a> {
+@@ -2080,10 +2055,7 @@ impl<'a> Builder<'a> {
}
}
@@ -221,7 +225,7 @@ index cd27667..2c870e9 100644
}
diff --git a/src/tools/rust-analyzer/Cargo.toml b/src/tools/rust-analyzer/Cargo.toml
-index cab88fc..5bac437 100644
+index 1213979..71f9aa7 100644
--- a/src/tools/rust-analyzer/Cargo.toml
+++ b/src/tools/rust-analyzer/Cargo.toml
@@ -1,5 +1,14 @@
diff --git a/debian/patches/d-0001-pkg-config-no-special-snowflake.patch b/debian/patches/prune/d-0001-pkg-config-no-special-snowflake.patch
index bae687742..13e1cceda 100644
--- a/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
+++ b/debian/patches/prune/d-0001-pkg-config-no-special-snowflake.patch
@@ -2,6 +2,9 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Sat, 2 Oct 2021 01:08:00 +0100
Subject: d-0001-pkg-config-no-special-snowflake
+Description: always enable cross compilation via pkgconf, and set the right binary name.
+
+Forwarded: not-needed
---
vendor/pkg-config/src/lib.rs | 25 ++++++++++---------------
vendor/pkg-config/tests/test.rs | 2 --
diff --git a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch b/debian/patches/prune/d-0002-mdbook-strip-embedded-libs.patch
index 6e7914c45..62d97a13f 100644
--- a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
+++ b/debian/patches/prune/d-0002-mdbook-strip-embedded-libs.patch
@@ -2,17 +2,140 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Sat, 2 Oct 2021 01:08:00 +0100
Subject: d-0002-mdbook-strip-embedded-libs
-Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the patch on top of a newer version. . Make sure the paths here match the ones in debian/rust-doc.links
+Description: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase
+the patch on top of a newer version. . Make sure the paths here match the ones
+in debian/rust-doc.links
+
+Forwarded: not-needed
---
+ src/doc/rust-by-example/theme/index.hbs | 86 +----------------
src/tools/linkchecker/main.rs | 28 +++++-
vendor/mdbook/src/book/init.rs | 19 ----
.../src/renderer/html_handlebars/hbs_renderer.rs | 104 ++++-----------------
.../mdbook/src/renderer/html_handlebars/search.rs | 2 -
- vendor/mdbook/src/theme/index.hbs | 99 +-------------------
+ vendor/mdbook/src/theme/index.hbs | 86 +----------------
vendor/mdbook/src/theme/mod.rs | 27 ------
vendor/mdbook/src/theme/searcher/mod.rs | 2 -
- 7 files changed, 47 insertions(+), 234 deletions(-)
+ 8 files changed, 51 insertions(+), 303 deletions(-)
+diff --git a/src/doc/rust-by-example/theme/index.hbs b/src/doc/rust-by-example/theme/index.hbs
+index 1ae579f..effac81 100644
+--- a/src/doc/rust-by-example/theme/index.hbs
++++ b/src/doc/rust-by-example/theme/index.hbs
+@@ -33,10 +33,7 @@
+ {{/if}}
+
+ <!-- Fonts -->
+- <link rel="stylesheet" href="{{ path_to_root }}FontAwesome/css/font-awesome.css">
+- {{#if copy_fonts}}
+- <link rel="stylesheet" href="{{ path_to_root }}fonts/fonts.css">
+- {{/if}}
++ <link rel="stylesheet" href="{{ path_to_root }}css/font-awesome.min.css">
+
+ <!-- Highlight.js Stylesheets -->
+ <link rel="stylesheet" href="{{ path_to_root }}highlight.css">
+@@ -50,7 +47,7 @@
+
+ {{#if mathjax_support}}
+ <!-- MathJax -->
+- <script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
++ <script async src="MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+ {{/if}}
+ </head>
+ <body class="sidebar-visible no-js">
+@@ -61,35 +58,6 @@
+ var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
+ </script>
+
+- <!-- Work around some values being stored in localStorage wrapped in quotes -->
+- <script>
+- try {
+- var theme = localStorage.getItem('mdbook-theme');
+- var sidebar = localStorage.getItem('mdbook-sidebar');
+-
+- if (theme.startsWith('"') && theme.endsWith('"')) {
+- localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
+- }
+-
+- if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
+- localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
+- }
+- } catch (e) { }
+- </script>
+-
+- <!-- Set the theme before any content is loaded, prevents flash -->
+- <script>
+- var theme;
+- try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
+- if (theme === null || theme === undefined) { theme = default_theme; }
+- var html = document.querySelector('html');
+- html.classList.remove('{{ default_theme }}')
+- html.classList.add(theme);
+- var body = document.querySelector('body');
+- body.classList.remove('no-js')
+- body.classList.add('js');
+- </script>
+-
+ <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
+
+ <!-- Hide / unhide sidebar before it is displayed -->
+@@ -309,54 +277,8 @@
+ </script>
+ {{/if}}
+
+- {{#if google_analytics}}
+- <!-- Google Analytics Tag -->
+- <script>
+- var localAddrs = ["localhost", "127.0.0.1", ""];
+-
+- // make sure we don't activate google analytics if the developer is
+- // inspecting the book locally...
+- if (localAddrs.indexOf(document.location.hostname) === -1) {
+- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+- })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+-
+- ga('create', '{{google_analytics}}', 'auto');
+- ga('send', 'pageview');
+- }
+- </script>
+- {{/if}}
+-
+- {{#if playground_line_numbers}}
+- <script>
+- window.playground_line_numbers = true;
+- </script>
+- {{/if}}
+-
+- {{#if playground_copyable}}
+- <script>
+- window.playground_copyable = true;
+- </script>
+- {{/if}}
+-
+- {{#if playground_js}}
+- <script src="{{ path_to_root }}ace.js"></script>
+- <script src="{{ path_to_root }}editor.js"></script>
+- <script src="{{ path_to_root }}mode-rust.js"></script>
+- <script src="{{ path_to_root }}theme-dawn.js"></script>
+- <script src="{{ path_to_root }}theme-tomorrow_night.js"></script>
+- {{/if}}
+-
+- {{#if search_js}}
+- <script src="{{ path_to_root }}elasticlunr.min.js"></script>
+- <script src="{{ path_to_root }}mark.min.js"></script>
+- <script src="{{ path_to_root }}searcher.js"></script>
+- {{/if}}
+-
+- <script src="{{ path_to_root }}clipboard.min.js"></script>
+- <script src="{{ path_to_root }}highlight.js"></script>
+- <script src="{{ path_to_root }}book.js"></script>
++ <script src="{{ path_to_root }}highlight.js" type="text/javascript" charset="utf-8"></script>
++ <script src="{{ path_to_root }}book.js" type="text/javascript" charset="utf-8"></script>
+
+ <!-- Custom JS scripts -->
+ {{#each additional_js}}
diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
index 7f73cac..e4805cc 100644
--- a/src/tools/linkchecker/main.rs
@@ -97,7 +220,7 @@ index faca1d0..c1a82a3 100644
}
diff --git a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-index 709aa06..17ff63c 100644
+index 8ea2f49..3cb1c9f 100644
--- a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+++ b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
@@ -3,13 +3,14 @@ use crate::config::{BookConfig, Code, Config, HtmlConfig, Playground, RustEditio
@@ -245,7 +368,7 @@ index 24d62fd..849a48c 100644
}
diff --git a/vendor/mdbook/src/theme/index.hbs b/vendor/mdbook/src/theme/index.hbs
-index 80315c4..48413b0 100644
+index 080b785..f6064f6 100644
--- a/vendor/mdbook/src/theme/index.hbs
+++ b/vendor/mdbook/src/theme/index.hbs
@@ -33,10 +33,7 @@
@@ -268,8 +391,8 @@ index 80315c4..48413b0 100644
+ <script async src="MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
{{/if}}
</head>
- <body>
-@@ -61,48 +58,6 @@
+ <body class="sidebar-visible no-js">
+@@ -61,35 +58,6 @@
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
</script>
@@ -295,30 +418,17 @@ index 80315c4..48413b0 100644
- try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
- if (theme === null || theme === undefined) { theme = default_theme; }
- var html = document.querySelector('html');
-- html.classList.remove('no-js')
- html.classList.remove('{{ default_theme }}')
- html.classList.add(theme);
-- html.classList.add('js');
+- var body = document.querySelector('body');
+- body.classList.remove('no-js')
+- body.classList.add('js');
- </script>
-
-- <!-- Hide / unhide sidebar before it is displayed -->
-- <script>
-- var html = document.querySelector('html');
-- var sidebar = null;
-- if (document.body.clientWidth >= 1080) {
-- try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
-- sidebar = sidebar || 'visible';
-- } else {
-- sidebar = 'hidden';
-- }
-- html.classList.remove('sidebar-visible');
-- html.classList.add("sidebar-" + sidebar);
-- </script>
--
- <nav id="sidebar" class="sidebar" aria-label="Table of contents">
- <div class="sidebar-scrollbox">
- {{#toc}}{{/toc}}
-@@ -262,54 +217,8 @@
+ <input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
+
+ <!-- Hide / unhide sidebar before it is displayed -->
+@@ -269,54 +237,8 @@
</script>
{{/if}}
diff --git a/debian/patches/d-0005-no-jemalloc.patch b/debian/patches/prune/d-0005-no-jemalloc.patch
index 1ff501dc3..611b87028 100644
--- a/debian/patches/d-0005-no-jemalloc.patch
+++ b/debian/patches/prune/d-0005-no-jemalloc.patch
@@ -2,6 +2,9 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Sat, 2 Oct 2021 01:08:00 +0100
Subject: d-0005-no-jemalloc
+Description: remove jemalloc-sys
+
+Forwarded: not-needed
---
compiler/rustc/Cargo.toml | 6 ------
src/tools/rust-analyzer/crates/profile/Cargo.toml | 2 --
@@ -27,12 +30,12 @@ index 3cb56a7..af37dfc 100644
max_level_info = ['rustc_driver_impl/max_level_info']
rustc_use_parallel_compiler = ['rustc_driver_impl/rustc_use_parallel_compiler']
diff --git a/src/tools/rust-analyzer/crates/profile/Cargo.toml b/src/tools/rust-analyzer/crates/profile/Cargo.toml
-index 937834a..fd98d85 100644
+index 56ce9d1..4fb2760 100644
--- a/src/tools/rust-analyzer/crates/profile/Cargo.toml
+++ b/src/tools/rust-analyzer/crates/profile/Cargo.toml
@@ -17,7 +17,6 @@ cfg-if = "1.0.0"
- libc = "0.2.135"
la-arena.workspace = true
+ libc.workspace = true
countme = { version = "3.0.1", features = ["enable"] }
-jemalloc-ctl = { version = "0.5.0", package = "tikv-jemalloc-ctl", optional = true }
diff --git a/debian/patches/prune/d-0010-cargo-remove-vendored-c-crates.patch b/debian/patches/prune/d-0010-cargo-remove-vendored-c-crates.patch
new file mode 100644
index 000000000..30b3198b4
--- /dev/null
+++ b/debian/patches/prune/d-0010-cargo-remove-vendored-c-crates.patch
@@ -0,0 +1,39 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Mon, 6 May 2024 10:25:32 +0200
+Subject: d-0010-cargo-remove-vendored-c-crates
+
+Description: remove all vendoring features of crates normally shipping bundled
+C libs. that C code is stripped when repacking, so the features can't work
+anyway.
+Last-Update: 2023-05-17
+
+Forwarded: not-needed
+---
+ src/tools/cargo/Cargo.toml | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/tools/cargo/Cargo.toml b/src/tools/cargo/Cargo.toml
+index c07b004..2a81642 100644
+--- a/src/tools/cargo/Cargo.toml
++++ b/src/tools/cargo/Cargo.toml
+@@ -73,7 +73,7 @@ proptest = "1.4.0"
+ pulldown-cmark = { version = "0.9.3", default-features = false }
+ rand = "0.8.5"
+ regex = "1.10.2"
+-rusqlite = { version = "0.30.0", features = ["bundled"] }
++rusqlite = { version = "0.30.0", features = [] }
+ rustfix = { version = "0.7.0", path = "crates/rustfix" }
+ same-file = "1.0.6"
+ security-framework = "2.9.2"
+@@ -243,10 +243,8 @@ test = false
+ doc = false
+
+ [features]
+-vendored-openssl = ["openssl/vendored"]
+-vendored-libgit2 = ["libgit2-sys/vendored"]
++# Debian: removed vendoring flags
+ # This is primarily used by rust-lang/rust distributing cargo the executable.
+-all-static = ['vendored-openssl', 'curl/static-curl', 'curl/force-system-lib-on-osx', 'vendored-libgit2']
+
+ [lints]
+ workspace = true
diff --git a/debian/patches/d-0011-cargo-remove-nghttp2.patch b/debian/patches/prune/d-0011-cargo-remove-nghttp2.patch
index e5d78db0c..3255e98fc 100644
--- a/debian/patches/d-0011-cargo-remove-nghttp2.patch
+++ b/debian/patches/prune/d-0011-cargo-remove-nghttp2.patch
@@ -2,13 +2,17 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Mon, 6 May 2024 10:25:32 +0200
Subject: d-0011-cargo-remove-nghttp2
-Last-Update: 2023-05-17 <YYYY-MM-DD, last update of the meta-information, optional>
+Description: remove dependency on libnghttp2-sys so it can be pruned.
+
+Last-Update: 2023-05-17
+
+Forwarded: not-needed
---
vendor/curl-sys/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/vendor/curl-sys/Cargo.toml b/vendor/curl-sys/Cargo.toml
-index 9149121..b36d525 100644
+index daf925e..624fabf 100644
--- a/vendor/curl-sys/Cargo.toml
+++ b/vendor/curl-sys/Cargo.toml
@@ -52,7 +52,7 @@ version = "0.3.3"
diff --git a/debian/patches/d-0020-remove-windows-dependencies.patch b/debian/patches/prune/d-0020-remove-windows-dependencies.patch
index dd4f4d88d..29604db35 100644
--- a/debian/patches/d-0020-remove-windows-dependencies.patch
+++ b/debian/patches/prune/d-0020-remove-windows-dependencies.patch
@@ -2,33 +2,44 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Mon, 6 May 2024 10:25:32 +0200
Subject: d-0020-remove-windows-dependencies
+use something like
+
+ find src compiler library -iname Cargo.toml -exec grep -H -n -e 'windows-sys' -e 'winapi' -e 'ntapi' -e 'wincon' -e 'winreg' -e 'windows' {} \; >
+
+to find and eliminate dependencies on windows-only crates when rebasing.
+
+windows-bindgen and windows-metadata should not be removed, they are needed for
+the build and don't pull in windows-sys and friends.
+
+Forwarded: not-needed
+
===================================================================
---
compiler/rustc_codegen_ssa/Cargo.toml | 4 ----
- compiler/rustc_data_structures/Cargo.toml | 10 ----------
- compiler/rustc_driver_impl/Cargo.toml | 6 ------
- compiler/rustc_errors/Cargo.toml | 8 --------
- compiler/rustc_session/Cargo.toml | 7 -------
- library/backtrace/Cargo.toml | 13 ------------
- src/bootstrap/Cargo.toml | 15 --------------
- src/tools/cargo/Cargo.toml | 23 ++++------------------
+ compiler/rustc_data_structures/Cargo.toml | 10 ---------
+ compiler/rustc_driver_impl/Cargo.toml | 6 -----
+ compiler/rustc_errors/Cargo.toml | 8 -------
+ compiler/rustc_session/Cargo.toml | 7 ------
+ library/backtrace/Cargo.toml | 13 -----------
+ src/bootstrap/Cargo.toml | 15 -------------
+ src/tools/cargo/Cargo.toml | 26 ++++------------------
.../cargo/crates/cargo-test-support/Cargo.toml | 3 ---
- src/tools/cargo/crates/cargo-util/Cargo.toml | 7 -------
+ src/tools/cargo/crates/cargo-util/Cargo.toml | 7 ------
src/tools/cargo/crates/home/Cargo.toml | 3 ---
.../cargo/credential/cargo-credential/Cargo.toml | 3 ---
src/tools/cargo/src/cargo/util/auth/mod.rs | 5 -----
- src/tools/compiletest/Cargo.toml | 10 ----------
+ src/tools/compiletest/Cargo.toml | 10 ---------
src/tools/rust-analyzer/crates/profile/Cargo.toml | 3 ---
- .../rust-analyzer/crates/rust-analyzer/Cargo.toml | 6 ------
+ .../rust-analyzer/crates/rust-analyzer/Cargo.toml | 6 -----
src/tools/rust-analyzer/crates/stdx/Cargo.toml | 4 ----
- 17 files changed, 4 insertions(+), 126 deletions(-)
+ 17 files changed, 4 insertions(+), 129 deletions(-)
diff --git a/compiler/rustc_codegen_ssa/Cargo.toml b/compiler/rustc_codegen_ssa/Cargo.toml
-index 4dae49f..20453c2 100644
+index 3f2ed25..bf0ad91 100644
--- a/compiler/rustc_codegen_ssa/Cargo.toml
+++ b/compiler/rustc_codegen_ssa/Cargo.toml
@@ -49,7 +49,3 @@ libc = "0.2.50"
- version = "0.32.0"
+ version = "0.32.1"
default-features = false
features = ["read_core", "elf", "macho", "pe", "xcoff", "unaligned", "archive", "write"]
-
@@ -36,7 +47,7 @@ index 4dae49f..20453c2 100644
-version = "0.48.0"
-features = ["Win32_Globalization"]
diff --git a/compiler/rustc_data_structures/Cargo.toml b/compiler/rustc_data_structures/Cargo.toml
-index 8d91c4c..0de63d9 100644
+index 4732783..bbfcb55 100644
--- a/compiler/rustc_data_structures/Cargo.toml
+++ b/compiler/rustc_data_structures/Cargo.toml
@@ -32,16 +32,6 @@ tracing = "0.1"
@@ -57,10 +68,10 @@ index 8d91c4c..0de63d9 100644
# tidy-alphabetical-start
memmap2 = "0.2.1"
diff --git a/compiler/rustc_driver_impl/Cargo.toml b/compiler/rustc_driver_impl/Cargo.toml
-index da7c244..80547ce 100644
+index 4904298..2918095 100644
--- a/compiler/rustc_driver_impl/Cargo.toml
+++ b/compiler/rustc_driver_impl/Cargo.toml
-@@ -58,12 +58,6 @@ tracing = { version = "0.1.35" }
+@@ -59,12 +59,6 @@ tracing = { version = "0.1.35" }
libc = "0.2"
# tidy-alphabetical-end
@@ -139,10 +150,10 @@ index 932310b..dce3c3f 100644
[[example]]
diff --git a/src/bootstrap/Cargo.toml b/src/bootstrap/Cargo.toml
-index e4d3591..b548faf 100644
+index 077d195..b9ad241 100644
--- a/src/bootstrap/Cargo.toml
+++ b/src/bootstrap/Cargo.toml
-@@ -66,21 +66,6 @@ sysinfo = { version = "0.26.0", optional = true }
+@@ -65,21 +65,6 @@ sysinfo = { version = "0.26.0", optional = true }
[target.'cfg(not(target_os = "solaris"))'.dependencies]
fd-lock = "3.0.13"
@@ -165,7 +176,7 @@ index e4d3591..b548faf 100644
pretty_assertions = "1.4"
diff --git a/src/tools/cargo/Cargo.toml b/src/tools/cargo/Cargo.toml
-index c011909..989d8d4 100644
+index 2a81642..76a8cf2 100644
--- a/src/tools/cargo/Cargo.toml
+++ b/src/tools/cargo/Cargo.toml
@@ -2,7 +2,9 @@
@@ -181,22 +192,22 @@ index c011909..989d8d4 100644
]
@@ -24,8 +26,6 @@ bytesize = "1.3"
cargo = { path = "" }
- cargo-credential = { version = "0.4.1", path = "credential/cargo-credential" }
- cargo-credential-libsecret = { version = "0.4.1", path = "credential/cargo-credential-libsecret" }
--cargo-credential-macos-keychain = { version = "0.4.1", path = "credential/cargo-credential-macos-keychain" }
--cargo-credential-wincred = { version = "0.4.1", path = "credential/cargo-credential-wincred" }
+ cargo-credential = { version = "0.4.2", path = "credential/cargo-credential" }
+ cargo-credential-libsecret = { version = "0.4.2", path = "credential/cargo-credential-libsecret" }
+-cargo-credential-macos-keychain = { version = "0.4.2", path = "credential/cargo-credential-macos-keychain" }
+-cargo-credential-wincred = { version = "0.4.2", path = "credential/cargo-credential-wincred" }
cargo-platform = { path = "crates/cargo-platform", version = "0.1.4" }
cargo-test-macro = { path = "crates/cargo-test-macro" }
cargo-test-support = { path = "crates/cargo-test-support" }
-@@ -102,7 +102,6 @@ unicode-xid = "0.2.4"
- url = "2.4.1"
+@@ -103,7 +103,6 @@ unicode-xid = "0.2.4"
+ url = "2.5.0"
varisat = "0.2.2"
walkdir = "2.4.0"
--windows-sys = "0.48"
+-windows-sys = "0.52"
- [package]
- name = "cargo"
-@@ -129,6 +128,7 @@ base64.workspace = true
+ [workspace.lints.rust]
+ rust_2018_idioms = "warn" # TODO: could this be removed?
+@@ -144,6 +143,7 @@ base64.workspace = true
bytesize.workspace = true
cargo-credential.workspace = true
cargo-platform.workspace = true
@@ -204,7 +215,7 @@ index c011909..989d8d4 100644
cargo-util.workspace = true
clap = { workspace = true, features = ["wrap_help"] }
color-print.workspace = true
-@@ -189,9 +189,6 @@ walkdir.workspace = true
+@@ -206,27 +206,9 @@ walkdir.workspace = true
[target.'cfg(target_os = "linux")'.dependencies]
cargo-credential-libsecret.workspace = true
@@ -214,10 +225,6 @@ index c011909..989d8d4 100644
[target.'cfg(not(windows))'.dependencies]
openssl = { workspace = true, optional = true }
-@@ -195,21 +195,6 @@ cargo-credential-macos-keychain.workspace = true
- [target.'cfg(not(windows))'.dependencies]
- openssl = { workspace = true, optional = true }
-
-[target.'cfg(windows)'.dependencies]
-cargo-credential-wincred.workspace = true
-
@@ -237,47 +244,53 @@ index c011909..989d8d4 100644
cargo-test-macro.workspace = true
cargo-test-support.workspace = true
diff --git a/src/tools/cargo/crates/cargo-test-support/Cargo.toml b/src/tools/cargo/crates/cargo-test-support/Cargo.toml
-index fc32e1c..ce5d708 100644
+index 1098d59..88d4ae7 100644
--- a/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+++ b/src/tools/cargo/crates/cargo-test-support/Cargo.toml
-@@ -29,6 +29,3 @@ tar.workspace = true
- time.workspace = true
- toml.workspace = true
+@@ -31,8 +31,5 @@ toml.workspace = true
url.workspace = true
--
+ walkdir.workspace = true
+
-[target.'cfg(windows)'.dependencies]
-windows-sys = { workspace = true, features = ["Win32_Storage_FileSystem"] }
+-
+ [lints]
+ workspace = true
diff --git a/src/tools/cargo/crates/cargo-util/Cargo.toml b/src/tools/cargo/crates/cargo-util/Cargo.toml
-index 616a79c..9fc3971 100644
+index 3fd6bde..fb681a3 100644
--- a/src/tools/cargo/crates/cargo-util/Cargo.toml
+++ b/src/tools/cargo/crates/cargo-util/Cargo.toml
-@@ -20,10 +20,3 @@ shell-escape.workspace = true
- tempfile.workspace = true
+@@ -22,12 +22,5 @@ tempfile.workspace = true
tracing.workspace = true
walkdir.workspace = true
--
+
-[target.'cfg(target_os = "macos")'.dependencies]
-core-foundation.workspace = true
-
-[target.'cfg(windows)'.dependencies]
-miow.workspace = true
-windows-sys = { workspace = true, features = ["Win32_Storage_FileSystem", "Win32_Foundation", "Win32_System_Console"] }
+-
+ [lints]
+ workspace = true
diff --git a/src/tools/cargo/crates/home/Cargo.toml b/src/tools/cargo/crates/home/Cargo.toml
-index 702a14e..dafeec8 100644
+index 33cd6ba..2d5dfdc 100644
--- a/src/tools/cargo/crates/home/Cargo.toml
+++ b/src/tools/cargo/crates/home/Cargo.toml
-@@ -15,6 +15,3 @@ include = [
- license.workspace = true
+@@ -16,8 +16,5 @@ license.workspace = true
repository = "https://github.com/rust-lang/cargo"
description = "Shared definitions of home directories."
--
+
-[target.'cfg(windows)'.dependencies]
--windows-sys = { workspace = true, features = ["Win32_Foundation", "Win32_UI_Shell"] }
+-windows-sys = { workspace = true, features = ["Win32_Foundation", "Win32_UI_Shell", "Win32_System_Com"] }
+-
+ [lints]
+ workspace = true
diff --git a/src/tools/cargo/credential/cargo-credential/Cargo.toml b/src/tools/cargo/credential/cargo-credential/Cargo.toml
-index 8ba65b8..6678c23 100644
+index 7dc37ff..fac049b 100644
--- a/src/tools/cargo/credential/cargo-credential/Cargo.toml
+++ b/src/tools/cargo/credential/cargo-credential/Cargo.toml
-@@ -15,8 +15,5 @@ serde_json.workspace = true
+@@ -15,9 +15,6 @@ serde_json.workspace = true
thiserror.workspace = true
time.workspace = true
@@ -286,6 +299,7 @@ index 8ba65b8..6678c23 100644
-
[dev-dependencies]
snapbox = { workspace = true, features = ["examples"] }
+
diff --git a/src/tools/cargo/src/cargo/util/auth/mod.rs b/src/tools/cargo/src/cargo/util/auth/mod.rs
index c2f8186..c420971 100644
--- a/src/tools/cargo/src/cargo/util/auth/mod.rs
@@ -321,7 +335,7 @@ index 31c6353..bdc4805 100644
- "Win32_System_Diagnostics_Debug",
-]
diff --git a/src/tools/rust-analyzer/crates/profile/Cargo.toml b/src/tools/rust-analyzer/crates/profile/Cargo.toml
-index fd98d85..8c1d137 100644
+index 4fb2760..8573fbe 100644
--- a/src/tools/rust-analyzer/crates/profile/Cargo.toml
+++ b/src/tools/rust-analyzer/crates/profile/Cargo.toml
@@ -21,9 +21,6 @@ countme = { version = "3.0.1", features = ["enable"] }
@@ -335,10 +349,10 @@ index fd98d85..8c1d137 100644
cpu_profiler = []
diff --git a/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml b/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
-index 7410f0a..d25b922 100644
+index 39ac338a..d25722a 100644
--- a/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+++ b/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
-@@ -71,12 +71,6 @@ toolchain.workspace = true
+@@ -65,12 +65,6 @@ toolchain.workspace = true
vfs-notify.workspace = true
vfs.workspace = true
@@ -350,17 +364,17 @@ index 7410f0a..d25b922 100644
-
[dev-dependencies]
expect-test = "1.4.0"
- xshell = "0.2.2"
+ xshell.workspace = true
diff --git a/src/tools/rust-analyzer/crates/stdx/Cargo.toml b/src/tools/rust-analyzer/crates/stdx/Cargo.toml
-index 536f000..6ed37f5 100644
+index c914ae2..db8b274 100644
--- a/src/tools/rust-analyzer/crates/stdx/Cargo.toml
+++ b/src/tools/rust-analyzer/crates/stdx/Cargo.toml
-@@ -19,10 +19,6 @@ jod-thread = "0.1.2"
- crossbeam-channel = "0.5.5"
+@@ -20,10 +20,6 @@ crossbeam-channel = "0.5.5"
+ itertools.workspace = true
# Think twice before adding anything here
-[target.'cfg(windows)'.dependencies]
--miow = "0.5.0"
+-miow = "0.6.0"
-winapi = { version = "0.3.9", features = ["winerror"] }
-
[features]
diff --git a/debian/patches/d-0021-vendor-remove-windows-dependencies.patch b/debian/patches/prune/d-0021-vendor-remove-windows-dependencies.patch
index 895d091b8..025cfd8bd 100644
--- a/debian/patches/d-0021-vendor-remove-windows-dependencies.patch
+++ b/debian/patches/prune/d-0021-vendor-remove-windows-dependencies.patch
@@ -5,66 +5,72 @@ MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
+use something like
+
+ find vendor -iname Cargo.toml -exec grep -H -n -e 'windows-sys' -e 'winapi' -e 'ntapi' -e 'wincon' -e 'winreg' -e 'windows' {} \; > /tmp/files
+
+to find dependencies on windows targets in vendored crates. you will likely
+need to remove some hunks from this patch after pruning dependencies, since
+hopefully a few of the crates patched during early rebasing are eliminated.
+
+windows-bindgen and windows-metadata should not be removed, they are needed for
+the build and don't pull in windows-sys and friends.
+
+Forwarded: not-needed
+
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
- vendor/android-tzdata/Cargo.toml | 1 +
- vendor/ansi_term/Cargo.toml | 3 ---
- vendor/anstream/Cargo.toml | 7 ------
- vendor/anstyle-query/Cargo.toml | 7 ------
- vendor/atty/Cargo.toml | 3 ---
- vendor/backtrace/Cargo.toml | 14 -----------
- vendor/chrono/Cargo.toml | 12 ----------
- vendor/colored/Cargo.toml | 7 ------
- vendor/console/Cargo.toml | 11 ---------
- vendor/curl-sys/Cargo.toml | 7 ------
- vendor/curl/Cargo.toml | 10 --------
- vendor/dirs-sys-0.3.7/Cargo.toml | 3 ---
- vendor/dirs-sys/Cargo.toml | 9 -------
- vendor/errno-0.3.1/Cargo.toml | 7 ------
- vendor/errno/Cargo.toml | 6 -----
- vendor/fd-lock/Cargo.toml | 8 -------
- vendor/filetime/Cargo.toml | 7 ------
- vendor/gix-sec/Cargo.toml | 12 ----------
- vendor/home-0.5.4/Cargo.toml | 8 -------
- vendor/home/Cargo.toml | 7 ------
- vendor/iana-time-zone/Cargo.toml | 4 ----
- vendor/ignore/Cargo.toml | 3 ---
- vendor/is-terminal/Cargo.toml | 11 ---------
- vendor/libloading-0.7.4/Cargo.toml | 6 -----
- vendor/libloading-0.8.0/Cargo.toml | 8 -------
- vendor/libloading/Cargo.toml | 8 -------
- vendor/libssh2-sys/Cargo.toml | 8 -------
- vendor/libz-sys/Cargo.toml | 3 ---
- vendor/mio/Cargo.toml | 11 ---------
- vendor/native-tls/Cargo.toml | 3 ---
- vendor/nu-ansi-term/Cargo.toml | 10 --------
- vendor/opener-0.5.2/Cargo.toml | 4 ----
- vendor/opener/Cargo.toml | 9 -------
- vendor/os_info/Cargo.toml | 15 ------------
- vendor/parking_lot_core-0.8.6/Cargo.toml | 12 ----------
- vendor/parking_lot_core/Cargo.toml | 3 ---
- vendor/reqwest/Cargo.toml | 3 ---
- vendor/rustix-0.38.19/Cargo.toml | 17 -------------
- vendor/rustix/Cargo.toml | 17 -------------
- vendor/same-file/Cargo.toml | 2 --
- vendor/snapbox/Cargo.toml | 6 -----
- vendor/socket2/Cargo.toml | 8 -------
- vendor/stacker/Cargo.toml | 10 --------
- vendor/sysinfo-0.26.7/Cargo.toml | 38 -----------------------------
- vendor/sysinfo/Cargo.toml | 41 --------------------------------
- vendor/tempfile-3.8.0/Cargo.toml | 7 ------
- vendor/tempfile/Cargo.toml | 7 ------
- vendor/term/Cargo.toml | 6 -----
- vendor/termcolor/Cargo.toml | 3 ---
- vendor/terminal_size/Cargo.toml | 7 ------
- vendor/termize/Cargo.toml | 3 ---
- vendor/tokio-native-tls/Cargo.toml | 17 -------------
- vendor/tokio/Cargo.toml | 21 ----------------
- vendor/uuid/Cargo.toml | 4 ----
- vendor/walkdir-2.3.3/Cargo.toml | 3 ---
- vendor/walkdir/Cargo.toml | 3 ---
- vendor/yansi-term/Cargo.toml | 3 ---
- 58 files changed, 1 insertion(+), 495 deletions(-)
+ vendor/android-tzdata/Cargo.toml | 1 +
+ vendor/ansi_term/Cargo.toml | 3 ---
+ vendor/anstream-0.5.0/Cargo.toml | 5 -----
+ vendor/anstream/Cargo.toml | 7 ------
+ vendor/anstyle-query/Cargo.toml | 6 -----
+ vendor/backtrace/Cargo.toml | 14 ------------
+ vendor/chrono/Cargo.toml | 12 ----------
+ vendor/colored/Cargo.toml | 7 ------
+ vendor/console/Cargo.toml | 11 ----------
+ vendor/ctrlc/Cargo.toml | 17 ---------------
+ vendor/curl-sys/Cargo.toml | 7 ------
+ vendor/curl/Cargo.toml | 10 ---------
+ vendor/dirs-sys-0.3.7/Cargo.toml | 3 ---
+ vendor/dirs-sys-next/Cargo.toml | 3 ---
+ vendor/errno/Cargo.toml | 6 -----
+ vendor/fd-lock/Cargo.toml | 8 -------
+ vendor/filetime/Cargo.toml | 7 ------
+ vendor/gix-sec/Cargo.toml | 12 ----------
+ vendor/home/Cargo.toml | 7 ------
+ vendor/iana-time-zone/Cargo.toml | 4 ----
+ vendor/ignore/Cargo.toml | 2 --
+ vendor/is-terminal/Cargo.toml | 11 ----------
+ vendor/libloading-0.7.4/Cargo.toml | 6 -----
+ vendor/libloading/Cargo.toml | 8 -------
+ vendor/libssh2-sys/Cargo.toml | 8 -------
+ vendor/mio/Cargo.toml | 11 ----------
+ vendor/native-tls/Cargo.toml | 3 ---
+ vendor/nu-ansi-term-0.46.0/Cargo.toml | 10 ---------
+ vendor/opener-0.5.2/Cargo.toml | 4 ----
+ vendor/opener/Cargo.toml | 9 --------
+ vendor/os_info/Cargo.toml | 15 -------------
+ vendor/parking_lot_core/Cargo.toml | 3 ---
+ vendor/reqwest/Cargo.toml | 3 ---
+ vendor/rustix/Cargo.toml | 17 ---------------
+ vendor/same-file/Cargo.toml | 2 --
+ vendor/snapbox/Cargo.toml | 6 -----
+ vendor/socket2/Cargo.toml | 7 ------
+ vendor/stacker/Cargo.toml | 10 ---------
+ vendor/sysinfo-0.26.7/Cargo.toml | 38 --------------------------------
+ vendor/sysinfo/Cargo.toml | 41 -----------------------------------
+ vendor/tempfile/Cargo.toml | 7 ------
+ vendor/term/Cargo.toml | 6 -----
+ vendor/termcolor/Cargo.toml | 3 ---
+ vendor/terminal_size/Cargo.toml | 7 ------
+ vendor/termize/Cargo.toml | 3 ---
+ vendor/tokio-native-tls/Cargo.toml | 17 ---------------
+ vendor/tokio/Cargo.toml | 21 ------------------
+ vendor/uuid/Cargo.toml | 4 ----
+ vendor/walkdir/Cargo.toml | 3 ---
+ vendor/yansi-term/Cargo.toml | 3 ---
+ 50 files changed, 1 insertion(+), 437 deletions(-)
diff --git a/vendor/android-tzdata/Cargo.toml b/vendor/android-tzdata/Cargo.toml
index 805128a..0682717 100644
@@ -86,65 +92,51 @@ index 0e5feba..3256c75 100644
-[target."cfg(target_os=\"windows\")".dependencies.winapi]
-version = "0.3.4"
-features = ["consoleapi", "errhandlingapi", "fileapi", "handleapi", "processenv"]
-diff --git a/vendor/anstream/Cargo.toml b/vendor/anstream/Cargo.toml
-index 2919a8b..f403587 100644
---- a/vendor/anstream/Cargo.toml
-+++ b/vendor/anstream/Cargo.toml
-@@ -131,11 +131,4 @@ auto = [
+diff --git a/vendor/anstream-0.5.0/Cargo.toml b/vendor/anstream-0.5.0/Cargo.toml
+index 1b5193c..9574485 100644
+--- a/vendor/anstream-0.5.0/Cargo.toml
++++ b/vendor/anstream-0.5.0/Cargo.toml
+@@ -131,10 +131,5 @@ auto = [
]
default = [
"auto",
- "wincon",
]
--test = []
-wincon = ["dep:anstyle-wincon"]
--
+
-[target."cfg(windows)".dependencies.anstyle-wincon]
--version = "3.0.1"
+-version = "2.0.0"
-optional = true
-diff --git a/vendor/anstream-0.5.0/Cargo.toml b/vendor/anstream-0.5.0/Cargo.toml
-index 1b5193c..9574485 100644
---- a/vendor/anstream-0.5.0/Cargo.toml
-+++ b/vendor/anstream-0.5.0/Cargo.toml
-@@ -131,10 +131,5 @@ auto = [
+diff --git a/vendor/anstream/Cargo.toml b/vendor/anstream/Cargo.toml
+index a64ec8d..34dd08f 100644
+--- a/vendor/anstream/Cargo.toml
++++ b/vendor/anstream/Cargo.toml
+@@ -134,11 +134,4 @@ auto = [
]
default = [
"auto",
- "wincon",
]
+-test = []
-wincon = ["dep:anstyle-wincon"]
-
+-
-[target."cfg(windows)".dependencies.anstyle-wincon]
--version = "2.0.0"
+-version = "3.0.1"
-optional = true
diff --git a/vendor/anstyle-query/Cargo.toml b/vendor/anstyle-query/Cargo.toml
-index 63a431c..0cf859b 100644
+index 599e364..e32bc63 100644
--- a/vendor/anstyle-query/Cargo.toml
+++ b/vendor/anstyle-query/Cargo.toml
-@@ -70,10 +70,3 @@ replace = """
- <!-- next-url -->
+@@ -72,9 +72,3 @@ replace = """
[Unreleased]: https://github.com/rust-cli/anstyle/compare/{{tag_name}}...HEAD"""
- exactly = 1
--
+ search = "<!-- next-url -->"
+
-[target."cfg(windows)".dependencies.windows-sys]
--version = "0.48.0"
+-version = "0.52.0"
-features = [
- "Win32_System_Console",
- "Win32_Foundation",
-]
-diff --git a/vendor/atty/Cargo.toml b/vendor/atty/Cargo.toml
-index d6bf2d0..7cebc31 100644
---- a/vendor/atty/Cargo.toml
-+++ b/vendor/atty/Cargo.toml
-@@ -27,8 +27,5 @@ version = "0.1.6"
- [target."cfg(unix)".dependencies.libc]
- version = "0.2"
- default-features = false
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
--features = ["consoleapi", "processenv", "minwinbase", "minwindef", "winbase"]
- [badges.travis-ci]
- repository = "softprops/atty"
diff --git a/vendor/backtrace/Cargo.toml b/vendor/backtrace/Cargo.toml
index c13e7ee..7b01a6f 100644
--- a/vendor/backtrace/Cargo.toml
@@ -217,7 +209,7 @@ index dda2951..05b76bd 100644
- "Win32_System_Console",
-]
diff --git a/vendor/console/Cargo.toml b/vendor/console/Cargo.toml
-index 85849e1..7c7be5a 100644
+index 85849e16..7c7be5a 100644
--- a/vendor/console/Cargo.toml
+++ b/vendor/console/Cargo.toml
@@ -59,14 +59,3 @@ default = [
@@ -235,8 +227,36 @@ index 85849e1..7c7be5a 100644
- "Win32_Storage_FileSystem",
- "Win32_UI_Input_KeyboardAndMouse",
-]
+diff --git a/vendor/ctrlc/Cargo.toml b/vendor/ctrlc/Cargo.toml
+index bb27f1b..93d7d7e 100644
+--- a/vendor/ctrlc/Cargo.toml
++++ b/vendor/ctrlc/Cargo.toml
+@@ -56,23 +56,6 @@ features = [
+ ]
+ default-features = false
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.48"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Threading",
+- "Win32_Security",
+- "Win32_System_Console",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.windows-sys]
+-version = "0.48"
+-features = [
+- "Win32_Storage_FileSystem",
+- "Win32_Foundation",
+- "Win32_System_IO",
+- "Win32_System_Console",
+-]
+
+ [badges.maintenance]
+ status = "passively-maintained"
diff --git a/vendor/curl-sys/Cargo.toml b/vendor/curl-sys/Cargo.toml
-index b36d525..4b5cee1 100644
+index 624fabf..c66bbba 100644
--- a/vendor/curl-sys/Cargo.toml
+++ b/vendor/curl-sys/Cargo.toml
@@ -73,13 +73,6 @@ zlib-ng-compat = [
@@ -299,7 +319,7 @@ index e9d8d0c..acb2eb7 100644
[badges.maintenance]
status = "as-is"
diff --git a/vendor/errno/Cargo.toml b/vendor/errno/Cargo.toml
-index d35ef19..e5e18a3 100644
+index e1d0bf5..60eeb86 100644
--- a/vendor/errno/Cargo.toml
+++ b/vendor/errno/Cargo.toml
@@ -41,9 +41,3 @@ default-features = false
@@ -307,7 +327,7 @@ index d35ef19..e5e18a3 100644
default-features = false
-[target."cfg(windows)".dependencies.windows-sys]
--version = "0.48"
+-version = "0.52"
-features = [
- "Win32_Foundation",
- "Win32_System_Diagnostics_Debug",
@@ -329,30 +349,30 @@ index 8d0b8f0..eb1ef13 100644
- "Win32_System_IO",
-]
diff --git a/vendor/filetime/Cargo.toml b/vendor/filetime/Cargo.toml
-index 5c28c6c..b32fbcc 100644
+index 0540ffb..2c65fa5 100644
--- a/vendor/filetime/Cargo.toml
+++ b/vendor/filetime/Cargo.toml
-@@ -38,10 +38,3 @@ version = "0.3.5"
+@@ -38,10 +38,3 @@ version = "0.4.1"
[target."cfg(unix)".dependencies.libc]
version = "0.2.27"
-
-[target."cfg(windows)".dependencies.windows-sys]
--version = "0.48.0"
+-version = "0.52.0"
-features = [
- "Win32_Foundation",
- "Win32_Storage_FileSystem",
-]
diff --git a/vendor/gix-sec/Cargo.toml b/vendor/gix-sec/Cargo.toml
-index 8605b90..9db4399 100644
+index cf452ec..c405340 100644
--- a/vendor/gix-sec/Cargo.toml
+++ b/vendor/gix-sec/Cargo.toml
-@@ -63,15 +63,3 @@ serde = [
+@@ -58,15 +58,3 @@ serde = [
[target."cfg(not(windows))".dependencies.libc]
version = "0.2.123"
-[target."cfg(windows)".dependencies.gix-path]
--version = "^0.10.0"
+-version = "^0.10.1"
-
-[target."cfg(windows)".dependencies.windows]
-version = "0.48"
@@ -391,14 +411,13 @@ index e06c705..572a8fd 100644
-version = "0.48.0"
-features = ["Globalization"]
diff --git a/vendor/ignore/Cargo.toml b/vendor/ignore/Cargo.toml
-index b397dcf..2022a87 100644
+index 60ab32a..bf4109f 100644
--- a/vendor/ignore/Cargo.toml
+++ b/vendor/ignore/Cargo.toml
-@@ -64,6 +64,3 @@ version = "0.5.0"
-
+@@ -77,5 +77,3 @@ version = "0.5.8"
[features]
- simd-accel = ["globset/simd-accel"]
--
+ simd-accel = []
+
-[target."cfg(windows)".dependencies.winapi-util]
-version = "0.1.2"
diff --git a/vendor/is-terminal/Cargo.toml b/vendor/is-terminal/Cargo.toml
@@ -471,17 +490,6 @@ index 45f4a71..516644c 100644
-[target."cfg(windows)".dependencies.openssl-sys]
-version = "0.9.35"
-optional = true
-diff --git a/vendor/libz-sys/Cargo.toml b/vendor/libz-sys/Cargo.toml
-index f7414d5..ee1163c 100644
---- a/vendor/libz-sys/Cargo.toml
-+++ b/vendor/libz-sys/Cargo.toml
-@@ -65,6 +65,3 @@ zlib-ng = [
- "libc",
- "cmake",
- ]
--
--[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
--version = "0.2"
diff --git a/vendor/mio/Cargo.toml b/vendor/mio/Cargo.toml
index 42e28d0..b689d7b 100644
--- a/vendor/mio/Cargo.toml
@@ -519,10 +527,10 @@ index a059236..d36b44b 100644
-
-[target."cfg(target_os = \"windows\")".dependencies.schannel]
-version = "0.1.17"
-diff --git a/vendor/nu-ansi-term/Cargo.toml b/vendor/nu-ansi-term/Cargo.toml
+diff --git a/vendor/nu-ansi-term-0.46.0/Cargo.toml b/vendor/nu-ansi-term-0.46.0/Cargo.toml
index 209e055..aa40f02 100644
---- a/vendor/nu-ansi-term/Cargo.toml
-+++ b/vendor/nu-ansi-term/Cargo.toml
+--- a/vendor/nu-ansi-term-0.46.0/Cargo.toml
++++ b/vendor/nu-ansi-term-0.46.0/Cargo.toml
@@ -45,13 +45,3 @@ version = "1.0.39"
[features]
@@ -602,31 +610,11 @@ index 52a062f..e1f347b 100644
- "winerror",
- "winreg",
-]
-diff --git a/vendor/parking_lot_core-0.8.6/Cargo.toml b/vendor/parking_lot_core-0.8.6/Cargo.toml
-index 6981516..9fb8bd2 100644
---- a/vendor/parking_lot_core-0.8.6/Cargo.toml
-+++ b/vendor/parking_lot_core-0.8.6/Cargo.toml
-@@ -60,15 +60,3 @@ version = "0.2.8"
-
- [target."cfg(unix)".dependencies.libc]
- version = "0.2.95"
--
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3.9"
--features = [
-- "winnt",
-- "ntstatus",
-- "minwindef",
-- "winerror",
-- "winbase",
-- "errhandlingapi",
-- "handleapi",
--]
diff --git a/vendor/parking_lot_core/Cargo.toml b/vendor/parking_lot_core/Cargo.toml
-index d76740d..7da23fc 100644
+index 83d9f23..dbe1534 100644
--- a/vendor/parking_lot_core/Cargo.toml
+++ b/vendor/parking_lot_core/Cargo.toml
-@@ -57,6 +57,3 @@ version = "0.3"
+@@ -61,6 +61,3 @@ version = "0.4"
[target."cfg(unix)".dependencies.libc]
version = "0.2.95"
@@ -645,7 +633,7 @@ index bca6039..c735e2f 100644
-[target."cfg(windows)".dependencies.winreg]
-version = "0.10"
diff --git a/vendor/rustix/Cargo.toml b/vendor/rustix/Cargo.toml
-index 78cdf49..37249c3 100644
+index f05faec..970c4a9 100644
--- a/vendor/rustix/Cargo.toml
+++ b/vendor/rustix/Cargo.toml
@@ -252,20 +252,3 @@ package = "errno"
@@ -654,12 +642,12 @@ index 78cdf49..37249c3 100644
optional = true
-
-[target."cfg(windows)".dependencies.libc_errno]
--version = "0.3.1"
+-version = "0.3.8"
-default-features = false
-package = "errno"
-
-[target."cfg(windows)".dependencies.windows-sys]
--version = "0.48.0"
+-version = "0.52.0"
-features = [
- "Win32_Foundation",
- "Win32_Networking_WinSock",
@@ -701,14 +689,13 @@ index 2cb92d6..52e12d2 100644
-features = ["Win32_Foundation"]
-optional = true
diff --git a/vendor/socket2/Cargo.toml b/vendor/socket2/Cargo.toml
-index 3f1578c..bdac898 100644
+index ec3bc6a..59068eb 100644
--- a/vendor/socket2/Cargo.toml
+++ b/vendor/socket2/Cargo.toml
-@@ -58,11 +58,3 @@ all = []
-
+@@ -59,10 +59,3 @@ all = []
[target."cfg(unix)".dependencies.libc]
- version = "0.2.139"
--
+ version = "0.2.149"
+
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3.9"
-features = [
diff --git a/debian/patches/series b/debian/patches/series
index 9cf609ebd..444231604 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,77 +1,48 @@
-# Cargo patches
-c-2002_disable-net-tests.patch
-c-2003-workaround-qemu-vfork-command-not-found.patch
-
-c-2200-workaround-x32-test.patch
-c-disable-fs-specific-test.patch
-c-0003-tests-add-missing-cross-disabled-checks.patch
-
-# Patches for upstream
-
-# pending, or forwarded
-u-reproducible-build.patch
-u-fix-get-toml-when-test.patch
-u-riscv-disable-unpacked-split-debuginfo.patch
-u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
-u-hurd-backtrace.patch
-u-hurd-getrandom.patch
-u-hurd-libc.3.patch
-u-hurd-libc.4.patch
-u-hurd-libloading-0.7.4.patch
-u-hurd-socket2.patch
-
-# not forwarded, or forwarded but unlikely to be merged
-u-ignore-ppc-hangs.patch
-u-rustc-llvm-cross-flags.patch
-#u-allow-system-compiler-rt.patch
-u-hurd-tests.patch
-d-ignore-test_arc_condvar_poison-ppc.patch
-
-# Debian-specific patches, not suitable for upstream
-d-disable-download-tests.patch
-
-## Patches needed by debian/prune-unused-deps, for building bootstrap
-d-0000-ignore-removed-submodules.patch
-d-0001-pkg-config-no-special-snowflake.patch
-d-0002-mdbook-strip-embedded-libs.patch
-d-0003-cc-psm-rebuild-wasm32.patch
-#d-0004-clippy-feature-sync.patch
-d-0005-no-jemalloc.patch
-# cargo
-d-0010-cargo-remove-vendored-c-crates.patch
-d-0011-cargo-remove-nghttp2.patch
-d-0012-cargo-always-return-dev-channel.patch
-
-## Patches to the build process, including doc path tweaks
-## Should not change resulting rustc behaviour
-d-bootstrap-rustflags.patch
-d-bootstrap-install-symlinks.patch
-d-bootstrap-disable-git.patch
-d-bootstrap-no-assume-tools.patch
-d-bootstrap-cargo-doc-paths.patch
-d-bootstrap-use-local-css.patch
-d-bootstrap-custom-debuginfo-path.patch
-d-bootstrap-permit-symlink-in-docs.patch
-d-test-ignore-avx-44056.patch
-d-armel-fix-lldb.patch
-
-# Work around for some porterboxes, keep this commented
-#d-test-host-duplicates.patch
-# Experimental patch not yet working
-#d-bootstrap-use-system-compiler-rt.patch
-
-## Patches to rustc behaviour, including path lookup tweaks
-d-rust-gdb-paths
-d-rust-lldb-paths
-d-rustc-add-soname.patch
-d-rustc-windows-ssp.patch
-d-rustc-i686-baseline.patch
-# Experimental patch not yet working
-#d-rustc-prefer-dynamic.patch
-d-rustdoc-disable-embedded-fonts.patch
-
-# cherry-picked from ubuntu
-ubuntu-disable-ppc64el-asm-tests.patch
-ubuntu-ignore-arm-doctest.patch
-d-0020-remove-windows-dependencies.patch
-d-0021-vendor-remove-windows-dependencies.patch
+cargo/c-2002_disable-net-tests.patch
+cargo/c-2003-workaround-qemu-vfork-command-not-found.patch
+cargo/c-2200-workaround-x32-test.patch
+cargo/c-disable-fs-specific-test.patch
+cargo/c-0003-tests-add-missing-cross-disabled-checks.patch
+cargo/d-0012-cargo-always-return-dev-channel.patch
+upstream/u-fix-get-toml-when-test.patch
+upstream/u-riscv-disable-unpacked-split-debuginfo.patch
+upstream/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
+upstream/u-ignore-ppc-hangs.patch
+upstream/u-rustc-llvm-cross-flags.patch
+upstream/u-hurd-tests.patch
+upstream/d-ignore-test_arc_condvar_poison-ppc.patch
+upstream/d-disable-download-tests.patch
+prune/d-0000-ignore-removed-submodules.patch
+prune/d-0001-pkg-config-no-special-snowflake.patch
+prune/d-0002-mdbook-strip-embedded-libs.patch
+prune/d-0005-no-jemalloc.patch
+prune/d-0010-cargo-remove-vendored-c-crates.patch
+prune/d-0011-cargo-remove-nghttp2.patch
+prune/d-0020-remove-windows-dependencies.patch
+prune/d-0021-vendor-remove-windows-dependencies.patch
+vendor/u-hurd-backtrace.patch
+vendor/u-hurd-gix-index.patch
+vendor/u-hurd-gix-index-2.patch
+vendor/u-hurd-libc.3.patch
+vendor/u-hurd-libc.4.patch
+vendor/u-hurd-libloading-0.7.4.patch
+vendor/u-hurd-socket2.patch
+vendor/d-0003-cc-psm-rebuild-wasm32.patch
+build/d-bootstrap-rustflags.patch
+build/d-bootstrap-install-symlinks.patch
+build/d-bootstrap-disable-git.patch
+build/d-bootstrap-no-assume-tools.patch
+build/d-bootstrap-cargo-doc-paths.patch
+build/d-bootstrap-use-local-css.patch
+build/d-bootstrap-custom-debuginfo-path.patch
+build/d-bootstrap-permit-symlink-in-docs.patch
+build/d-test-ignore-avx-44056.patch
+build/d-armel-fix-lldb.patch
+behaviour/d-rust-gdb-paths.patch
+behaviour/d-rust-lldb-paths.patch
+behaviour/d-rustc-add-soname.patch
+behaviour/d-rustc-windows-ssp.patch
+behaviour/d-rustc-i686-baseline.patch
+behaviour/d-rustdoc-disable-embedded-fonts.patch
+ubuntu/ubuntu-disable-ppc64el-asm-tests.patch
+ubuntu/ubuntu-ignore-arm-doctest.patch
diff --git a/debian/patches/u-allow-system-compiler-rt.patch b/debian/patches/u-allow-system-compiler-rt.patch
deleted file mode 100644
index 3bd874a5c..000000000
--- a/debian/patches/u-allow-system-compiler-rt.patch
+++ /dev/null
@@ -1,327 +0,0 @@
-Description: Support linking against system clang libs
- Note: the above PR only covers the compiler_builtins crate, rustc itself also
- needs patching as per below once that is accepted.
-Forwarded: https://github.com/rust-lang-nursery/compiler-builtins/pull/296
---- a/vendor/compiler_builtins/Cargo.toml
-+++ b/vendor/compiler_builtins/Cargo.toml
-@@ -43,7 +43,13 @@
- optional = true
-
- [features]
--c = ["cc"]
-+c-vendor = ["cc"]
-+
-+# Link against system clang_rt.* libraries.
-+# LLVM_CONFIG or CLANG (more reliable) must be set.
-+c-system = []
-+
-+c = ["c-vendor"]
- compiler-builtins = []
- default = ["compiler-builtins"]
- mangled-names = []
---- a/vendor/compiler_builtins/build.rs
-+++ b/vendor/compiler_builtins/build.rs
-@@ -37,7 +37,7 @@
- // mangling names though we assume that we're also in test mode so we don't
- // build anything and we rely on the upstream implementation of compiler-rt
- // functions
-- if !cfg!(feature = "mangled-names") && cfg!(feature = "c") {
-+ if !cfg!(feature = "mangled-names") && cfg!(any(feature = "c-vendor", feature = "c-system")) {
- // Don't use a C compiler for these targets:
- //
- // * wasm32 - clang 8 for wasm is somewhat hard to come by and it's
-@@ -47,8 +47,10 @@
- // compiler nor is cc-rs ready for compilation to riscv (at this
- // time). This can probably be removed in the future
- if !target.contains("wasm32") && !target.contains("nvptx") && !target.starts_with("riscv") {
-- #[cfg(feature = "c")]
-- c::compile(&llvm_target);
-+ #[cfg(feature = "c-vendor")]
-+ c_vendor::compile(&llvm_target);
-+ #[cfg(feature = "c-system")]
-+ c_system::compile(&llvm_target);
- }
- }
-
-@@ -70,17 +72,14 @@
- }
- }
-
--#[cfg(feature = "c")]
--mod c {
-- extern crate cc;
--
-+#[cfg(any(feature = "c-vendor", feature = "c-system"))]
-+mod sources {
- use std::collections::BTreeMap;
- use std::env;
-- use std::path::PathBuf;
-
-- struct Sources {
-+ pub struct Sources {
- // SYMBOL -> PATH TO SOURCE
-- map: BTreeMap<&'static str, &'static str>,
-+ pub map: BTreeMap<&'static str, &'static str>,
- }
-
- impl Sources {
-@@ -117,39 +116,11 @@
- }
- }
-
-- /// Compile intrinsics from the compiler-rt C source code
-- pub fn compile(llvm_target: &[&str]) {
-+ pub fn get_sources(llvm_target: &[&str]) -> Sources {
- let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
- let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap();
- let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap();
- let target_vendor = env::var("CARGO_CFG_TARGET_VENDOR").unwrap();
-- let cfg = &mut cc::Build::new();
--
-- cfg.warnings(false);
--
-- if target_env == "msvc" {
-- // Don't pull in extra libraries on MSVC
-- cfg.flag("/Zl");
--
-- // Emulate C99 and C++11's __func__ for MSVC prior to 2013 CTP
-- cfg.define("__func__", Some("__FUNCTION__"));
-- } else {
-- // Turn off various features of gcc and such, mostly copying
-- // compiler-rt's build system already
-- cfg.flag("-fno-builtin");
-- cfg.flag("-fvisibility=hidden");
-- cfg.flag("-ffreestanding");
-- // Avoid the following warning appearing once **per file**:
-- // clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
-- //
-- // Note that compiler-rt's build system also checks
-- //
-- // `check_cxx_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG)`
-- //
-- // in https://github.com/rust-lang/compiler-rt/blob/c8fbcb3/cmake/config-ix.cmake#L19.
-- cfg.flag_if_supported("-fomit-frame-pointer");
-- cfg.define("VISIBILITY_HIDDEN", None);
-- }
-
- let mut sources = Sources::new();
- sources.extend(&[
-@@ -411,6 +382,48 @@
- sources.remove(&["__aeabi_cdcmp", "__aeabi_cfcmp"]);
- }
-
-+ sources
-+ }
-+}
-+
-+#[cfg(feature = "c-vendor")]
-+mod c_vendor {
-+ extern crate cc;
-+
-+ use std::env;
-+ use std::path::PathBuf;
-+ use sources;
-+
-+ /// Compile intrinsics from the compiler-rt C source code
-+ pub fn compile(llvm_target: &[&str]) {
-+ let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap();
-+ let cfg = &mut cc::Build::new();
-+ cfg.warnings(false);
-+
-+ if target_env == "msvc" {
-+ // Don't pull in extra libraries on MSVC
-+ cfg.flag("/Zl");
-+
-+ // Emulate C99 and C++11's __func__ for MSVC prior to 2013 CTP
-+ cfg.define("__func__", Some("__FUNCTION__"));
-+ } else {
-+ // Turn off various features of gcc and such, mostly copying
-+ // compiler-rt's build system already
-+ cfg.flag("-fno-builtin");
-+ cfg.flag("-fvisibility=hidden");
-+ cfg.flag("-ffreestanding");
-+ // Avoid the following warning appearing once **per file**:
-+ // clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
-+ //
-+ // Note that compiler-rt's build system also checks
-+ //
-+ // `check_cxx_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG)`
-+ //
-+ // in https://github.com/rust-lang/compiler-rt/blob/c8fbcb3/cmake/config-ix.cmake#L19.
-+ cfg.flag_if_supported("-fomit-frame-pointer");
-+ cfg.define("VISIBILITY_HIDDEN", None);
-+ }
-+
- // When compiling the C code we require the user to tell us where the
- // source code is, and this is largely done so when we're compiling as
- // part of rust-lang/rust we can use the same llvm-project repository as
-@@ -423,6 +436,7 @@
- panic!("RUST_COMPILER_RT_ROOT={} does not exist", root.display());
- }
-
-+ let sources = sources::get_sources(llvm_target);
- let src_dir = root.join("lib/builtins");
- for (sym, src) in sources.map.iter() {
- let src = src_dir.join(src);
-@@ -434,3 +448,103 @@
- cfg.compile("libcompiler-rt.a");
- }
- }
-+
-+#[cfg(feature = "c-system")]
-+mod c_system {
-+ use std::env;
-+ use std::process::{Command, Output};
-+ use std::str;
-+ use std::path::Path;
-+ use sources;
-+
-+ fn success_output(err: &str, cmd: &mut Command) -> Output {
-+ let output = cmd.output().expect(err);
-+ let status = output.status;
-+ if !status.success() {
-+ panic!("{}: {:?}", err, status.code());
-+ }
-+ output
-+ }
-+
-+ // This can be obtained by adding the line:
-+ // message(STATUS "All builtin supported architectures: ${ALL_BUILTIN_SUPPORTED_ARCH}")
-+ // to the bottom of compiler-rt/cmake/builtin-config-ix.cmake, then running
-+ // cmake and looking at the output.
-+ const ALL_SUPPORTED_ARCHES : &'static str = "i386;x86_64;arm;armhf;armv6m;armv7m;armv7em;armv7;armv7s;armv7k;aarch64;hexagon;mips;mipsel;mips64;mips64el;powerpc64;powerpc64le;riscv32;riscv64;wasm32;wasm64";
-+
-+ // This function recreates the logic of getArchNameForCompilerRTLib,
-+ // defined in clang/lib/Driver/ToolChain.cpp.
-+ fn get_arch_name_for_compiler_rtlib() -> String {
-+ let target = env::var("TARGET").unwrap();
-+ let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap();
-+ let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap();
-+ let r = match target_arch.as_str() {
-+ "arm" => if target.ends_with("eabihf") && target_os != "windows" {
-+ "armhf"
-+ } else {
-+ "arm"
-+ },
-+ "x86" => if target_os == "android" {
-+ "i686"
-+ } else {
-+ "i386"
-+ },
-+ _ => target_arch.as_str(),
-+ };
-+ r.to_string()
-+ }
-+
-+ /// Link against system clang runtime libraries
-+ pub fn compile(llvm_target: &[&str]) {
-+ let target = env::var("TARGET").unwrap();
-+ let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap();
-+ let compiler_rt_arch = get_arch_name_for_compiler_rtlib();
-+
-+ if ALL_SUPPORTED_ARCHES.split(";").find(|x| *x == compiler_rt_arch) == None {
-+ return;
-+ }
-+
-+ if let Ok(clang) = env::var("CLANG") {
-+ let output = success_output(
-+ "failed to find clang's compiler-rt",
-+ Command::new(clang)
-+ .arg(format!("--target={}", target))
-+ .arg("--rtlib=compiler-rt")
-+ .arg("--print-libgcc-file-name"),
-+ );
-+ let fullpath = Path::new(str::from_utf8(&output.stdout).unwrap());
-+ let libpath = fullpath.parent().unwrap().display();
-+ let libname = fullpath
-+ .file_stem()
-+ .unwrap()
-+ .to_str()
-+ .unwrap()
-+ .trim_start_matches("lib");
-+ println!("cargo:rustc-link-search=native={}", libpath);
-+ println!("cargo:rustc-link-lib=static={}", libname);
-+ } else if let Ok(llvm_config) = env::var("LLVM_CONFIG") {
-+ // fallback if clang is not installed
-+ let (subpath, libname) = match target_os.as_str() {
-+ "linux" => ("linux", format!("clang_rt.builtins-{}", &compiler_rt_arch)),
-+ "macos" => ("darwin", "clang_rt.builtins_osx_dynamic".to_string()),
-+ _ => panic!("unsupported target os: {}", target_os),
-+ };
-+ let cmd = format!("ls -1d $({} --libdir)/clang/*/lib/{}", llvm_config, subpath);
-+ let output = success_output(
-+ "failed to find clang's lib dir",
-+ Command::new("sh").args(&["-ec", &cmd]),
-+ );
-+ for search_dir in str::from_utf8(&output.stdout).unwrap().lines() {
-+ println!("cargo:rustc-link-search=native={}", search_dir);
-+ }
-+ println!("cargo:rustc-link-lib=static={}", libname);
-+ } else {
-+ panic!("neither CLANG nor LLVM_CONFIG could be read");
-+ }
-+
-+ let sources = sources::get_sources(llvm_target);
-+ for (sym, _src) in sources.map.iter() {
-+ println!("cargo:rustc-cfg={}=\"optimized-c\"", sym);
-+ }
-+ }
-+}
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -213,6 +213,7 @@
- emscripten: false,
- });
- cargo.env("LLVM_CONFIG", llvm_config);
-+ cargo.env("RUSTC_BUILD_SANITIZERS", "1");
- }
-
- cargo.arg("--features").arg(features)
---- a/src/librustc_asan/build.rs
-+++ b/src/librustc_asan/build.rs
-@@ -4,6 +4,9 @@
- use cmake::Config;
-
- fn main() {
-+ if env::var("RUSTC_BUILD_SANITIZERS") != Ok("1".to_string()) {
-+ return;
-+ }
- if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
- build_helper::restore_library_path();
-
---- a/src/librustc_lsan/build.rs
-+++ b/src/librustc_lsan/build.rs
-@@ -4,6 +4,9 @@
- use cmake::Config;
-
- fn main() {
-+ if env::var("RUSTC_BUILD_SANITIZERS") != Ok("1".to_string()) {
-+ return;
-+ }
- if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
- build_helper::restore_library_path();
-
---- a/src/librustc_msan/build.rs
-+++ b/src/librustc_msan/build.rs
-@@ -4,6 +4,9 @@
- use cmake::Config;
-
- fn main() {
-+ if env::var("RUSTC_BUILD_SANITIZERS") != Ok("1".to_string()) {
-+ return;
-+ }
- if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
- build_helper::restore_library_path();
-
---- a/src/librustc_tsan/build.rs
-+++ b/src/librustc_tsan/build.rs
-@@ -4,6 +4,9 @@
- use cmake::Config;
-
- fn main() {
-+ if env::var("RUSTC_BUILD_SANITIZERS") != Ok("1".to_string()) {
-+ return;
-+ }
- if let Some(llvm_config) = env::var_os("LLVM_CONFIG") {
- build_helper::restore_library_path();
-
diff --git a/debian/patches/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch b/debian/patches/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
deleted file mode 100644
index f3a3b52c9..000000000
--- a/debian/patches/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c230637b92a3101a5b18141b75f94ada2edee776 Mon Sep 17 00:00:00 2001
-From: Pietro Albini <pietro.albini@ferrous-systems.com>
-Date: Fri, 15 Sep 2023 16:09:45 +0200
-Subject: [PATCH] avoid blessing cargo deps's source code in ui tests
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-FG: just the stderr part for now, the rest needs a newer cargo
-Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
----
- tests/ui/issues/issue-21763.stderr | 3 ---
- 4 files changed, 20 insertions(+), 3 deletions(-)
-
-Index: rust/tests/ui/issues/issue-21763.rs
-===================================================================
---- rust.orig/tests/ui/issues/issue-21763.rs
-+++ rust/tests/ui/issues/issue-21763.rs
-@@ -1,6 +1,6 @@
- // Regression test for HashMap only impl'ing Send/Sync if its contents do
-
--// normalize-stderr-test: "\S+hashbrown-\S+" -> "$$HASHBROWN_SRC_LOCATION"
-+// normalize-stderr-test: "\S+[\\/]hashbrown\S+" -> "$$HASHBROWN_SRC_LOCATION"
-
- use std::collections::HashMap;
- use std::rc::Rc;
diff --git a/debian/patches/u-hurd-getrandom.patch b/debian/patches/u-hurd-getrandom.patch
deleted file mode 100644
index 887033800..000000000
--- a/debian/patches/u-hurd-getrandom.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-https://github.com/rust-random/getrandom/pull/370
-
-commit c96bfff10ba20326fc5a89bc7f51056ce8e19e38
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Tue Aug 29 19:45:37 2023 +0000
-
- Add GNU/Hurd support
-
- Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
-
-diff --git a/vendor/getrandom/src/hurd.rs b/vendor/getrandom/src/hurd.rs
-new file mode 100644
-index 0000000..842b9bc
---- /dev/null
-+++ b/vendor/getrandom/src/hurd.rs
-@@ -0,0 +1,18 @@
-+// Copyright 2021 Developers of the Rand project.
-+//
-+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-+// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-+// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
-+// option. This file may not be copied, modified, or distributed
-+// except according to those terms.
-+
-+//! Implementation for GNU/Hurd
-+use crate::util_libc::sys_fill_exact;
-+use crate::Error;
-+use core::mem::MaybeUninit;
-+
-+pub fn getrandom_inner(dest: &mut [MaybeUninit<u8>]) -> Result<(), Error> {
-+ sys_fill_exact(dest, |buf| unsafe {
-+ libc::getrandom(buf.as_mut_ptr() as *mut libc::c_void, buf.len(), 0)
-+ })
-+}
-diff --git a/vendor/getrandom/src/lib.rs b/vendor/getrandom/src/lib.rs
-index fbfe729..6336098 100644
---- a/vendor/getrandom/src/lib.rs
-+++ b/vendor/getrandom/src/lib.rs
-@@ -25,6 +25,7 @@
- //! | Redox | `*‑redox` | `/dev/urandom`
- //! | Haiku | `*‑haiku` | `/dev/urandom` (identical to `/dev/random`)
- //! | Hermit | `*-hermit` | [`sys_read_entropy`]
-+//! | Hurd | `*-hurd-*` | [`getrandom`][17]
- //! | SGX | `x86_64‑*‑sgx` | [`RDRAND`]
- //! | VxWorks | `*‑wrs‑vxworks‑*` | `randABytes` after checking entropy pool initialization with `randSecure`
- //! | ESP-IDF | `*‑espidf` | [`esp_fill_random`]
-@@ -166,6 +167,7 @@
- //! [14]: https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.utilities/topic/r/random.html
- //! [15]: https://www.ibm.com/docs/en/aix/7.3?topic=files-random-urandom-devices
- //! [16]: https://man.netbsd.org/getrandom.2
-+//! [17]: https://www.gnu.org/software/libc/manual/html_mono/libc.html#index-getrandom
- //!
- //! [`BCryptGenRandom`]: https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom
- //! [`Crypto.getRandomValues`]: https://www.w3.org/TR/WebCryptoAPI/#Crypto-method-getRandomValues
-@@ -278,6 +280,9 @@ cfg_if! {
- any(target_arch = "wasm32", target_arch = "wasm64"),
- target_os = "unknown"))] {
- #[path = "js.rs"] mod imp;
-+ } else if #[cfg(target_os = "hurd")] {
-+ mod util_libc;
-+ #[path = "hurd.rs"] mod imp;
- } else if #[cfg(feature = "custom")] {
- use custom as imp;
- } else if #[cfg(all(any(target_arch = "wasm32", target_arch = "wasm64"),
-diff --git a/vendor/getrandom/src/util_libc.rs b/vendor/getrandom/src/util_libc.rs
-index 4b94144..99bee38 100644
---- a/vendor/getrandom/src/util_libc.rs
-+++ b/vendor/getrandom/src/util_libc.rs
-@@ -19,7 +19,7 @@ use libc::c_void;
- cfg_if! {
- if #[cfg(any(target_os = "netbsd", target_os = "openbsd", target_os = "android"))] {
- use libc::__errno as errno_location;
-- } else if #[cfg(any(target_os = "linux", target_os = "emscripten", target_os = "redox"))] {
-+ } else if #[cfg(any(target_os = "linux", target_os = "emscripten", target_os = "hurd", target_os = "redox"))] {
- use libc::__errno_location as errno_location;
- } else if #[cfg(any(target_os = "solaris", target_os = "illumos"))] {
- use libc::___errno as errno_location;
diff --git a/debian/patches/u-hurd-tests.patch b/debian/patches/u-hurd-tests.patch
deleted file mode 100644
index 15eacdcf2..000000000
--- a/debian/patches/u-hurd-tests.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-These tests hang or make the box OOM
-
-Index: rust/tests/ui/associated-consts/issue-93775.rs
-===================================================================
---- rust.orig/tests/ui/associated-consts/issue-93775.rs
-+++ rust/tests/ui/associated-consts/issue-93775.rs
-@@ -1,5 +1,6 @@
- // build-pass
- // ignore-tidy-linelength
-+// ignore-hurd
-
- // Regression for #93775, needs build-pass to test it.
-
-Index: rust/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
-===================================================================
---- rust.orig/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
-+++ rust/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
-@@ -1,5 +1,6 @@
- // build-pass
- // ignore-tidy-filelength
-+// ignore-hurd
- #![crate_type = "rlib"]
-
- fn banana(v: &str) -> u32 {
-Index: rust/tests/ui/threads-sendsync/mpsc_stress.rs
-===================================================================
---- rust.orig/tests/ui/threads-sendsync/mpsc_stress.rs
-+++ rust/tests/ui/threads-sendsync/mpsc_stress.rs
-@@ -1,6 +1,7 @@
- // run-pass
- // compile-flags:--test
- // ignore-emscripten
-+// ignore-hurd
-
- use std::sync::mpsc::channel;
- use std::sync::mpsc::TryRecvError;
-Index: rust/tests/run-make/long-linker-command-lines/foo.rs
-===================================================================
---- rust.orig/tests/run-make/long-linker-command-lines/foo.rs
-+++ rust/tests/run-make/long-linker-command-lines/foo.rs
-@@ -44,6 +44,13 @@ fn read_linker_args(path: &Path) -> Stri
- }
- }
-
-+#[cfg(target_os = "hurd")]
-+// Debian: test causes build to fail on hurd
-+fn main() {
-+ return;
-+}
-+
-+#[cfg(not(target_os = "hurd"))]
- fn main() {
- let tmpdir = PathBuf::from(env::var_os("TMPDIR").unwrap());
- let ok = tmpdir.join("ok");
diff --git a/debian/patches/u-reproducible-build.patch b/debian/patches/u-reproducible-build.patch
deleted file mode 100644
index f0823703e..000000000
--- a/debian/patches/u-reproducible-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Ximin Luo <infinity0@debian.org>
-Date: Thu, 14 Jul 2022 13:17:37 +0200
-Subject: Don't split dwarf debug for a fully-reproducible build
-
-Bug: https://github.com/rust-lang/rust/issues/34902
----
- compiler/rustc_llvm/build.rs | 5 +++++
- 1 file changed, 5 insertions(+)
-
-Index: rust/compiler/rustc_llvm/build.rs
-===================================================================
---- rust.orig/compiler/rustc_llvm/build.rs
-+++ rust/compiler/rustc_llvm/build.rs
-@@ -180,6 +180,11 @@ fn main() {
- let mut cfg = cc::Build::new();
- cfg.warnings(false);
- for flag in cxxflags.split_whitespace() {
-+ // Split-dwarf gives unreproducible DW_AT_GNU_dwo_id so don't do it
-+ if flag == "-gsplit-dwarf" {
-+ continue;
-+ }
-+
- // Ignore flags like `-m64` when we're doing a cross build
- if is_crossed && flag.starts_with("-m") {
- continue;
diff --git a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
deleted file mode 100644
index 341d5f0af..000000000
--- a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Index: rust/compiler/rustc_lint_defs/src/builtin.rs
-===================================================================
---- rust.orig/compiler/rustc_lint_defs/src/builtin.rs
-+++ rust/compiler/rustc_lint_defs/src/builtin.rs
-@@ -2883,11 +2883,13 @@ declare_lint! {
- ///
- /// use std::arch::asm;
- ///
-+ /// #[cfg(not(any(target_arch = "powerpc64", target_arch = "s390x")))]
- /// #[naked]
- /// pub fn default_abi() -> u32 {
- /// unsafe { asm!("", options(noreturn)); }
- /// }
- ///
-+ /// #[cfg(not(any(target_arch = "powerpc64", target_arch = "s390x")))]
- /// #[naked]
- /// pub extern "Rust" fn rust_abi() -> u32 {
- /// unsafe { asm!("", options(noreturn)); }
-Index: rust/compiler/rustc_lint/src/builtin.rs
-===================================================================
---- rust.orig/compiler/rustc_lint/src/builtin.rs
-+++ rust/compiler/rustc_lint/src/builtin.rs
-@@ -3112,7 +3112,10 @@ declare_lint! {
- /// ### Example
- ///
- /// ```rust,compile_fail
-- /// # #![feature(asm_experimental_arch)]
-+ /// #![cfg_attr(
-+ /// not(any(target_arch = "powerpc64", target_arch = "s390x")),
-+ /// feature(asm_experimental_arch)
-+ /// )]
- /// use std::arch::asm;
- ///
- /// fn main() {
diff --git a/debian/patches/ubuntu-ignore-arm-doctest.patch b/debian/patches/ubuntu-ignore-arm-doctest.patch
deleted file mode 100644
index a70e4741f..000000000
--- a/debian/patches/ubuntu-ignore-arm-doctest.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Description: Disable the doctests for the instruction_set errors
- The fix is as described in the upstream issue.
-Author: Simon Chopin <simon.chopin@canonical.com>
-Bug: https://github.com/rust-lang/rust/issues/83453
-Last-Update: 2022-02-23
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0778.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0778.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0778.md
-@@ -16,7 +16,7 @@ specified:
- ```
- #![feature(isa_attribute)]
-
--#[cfg_attr(target_arch="arm", instruction_set(arm::a32))]
-+#[cfg_attr(all(target_arch="arm", target_os="none"), instruction_set(arm::a32))]
- fn something() {}
- ```
-
-@@ -25,7 +25,7 @@ or:
- ```
- #![feature(isa_attribute)]
-
--#[cfg_attr(target_arch="arm", instruction_set(arm::t32))]
-+#[cfg_attr(all(target_arch="arm", target_os="none"), instruction_set(arm::t32))]
- fn something() {}
- ```
-
-Index: rust/compiler/rustc_error_codes/src/error_codes/E0779.md
-===================================================================
---- rust.orig/compiler/rustc_error_codes/src/error_codes/E0779.md
-+++ rust/compiler/rustc_error_codes/src/error_codes/E0779.md
-@@ -21,7 +21,7 @@ error. Example:
- ```
- #![feature(isa_attribute)]
-
--#[cfg_attr(target_arch="arm", instruction_set(arm::a32))] // ok!
-+#[cfg_attr(all(target_arch="arm", target_os="none"), instruction_set(arm::a32))] // ok!
- pub fn something() {}
- fn main() {}
- ```
diff --git a/debian/patches/ubuntu/ubuntu-disable-ppc64el-asm-tests.patch b/debian/patches/ubuntu/ubuntu-disable-ppc64el-asm-tests.patch
new file mode 100644
index 000000000..8049a1806
--- /dev/null
+++ b/debian/patches/ubuntu/ubuntu-disable-ppc64el-asm-tests.patch
@@ -0,0 +1,44 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:41 +0200
+Subject: ubuntu-disable-ppc64el-asm-tests
+
+Forwarded: not-needed
+---
+ compiler/rustc_lint/src/builtin.rs | 5 ++++-
+ compiler/rustc_lint_defs/src/builtin.rs | 2 ++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/compiler/rustc_lint/src/builtin.rs b/compiler/rustc_lint/src/builtin.rs
+index 045ff38..3472290 100644
+--- a/compiler/rustc_lint/src/builtin.rs
++++ b/compiler/rustc_lint/src/builtin.rs
+@@ -2700,7 +2700,10 @@ declare_lint! {
+ /// ### Example
+ ///
+ /// ```rust,compile_fail
+- /// # #![feature(asm_experimental_arch)]
++ /// #![cfg_attr(
++ /// not(any(target_arch = "powerpc64", target_arch = "s390x")),
++ /// feature(asm_experimental_arch)
++ /// )]
+ /// use std::arch::asm;
+ ///
+ /// fn main() {
+diff --git a/compiler/rustc_lint_defs/src/builtin.rs b/compiler/rustc_lint_defs/src/builtin.rs
+index f9b6623..b4f5c7b 100644
+--- a/compiler/rustc_lint_defs/src/builtin.rs
++++ b/compiler/rustc_lint_defs/src/builtin.rs
+@@ -3046,11 +3046,13 @@ declare_lint! {
+ ///
+ /// use std::arch::asm;
+ ///
++ /// #[cfg(not(any(target_arch = "powerpc64", target_arch = "s390x")))]
+ /// #[naked]
+ /// pub fn default_abi() -> u32 {
+ /// unsafe { asm!("", options(noreturn)); }
+ /// }
+ ///
++ /// #[cfg(not(any(target_arch = "powerpc64", target_arch = "s390x")))]
+ /// #[naked]
+ /// pub extern "Rust" fn rust_abi() -> u32 {
+ /// unsafe { asm!("", options(noreturn)); }
diff --git a/debian/patches/ubuntu/ubuntu-ignore-arm-doctest.patch b/debian/patches/ubuntu/ubuntu-ignore-arm-doctest.patch
new file mode 100644
index 000000000..4249b18e6
--- /dev/null
+++ b/debian/patches/ubuntu/ubuntu-ignore-arm-doctest.patch
@@ -0,0 +1,48 @@
+From: Simon Chopin <simon.chopin@canonical.com>
+Date: Thu, 13 Jun 2024 11:16:41 +0200
+Subject: Disable the doctests for the instruction_set errors
+
+Bug: https://github.com/rust-lang/rust/issues/83453
+Last-Update: 2022-02-23
+
+The fix is as described in the upstream issue.
+---
+ compiler/rustc_error_codes/src/error_codes/E0778.md | 4 ++--
+ compiler/rustc_error_codes/src/error_codes/E0779.md | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0778.md b/compiler/rustc_error_codes/src/error_codes/E0778.md
+index 467362d..d5688c2 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0778.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0778.md
+@@ -16,7 +16,7 @@ specified:
+ ```
+ #![feature(isa_attribute)]
+
+-#[cfg_attr(target_arch="arm", instruction_set(arm::a32))]
++#[cfg_attr(all(target_arch="arm", target_os="none"), instruction_set(arm::a32))]
+ fn something() {}
+ ```
+
+@@ -25,7 +25,7 @@ or:
+ ```
+ #![feature(isa_attribute)]
+
+-#[cfg_attr(target_arch="arm", instruction_set(arm::t32))]
++#[cfg_attr(all(target_arch="arm", target_os="none"), instruction_set(arm::t32))]
+ fn something() {}
+ ```
+
+diff --git a/compiler/rustc_error_codes/src/error_codes/E0779.md b/compiler/rustc_error_codes/src/error_codes/E0779.md
+index 146e20c..9d23322 100644
+--- a/compiler/rustc_error_codes/src/error_codes/E0779.md
++++ b/compiler/rustc_error_codes/src/error_codes/E0779.md
+@@ -21,7 +21,7 @@ error. Example:
+ ```
+ #![feature(isa_attribute)]
+
+-#[cfg_attr(target_arch="arm", instruction_set(arm::a32))] // ok!
++#[cfg_attr(all(target_arch="arm", target_os="none"), instruction_set(arm::a32))] // ok!
+ pub fn something() {}
+ fn main() {}
+ ```
diff --git a/debian/patches/d-disable-download-tests.patch b/debian/patches/upstream/d-disable-download-tests.patch
index 48458cca2..85700f999 100644
--- a/debian/patches/d-disable-download-tests.patch
+++ b/debian/patches/upstream/d-disable-download-tests.patch
@@ -1,7 +1,16 @@
-Index: rust/src/bootstrap/src/tests/config.rs
-===================================================================
---- rust.orig/src/bootstrap/src/tests/config.rs
-+++ rust/src/bootstrap/src/tests/config.rs
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:39 +0200
+Subject: d-disable-download-tests
+
+Forwarded: no
+---
+ src/bootstrap/src/tests/config.rs | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/bootstrap/src/tests/config.rs b/src/bootstrap/src/tests/config.rs
+index 6f43234..0f1471d 100644
+--- a/src/bootstrap/src/tests/config.rs
++++ b/src/bootstrap/src/tests/config.rs
@@ -18,6 +18,9 @@ fn parse(config: &str) -> Config {
#[test]
diff --git a/debian/patches/upstream/d-ignore-test_arc_condvar_poison-ppc.patch b/debian/patches/upstream/d-ignore-test_arc_condvar_poison-ppc.patch
new file mode 100644
index 000000000..491e51bf3
--- /dev/null
+++ b/debian/patches/upstream/d-ignore-test_arc_condvar_poison-ppc.patch
@@ -0,0 +1,21 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:39 +0200
+Subject: d-ignore-test_arc_condvar_poison-ppc
+
+Forwarded: no
+---
+ library/std/src/sync/mutex/tests.rs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/library/std/src/sync/mutex/tests.rs b/library/std/src/sync/mutex/tests.rs
+index 1786a3c..812ec51 100644
+--- a/library/std/src/sync/mutex/tests.rs
++++ b/library/std/src/sync/mutex/tests.rs
+@@ -145,6 +145,7 @@ fn test_mutex_arc_condvar() {
+ }
+ }
+
++#[cfg(not(target_arch = "powerpc"))]
+ #[test]
+ fn test_arc_condvar_poison() {
+ let packet = Packet(Arc::new((Mutex::new(1), Condvar::new())));
diff --git a/debian/patches/upstream/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch b/debian/patches/upstream/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
new file mode 100644
index 000000000..905b2b075
--- /dev/null
+++ b/debian/patches/upstream/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch
@@ -0,0 +1,47 @@
+From: Josh Stone <jistone@redhat.com>
+Date: Mon, 8 Apr 2024 15:04:44 -0700
+Subject: [PATCH] Fix UI tests with dist-vendored dependencies
+
+There is already a workaround in `compiletest` to deal with custom
+`CARGO_HOME` using `-Zignore-directory-in-diagnostics-source-blocks={}`.
+A similar need exists when dependencies come from the local `vendor`
+directory, which distro builds often use, so now we ignore that too.
+
+Also, `issue-21763.rs` was normalizing `hashbrown-` paths, presumably
+expecting a version suffix, but the vendored path doesn't include the
+version. Now that matches `[\\/]hashbrown` instead.
+
+Forwarded: yes
+---
+ src/tools/compiletest/src/runtest.rs | 5 +++++
+ tests/ui/issues/issue-21763.rs | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
+index 5d53a4d..9bb30ad 100644
+--- a/src/tools/compiletest/src/runtest.rs
++++ b/src/tools/compiletest/src/runtest.rs
+@@ -2342,6 +2342,11 @@ impl<'test> TestCx<'test> {
+ "ignore-directory-in-diagnostics-source-blocks={}",
+ home::cargo_home().expect("failed to find cargo home").to_str().unwrap()
+ ));
++ // Similarly, vendored sources shouldn't be shown when running from a dist tarball.
++ rustc.arg("-Z").arg(format!(
++ "ignore-directory-in-diagnostics-source-blocks={}",
++ self.config.find_rust_src_root().unwrap().join("vendor").display(),
++ ));
+
+ // Optionally prevent default --sysroot if specified in test compile-flags.
+ if !self.props.compile_flags.iter().any(|flag| flag.starts_with("--sysroot"))
+diff --git a/tests/ui/issues/issue-21763.rs b/tests/ui/issues/issue-21763.rs
+index 38103ff..cc1a006 100644
+--- a/tests/ui/issues/issue-21763.rs
++++ b/tests/ui/issues/issue-21763.rs
+@@ -1,6 +1,6 @@
+ // Regression test for HashMap only impl'ing Send/Sync if its contents do
+
+-// normalize-stderr-test: "\S+hashbrown-\S+" -> "$$HASHBROWN_SRC_LOCATION"
++// normalize-stderr-test: "\S+[\\/]hashbrown\S+" -> "$$HASHBROWN_SRC_LOCATION"
+
+ use std::collections::HashMap;
+ use std::rc::Rc;
diff --git a/debian/patches/u-fix-get-toml-when-test.patch b/debian/patches/upstream/u-fix-get-toml-when-test.patch
index 09ba0552e..cbe054b73 100644
--- a/debian/patches/u-fix-get-toml-when-test.patch
+++ b/debian/patches/upstream/u-fix-get-toml-when-test.patch
@@ -1,16 +1,23 @@
-Description: Fix get_toml() when cfg(test)
- When cfg(test), Config::parse doesn't parse a config.toml but uses default
- values, failing when the initial rustc is needed. This is a workaround before
- upstream issue gets solved.
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:38 +0200
+Subject: Fix get_toml() when cfg(test)
+
Bug: https://github.com/rust-lang/rust/issues/105766
Last-Update: 2023-03-29
+
+When cfg(test), Config::parse doesn't parse a config.toml but uses default
+values, failing when the initial rustc is needed. This is a workaround before
+upstream issue gets solved.
+Last-Update: 2023-03-29
---
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: rust/src/bootstrap/src/core/config/config.rs
-===================================================================
---- rust.orig/src/bootstrap/src/core/config/config.rs
-+++ rust/src/bootstrap/src/core/config/config.rs
-@@ -1093,8 +1093,32 @@ impl Config {
+ src/bootstrap/src/core/config/config.rs | 28 ++++++++++++++++++++++++++--
+ 1 file changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
+index f1e1b89..738d2e1 100644
+--- a/src/bootstrap/src/core/config/config.rs
++++ b/src/bootstrap/src/core/config/config.rs
+@@ -1180,8 +1180,32 @@ impl Config {
pub fn parse(args: &[String]) -> Config {
#[cfg(test)]
diff --git a/debian/patches/upstream/u-hurd-tests.patch b/debian/patches/upstream/u-hurd-tests.patch
new file mode 100644
index 000000000..3f2740f32
--- /dev/null
+++ b/debian/patches/upstream/u-hurd-tests.patch
@@ -0,0 +1,64 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Thu, 13 Jun 2024 11:16:39 +0200
+Subject: These tests hang or make the box OOM
+
+Forwarded: no
+---
+ tests/run-make/long-linker-command-lines/foo.rs | 7 +++++++
+ tests/ui/associated-consts/issue-93775.rs | 1 +
+ tests/ui/issues/issue-74564-if-expr-stack-overflow.rs | 1 +
+ tests/ui/threads-sendsync/mpsc_stress.rs | 1 +
+ 4 files changed, 10 insertions(+)
+
+diff --git a/tests/run-make/long-linker-command-lines/foo.rs b/tests/run-make/long-linker-command-lines/foo.rs
+index db238c0..c8ad6b8 100644
+--- a/tests/run-make/long-linker-command-lines/foo.rs
++++ b/tests/run-make/long-linker-command-lines/foo.rs
+@@ -44,6 +44,13 @@ fn read_linker_args(path: &Path) -> String {
+ }
+ }
+
++#[cfg(target_os = "hurd")]
++// Debian: test causes build to fail on hurd
++fn main() {
++ return;
++}
++
++#[cfg(not(target_os = "hurd"))]
+ fn main() {
+ let tmpdir = PathBuf::from(env::var_os("TMPDIR").unwrap());
+ let ok = tmpdir.join("ok");
+diff --git a/tests/ui/associated-consts/issue-93775.rs b/tests/ui/associated-consts/issue-93775.rs
+index db788fe..ae4a64e 100644
+--- a/tests/ui/associated-consts/issue-93775.rs
++++ b/tests/ui/associated-consts/issue-93775.rs
+@@ -1,5 +1,6 @@
+ // build-pass
+ // ignore-tidy-linelength
++// ignore-hurd
+
+ // Regression for #93775, needs build-pass to test it.
+
+diff --git a/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs b/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
+index 36e9932..19c04b6 100644
+--- a/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
++++ b/tests/ui/issues/issue-74564-if-expr-stack-overflow.rs
+@@ -1,5 +1,6 @@
+ // build-pass
+ // ignore-tidy-filelength
++// ignore-hurd
+ #![crate_type = "rlib"]
+
+ fn banana(v: &str) -> u32 {
+diff --git a/tests/ui/threads-sendsync/mpsc_stress.rs b/tests/ui/threads-sendsync/mpsc_stress.rs
+index c2e1912..a0e7b6d 100644
+--- a/tests/ui/threads-sendsync/mpsc_stress.rs
++++ b/tests/ui/threads-sendsync/mpsc_stress.rs
+@@ -1,6 +1,7 @@
+ // run-pass
+ // compile-flags:--test
+ // ignore-emscripten
++// ignore-hurd
+
+ use std::sync::mpsc::channel;
+ use std::sync::mpsc::TryRecvError;
diff --git a/debian/patches/u-ignore-ppc-hangs.patch b/debian/patches/upstream/u-ignore-ppc-hangs.patch
index 705476199..f2311225a 100644
--- a/debian/patches/u-ignore-ppc-hangs.patch
+++ b/debian/patches/upstream/u-ignore-ppc-hangs.patch
@@ -8,11 +8,11 @@ Bug: https://github.com/rust-lang/rust/issues/89607
library/alloc/tests/rc.rs | 1 +
2 files changed, 2 insertions(+)
-Index: rust/library/alloc/tests/arc.rs
-===================================================================
---- rust.orig/library/alloc/tests/arc.rs
-+++ rust/library/alloc/tests/arc.rs
-@@ -96,6 +96,7 @@ const SHARED_ITER_MAX: u16 = 100;
+diff --git a/library/alloc/tests/arc.rs b/library/alloc/tests/arc.rs
+index d564a30..b607abc 100644
+--- a/library/alloc/tests/arc.rs
++++ b/library/alloc/tests/arc.rs
+@@ -95,6 +95,7 @@ const SHARED_ITER_MAX: u16 = 100;
fn assert_trusted_len<I: TrustedLen>(_: &I) {}
@@ -20,11 +20,11 @@ Index: rust/library/alloc/tests/arc.rs
#[test]
fn shared_from_iter_normal() {
// Exercise the base implementation for non-`TrustedLen` iterators.
-Index: rust/library/alloc/tests/rc.rs
-===================================================================
---- rust.orig/library/alloc/tests/rc.rs
-+++ rust/library/alloc/tests/rc.rs
-@@ -92,6 +92,7 @@ const SHARED_ITER_MAX: u16 = 100;
+diff --git a/library/alloc/tests/rc.rs b/library/alloc/tests/rc.rs
+index 499740e..e418a7d 100644
+--- a/library/alloc/tests/rc.rs
++++ b/library/alloc/tests/rc.rs
+@@ -91,6 +91,7 @@ const SHARED_ITER_MAX: u16 = 100;
fn assert_trusted_len<I: TrustedLen>(_: &I) {}
diff --git a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch b/debian/patches/upstream/u-riscv-disable-unpacked-split-debuginfo.patch
index 6ca345e86..ced256d18 100644
--- a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
+++ b/debian/patches/upstream/u-riscv-disable-unpacked-split-debuginfo.patch
@@ -1,4 +1,3 @@
-From 471af8c5a382229e57656798900406e1ec82c5c8 Mon Sep 17 00:00:00 2001
From: kxxt <rsworktech@outlook.com>
Date: Wed, 31 Jan 2024 09:02:18 +0800
Subject: [PATCH] riscv only supports split_debuginfo=off for now
@@ -10,17 +9,17 @@ The packed/unpacked options might be supported in the future.
See upstream issue for more details:
https://github.com/llvm/llvm-project/issues/56642
-Fixes #110224
+Bug: https://github.com/rust-lang/rust/issues/110224
---
- .../src/spec/targets/riscv32gc_unknown_linux_gnu.rs | 5 ++++-
- .../src/spec/targets/riscv32gc_unknown_linux_musl.rs | 5 ++++-
- .../rustc_target/src/spec/targets/riscv64_linux_android.rs | 5 ++++-
- .../src/spec/targets/riscv64gc_unknown_linux_gnu.rs | 5 ++++-
- .../src/spec/targets/riscv64gc_unknown_linux_musl.rs | 5 ++++-
+ .../rustc_target/src/spec/targets/riscv32gc_unknown_linux_gnu.rs | 5 ++++-
+ .../rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs | 5 ++++-
+ compiler/rustc_target/src/spec/targets/riscv64_linux_android.rs | 5 ++++-
+ .../rustc_target/src/spec/targets/riscv64gc_unknown_linux_gnu.rs | 5 ++++-
+ .../rustc_target/src/spec/targets/riscv64gc_unknown_linux_musl.rs | 5 ++++-
5 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_gnu.rs
-index 06e8f1837637f..0be32cbd77165 100644
+index 06e8f18..0be32cb 100644
--- a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_gnu.rs
@@ -1,4 +1,6 @@
@@ -40,7 +39,7 @@ index 06e8f1837637f..0be32cbd77165 100644
},
}
diff --git a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs
-index 722703d2384fe..cfa9990dac9bd 100644
+index 722703d..cfa9990 100644
--- a/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/targets/riscv32gc_unknown_linux_musl.rs
@@ -1,4 +1,6 @@
@@ -60,7 +59,7 @@ index 722703d2384fe..cfa9990dac9bd 100644
},
}
diff --git a/compiler/rustc_target/src/spec/targets/riscv64_linux_android.rs b/compiler/rustc_target/src/spec/targets/riscv64_linux_android.rs
-index 40e447dbb8362..762197d7217c7 100644
+index 40e447d..762197d 100644
--- a/compiler/rustc_target/src/spec/targets/riscv64_linux_android.rs
+++ b/compiler/rustc_target/src/spec/targets/riscv64_linux_android.rs
@@ -1,4 +1,6 @@
@@ -80,7 +79,7 @@ index 40e447dbb8362..762197d7217c7 100644
},
}
diff --git a/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_gnu.rs
-index c0969d4e11eb9..e71929a190479 100644
+index c0969d4..e71929a 100644
--- a/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_gnu.rs
+++ b/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_gnu.rs
@@ -1,4 +1,6 @@
@@ -100,7 +99,7 @@ index c0969d4e11eb9..e71929a190479 100644
},
}
diff --git a/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_musl.rs
-index 656e260d094d8..8ea28d6b162cc 100644
+index 656e260..8ea28d6 100644
--- a/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_musl.rs
+++ b/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_linux_musl.rs
@@ -1,4 +1,6 @@
diff --git a/debian/patches/u-rustc-llvm-cross-flags.patch b/debian/patches/upstream/u-rustc-llvm-cross-flags.patch
index 19b6d82c8..22f59eab2 100644
--- a/debian/patches/u-rustc-llvm-cross-flags.patch
+++ b/debian/patches/upstream/u-rustc-llvm-cross-flags.patch
@@ -7,11 +7,11 @@ Subject: u-rustc-llvm-cross-flags
compiler/rustc_llvm/build.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: rust/compiler/rustc_llvm/build.rs
-===================================================================
---- rust.orig/compiler/rustc_llvm/build.rs
-+++ rust/compiler/rustc_llvm/build.rs
-@@ -305,7 +305,7 @@ fn main() {
+diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs
+index 4b0c122..77baa7b 100644
+--- a/compiler/rustc_llvm/build.rs
++++ b/compiler/rustc_llvm/build.rs
+@@ -319,7 +319,7 @@ fn main() {
if let Some(stripped) = lib.strip_prefix("-LIBPATH:") {
println!("cargo:rustc-link-search=native={}", stripped.replace(&host, &target));
} else if let Some(stripped) = lib.strip_prefix("-L") {
diff --git a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch b/debian/patches/vendor/d-0003-cc-psm-rebuild-wasm32.patch
index 53003c7ed..9c78f792b 100644
--- a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
+++ b/debian/patches/vendor/d-0003-cc-psm-rebuild-wasm32.patch
@@ -2,15 +2,16 @@ From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Date: Sat, 2 Oct 2021 01:08:00 +0100
Subject: d-0003-cc-psm-rebuild-wasm32
+Forwarded: not-needed
---
- vendor/cc/src/lib.rs | 2 +-
- vendor/psm/build.rs | 7 ++-----
+ vendor/cc-1.0.79/src/lib.rs | 2 +-
+ vendor/psm/build.rs | 7 ++-----
2 files changed, 3 insertions(+), 6 deletions(-)
-diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
+diff --git a/vendor/cc-1.0.79/src/lib.rs b/vendor/cc-1.0.79/src/lib.rs
index abc5d7a..cc1cecc 100644
---- a/vendor/cc/src/lib.rs
-+++ b/vendor/cc/src/lib.rs
+--- a/vendor/cc-1.0.79/src/lib.rs
++++ b/vendor/cc-1.0.79/src/lib.rs
@@ -2407,7 +2407,7 @@ impl Build {
|| target == "wasm32-unknown-wasi"
|| target == "wasm32-unknown-unknown"
diff --git a/debian/patches/u-hurd-backtrace.patch b/debian/patches/vendor/u-hurd-backtrace.patch
index 7ac529937..b4af54f87 100644
--- a/debian/patches/u-hurd-backtrace.patch
+++ b/debian/patches/vendor/u-hurd-backtrace.patch
@@ -1,13 +1,18 @@
-https://github.com/rust-lang/backtrace-rs/pull/567
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sat, 7 Oct 2023 01:45:09 +0200
+Subject: u-hurd-backtrace
-commit 11e0a4bdee2714a3711b3df1607dbe979119fd34
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Sat Oct 7 01:45:09 2023 +0200
+Forwarded: https://github.com/rust-lang/backtrace-rs/pull/567
- Add GNU/Hurd support (rust-lang/backtrace-rs#567)
+Subject: Add GNU/Hurd support (rust-lang/backtrace-rs#567)
+---
+ vendor/backtrace/src/symbolize/gimli.rs | 2 ++
+ vendor/backtrace/src/symbolize/gimli/elf.rs | 2 +-
+ .../src/symbolize/gimli/libs_dl_iterate_phdr.rs | 20 ++++++++++++--------
+ 3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/vendor/backtrace/src/symbolize/gimli.rs b/vendor/backtrace/src/symbolize/gimli.rs
-index 5d2f627..3b28bf7 100644
+index 7f1c6a5..6a9402c 100644
--- a/vendor/backtrace/src/symbolize/gimli.rs
+++ b/vendor/backtrace/src/symbolize/gimli.rs
@@ -35,6 +35,7 @@ cfg_if::cfg_if! {
@@ -18,7 +23,7 @@ index 5d2f627..3b28bf7 100644
target_os = "ios",
target_os = "linux",
target_os = "macos",
-@@ -231,6 +232,7 @@ cfg_if::cfg_if! {
+@@ -218,6 +219,7 @@ cfg_if::cfg_if! {
target_os = "linux",
target_os = "fuchsia",
target_os = "freebsd",
diff --git a/debian/patches/vendor/u-hurd-gix-index-2.patch b/debian/patches/vendor/u-hurd-gix-index-2.patch
new file mode 100644
index 000000000..d902b4851
--- /dev/null
+++ b/debian/patches/vendor/u-hurd-gix-index-2.patch
@@ -0,0 +1,29 @@
+From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
+Date: Wed, 19 Jun 2024 07:48:44 +0200
+Subject: u-hurd-gix-index-2
+
+===================================================================
+---
+ vendor/gix-index/src/fs.rs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/vendor/gix-index/src/fs.rs b/vendor/gix-index/src/fs.rs
+index 493d4e1..cc89fd5 100644
+--- a/vendor/gix-index/src/fs.rs
++++ b/vendor/gix-index/src/fs.rs
+@@ -115,10 +115,14 @@ impl Metadata {
+
+ /// Return the device id on which the file is located, or 0 on windows.
+ pub fn dev(&self) -> u64 {
+- #[cfg(not(windows))]
++ #[cfg(all(not(windows), not(host_os = "hurd")))]
+ {
+ self.0.st_dev as u64
+ }
++ #[cfg(host_os = "hurd")]
++ {
++ self.0.st_fsid as u64
++ }
+ #[cfg(windows)]
+ 0
+ }
diff --git a/debian/patches/vendor/u-hurd-gix-index.patch b/debian/patches/vendor/u-hurd-gix-index.patch
new file mode 100644
index 000000000..8341c15c6
--- /dev/null
+++ b/debian/patches/vendor/u-hurd-gix-index.patch
@@ -0,0 +1,96 @@
+From: Various <see below>
+Date: Wed, 19 Jun 2024 07:49:55 +0200
+Subject: u-hurd-gix-index
+
+commit 569caa0314599c93651d9116d00fde64b81d2ace
+Author: Qiu Chaofan <qcf@ecnelises.com>
+Date: Wed Dec 20 13:11:52 2023 +0800
+
+ fix: use correct fields for ctime and mtime on AIX
+
+ On AIX, ctime and mtime are structs containing seconds and nanoseconds.
+
+commit 6fc27ee8f5ae7ce9fe7e6d07c5c31719cb6b7b1b
+Author: Josh Triplett <josh@joshtriplett.org>
+Date: Sat Jan 13 16:54:33 2024 -0800
+
+ Avoid using #[cfg] on multiple individual function arguments
+
+ Attaching #[cfg] to individual arguments makes it look like the function
+ has five conditionally present arguments, and doesn't make it
+ immediately apparent that the first two are for the first argument and
+ the last three are for the second argument.
+
+ Split them into separate `let` statements for clarity.
+
+ In the process, factor out the common `.try_into().ok()?` from each.
+
+commit daf3844c8f5ce6d0812e35677b1a46d568e226db
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sun May 26 21:13:40 2024 +0200
+
+ hurd: fix accessing st_[mc]time
+
+ GNU/Hurd uses a st_[mc]tim timespec, like aix
+---
+ vendor/gix-index/src/fs.rs | 38 ++++++++++++++++++++++++++++----------
+ 1 file changed, 28 insertions(+), 10 deletions(-)
+
+diff --git a/vendor/gix-index/src/fs.rs b/vendor/gix-index/src/fs.rs
+index fad21cc..493d4e1 100644
+--- a/vendor/gix-index/src/fs.rs
++++ b/vendor/gix-index/src/fs.rs
+@@ -54,12 +54,21 @@ impl Metadata {
+ pub fn modified(&self) -> Option<SystemTime> {
+ #[cfg(not(windows))]
+ {
++ #[cfg(not(any(target_os = "aix", target_os = "hurd")))]
++ let seconds = self.0.st_mtime;
++ #[cfg(any(target_os = "aix", target_os = "hurd"))]
++ let seconds = self.0.st_mtim.tv_sec;
++
++ #[cfg(not(any(target_os = "netbsd", target_os = "aix", target_os = "hurd")))]
++ let nanoseconds = self.0.st_mtime_nsec;
++ #[cfg(target_os = "netbsd")]
++ let nanoseconds = self.0.st_mtimensec;
++ #[cfg(any(target_os = "aix", target_os = "hurd"))]
++ let nanoseconds = self.0.st_mtim.tv_nsec;
++
+ Some(system_time_from_secs_nanos(
+- self.0.st_mtime.try_into().ok()?,
+- #[cfg(not(target_os = "netbsd"))]
+- self.0.st_mtime_nsec.try_into().ok()?,
+- #[cfg(target_os = "netbsd")]
+- self.0.st_mtimensec.try_into().ok()?,
++ seconds.try_into().ok()?,
++ nanoseconds.try_into().ok()?,
+ ))
+ }
+ #[cfg(windows)]
+@@ -73,12 +82,21 @@ impl Metadata {
+ pub fn created(&self) -> Option<SystemTime> {
+ #[cfg(not(windows))]
+ {
++ #[cfg(not(any(target_os = "aix", target_os = "hurd")))]
++ let seconds = self.0.st_ctime;
++ #[cfg(any(target_os = "aix", target_os = "hurd"))]
++ let seconds = self.0.st_ctim.tv_sec;
++
++ #[cfg(not(any(target_os = "netbsd", target_os = "aix", target_os = "hurd")))]
++ let nanoseconds = self.0.st_ctime_nsec;
++ #[cfg(target_os = "netbsd")]
++ let nanoseconds = self.0.st_ctimensec;
++ #[cfg(any(target_os = "aix", target_os = "hurd"))]
++ let nanoseconds = self.0.st_ctim.tv_nsec;
++
+ Some(system_time_from_secs_nanos(
+- self.0.st_ctime.try_into().ok()?,
+- #[cfg(not(target_os = "netbsd"))]
+- self.0.st_ctime_nsec.try_into().ok()?,
+- #[cfg(target_os = "netbsd")]
+- self.0.st_ctimensec.try_into().ok()?,
++ seconds.try_into().ok()?,
++ nanoseconds.try_into().ok()?,
+ ))
+ }
+ #[cfg(windows)]
diff --git a/debian/patches/u-hurd-libc.3.patch b/debian/patches/vendor/u-hurd-libc.3.patch
index ff1f1b2f9..2d14daf98 100644
--- a/debian/patches/u-hurd-libc.3.patch
+++ b/debian/patches/vendor/u-hurd-libc.3.patch
@@ -1,15 +1,16 @@
-https://github.com/rust-lang/libc/pull/3428
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Thu, 9 Nov 2023 03:34:21 +0100
+Subject: hurd: Complete C API interface This aligns it on what can be
+ found for linux.
-commit c72c68c5d12e9307ee4b307384c620b0778c5240
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Thu Nov 9 03:34:21 2023 +0100
-
- hurd: Complete C API interface
-
- This aligns it on what can be found for linux.
+---
+ vendor/libc/src/unix/hurd/b32.rs | 2 +
+ vendor/libc/src/unix/hurd/b64.rs | 2 +
+ vendor/libc/src/unix/hurd/mod.rs | 1902 ++++++++++++++++++++++++++++++++------
+ 3 files changed, 1647 insertions(+), 259 deletions(-)
diff --git a/vendor/libc/src/unix/hurd/b32.rs b/vendor/libc/src/unix/hurd/b32.rs
-index 7e83ed930..7e82a91d3 100644
+index 7e83ed93..7e82a91 100644
--- a/vendor/libc/src/unix/hurd/b32.rs
+++ b/vendor/libc/src/unix/hurd/b32.rs
@@ -25,6 +25,8 @@ pub type __ulong32_type = ::c_ulong;
@@ -22,7 +23,7 @@ index 7e83ed930..7e82a91d3 100644
pub type Elf32_Word = u32;
pub type Elf32_Off = u32;
diff --git a/vendor/libc/src/unix/hurd/b64.rs b/vendor/libc/src/unix/hurd/b64.rs
-index 3b171f104..e2e502af2 100644
+index 3b171f1..e2e502a 100644
--- a/vendor/libc/src/unix/hurd/b64.rs
+++ b/vendor/libc/src/unix/hurd/b64.rs
@@ -25,6 +25,8 @@ pub type __ulong32_type = ::c_uint;
@@ -35,7 +36,7 @@ index 3b171f104..e2e502af2 100644
pub type Elf64_Word = u32;
pub type Elf64_Off = u64;
diff --git a/vendor/libc/src/unix/hurd/mod.rs b/vendor/libc/src/unix/hurd/mod.rs
-index 05d75851d..75a272e4d 100644
+index 05d7585..75a272e 100644
--- a/vendor/libc/src/unix/hurd/mod.rs
+++ b/vendor/libc/src/unix/hurd/mod.rs
@@ -215,6 +215,10 @@ pub type tcp_ca_state = ::c_uint;
diff --git a/debian/patches/u-hurd-libc.4.patch b/debian/patches/vendor/u-hurd-libc.4.patch
index 9868f2c68..f40f8d15e 100644
--- a/debian/patches/u-hurd-libc.4.patch
+++ b/debian/patches/vendor/u-hurd-libc.4.patch
@@ -1,16 +1,15 @@
-https://github.com/rust-lang/libc/pull/3430
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Fri, 10 Nov 2023 20:14:11 +0100
+Subject: Forwarded: https://github.com/rust-lang/libc/pull/3430
-commit 07e57b2b2a383d942ee546dc4d69bf28280a1549
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Fri Nov 10 20:14:11 2023 +0100
-
- hurd: Fix C API interface completion
-
c72c68c5d12e ("hurd: Complete C API interface") was actually missing a few
fixes.
+---
+ vendor/libc/src/unix/hurd/mod.rs | 226 ++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 211 insertions(+), 15 deletions(-)
diff --git a/vendor/libc/src/unix/hurd/mod.rs b/vendor/libc/src/unix/hurd/mod.rs
-index 75a272e4d..2e9f69e66 100644
+index 75a272e..2e9f69e 100644
--- a/vendor/libc/src/unix/hurd/mod.rs
+++ b/vendor/libc/src/unix/hurd/mod.rs
@@ -164,6 +164,7 @@ pub type pthread_key_t = __pthread_key;
diff --git a/debian/patches/u-hurd-libloading-0.7.4.patch b/debian/patches/vendor/u-hurd-libloading-0.7.4.patch
index 3b4ce6ba9..e4d0ab658 100644
--- a/debian/patches/u-hurd-libloading-0.7.4.patch
+++ b/debian/patches/vendor/u-hurd-libloading-0.7.4.patch
@@ -1,10 +1,11 @@
-https://github.com/nagisa/rust_libloading/pull/129
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Tue, 29 Aug 2023 19:55:29 +0000
+Subject: add hurd support
-commit 2e3104a30c4d14aa48871036b779f968a9472ff6
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Tue Aug 29 19:55:29 2023 +0000
-
- Add GNU/Hurd support
+Forwarded: https://github.com/nagisa/rust_libloading/pull/129
+---
+ vendor/libloading-0.7.4/src/os/unix/consts.rs | 4 ++++
+ 1 file changed, 4 insertions(+)
diff --git a/vendor/libloading-0.7.4/src/os/unix/consts.rs b/vendor/libloading-0.7.4/src/os/unix/consts.rs
index ea7a6a1..5794ade 100644
diff --git a/debian/patches/u-hurd-socket2.patch b/debian/patches/vendor/u-hurd-socket2.patch
index 8257bfc61..0c1e027a6 100644
--- a/debian/patches/u-hurd-socket2.patch
+++ b/debian/patches/vendor/u-hurd-socket2.patch
@@ -1,13 +1,16 @@
-https://github.com/rust-lang/socket2/pull/474
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Tue, 29 Aug 2023 20:03:20 +0000
+Subject: add hurd support
-commit c19d481701f01f77cf8346fc0f6e69886e44b097
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Tue Aug 29 20:03:20 2023 +0000
-
- Add GNU/Hurd support
+Forwarded: https://github.com/rust-lang/socket2/pull/474
+---
+ vendor/socket2/src/sockaddr.rs | 2 ++
+ vendor/socket2/src/socket.rs | 4 ++++
+ vendor/socket2/src/sys/unix.rs | 3 +++
+ 3 files changed, 9 insertions(+)
diff --git a/vendor/socket2/src/sockaddr.rs b/vendor/socket2/src/sockaddr.rs
-index 9ce638e..649a6dc 100644
+index e721018..682ec89 100644
--- a/vendor/socket2/src/sockaddr.rs
+++ b/vendor/socket2/src/sockaddr.rs
@@ -231,6 +231,7 @@ impl From<SocketAddrV4> for SockAddr {
@@ -18,7 +21,7 @@ index 9ce638e..649a6dc 100644
target_os = "ios",
target_os = "macos",
target_os = "netbsd",
-@@ -270,6 +271,7 @@ impl From<SocketAddrV6> for SockAddr {
+@@ -275,6 +276,7 @@ impl From<SocketAddrV6> for SockAddr {
target_os = "dragonfly",
target_os = "freebsd",
target_os = "haiku",
@@ -27,10 +30,10 @@ index 9ce638e..649a6dc 100644
target_os = "macos",
target_os = "netbsd",
diff --git a/vendor/socket2/src/socket.rs b/vendor/socket2/src/socket.rs
-index 69d0478..eedcff0 100644
+index 90649d9..45fe1e3 100644
--- a/vendor/socket2/src/socket.rs
+++ b/vendor/socket2/src/socket.rs
-@@ -1223,6 +1223,7 @@ impl Socket {
+@@ -1235,6 +1235,7 @@ impl Socket {
#[cfg(not(any(
target_os = "dragonfly",
target_os = "haiku",
@@ -38,7 +41,7 @@ index 69d0478..eedcff0 100644
target_os = "netbsd",
target_os = "openbsd",
target_os = "redox",
-@@ -1258,6 +1259,7 @@ impl Socket {
+@@ -1272,6 +1273,7 @@ impl Socket {
#[cfg(not(any(
target_os = "dragonfly",
target_os = "haiku",
@@ -46,7 +49,7 @@ index 69d0478..eedcff0 100644
target_os = "netbsd",
target_os = "openbsd",
target_os = "redox",
-@@ -1432,6 +1434,7 @@ impl Socket {
+@@ -1448,6 +1450,7 @@ impl Socket {
#[cfg(not(any(
target_os = "dragonfly",
target_os = "fuchsia",
@@ -54,7 +57,7 @@ index 69d0478..eedcff0 100644
target_os = "illumos",
target_os = "netbsd",
target_os = "openbsd",
-@@ -1461,6 +1464,7 @@ impl Socket {
+@@ -1479,6 +1482,7 @@ impl Socket {
#[cfg(not(any(
target_os = "dragonfly",
target_os = "fuchsia",
@@ -63,10 +66,10 @@ index 69d0478..eedcff0 100644
target_os = "netbsd",
target_os = "openbsd",
diff --git a/vendor/socket2/src/sys/unix.rs b/vendor/socket2/src/sys/unix.rs
-index 74da8cc..9d3d6cd 100644
+index ec7c3e2..1b89e37 100644
--- a/vendor/socket2/src/sys/unix.rs
+++ b/vendor/socket2/src/sys/unix.rs
-@@ -82,6 +82,7 @@ pub(crate) use libc::IP_HDRINCL;
+@@ -84,6 +84,7 @@ pub(crate) use libc::IP_HDRINCL;
#[cfg(not(any(
target_os = "dragonfly",
target_os = "fuchsia",
@@ -74,7 +77,7 @@ index 74da8cc..9d3d6cd 100644
target_os = "illumos",
target_os = "netbsd",
target_os = "openbsd",
-@@ -112,6 +113,7 @@ pub(crate) use libc::{
+@@ -116,6 +117,7 @@ pub(crate) use libc::{
#[cfg(not(any(
target_os = "dragonfly",
target_os = "haiku",
@@ -82,7 +85,7 @@ index 74da8cc..9d3d6cd 100644
target_os = "netbsd",
target_os = "openbsd",
target_os = "redox",
-@@ -226,6 +228,7 @@ type IovLen = usize;
+@@ -233,6 +235,7 @@ type IovLen = usize;
target_os = "freebsd",
target_os = "fuchsia",
target_os = "haiku",