summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:39 +0000
commita5cb27bed2202818ee204db23f8488a7794d6ec3 (patch)
tree4a38fb6c257e5031269038e525d11a7c2f0fdb1b /debian/patches
parentMerging upstream version 1.70.0+dfsg2. (diff)
downloadrustc-a5cb27bed2202818ee204db23f8488a7794d6ec3.tar.xz
rustc-a5cb27bed2202818ee204db23f8488a7794d6ec3.zip
Adding debian version 1.70.0+dfsg2-1.debian/1.70.0+dfsg2-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch46
-rw-r--r--debian/patches/c-2002_disable-net-tests.patch615
-rw-r--r--debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch19
-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/c-update-libgit2.patch37
-rw-r--r--debian/patches/d-0000-ignore-removed-submodules.patch130
-rw-r--r--debian/patches/d-0001-pkg-config-no-special-snowflake.patch18
-rw-r--r--debian/patches/d-0002-mdbook-strip-embedded-libs.patch88
-rw-r--r--debian/patches/d-0003-cc-psm-rebuild-wasm32.patch16
-rw-r--r--debian/patches/d-0004-clippy-feature-sync.patch42
-rw-r--r--debian/patches/d-0005-no-jemalloc.patch20
-rw-r--r--debian/patches/d-0010-cargo-remove-vendored-c-crates.patch18
-rw-r--r--debian/patches/d-0011-cargo-remove-nghttp2.patch19
-rw-r--r--debian/patches/d-0012-cargo-always-return-dev-channel.patch23
-rw-r--r--debian/patches/d-0020-remove-windows-dependencies.patch213
-rw-r--r--debian/patches/d-0021-vendor-remove-windows-dependencies.patch844
-rw-r--r--debian/patches/d-armel-fix-lldb.patch10
-rw-r--r--debian/patches/d-bootstrap-cargo-check-cfg.patch10
-rw-r--r--debian/patches/d-bootstrap-cargo-doc-paths.patch130
-rw-r--r--debian/patches/d-bootstrap-custom-debuginfo-path.patch16
-rw-r--r--debian/patches/d-bootstrap-disable-git.patch16
-rw-r--r--debian/patches/d-bootstrap-install-symlinks.patch12
-rw-r--r--debian/patches/d-bootstrap-no-assume-tools.patch8
-rw-r--r--debian/patches/d-bootstrap-old-cargo-compat.patch12
-rw-r--r--debian/patches/d-bootstrap-permit-symlink-in-docs.patch8
-rw-r--r--debian/patches/d-bootstrap-read-beta-version-from-file.patch8
-rw-r--r--debian/patches/d-bootstrap-rustflags.patch8
-rw-r--r--debian/patches/d-bootstrap-use-local-css.patch10
-rw-r--r--debian/patches/d-fix-rustix-outline.patch87
-rw-r--r--debian/patches/d-remove-arm-privacy-breaches.patch14
-rw-r--r--debian/patches/d-rust-gdb-paths8
-rw-r--r--debian/patches/d-rust-lldb-paths8
-rw-r--r--debian/patches/d-rustc-add-soname.patch8
-rw-r--r--debian/patches/d-rustc-fix-mips64el-bootstrap.patch30
-rw-r--r--debian/patches/d-rustc-windows-ssp.patch8
-rw-r--r--debian/patches/d-rustdoc-disable-embedded-fonts.patch16
-rw-r--r--debian/patches/d-test-ignore-avx-44056.patch8
-rw-r--r--debian/patches/series17
-rw-r--r--debian/patches/u-disable-fp-precision-test-on-i386.patch10
-rw-r--r--debian/patches/u-fix-get-toml-when-test.patch10
-rw-r--r--debian/patches/u-ignore-endian-big-diff.patch36
-rw-r--r--debian/patches/u-ignore-ppc-hangs.patch16
-rw-r--r--debian/patches/u-reproducible-build.patch10
-rw-r--r--debian/patches/u-reproducible-dl-stage0.patch10
-rw-r--r--debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch56
-rw-r--r--debian/patches/u-rustc-llvm-cross-flags.patch8
-rw-r--r--debian/patches/ubuntu-disable-ppc64el-asm-tests.patch16
-rw-r--r--debian/patches/ubuntu-ignore-arm-doctest.patch18
49 files changed, 2287 insertions, 531 deletions
diff --git a/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch b/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch
new file mode 100644
index 000000000..e3a6397d5
--- /dev/null
+++ b/debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch
@@ -0,0 +1,46 @@
+From 981279ccd8f7855faaed010bff0891afff588210 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabian=20Gr=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-Transfer-Encoding: 8bit
+
+cross_conmpile::alternate states it should only be used in test cases
+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 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/tests/testsuite/build_script.rs b/tests/testsuite/build_script.rs
+index 902364dff..e458b3262 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
+ #[cargo_test]
+ fn custom_build_env_var_rustc_linker_cross_arch_host() {
+ let target = rustc_host();
++ if cross_compile::disabled() {
++ return;
++ }
+ let cross_target = cross_compile::alternate();
+ let p = project()
+ .file(
+@@ -735,6 +738,9 @@ fn custom_build_env_var_rustc_linker_cro
+ #[cargo_test]
+ fn custom_build_linker_bad_cross_arch_host() {
+ let target = rustc_host();
++ if cross_compile::disabled() {
++ return;
++ }
+ 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/c-2002_disable-net-tests.patch
new file mode 100644
index 000000000..2e99a9e9a
--- /dev/null
+++ b/debian/patches/c-2002_disable-net-tests.patch
@@ -0,0 +1,615 @@
+Description: Disable network tests
+Author: Ximin Luo <infinity0@debian.org>
+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
+ }
+
+ // 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:
+ }
+
+ // Boy, sure would be nice to have a TLS implementation in rust!
+-#[cargo_test]
++#[allow(dead_code)]
+ 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
+@@ -2,7 +2,7 @@
+
+ use cargo_test_support::project;
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn net_retry_loads_from_config() {
+ let p = project()
+ .file(
+@@ -38,7 +38,7 @@ fn net_retry_loads_from_config() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ 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
+@@ -85,7 +85,7 @@ fn validate_upload_li() {
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -127,7 +127,7 @@ You may press ctrl-c to skip waiting; th
+
+ // Check that the `token` key works at the root instead of under a
+ // `[registry]` table.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple_publish_with_http() {
+ let _reg = registry::RegistryBuilder::new()
+ .http_api()
+@@ -167,7 +167,7 @@ You may press ctrl-c to skip waiting; th
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple_publish_with_asymmetric() {
+ let _reg = registry::RegistryBuilder::new()
+ .http_api()
+@@ -210,7 +210,7 @@ You may press ctrl-c to skip waiting; th
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn old_token_location() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -267,7 +267,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn simple_with_index() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -312,7 +312,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn git_deps() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -350,7 +350,7 @@ the `git` specification will be removed
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn path_dependency_no_version() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -390,7 +390,7 @@ the `path` specification will be removed
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn unpublishable_crate() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -423,7 +423,7 @@ fn unpublishable_crate() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn dont_publish_dirty() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -465,7 +465,7 @@ to proceed despite this and include the
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_clean() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -513,7 +513,7 @@ You may press ctrl-c to skip waiting; th
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_in_sub_repo() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -562,7 +562,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_when_ignored() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -611,7 +611,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn ignore_when_crate_ignored() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -659,7 +659,7 @@ You may press ctrl-c [..]
+ // Other tests will verify the endpoint gets the right payload.
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn new_crate_rejected() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -692,7 +692,7 @@ fn new_crate_rejected() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn dry_run() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -735,7 +735,7 @@ See [..]
+ assert!(!registry::api_path().join("api/v1/crates/new").exists());
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn registry_not_in_publish_list() {
+ let p = project()
+ .file(
+@@ -768,7 +768,7 @@ The registry `alternative` is not listed
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_empty_list() {
+ let p = project()
+ .file(
+@@ -797,7 +797,7 @@ fn publish_empty_list() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_allowed_registry() {
+ let _registry = RegistryBuilder::new()
+ .http_api()
+@@ -857,7 +857,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_implicitly_to_only_allowed_registry() {
+ let _registry = RegistryBuilder::new()
+ .http_api()
+@@ -918,7 +918,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_fail_with_no_registry_specified() {
+ let p = project().build();
+
+@@ -952,7 +952,7 @@ The registry `crates-io` is not listed i
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn block_publish_no_registry() {
+ let p = project()
+ .file(
+@@ -982,7 +982,7 @@ fn block_publish_no_registry() {
+ }
+
+ // Explicitly setting `crates-io` in the publish list.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_crates_io_explicit() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1035,7 +1035,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_select_features() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1086,7 +1086,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_all_features() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1137,7 +1137,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_no_default_features() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -1173,7 +1173,7 @@ fn publish_with_no_default_features() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_patch() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+ Package::new("bar", "1.0.0").publish();
+@@ -1278,7 +1278,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_checks_for_token_before_verify() {
+ let registry = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -1327,7 +1327,7 @@ fn publish_checks_for_token_before_verif
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_bad_source() {
+ let p = project()
+ .file(
+@@ -1376,7 +1376,7 @@ include `--registry crates-io` to use cr
+ }
+
+ // A dependency with both `git` and `version`.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_git_with_version() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -1519,7 +1519,7 @@ You may press ctrl-c [..]
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_dev_dep_no_version() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -1608,7 +1608,7 @@ repository = "foo"
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn credentials_ambiguous_filename() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -1664,7 +1664,7 @@ You may press ctrl-c [..]
+
+ // --index will not load registry.token to avoid possibly leaking
+ // crates.io token to another server.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn index_requires_token() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -1699,7 +1699,7 @@ fn index_requires_token() {
+ }
+
+ // publish with source replacement without --registry
+-#[cargo_test]
++#[allow(dead_code)]
+ fn cratesio_source_replacement() {
+ registry::init();
+ let p = project()
+@@ -1728,7 +1728,7 @@ include `--registry dummy-registry` or `
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn publish_with_missing_readme() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -1773,7 +1773,7 @@ Caused by:
+ }
+
+ // Registry returns an API error.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_error_json() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1821,7 +1821,7 @@ Caused by:
+ }
+
+ // Registry returns an API error with a 200 status code.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_error_200() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1869,7 +1869,7 @@ Caused by:
+ }
+
+ // Registry returns an error code without a JSON message.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_error_code() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1923,7 +1923,7 @@ Caused by:
+ }
+
+ // Registry has a network error.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_curl_error() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -1973,7 +1973,7 @@ Caused by:
+ }
+
+ // Registry returns an invalid response.
+-#[cargo_test]
++#[allow(dead_code)]
+ fn api_other_error() {
+ let _registry = registry::RegistryBuilder::new()
+ .alternative()
+@@ -2023,7 +2023,7 @@ Caused by:
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -2074,7 +2074,7 @@ You may press ctrl-c [..]
+ validate_upload_li();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn with_duplicate_spec_in_members() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2126,7 +2126,7 @@ fn with_duplicate_spec_in_members() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace_with_members_with_features_old() {
+ let registry = RegistryBuilder::new().http_api().http_index().build();
+
+@@ -2176,7 +2176,7 @@ You may press ctrl-c [..]
+ validate_upload_li();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_virtual_workspace() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2212,7 +2212,7 @@ fn in_virtual_workspace() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_virtual_workspace_with_p() {
+ // `publish` generally requires a remote registry
+ let registry = registry::RegistryBuilder::new().http_api().build();
+@@ -2269,7 +2269,7 @@ You may press ctrl-c [..]
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace_not_found() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2314,7 +2314,7 @@ error: package ID specification `li` did
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn in_package_workspace_found_multiple() {
+ // Use local registry for faster test times since no publish will occur
+ let registry = registry::init();
+@@ -2371,7 +2371,7 @@ error: the `-p` argument must be specifi
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ // 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
+@@ -2418,7 +2418,7 @@ error: package ID specification `bar` di
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn http_api_not_noop() {
+ let registry = registry::RegistryBuilder::new().http_api().build();
+
+@@ -2479,7 +2479,7 @@ You may press ctrl-c [..]
+ p.cargo("build").run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ 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));
+@@ -2561,7 +2561,7 @@ You may press ctrl-c to skip waiting; th
+ /// 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.
+-#[cargo_test]
++#[allow(dead_code)]
+ 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));
+@@ -2657,7 +2657,7 @@ You may press ctrl-c to skip waiting; th
+ p.cargo("build").with_status(0).run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ 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));
+@@ -2749,7 +2749,7 @@ You may press ctrl-c to skip waiting; th
+ p.cargo("check").with_status(0).run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ 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
+@@ -8,7 +8,7 @@ fn toml_bin(proj: &Project, name: &str)
+ proj.bin(name).display().to_string().replace('\\', "\\\\")
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn gated() {
+ let _alternative = registry::RegistryBuilder::new()
+ .alternative()
+@@ -65,7 +65,7 @@ or use environment variable CARGO_REGIST
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn warn_both_token_and_process() {
+ // Specifying both credential-process and a token in config should issue a warning.
+ let _server = registry::RegistryBuilder::new()
+@@ -212,7 +212,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();
+@@ -237,7 +237,7 @@ You may press ctrl-c [..]
+ assert_eq!(calls, 1);
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn basic_unsupported() {
+ // Non-action commands don't support login/logout.
+ let registry = registry::RegistryBuilder::new()
+@@ -280,7 +280,7 @@ the credential-process configuration val
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn login() {
+ let server = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -337,7 +337,7 @@ fn login() {
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn logout() {
+ let server = registry::RegistryBuilder::new()
+ .no_configure_token()
+@@ -395,7 +395,7 @@ token for `crates-io` has been erased!
+ );
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn yank() {
+ let (p, _t) = get_token_test();
+
+@@ -410,7 +410,7 @@ fn yank() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn owner() {
+ let (p, _t) = get_token_test();
+
+@@ -425,7 +425,7 @@ fn owner() {
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn libexec_path() {
+ // cargo: prefixed names use the sysroot
+ let server = registry::RegistryBuilder::new()
+@@ -459,7 +459,7 @@ Caused by:
+ .run();
+ }
+
+-#[cargo_test]
++#[allow(dead_code)]
+ fn invalid_token_output() {
+ // Error when credential process does not output the expected format for a token.
+ let _server = registry::RegistryBuilder::new()
diff --git a/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch b/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch
new file mode 100644
index 000000000..6453c3a30
--- /dev/null
+++ b/debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch
@@ -0,0 +1,19 @@
+Index: rust/src/tools/cargo/crates/cargo-test-macro/src/lib.rs
+===================================================================
+--- 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 {
+ }
+ };
+ if !output.status.success() {
++ // Debian specific patch, upstream wontfix:
++ // qemu has a faulty vfork where it fails to fail if a command is not
++ // found, with a unix_wait_status of 32512, or 0x7f00, 7f meaning
++ // exit code 127. See https://github.com/rust-lang/rust/issues/90825
++ use std::os::unix::process::ExitStatusExt;
++ if output.status.into_raw() == 0x7f00 {
++ return false;
++ }
+ panic!(
+ "expected command `{}` to be runnable, got error {}:\n\
+ stderr:{}\n\
diff --git a/debian/patches/c-2200-workaround-x32-test.patch b/debian/patches/c-2200-workaround-x32-test.patch
new file mode 100644
index 000000000..9dc42ddbc
--- /dev/null
+++ b/debian/patches/c-2200-workaround-x32-test.patch
@@ -0,0 +1,15 @@
+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
new file mode 100644
index 000000000..eda4f925b
--- /dev/null
+++ b/debian/patches/c-disable-fs-specific-test.patch
@@ -0,0 +1,13 @@
+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
+@@ -3935,7 +3935,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-update-libgit2.patch b/debian/patches/c-update-libgit2.patch
new file mode 100644
index 000000000..b004ed095
--- /dev/null
+++ b/debian/patches/c-update-libgit2.patch
@@ -0,0 +1,37 @@
+Index: rust/src/tools/cargo/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/Cargo.toml
++++ rust/src/tools/cargo/Cargo.toml
+@@ -28,8 +28,8 @@ curl-sys = "0.4.61"
+ env_logger = "0.10.0"
+ filetime = "0.2.9"
+ flate2 = { version = "1.0.3", default-features = false, features = ["zlib"] }
+-git2 = "0.17.0"
+-git2-curl = "0.18.0"
++git2 = "0.18.0"
++git2-curl = "0.19.0"
+ gix = { version = "0.39.0", default-features = false, features = ["blocking-http-transport-curl", "progress-tree"] }
+ gix-features-for-configuration-only = { version = "0.28.0", package = "gix-features", features = [ "parallel" ] }
+ glob = "0.3.0"
+@@ -47,7 +47,7 @@ jobserver = "0.1.26"
+ lazy_static = "1.2.0"
+ lazycell = "1.2.0"
+ libc = "0.2"
+-libgit2-sys = "0.15.0"
++libgit2-sys = "0.16.1"
+ log = "0.4.6"
+ memchr = "2.1.3"
+ opener = "0.5"
+Index: rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-test-support/Cargo.toml
++++ rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+@@ -14,7 +14,7 @@ cargo-util = { path = "../cargo-util" }
+ crates-io = { path = "../crates-io" }
+ filetime = "0.2"
+ flate2 = { version = "1.0", default-features = false, features = ["zlib"] }
+-git2 = "0.17.0"
++git2 = "0.18.0"
+ glob = "0.3"
+ itertools = "0.10.0"
+ lazy_static = "1.0"
diff --git a/debian/patches/d-0000-ignore-removed-submodules.patch b/debian/patches/d-0000-ignore-removed-submodules.patch
index 588e53b3b..3b11a1b63 100644
--- a/debian/patches/d-0000-ignore-removed-submodules.patch
+++ b/debian/patches/d-0000-ignore-removed-submodules.patch
@@ -18,7 +18,7 @@ Index: rust/Cargo.toml
===================================================================
--- rust.orig/Cargo.toml
+++ rust/Cargo.toml
-@@ -18,28 +18,15 @@ members = [
+@@ -18,28 +18,18 @@ members = [
"src/tools/tidy",
"src/tools/tier-check",
"src/tools/build-manifest",
@@ -26,11 +26,11 @@ Index: rust/Cargo.toml
- "src/tools/remote-test-server",
"src/tools/rust-installer",
"src/tools/rust-demangler",
-- "src/tools/cargo",
-- "src/tools/cargo/crates/credential/cargo-credential-1password",
+ "src/tools/cargo",
+ "src/tools/cargo/crates/credential/cargo-credential-1password",
- "src/tools/cargo/crates/credential/cargo-credential-macos-keychain",
- "src/tools/cargo/crates/credential/cargo-credential-wincred",
-- "src/tools/cargo/crates/mdman",
+ "src/tools/cargo/crates/mdman",
- # "src/tools/cargo/crates/resolver-tests",
"src/tools/rustdoc",
- "src/tools/rls",
@@ -47,16 +47,6 @@ Index: rust/Cargo.toml
"src/tools/replace-version-placeholder",
"src/tools/lld-wrapper",
"src/tools/collect-license-metadata",
-@@ -106,9 +93,6 @@ miniz_oxide.debug = 0
- object.debug = 0
-
- [patch.crates-io]
--# See comments in `src/tools/rustc-workspace-hack/README.md` for what's going on
--# here
--rustc-workspace-hack = { path = 'src/tools/rustc-workspace-hack' }
-
- # See comments in `library/rustc-std-workspace-core/README.md` for what's going on
- # here
Index: rust/src/bootstrap/bootstrap.py
===================================================================
--- rust.orig/src/bootstrap/bootstrap.py
@@ -109,14 +99,14 @@ Index: rust/src/bootstrap/builder.rs
submodules_paths
};
-@@ -658,24 +658,13 @@ impl<'a> Builder<'a> {
+@@ -658,24 +658,14 @@ impl<'a> Builder<'a> {
tool::Linkchecker,
tool::CargoTest,
tool::Compiletest,
- tool::RemoteTestServer,
- tool::RemoteTestClient,
tool::RustInstaller,
-- tool::Cargo,
+ tool::Cargo,
- tool::Rls,
- tool::RustAnalyzer,
tool::RustAnalyzerProcMacroSrv,
@@ -134,7 +124,7 @@ Index: rust/src/bootstrap/builder.rs
),
Kind::Check | Kind::Clippy | Kind::Fix => describe!(
check::Std,
-@@ -683,11 +672,6 @@ impl<'a> Builder<'a> {
+@@ -683,11 +673,6 @@ impl<'a> Builder<'a> {
check::Rustdoc,
check::CodegenBackend,
check::Clippy,
@@ -146,16 +136,15 @@ Index: rust/src/bootstrap/builder.rs
check::Rustfmt,
check::Bootstrap
),
-@@ -717,8 +701,6 @@ impl<'a> Builder<'a> {
- test::TierCheck,
+@@ -717,7 +702,6 @@ impl<'a> Builder<'a> {
test::ReplacePlaceholderTest,
test::Cargotest,
-- test::Cargo,
+ test::Cargo,
- test::RustAnalyzer,
test::ErrorIndex,
test::Distcheck,
test::RunMakeFullDeps,
-@@ -734,7 +716,6 @@ impl<'a> Builder<'a> {
+@@ -734,7 +717,6 @@ impl<'a> Builder<'a> {
test::EmbeddedBook,
test::EditionGuide,
test::Rustfmt,
@@ -163,23 +152,18 @@ Index: rust/src/bootstrap/builder.rs
test::Clippy,
test::RustDemangler,
test::CompiletestTest,
-@@ -767,11 +748,8 @@ impl<'a> Builder<'a> {
- doc::RustdocBook,
- doc::RustByExample,
- doc::RustcBook,
-- doc::Cargo,
-- doc::CargoBook,
+@@ -771,7 +753,6 @@ impl<'a> Builder<'a> {
+ doc::CargoBook,
doc::Clippy,
doc::ClippyBook,
- doc::Miri,
doc::EmbeddedBook,
doc::EditionGuide,
doc::StyleGuide,
-@@ -787,13 +765,9 @@ impl<'a> Builder<'a> {
- dist::RustcDev,
+@@ -787,12 +768,9 @@ impl<'a> Builder<'a> {
dist::Analysis,
dist::Src,
-- dist::Cargo,
+ dist::Cargo,
- dist::Rls,
- dist::RustAnalyzer,
dist::Rustfmt,
@@ -189,11 +173,10 @@ Index: rust/src/bootstrap/builder.rs
dist::LlvmTools,
dist::RustDev,
dist::Bootstrap,
-@@ -809,12 +783,9 @@ impl<'a> Builder<'a> {
- Kind::Install => describe!(
+@@ -809,11 +786,9 @@ impl<'a> Builder<'a> {
install::Docs,
install::Std,
-- install::Cargo,
+ install::Cargo,
- install::RustAnalyzer,
install::Rustfmt,
install::RustDemangler,
@@ -202,7 +185,7 @@ Index: rust/src/bootstrap/builder.rs
install::LlvmTools,
install::Src,
install::Rustc
-@@ -824,7 +795,6 @@ impl<'a> Builder<'a> {
+@@ -824,7 +798,6 @@ impl<'a> Builder<'a> {
run::BuildManifest,
run::BumpStage0,
run::ReplaceVersionPlaceholder,
@@ -210,7 +193,7 @@ Index: rust/src/bootstrap/builder.rs
run::CollectLicenseMetadata,
run::GenerateCopyright,
),
-@@ -1949,10 +1919,7 @@ impl<'a> Builder<'a> {
+@@ -1949,10 +1922,7 @@ impl<'a> Builder<'a> {
}
}
@@ -222,18 +205,6 @@ Index: rust/src/bootstrap/builder.rs
cargo.arg("--frozen");
}
-Index: rust/src/bootstrap/doc.rs
-===================================================================
---- rust.orig/src/bootstrap/doc.rs
-+++ rust/src/bootstrap/doc.rs
-@@ -76,7 +76,6 @@ macro_rules! book {
- // FIXME: Make checking for a submodule automatic somehow (maybe by having a list of all submodules
- // and checking against it?).
- book!(
-- CargoBook, "src/tools/cargo/src/doc", "cargo", submodule = "src/tools/cargo";
- ClippyBook, "src/tools/clippy/book", "clippy";
- EditionGuide, "src/doc/edition-guide", "edition-guide", submodule;
- EmbeddedBook, "src/doc/embedded-book", "embedded-book", submodule;
Index: rust/src/bootstrap/test.rs
===================================================================
--- rust.orig/src/bootstrap/test.rs
@@ -257,22 +228,6 @@ Index: rust/src/bootstrap/test.rs
}
}
-Index: rust/src/tools/clippy/Cargo.toml
-===================================================================
---- rust.orig/src/tools/clippy/Cargo.toml
-+++ rust/src/tools/clippy/Cargo.toml
-@@ -36,11 +36,6 @@ walkdir = "2.3"
- # This is used by the `collect-metadata` alias.
- filetime = "0.2"
-
--# A noop dependency that changes in the Rust repository, it's a bit of a hack.
--# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust`
--# for more information.
--rustc-workspace-hack = "1.0"
--
- # UI test dependencies
- clap = { version = "4.1.4", features = ["derive"] }
- clippy_utils = { path = "clippy_utils" }
Index: rust/src/tools/rust-analyzer/Cargo.toml
===================================================================
--- rust.orig/src/tools/rust-analyzer/Cargo.toml
@@ -293,41 +248,16 @@ Index: rust/src/tools/rust-analyzer/Cargo.toml
exclude = ["crates/proc-macro-test/imp"]
[workspace.package]
-Index: rust/src/tools/rustfmt/Cargo.toml
-===================================================================
---- rust.orig/src/tools/rustfmt/Cargo.toml
-+++ rust/src/tools/rustfmt/Cargo.toml
-@@ -59,11 +59,6 @@ unicode_categories = "0.1"
-
- rustfmt-config_proc_macro = { version = "0.3", path = "config_proc_macro" }
-
--# A noop dependency that changes in the Rust repository, it's a bit of a hack.
--# See the `src/tools/rustc-workspace-hack/README.md` file in `rust-lang/rust`
--# for more information.
--rustc-workspace-hack = "1.0.0"
--
- # Rustc dependencies are loaded from the sysroot, Cargo doesn't know about them.
-
- [package.metadata.rust-analyzer]
-Index: rust/src/tools/tidy/src/deps.rs
+Index: rust/src/tools/rustc-workspace-hack/Cargo.toml
===================================================================
---- rust.orig/src/tools/tidy/src/deps.rs
-+++ rust/src/tools/tidy/src/deps.rs
-@@ -337,7 +337,7 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&s
- // This crate takes quite a long time to build, so don't allow two versions of them
- // to accidentally sneak into our dependency graph, in order to ensure we keep our CI times
- // under control.
-- "cargo",
-+ //"cargo",
- ];
-
- /// Dependency checks.
-@@ -613,6 +613,8 @@ fn direct_deps_of<'a>(metadata: &'a Meta
- }
-
- fn check_rustfix(metadata: &Metadata, bad: &mut bool) {
-+ // Debian: we don't build cargo here, so this function doens't function.
-+ return;
- let cargo = pkg_from_name(metadata, "cargo");
- let compiletest = pkg_from_name(metadata, "compiletest");
- let cargo_deps = direct_deps_of(metadata, &cargo.id);
+--- rust.orig/src/tools/rustc-workspace-hack/Cargo.toml
++++ rust/src/tools/rustc-workspace-hack/Cargo.toml
+@@ -74,7 +74,7 @@ features = [
+ [dependencies]
+ bstr = { version = "0.2.17", features = ["default"] }
+ clap = { version = "3.1.1", features = ["derive", "clap_derive"]}
+-curl-sys = { version = "0.4.13", features = ["http2", "libnghttp2-sys"], optional = true }
++curl-sys = { version = "0.4.13", features = ["http2"], optional = true }
+ # Ensure `extra_traits` of libc, which is used transitively by Cargo.
+ libc = { version = "0.2", features = ["extra_traits"] }
+ # Ensure `js` of getrandom, which is (unfortunately) used transitively by Cargo.
diff --git a/debian/patches/d-0001-pkg-config-no-special-snowflake.patch b/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
index db66e2c34..20cb4fd73 100644
--- a/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
+++ b/debian/patches/d-0001-pkg-config-no-special-snowflake.patch
@@ -7,10 +7,10 @@ Subject: d-0001-pkg-config-no-special-snowflake
vendor/pkg-config/tests/test.rs | 2 --
2 files changed, 10 insertions(+), 17 deletions(-)
-diff --git a/vendor/pkg-config/src/lib.rs b/vendor/pkg-config/src/lib.rs
-index a28304e..11f9460 100644
---- a/vendor/pkg-config/src/lib.rs
-+++ b/vendor/pkg-config/src/lib.rs
+Index: rust/vendor/pkg-config/src/lib.rs
+===================================================================
+--- rust.orig/vendor/pkg-config/src/lib.rs
++++ rust/vendor/pkg-config/src/lib.rs
@@ -111,11 +111,8 @@ pub enum Error {
/// Contains the name of the responsible environment variable.
EnvNoPkgConfig(String),
@@ -71,11 +71,11 @@ index a28304e..11f9460 100644
let mut cmd = Command::new(exe);
if self.is_static(name) {
cmd.arg("--static");
-diff --git a/vendor/pkg-config/tests/test.rs b/vendor/pkg-config/tests/test.rs
-index 4e04ac0..f884e46 100644
---- a/vendor/pkg-config/tests/test.rs
-+++ b/vendor/pkg-config/tests/test.rs
-@@ -34,7 +34,6 @@ fn find(name: &str) -> Result<pkg_config::Library, Error> {
+Index: rust/vendor/pkg-config/tests/test.rs
+===================================================================
+--- rust.orig/vendor/pkg-config/tests/test.rs
++++ rust/vendor/pkg-config/tests/test.rs
+@@ -34,7 +34,6 @@ fn find(name: &str) -> Result<pkg_config
pkg_config::probe_library(name)
}
diff --git a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
index 81a0e2792..662b139ae 100644
--- a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
+++ b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
@@ -13,10 +13,10 @@ Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase
vendor/mdbook/src/theme/searcher/mod.rs | 2 -
7 files changed, 47 insertions(+), 240 deletions(-)
-diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
-index 4170c32..d7dcda7 100644
---- a/src/tools/linkchecker/main.rs
-+++ b/src/tools/linkchecker/main.rs
+Index: rust/src/tools/linkchecker/main.rs
+===================================================================
+--- rust.orig/src/tools/linkchecker/main.rs
++++ rust/src/tools/linkchecker/main.rs
@@ -159,7 +159,17 @@ impl Checker {
for entry in t!(dir.read_dir()).map(|e| t!(e)) {
let path = entry.path();
@@ -66,10 +66,10 @@ index 4170c32..d7dcda7 100644
if is_exception(file, &target_pretty_path) {
report.links_ignored_exception += 1;
} else {
-diff --git a/vendor/mdbook/src/book/init.rs b/vendor/mdbook/src/book/init.rs
-index ebcdd93..41dab42 100644
---- a/vendor/mdbook/src/book/init.rs
-+++ b/vendor/mdbook/src/book/init.rs
+Index: rust/vendor/mdbook/src/book/init.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/book/init.rs
++++ rust/vendor/mdbook/src/book/init.rs
@@ -153,25 +153,6 @@ impl BookBuilder {
let mut js = File::create(themedir.join("book.js"))?;
js.write_all(theme::JS)?;
@@ -96,11 +96,11 @@ index ebcdd93..41dab42 100644
Ok(())
}
-diff --git a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-index e170e2f..caa2eff 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, Config, HtmlConfig, Playground, RustEdition};
+Index: rust/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
++++ rust/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+@@ -3,13 +3,14 @@ use crate::config::{BookConfig, Config,
use crate::errors::*;
use crate::renderer::html_handlebars::helpers;
use crate::renderer::{RenderContext, Renderer};
@@ -129,7 +129,10 @@ index e170e2f..caa2eff 100644
- destination,
- "FontAwesome/css/font-awesome.css",
- theme::FONT_AWESOME,
-- )?;
++ symlink(
++ "/usr/share/fonts-font-awesome/css/font-awesome.min.css",
++ destination.join("css/font-awesome.min.css"),
+ )?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.eot",
@@ -140,41 +143,38 @@ index e170e2f..caa2eff 100644
- "FontAwesome/fonts/fontawesome-webfont.svg",
- theme::FONT_AWESOME_SVG,
+ symlink(
-+ "/usr/share/fonts-font-awesome/css/font-awesome.min.css",
-+ destination.join("css/font-awesome.min.css"),
++ "/usr/share/fonts-font-awesome/fonts",
++ destination.join("fonts"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.ttf",
- theme::FONT_AWESOME_TTF,
+ symlink(
-+ "/usr/share/fonts-font-awesome/fonts",
-+ destination.join("fonts"),
++ "/usr/share/javascript/highlight.js/styles/atelier-dune-light.css",
++ destination.join("highlight.css"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.woff",
- theme::FONT_AWESOME_WOFF,
+ symlink(
-+ "/usr/share/javascript/highlight.js/styles/atelier-dune-light.css",
-+ destination.join("highlight.css"),
++ "/usr/share/javascript/highlight.js/highlight.js",
++ destination.join("highlight.js"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.woff2",
- theme::FONT_AWESOME_WOFF2,
+ symlink(
-+ "/usr/share/javascript/highlight.js/highlight.js",
-+ destination.join("highlight.js"),
++ "/usr/share/javascript/mathjax/MathJax.js",
++ destination.join("MathJax.js"),
)?;
- write_file(
- destination,
- "FontAwesome/fonts/FontAwesome.ttf",
- theme::FONT_AWESOME_TTF,
-+ symlink(
-+ "/usr/share/javascript/mathjax/MathJax.js",
-+ destination.join("MathJax.js"),
- )?;
+- )?;
- if html_config.copy_fonts {
- write_file(destination, "fonts/fonts.css", theme::fonts::CSS)?;
- for (file_name, contents) in theme::fonts::LICENSES.iter() {
@@ -237,11 +237,11 @@ index e170e2f..caa2eff 100644
Ok(())
}
-diff --git a/vendor/mdbook/src/renderer/html_handlebars/search.rs b/vendor/mdbook/src/renderer/html_handlebars/search.rs
-index a9e2f5c..3e3f69c 100644
---- a/vendor/mdbook/src/renderer/html_handlebars/search.rs
-+++ b/vendor/mdbook/src/renderer/html_handlebars/search.rs
-@@ -53,8 +53,6 @@ pub fn create_files(search_config: &Search, destination: &Path, book: &Book) ->
+Index: rust/vendor/mdbook/src/renderer/html_handlebars/search.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/renderer/html_handlebars/search.rs
++++ rust/vendor/mdbook/src/renderer/html_handlebars/search.rs
+@@ -53,8 +53,6 @@ pub fn create_files(search_config: &Sear
format!("Object.assign(window.search, {});", index).as_bytes(),
)?;
utils::fs::write_file(destination, "searcher.js", searcher::JS)?;
@@ -250,10 +250,10 @@ index a9e2f5c..3e3f69c 100644
debug!("Copying search files ✓");
}
-diff --git a/vendor/mdbook/src/theme/index.hbs b/vendor/mdbook/src/theme/index.hbs
-index 6f3948c..7e5c54c 100644
---- a/vendor/mdbook/src/theme/index.hbs
-+++ b/vendor/mdbook/src/theme/index.hbs
+Index: rust/vendor/mdbook/src/theme/index.hbs
+===================================================================
+--- rust.orig/vendor/mdbook/src/theme/index.hbs
++++ rust/vendor/mdbook/src/theme/index.hbs
@@ -33,10 +33,7 @@
{{/if}}
@@ -381,10 +381,10 @@ index 6f3948c..7e5c54c 100644
<!-- Custom JS scripts -->
{{#each additional_js}}
-diff --git a/vendor/mdbook/src/theme/mod.rs b/vendor/mdbook/src/theme/mod.rs
-index 6e6b509..ef8886b 100644
---- a/vendor/mdbook/src/theme/mod.rs
-+++ b/vendor/mdbook/src/theme/mod.rs
+Index: rust/vendor/mdbook/src/theme/mod.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/theme/mod.rs
++++ rust/vendor/mdbook/src/theme/mod.rs
@@ -1,9 +1,5 @@
#![allow(missing_docs)]
@@ -395,7 +395,7 @@ index 6e6b509..ef8886b 100644
#[cfg(feature = "search")]
pub mod searcher;
-@@ -24,19 +20,8 @@ pub static VARIABLES_CSS: &[u8] = include_bytes!("css/variables.css");
+@@ -24,19 +20,8 @@ pub static VARIABLES_CSS: &[u8] = includ
pub static FAVICON_PNG: &[u8] = include_bytes!("favicon.png");
pub static FAVICON_SVG: &[u8] = include_bytes!("favicon.svg");
pub static JS: &[u8] = include_bytes!("book.js");
@@ -461,10 +461,10 @@ index 6e6b509..ef8886b 100644
};
assert_eq!(got, empty);
-diff --git a/vendor/mdbook/src/theme/searcher/mod.rs b/vendor/mdbook/src/theme/searcher/mod.rs
-index d5029db..59eda8a 100644
---- a/vendor/mdbook/src/theme/searcher/mod.rs
-+++ b/vendor/mdbook/src/theme/searcher/mod.rs
+Index: rust/vendor/mdbook/src/theme/searcher/mod.rs
+===================================================================
+--- rust.orig/vendor/mdbook/src/theme/searcher/mod.rs
++++ rust/vendor/mdbook/src/theme/searcher/mod.rs
@@ -2,5 +2,3 @@
//! the "search" cargo feature is disabled.
diff --git a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch b/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
index 703df2a78..057b7ee8d 100644
--- a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
+++ b/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch
@@ -7,10 +7,10 @@ Subject: d-0003-cc-psm-rebuild-wasm32
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
-index 1ebd2cc..0d6ebc8 100644
---- a/vendor/cc/src/lib.rs
-+++ b/vendor/cc/src/lib.rs
+Index: rust/vendor/cc/src/lib.rs
+===================================================================
+--- rust.orig/vendor/cc/src/lib.rs
++++ rust/vendor/cc/src/lib.rs
@@ -2389,7 +2389,7 @@ impl Build {
|| target == "wasm32-unknown-wasi"
|| target == "wasm32-unknown-unknown"
@@ -20,10 +20,10 @@ index 1ebd2cc..0d6ebc8 100644
} else if target.contains("vxworks") {
if self.cpp {
"wr-c++".to_string()
-diff --git a/vendor/psm/build.rs b/vendor/psm/build.rs
-index 9d40212..e39549d 100644
---- a/vendor/psm/build.rs
-+++ b/vendor/psm/build.rs
+Index: rust/vendor/psm/build.rs
+===================================================================
+--- rust.orig/vendor/psm/build.rs
++++ rust/vendor/psm/build.rs
@@ -50,7 +50,7 @@ fn find_assembly(
("sparc", _, _, _) => Some(("src/arch/sparc_sysv.s", true)),
("riscv32", _, _, _) => Some(("src/arch/riscv.s", true)),
diff --git a/debian/patches/d-0004-clippy-feature-sync.patch b/debian/patches/d-0004-clippy-feature-sync.patch
deleted file mode 100644
index f4a863a8e..000000000
--- a/debian/patches/d-0004-clippy-feature-sync.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
-Date: Sat, 2 Oct 2021 01:08:00 +0100
-Subject: d-0004-clippy-feature-sync
-
-enable features needed by rustfmt to make build system happy and speedup build.
-this is what rustc_workspace_hack does in the upstream build.
----
- src/tools/clippy/Cargo.toml | 2 +-
- src/tools/rustfmt/Cargo.toml | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml
-index a24d2f4..3681c85 100644
---- a/src/tools/clippy/Cargo.toml
-+++ b/src/tools/clippy/Cargo.toml
-@@ -44,7 +44,7 @@ if_chain = "1.0"
- itertools = "0.10.1"
- quote = "1.0"
- serde = { version = "1.0.125", features = ["derive"] }
--syn = { version = "1.0", features = ["full"] }
-+syn = { version = "1.0", features = ["full", "visit"] }
- futures = "0.3"
- parking_lot = "0.12"
- tokio = { version = "1", features = ["io-util"] }
-diff --git a/src/tools/rustfmt/Cargo.toml b/src/tools/rustfmt/Cargo.toml
-index 12ed654..f85b738 100644
---- a/src/tools/rustfmt/Cargo.toml
-+++ b/src/tools/rustfmt/Cargo.toml
-@@ -46,10 +46,12 @@ getopts = "0.2"
- ignore = "0.4"
- itertools = "0.10"
- lazy_static = "1.4"
-+# added for sync with clippy
-+libc = { version = "0.2", features = ["extra_traits"] }
- log = "0.4"
- regex = "1.5"
- serde = { version = "1.0", features = ["derive"] }
--serde_json = "1.0"
-+serde_json = { version = "1.0", features = ["unbounded_depth"] }
- term = "0.7"
- thiserror = "1.0"
- toml = "0.5"
diff --git a/debian/patches/d-0005-no-jemalloc.patch b/debian/patches/d-0005-no-jemalloc.patch
index 17254fb53..1223fce8b 100644
--- a/debian/patches/d-0005-no-jemalloc.patch
+++ b/debian/patches/d-0005-no-jemalloc.patch
@@ -7,11 +7,11 @@ Subject: d-0005-no-jemalloc
src/tools/rust-analyzer/crates/profile/Cargo.toml | 2 --
2 files changed, 8 deletions(-)
-diff --git a/compiler/rustc/Cargo.toml b/compiler/rustc/Cargo.toml
-index 41003ad..0578f7b 100644
---- a/compiler/rustc/Cargo.toml
-+++ b/compiler/rustc/Cargo.toml
-@@ -14,13 +14,7 @@ rustc_codegen_ssa = { path = "../rustc_codegen_ssa" }
+Index: rust/compiler/rustc/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc/Cargo.toml
++++ rust/compiler/rustc/Cargo.toml
+@@ -14,13 +14,7 @@ rustc_codegen_ssa = { path = "../rustc_c
# crate is intended to be used by stable MIR consumers, which are not in-tree
rustc_smir = { path = "../rustc_smir" }
@@ -25,10 +25,10 @@ index 41003ad..0578f7b 100644
llvm = ['rustc_driver_impl/llvm']
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 6273ea5..642fb05 100644
---- a/src/tools/rust-analyzer/crates/profile/Cargo.toml
-+++ b/src/tools/rust-analyzer/crates/profile/Cargo.toml
+Index: rust/src/tools/rust-analyzer/crates/profile/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/crates/profile/Cargo.toml
++++ rust/src/tools/rust-analyzer/crates/profile/Cargo.toml
@@ -17,7 +17,6 @@ cfg-if = "1.0.0"
libc = "0.2.135"
la-arena = { version = "0.3.0", path = "../../lib/la-arena" }
@@ -37,7 +37,7 @@ index 6273ea5..642fb05 100644
[target.'cfg(target_os = "linux")'.dependencies]
perf-event = "0.4.7"
-@@ -27,7 +26,6 @@ winapi = { version = "0.3.9", features = ["processthreadsapi", "psapi"] }
+@@ -27,7 +26,6 @@ winapi = { version = "0.3.9", features =
[features]
cpu_profiler = []
diff --git a/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch b/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch
new file mode 100644
index 000000000..b386a3a5f
--- /dev/null
+++ b/debian/patches/d-0010-cargo-remove-vendored-c-crates.patch
@@ -0,0 +1,18 @@
+Description: Remove embeded C libraries in bundled crates
+Author: Zixing Liu <zixing.liu@canonical.com>
+Forwarded: not-needed
+Last-Update: 2023-05-17
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/src/tools/cargo/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/Cargo.toml
++++ rust/src/tools/cargo/Cargo.toml
+@@ -114,6 +114,5 @@ test = false
+ doc = false
+
+ [features]
+-vendored-openssl = ["openssl/vendored"]
+-vendored-libgit2 = ["libgit2-sys/vendored"]
++# Debian: removed vendoring flags
+ pretty-env-logger = ["pretty_env_logger"]
diff --git a/debian/patches/d-0011-cargo-remove-nghttp2.patch b/debian/patches/d-0011-cargo-remove-nghttp2.patch
new file mode 100644
index 000000000..b7ea72c53
--- /dev/null
+++ b/debian/patches/d-0011-cargo-remove-nghttp2.patch
@@ -0,0 +1,19 @@
+Description: Remove nghttp2 from curl-sys crate
+Author: Zixing Liu <zixing.liu@canonical.com>
+Forwarded: not-needed
+Last-Update: 2023-05-17 <YYYY-MM-DD, last update of the meta-information, optional>
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/vendor/curl-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/curl-sys/Cargo.toml
++++ rust/vendor/curl-sys/Cargo.toml
+@@ -52,7 +52,7 @@ version = "0.3.3"
+ [features]
+ default = ["ssl"]
+ force-system-lib-on-osx = []
+-http2 = ["libnghttp2-sys"]
++http2 = []
+ mesalink = []
+ ntlm = []
+ poll_7_68_0 = []
diff --git a/debian/patches/d-0012-cargo-always-return-dev-channel.patch b/debian/patches/d-0012-cargo-always-return-dev-channel.patch
new file mode 100644
index 000000000..73554bb89
--- /dev/null
+++ b/debian/patches/d-0012-cargo-always-return-dev-channel.patch
@@ -0,0 +1,23 @@
+Description: Enable nightly features for Cargo
+ Debhelper scripts use some nightly features.
+Author: Zixing Liu <zixing.liu@canonical.com>
+Forwarded: not-needed
+Last-Update: 2023-05-30
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rust/src/tools/cargo/src/cargo/core/features.rs
+===================================================================
+--- rust.orig/src/tools/cargo/src/cargo/core/features.rs
++++ rust/src/tools/cargo/src/cargo/core/features.rs
+@@ -1182,9 +1182,8 @@ pub fn channel() -> String {
+ return "dev".to_string();
+ }
+ }
+- crate::version()
+- .release_channel
+- .unwrap_or_else(|| String::from("dev"))
++ // Debian: always return dev channel
++ String::from("dev")
+ }
+
+ /// Only for testing and developing. See ["Running with gitoxide as default git backend in tests"][1].
diff --git a/debian/patches/d-0020-remove-windows-dependencies.patch b/debian/patches/d-0020-remove-windows-dependencies.patch
new file mode 100644
index 000000000..0e5230716
--- /dev/null
+++ b/debian/patches/d-0020-remove-windows-dependencies.patch
@@ -0,0 +1,213 @@
+Index: rust/compiler/rustc_data_structures/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_data_structures/Cargo.toml
++++ rust/compiler/rustc_data_structures/Cargo.toml
+@@ -38,16 +38,6 @@ itertools = "0.10.1"
+ [dependencies.parking_lot]
+ version = "0.11"
+
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_IO",
+- "Win32_System_ProcessStatus",
+- "Win32_System_Threading",
+-]
+-
+ [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
+ memmap2 = "0.2.1"
+
+Index: rust/compiler/rustc_driver_impl/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_driver_impl/Cargo.toml
++++ rust/compiler/rustc_driver_impl/Cargo.toml
+@@ -54,12 +54,6 @@ rustc_hir_analysis = { path = "../rustc_
+ [target.'cfg(unix)'.dependencies]
+ libc = "0.2"
+
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_System_Diagnostics_Debug",
+-]
+-
+ [features]
+ llvm = ['rustc_interface/llvm']
+ max_level_info = ['rustc_log/max_level_info']
+Index: rust/compiler/rustc_errors/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_errors/Cargo.toml
++++ rust/compiler/rustc_errors/Cargo.toml
+@@ -25,14 +25,5 @@ termize = "0.1.1"
+ serde = { version = "1.0.125", features = [ "derive" ] }
+ serde_json = "1.0.59"
+
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Security",
+- "Win32_System_Threading",
+- "Win32_System_WindowsProgramming",
+-]
+-
+ [features]
+ rustc_use_parallel_compiler = ['rustc_error_messages/rustc_use_parallel_compiler']
+Index: rust/compiler/rustc_session/Cargo.toml
+===================================================================
+--- rust.orig/compiler/rustc_session/Cargo.toml
++++ rust/compiler/rustc_session/Cargo.toml
+@@ -23,10 +23,3 @@ termize = "0.1.1"
+
+ [target.'cfg(unix)'.dependencies]
+ libc = "0.2"
+-
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_LibraryLoader",
+-]
+Index: rust/src/bootstrap/Cargo.toml
+===================================================================
+--- rust.orig/src/bootstrap/Cargo.toml
++++ rust/src/bootstrap/Cargo.toml
+@@ -61,25 +61,6 @@ sysinfo = { version = "0.26.0", optional
+ [target.'cfg(not(target_os = "solaris"))'.dependencies]
+ fd-lock = "3.0.8"
+
+-[target.'cfg(windows)'.dependencies.junction]
+-version = "1.0.0"
+-
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Security",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Diagnostics_Debug",
+- "Win32_System_IO",
+- "Win32_System_Ioctl",
+- "Win32_System_JobObjects",
+- "Win32_System_ProcessStatus",
+- "Win32_System_SystemServices",
+- "Win32_System_Threading",
+- "Win32_System_Time",
+-]
+-
+ [dev-dependencies]
+ pretty_assertions = "1.2"
+
+Index: rust/src/tools/compiletest/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/compiletest/Cargo.toml
++++ rust/src/tools/compiletest/Cargo.toml
+@@ -23,13 +23,3 @@ lazycell = "1.3.0"
+
+ [target.'cfg(unix)'.dependencies]
+ libc = "0.2"
+-
+-[target.'cfg(windows)'.dependencies]
+-miow = "0.5"
+-
+-[target.'cfg(windows)'.dependencies.windows]
+-version = "0.46.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Diagnostics_Debug",
+-]
+Index: rust/src/tools/rust-analyzer/crates/stdx/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/crates/stdx/Cargo.toml
++++ rust/src/tools/rust-analyzer/crates/stdx/Cargo.toml
+@@ -17,10 +17,6 @@ backtrace = { version = "0.3.65", option
+ always-assert = { version = "0.1.2", features = ["log"] }
+ # Think twice before adding anything here
+
+-[target.'cfg(windows)'.dependencies]
+-miow = "0.5.0"
+-winapi = { version = "0.3.9", features = ["winerror"] }
+-
+ [features]
+ # Uncomment to enable for the whole crate graph
+ # default = [ "backtrace" ]
+Index: rust/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
++++ rust/src/tools/rust-analyzer/crates/rust-analyzer/Cargo.toml
+@@ -67,12 +67,6 @@ tt.workspace = true
+ vfs-notify.workspace = true
+ vfs.workspace = true
+
+-[target.'cfg(windows)'.dependencies]
+-winapi = "0.3.9"
+-
+-[target.'cfg(not(target_env = "msvc"))'.dependencies]
+-jemallocator = { version = "0.5.0", package = "tikv-jemallocator", optional = true }
+-
+ [dev-dependencies]
+ expect-test = "1.4.0"
+ jod-thread = "0.1.2"
+Index: rust/src/tools/cargo/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/Cargo.toml
++++ rust/src/tools/cargo/Cargo.toml
+@@ -82,22 +82,6 @@ walkdir = "2.2"
+ # for more information.
+ rustc-workspace-hack = "1.0.0"
+
+-[target.'cfg(windows)'.dependencies]
+-fwdansi = "1.1.0"
+-
+-[target.'cfg(windows)'.dependencies.windows-sys]
+-version = "0.45"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Console",
+- "Win32_System_IO",
+- "Win32_System_Threading",
+- "Win32_System_JobObjects",
+- "Win32_Security",
+- "Win32_System_SystemServices"
+-]
+-
+ [dev-dependencies]
+ cargo-test-macro = { path = "crates/cargo-test-macro" }
+ cargo-test-support = { path = "crates/cargo-test-support" }
+Index: rust/src/tools/cargo/crates/cargo-util/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-util/Cargo.toml
++++ rust/src/tools/cargo/crates/cargo-util/Cargo.toml
+@@ -22,7 +22,3 @@ walkdir = "2.3.1"
+
+ [target.'cfg(target_os = "macos")'.dependencies]
+ core-foundation = { version = "0.9.0", features = ["mac_os_10_7_support"] }
+-
+-[target.'cfg(windows)'.dependencies]
+-miow = "0.5.0"
+-windows-sys = { version = "0.45.0", features = ["Win32_Storage_FileSystem", "Win32_Foundation", "Win32_System_Console"] }
+Index: rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/cargo-test-support/Cargo.toml
++++ rust/src/tools/cargo/crates/cargo-test-support/Cargo.toml
+@@ -27,6 +27,3 @@ termcolor = "1.1.2"
+ time = { version = "0.3", features = ["parsing", "formatting"]}
+ toml = "0.7.0"
+ url = "2.2.2"
+-
+-[target.'cfg(windows)'.dependencies]
+-windows-sys = { version = "0.45.0", features = ["Win32_Storage_FileSystem"] }
+Index: rust/src/tools/cargo/crates/home/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/cargo/crates/home/Cargo.toml
++++ rust/src/tools/cargo/crates/home/Cargo.toml
+@@ -15,6 +15,3 @@ license = "MIT OR Apache-2.0"
+ readme = "README.md"
+ repository = "https://github.com/rust-lang/cargo"
+ description = "Shared definitions of home directories."
+-
+-[target.'cfg(windows)'.dependencies]
+-windows-sys = { version = "0.45.0", features = ["Win32_Foundation", "Win32_UI_Shell"] }
diff --git a/debian/patches/d-0021-vendor-remove-windows-dependencies.patch b/debian/patches/d-0021-vendor-remove-windows-dependencies.patch
new file mode 100644
index 000000000..9a2994a34
--- /dev/null
+++ b/debian/patches/d-0021-vendor-remove-windows-dependencies.patch
@@ -0,0 +1,844 @@
+From 1a6f5062adaad5d7f1a4f1cf792f4ee8c3c17e9f Mon Sep 17 00:00:00 2001
+From: liushuyu <zixing.liu@canonical.com>
+Date: Wed, 6 Sep 2023 13:23:24 -0600
+Subject: [PATCH] Remove Windows dependencies
+
+---
+ vendor/anstyle-wincon/Cargo.toml | 7 -------
+ vendor/compiletest_rs/Cargo.toml | 3 ---
+ vendor/concolor-query/Cargo.toml | 7 -------
+ vendor/errno/Cargo.toml | 7 -------
+ vendor/fd-lock/Cargo.toml | 8 --------
+ vendor/filetime/Cargo.toml | 7 -------
+ vendor/gix-sec/Cargo.toml | 10 ----------
+ vendor/home/Cargo.toml | 7 -------
+ vendor/io-lifetimes/Cargo.toml | 13 -------------
+ vendor/is-terminal/Cargo.toml | 8 --------
+ vendor/parking_lot_core/Cargo.toml | 9 ---------
+ vendor/rustix/Cargo.toml | 9 ---------
+ vendor/snapbox/Cargo.toml | 6 ------
+ vendor/tempfile/Cargo.toml | 7 -------
+ vendor/terminal_size/Cargo.toml | 7 -------
+ 15 files changed, 115 deletions(-)
+
+Index: rust/vendor/compiletest_rs/Cargo.toml
+===================================================================
+--- rust.orig/vendor/compiletest_rs/Cargo.toml
++++ rust/vendor/compiletest_rs/Cargo.toml
+@@ -74,10 +74,3 @@ tmp = ["tempfile"]
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-
+-[target."cfg(windows)".dependencies.miow]
+-version = "0.3"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["winerror"]
+Index: rust/vendor/concolor-query/Cargo.toml
+===================================================================
+--- rust.orig/vendor/concolor-query/Cargo.toml
++++ rust/vendor/concolor-query/Cargo.toml
+@@ -33,10 +33,3 @@ keywords = [
+ categories = ["command-line-interface"]
+ license = "MIT OR Apache-2.0"
+ repository = "https://github.com/rust-cli/concolor"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_System_Console",
+- "Win32_Foundation",
+-]
+Index: rust/vendor/errno/Cargo.toml
+===================================================================
+--- rust.orig/vendor/errno/Cargo.toml
++++ rust/vendor/errno/Cargo.toml
+@@ -40,10 +40,3 @@ version = "0.2"
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Diagnostics_Debug",
+-]
+Index: rust/vendor/fd-lock/Cargo.toml
+===================================================================
+--- rust.orig/vendor/fd-lock/Cargo.toml
++++ rust/vendor/fd-lock/Cargo.toml
+@@ -43,11 +43,3 @@ version = "3.0.8"
+ [target."cfg(unix)".dependencies.rustix]
+ version = "0.37.0"
+ features = ["fs"]
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_IO",
+-]
+Index: rust/vendor/filetime/Cargo.toml
+===================================================================
+--- rust.orig/vendor/filetime/Cargo.toml
++++ rust/vendor/filetime/Cargo.toml
+@@ -38,10 +38,3 @@ version = "0.2.9"
+
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.27"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+-]
+Index: rust/vendor/gix-sec/Cargo.toml
+===================================================================
+--- rust.orig/vendor/gix-sec/Cargo.toml
++++ rust/vendor/gix-sec/Cargo.toml
+@@ -64,13 +64,3 @@ version = "4"
+
+ [target."cfg(windows)".dependencies.gix-path]
+ version = "^0.7.1"
+-
+-[target."cfg(windows)".dependencies.windows]
+-version = "0.43.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Security_Authorization",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Memory",
+- "Win32_System_Threading",
+-]
+Index: rust/vendor/home/Cargo.toml
+===================================================================
+--- rust.orig/vendor/home/Cargo.toml
++++ rust/vendor/home/Cargo.toml
+@@ -27,10 +27,3 @@ readme = "README.md"
+ license = "MIT OR Apache-2.0"
+ repository = "https://github.com/brson/home"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "shlobj",
+- "std",
+- "winerror",
+-]
+Index: rust/vendor/io-lifetimes/Cargo.toml
+===================================================================
+--- rust.orig/vendor/io-lifetimes/Cargo.toml
++++ rust/vendor/io-lifetimes/Cargo.toml
+@@ -43,7 +43,6 @@ optional = true
+ close = [
+ "libc",
+ "hermit-abi",
+- "windows-sys",
+ ]
+ default = ["close"]
+
+@@ -85,15 +84,3 @@ optional = true
+ [target."cfg(target_os = \"hermit\")".dependencies.hermit-abi]
+ version = "0.3"
+ optional = true
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_Networking_WinSock",
+- "Win32_Security",
+- "Win32_System_IO",
+- "Win32_System_Threading",
+-]
+-optional = true
+Index: rust/vendor/is-terminal/Cargo.toml
+===================================================================
+--- rust.orig/vendor/is-terminal/Cargo.toml
++++ rust/vendor/is-terminal/Cargo.toml
+@@ -53,14 +53,3 @@ features = ["termios"]
+
+ [target."cfg(target_os = \"hermit\")".dependencies.hermit-abi]
+ version = "0.3.0"
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+- "Win32_System_Console",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.tempfile]
+-version = "3"
+Index: rust/vendor/parking_lot_core/Cargo.toml
+===================================================================
+--- rust.orig/vendor/parking_lot_core/Cargo.toml
++++ rust/vendor/parking_lot_core/Cargo.toml
+@@ -58,11 +58,3 @@ version = "0.2.8"
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.95"
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_LibraryLoader",
+- "Win32_System_SystemServices",
+- "Win32_System_WindowsProgramming",
+-]
+Index: rust/vendor/rustix/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix/Cargo.toml
++++ rust/vendor/rustix/Cargo.toml
+@@ -233,14 +233,3 @@ package = "errno"
+ version = "1.5.2"
+ optional = true
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.45.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Networking_WinSock",
+- "Win32_NetworkManagement_IpHelper",
+- "Win32_System_Threading",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.ctor]
+-version = "0.1.21"
+Index: rust/vendor/tempfile/Cargo.toml
+===================================================================
+--- rust.orig/vendor/tempfile/Cargo.toml
++++ rust/vendor/tempfile/Cargo.toml
+@@ -38,6 +38,3 @@ nightly = []
+ version = "0.2.27"
+ [target."cfg(target_os = \"redox\")".dependencies.redox_syscall]
+ version = "0.2.9"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["fileapi", "handleapi", "winbase"]
+Index: rust/vendor/terminal_size/Cargo.toml
+===================================================================
+--- rust.orig/vendor/terminal_size/Cargo.toml
++++ rust/vendor/terminal_size/Cargo.toml
+@@ -30,10 +30,3 @@ repository = "https://github.com/eminenc
+ [target."cfg(not(windows))".dependencies.rustix]
+ version = "0.36.3"
+ features = ["termios"]
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_System_Console",
+-]
+Index: rust/vendor/curl/Cargo.toml
+===================================================================
+--- rust.orig/vendor/curl/Cargo.toml
++++ rust/vendor/curl/Cargo.toml
+@@ -107,16 +107,6 @@ optional = true
+ version = "0.9.43"
+ optional = true
+
+-[target."cfg(target_env = \"msvc\")".dependencies.schannel]
+-version = "0.1.13"
+-
+-[target."cfg(target_env = \"msvc\")".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "libloaderapi",
+- "wincrypt",
+-]
+-
+ [badges.appveyor]
+ repository = "alexcrichton/curl-rust"
+
+Index: rust/vendor/uuid/Cargo.toml
+===================================================================
+--- rust.orig/vendor/uuid/Cargo.toml
++++ rust/vendor/uuid/Cargo.toml
+@@ -64,7 +64,7 @@ version = "1.0.56"
+
+ [features]
+ default = ["std"]
+-guid = ["winapi"]
++guid = []
+ std = []
+ stdweb = ["getrandom", "getrandom/js"]
+ v1 = []
+@@ -72,9 +72,6 @@ v3 = ["md5"]
+ v4 = ["getrandom"]
+ v5 = ["sha1"]
+ wasm-bindgen = ["getrandom", "getrandom/js"]
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-optional = true
+ [badges.appveyor]
+ repository = "uuid-rs/uuid"
+
+Index: rust/vendor/anstream/Cargo.toml
+===================================================================
+--- rust.orig/vendor/anstream/Cargo.toml
++++ rust/vendor/anstream/Cargo.toml
+@@ -137,8 +137,5 @@ default = [
+ "auto",
+ "wincon",
+ ]
+-wincon = ["dep:anstyle-wincon"]
++wincon = []
+
+-[target."cfg(windows)".dependencies.anstyle-wincon]
+-version = "0.2.0"
+-optional = true
+Index: rust/vendor/atty/Cargo.toml
+===================================================================
+--- rust.orig/vendor/atty/Cargo.toml
++++ rust/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"
+Index: rust/vendor/backtrace/Cargo.toml
+===================================================================
+--- rust.orig/vendor/backtrace/Cargo.toml
++++ rust/vendor/backtrace/Cargo.toml
+@@ -127,18 +127,4 @@ serialize-serde = ["serde"]
+ std = []
+ unix-backtrace = []
+ verify-winapi = [
+- "winapi/dbghelp",
+- "winapi/handleapi",
+- "winapi/libloaderapi",
+- "winapi/memoryapi",
+- "winapi/minwindef",
+- "winapi/processthreadsapi",
+- "winapi/synchapi",
+- "winapi/tlhelp32",
+- "winapi/winbase",
+- "winapi/winnt",
+ ]
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-optional = true
+Index: rust/vendor/chrono/Cargo.toml
+===================================================================
+--- rust.orig/vendor/chrono/Cargo.toml
++++ rust/vendor/chrono/Cargo.toml
+@@ -93,7 +93,7 @@ version = "1"
+ __doctest = []
+ __internal_bench = []
+ alloc = []
+-clock = ["libc", "std", "winapi"]
++clock = ["libc", "std"]
+ default = ["clock", "std", "oldtime"]
+ oldtime = ["time"]
+ std = []
+@@ -108,10 +108,6 @@ version = "0.2"
+ optional = true
+ [target."cfg(all(target_arch = \"wasm32\", not(any(target_os = \"emscripten\", target_os = \"wasi\"))))".dev-dependencies.wasm-bindgen-test]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "minwinbase", "minwindef", "timezoneapi"]
+-optional = true
+ [badges.appveyor]
+ repository = "chronotope/chrono"
+
+Index: rust/vendor/colored/Cargo.toml
+===================================================================
+--- rust.orig/vendor/colored/Cargo.toml
++++ rust/vendor/colored/Cargo.toml
+@@ -33,7 +33,3 @@ version = "=1.0.0-beta.3"
+
+ [features]
+ no-color = []
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["consoleapi", "processenv", "winbase"]
+-default-features = false
+Index: rust/vendor/concolor/Cargo.toml
+===================================================================
+--- rust.orig/vendor/concolor/Cargo.toml
++++ rust/vendor/concolor/Cargo.toml
+@@ -59,7 +59,6 @@ auto = [
+ "clicolor",
+ "no_color",
+ "term",
+- "windows",
+ ]
+ clicolor = [
+ "core",
+@@ -82,7 +81,3 @@ term = [
+ "core",
+ "concolor-query",
+ ]
+-windows = [
+- "core",
+- "concolor-query/windows",
+-]
+Index: rust/vendor/curl-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/curl-sys/Cargo.toml
++++ rust/vendor/curl-sys/Cargo.toml
+@@ -63,7 +63,6 @@ ssl = ["openssl-sys"]
+ static-curl = []
+ static-ssl = ["openssl-sys/vendored"]
+ upkeep_7_62_0 = []
+-windows-static-ssl = []
+ zlib-ng-compat = [
+ "libz-sys/zlib-ng",
+ "static-curl",
+@@ -73,16 +72,6 @@ zlib-ng-compat = [
+ version = "0.9"
+ optional = true
+
+-[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
+-version = "0.2"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "winsock2",
+- "ws2def",
+-]
+-
+ [badges.appveyor]
+ repository = "alexcrichton/curl-rust"
+
+Index: rust/vendor/dirs-sys-next/Cargo.toml
+===================================================================
+--- rust.orig/vendor/dirs-sys-next/Cargo.toml
++++ rust/vendor/dirs-sys-next/Cargo.toml
+@@ -25,8 +25,5 @@ version = "0.4.0"
+ default-features = false
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["knownfolders", "objbase", "shlobj", "winbase", "winerror"]
+ [badges.maintenance]
+ status = "as-is"
+Index: rust/vendor/dirs-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/dirs-sys/Cargo.toml
++++ rust/vendor/dirs-sys/Cargo.toml
+@@ -23,6 +23,3 @@ version = "0.4"
+ default-features = false
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["knownfolders", "objbase", "shlobj", "winbase", "winerror"]
+Index: rust/vendor/errno-0.2.8/Cargo.toml
+===================================================================
+--- rust.orig/vendor/errno-0.2.8/Cargo.toml
++++ rust/vendor/errno-0.2.8/Cargo.toml
+@@ -30,6 +30,3 @@ version = "0.2"
+ version = "0.2"
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["errhandlingapi", "minwindef", "ntdef", "winbase"]
+Index: rust/vendor/gix-discover/Cargo.toml
+===================================================================
+--- rust.orig/vendor/gix-discover/Cargo.toml
++++ rust/vendor/gix-discover/Cargo.toml
+@@ -60,6 +60,3 @@ version = "3.2.0"
+
+ [target."cfg(target_os = \"macos\")".dev-dependencies.defer]
+ version = "0.1.0"
+-
+-[target."cfg(windows)".dependencies.dunce]
+-version = "1.0.3"
+Index: rust/vendor/ignore/Cargo.toml
+===================================================================
+--- rust.orig/vendor/ignore/Cargo.toml
++++ rust/vendor/ignore/Cargo.toml
+@@ -57,5 +57,3 @@ version = "0.5.0"
+
+ [features]
+ simd-accel = ["globset/simd-accel"]
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.2"
+Index: rust/vendor/libloading/Cargo.toml
+===================================================================
+--- rust.orig/vendor/libloading/Cargo.toml
++++ rust/vendor/libloading/Cargo.toml
+@@ -43,9 +43,3 @@ version = "1.1"
+ [target."cfg(unix)".dependencies.cfg-if]
+ version = "1"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "errhandlingapi",
+- "libloaderapi",
+-]
+Index: rust/vendor/libssh2-sys/Cargo.toml
+===================================================================
+--- rust.orig/vendor/libssh2-sys/Cargo.toml
++++ rust/vendor/libssh2-sys/Cargo.toml
+@@ -47,9 +47,6 @@ openssl-on-win32 = ["openssl-sys"]
+ vendored-openssl = ["openssl-sys/vendored"]
+ zlib-ng-compat = ["libz-sys/zlib-ng"]
+
+-[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
+-version = "0.2"
+-
+ [target."cfg(unix)".dependencies.openssl-sys]
+ version = "0.9.35"
+
+Index: rust/vendor/nu-ansi-term/Cargo.toml
+===================================================================
+--- rust.orig/vendor/nu-ansi-term/Cargo.toml
++++ rust/vendor/nu-ansi-term/Cargo.toml
+@@ -45,13 +45,3 @@ version = "1.0.39"
+
+ [features]
+ derive_serde_style = ["serde"]
+-
+-[target."cfg(target_os=\"windows\")".dependencies.winapi]
+-version = "0.3.4"
+-features = [
+- "consoleapi",
+- "errhandlingapi",
+- "fileapi",
+- "handleapi",
+- "processenv",
+-]
+Index: rust/vendor/opener/Cargo.toml
+===================================================================
+--- rust.orig/vendor/opener/Cargo.toml
++++ rust/vendor/opener/Cargo.toml
+@@ -25,9 +25,6 @@ repository = "https://github.com/Seeker1
+ version = "0.9"
+ [target."cfg(target_os = \"linux\")".dependencies.bstr]
+ version = "0.2"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["shellapi"]
+ [badges.appveyor]
+ branch = "master"
+ repository = "Seeker14491/opener"
+Index: rust/vendor/os_info/Cargo.toml
+===================================================================
+--- rust.orig/vendor/os_info/Cargo.toml
++++ rust/vendor/os_info/Cargo.toml
+@@ -48,17 +48,3 @@ version = "1"
+ [features]
+ default = ["serde"]
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.8"
+-features = [
+- "minwindef",
+- "ntdef",
+- "ntstatus",
+- "sysinfoapi",
+- "winnt",
+- "winuser",
+- "libloaderapi",
+- "processthreadsapi",
+- "winerror",
+- "winreg",
+-]
+Index: rust/vendor/parking_lot_core-0.8.6/Cargo.toml
+===================================================================
+--- rust.orig/vendor/parking_lot_core-0.8.6/Cargo.toml
++++ rust/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",
+-]
+Index: rust/vendor/pretty_assertions/Cargo.toml
+===================================================================
+--- rust.orig/vendor/pretty_assertions/Cargo.toml
++++ rust/vendor/pretty_assertions/Cargo.toml
+@@ -43,8 +43,3 @@ default = ["std"]
+ std = []
+ unstable = []
+
+-[target."cfg(windows)".dependencies.ctor]
+-version = "0.1.9"
+-
+-[target."cfg(windows)".dependencies.output_vt100]
+-version = "0.1.2"
+Index: rust/vendor/remove_dir_all/Cargo.toml
+===================================================================
+--- rust.orig/vendor/remove_dir_all/Cargo.toml
++++ rust/vendor/remove_dir_all/Cargo.toml
+@@ -23,6 +23,3 @@ license = "MIT/Apache-2.0"
+ repository = "https://github.com/XAMPPRocky/remove_dir_all.git"
+ [dev-dependencies.doc-comment]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["std", "errhandlingapi", "winerror", "fileapi", "winbase"]
+Index: rust/vendor/rustix-0.36.5/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix-0.36.5/Cargo.toml
++++ rust/vendor/rustix-0.36.5/Cargo.toml
+@@ -222,15 +222,3 @@ package = "errno"
+ [target."cfg(any(target_os = \"android\", target_os = \"linux\"))".dependencies.once_cell]
+ version = "1.5.2"
+ optional = true
+-
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Networking_WinSock",
+- "Win32_NetworkManagement_IpHelper",
+- "Win32_System_Threading",
+-]
+-
+-[target."cfg(windows)".dev-dependencies.ctor]
+-version = "0.1.21"
+Index: rust/vendor/same-file/Cargo.toml
+===================================================================
+--- rust.orig/vendor/same-file/Cargo.toml
++++ rust/vendor/same-file/Cargo.toml
+@@ -25,5 +25,3 @@ license = "Unlicense/MIT"
+ repository = "https://github.com/BurntSushi/same-file"
+ [dev-dependencies.doc-comment]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.1"
+Index: rust/vendor/socket2/Cargo.toml
+===================================================================
+--- rust.orig/vendor/socket2/Cargo.toml
++++ rust/vendor/socket2/Cargo.toml
+@@ -34,6 +34,3 @@ features = ["all"]
+ all = []
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.96"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = ["handleapi", "ws2ipdef", "ws2tcpip"]
+Index: rust/vendor/stacker/Cargo.toml
+===================================================================
+--- rust.orig/vendor/stacker/Cargo.toml
++++ rust/vendor/stacker/Cargo.toml
+@@ -44,12 +44,3 @@ version = "0.1.7"
+ [build-dependencies.cc]
+ version = "1.0.2"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.6"
+-features = [
+- "memoryapi",
+- "winbase",
+- "fibersapi",
+- "processthreadsapi",
+- "minwindef",
+-]
+Index: rust/vendor/sysinfo/Cargo.toml
+===================================================================
+--- rust.orig/vendor/sysinfo/Cargo.toml
++++ rust/vendor/sysinfo/Cargo.toml
+@@ -60,41 +60,3 @@ version = "1.0"
+
+ [target."cfg(not(any(target_os = \"unknown\", target_arch = \"wasm32\")))".dependencies.libc]
+ version = "^0.2.112"
+-
+-[target."cfg(windows)".dependencies.ntapi]
+-version = "0.4"
+-
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = [
+- "errhandlingapi",
+- "fileapi",
+- "handleapi",
+- "heapapi",
+- "ifdef",
+- "ioapiset",
+- "minwindef",
+- "pdh",
+- "psapi",
+- "synchapi",
+- "sysinfoapi",
+- "winbase",
+- "winerror",
+- "winioctl",
+- "winnt",
+- "oleauto",
+- "wbemcli",
+- "rpcdce",
+- "combaseapi",
+- "objidl",
+- "powerbase",
+- "netioapi",
+- "lmcons",
+- "lmaccess",
+- "lmapibuf",
+- "memoryapi",
+- "ntlsa",
+- "securitybaseapi",
+- "shellapi",
+- "std",
+-]
+Index: rust/vendor/term/Cargo.toml
+===================================================================
+--- rust.orig/vendor/term/Cargo.toml
++++ rust/vendor/term/Cargo.toml
+@@ -31,9 +31,6 @@ default = []
+ [target."cfg(windows)".dependencies.rustversion]
+ version = "1"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["consoleapi", "wincon", "handleapi", "fileapi"]
+ [badges.appveyor]
+ repository = "Stebalien/term"
+
+Index: rust/vendor/termcolor/Cargo.toml
+===================================================================
+--- rust.orig/vendor/termcolor/Cargo.toml
++++ rust/vendor/termcolor/Cargo.toml
+@@ -36,5 +36,3 @@ bench = false
+
+ [dev-dependencies]
+
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.3"
+Index: rust/vendor/termize/Cargo.toml
+===================================================================
+--- rust.orig/vendor/termize/Cargo.toml
++++ rust/vendor/termize/Cargo.toml
+@@ -49,8 +49,5 @@ rpath = false
+ [dependencies]
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2.66"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.8"
+-features = ["handleapi", "processenv", "wincon", "winbase"]
+ [badges.cirrus-ci]
+ repository = "JohnTitor/termize"
+Index: rust/vendor/time-0.1.43/Cargo.toml
+===================================================================
+--- rust.orig/vendor/time-0.1.43/Cargo.toml
++++ rust/vendor/time-0.1.43/Cargo.toml
+@@ -29,10 +29,3 @@ version = "0.3"
+ optional = true
+ [dev-dependencies.log]
+ version = "0.4"
+-
+-[dev-dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "processthreadsapi", "winbase"]
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "minwinbase", "minwindef", "ntdef", "profileapi", "sysinfoapi", "timezoneapi"]
+Index: rust/vendor/tokio/Cargo.toml
+===================================================================
+--- rust.orig/vendor/tokio/Cargo.toml
++++ rust/vendor/tokio/Cargo.toml
+@@ -95,11 +95,11 @@ full = ["fs", "io-util", "io-std", "macr
+ io-std = []
+ io-util = ["memchr", "bytes"]
+ macros = ["tokio-macros"]
+-net = ["libc", "mio/os-poll", "mio/os-util", "mio/tcp", "mio/udp", "mio/uds", "winapi/namedpipeapi"]
+-process = ["bytes", "once_cell", "libc", "mio/os-poll", "mio/os-util", "mio/uds", "signal-hook-registry", "winapi/threadpoollegacyapiset"]
++net = ["libc", "mio/os-poll", "mio/os-util", "mio/tcp", "mio/udp", "mio/uds"]
++process = ["bytes", "once_cell", "libc", "mio/os-poll", "mio/os-util", "mio/uds", "signal-hook-registry"]
+ rt = []
+ rt-multi-thread = ["num_cpus", "rt"]
+-signal = ["once_cell", "libc", "mio/os-poll", "mio/uds", "mio/os-util", "signal-hook-registry", "winapi/consoleapi"]
++signal = ["once_cell", "libc", "mio/os-poll", "mio/uds", "mio/os-util", "signal-hook-registry"]
+ sync = []
+ test-util = []
+ time = []
+@@ -123,9 +123,3 @@ version = "0.2.42"
+
+ [target."cfg(unix)".dev-dependencies.nix]
+ version = "0.22.0"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.8"
+-optional = true
+-default-features = false
+-[target."cfg(windows)".dev-dependencies.ntapi]
+-version = "0.3.6"
+Index: rust/vendor/walkdir/Cargo.toml
+===================================================================
+--- rust.orig/vendor/walkdir/Cargo.toml
++++ rust/vendor/walkdir/Cargo.toml
+@@ -28,12 +28,7 @@ repository = "https://github.com/BurntSu
+ version = "1.0.1"
+ [dev-dependencies.doc-comment]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = ["std", "winnt"]
+
+-[target."cfg(windows)".dependencies.winapi-util]
+-version = "0.1.1"
+ [badges.appveyor]
+ repository = "BurntSushi/walkdir"
+
+Index: rust/vendor/yansi-term/Cargo.toml
+===================================================================
+--- rust.orig/vendor/yansi-term/Cargo.toml
++++ rust/vendor/yansi-term/Cargo.toml
+@@ -36,9 +36,6 @@ version = "1.0"
+
+ [features]
+ derive_serde_style = ["serde"]
+-[target."cfg(target_os=\"windows\")".dependencies.winapi]
+-version = "0.3.4"
+-features = ["consoleapi", "errhandlingapi", "fileapi", "handleapi", "processenv"]
+ [badges.maintenance]
+ status = "actively-developed"
+
+Index: rust/vendor/snapbox/Cargo.toml
+===================================================================
+--- rust.orig/vendor/snapbox/Cargo.toml
++++ rust/vendor/snapbox/Cargo.toml
+@@ -154,14 +154,6 @@ optional = true
+ version = "2.3.2"
+ optional = true
+
+-[dependencies.winapi]
+-version = "0.3.9"
+-features = [
+- "consoleapi",
+- "minwindef",
+-]
+-optional = true
+-
+ [dependencies.yansi]
+ version = "0.5.0"
+ optional = true
+@@ -171,7 +163,6 @@ cmd = [
+ "dep:os_pipe",
+ "dep:wait-timeout",
+ "dep:libc",
+- "dep:winapi",
+ ]
+ color = [
+ "dep:yansi",
diff --git a/debian/patches/d-armel-fix-lldb.patch b/debian/patches/d-armel-fix-lldb.patch
index 21072dbb1..4f7ac94b2 100644
--- a/debian/patches/d-armel-fix-lldb.patch
+++ b/debian/patches/d-armel-fix-lldb.patch
@@ -1,10 +1,10 @@
run panics if lldb is not installed and no output is produced..
-diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
-index c0fa8c9acb..2b5559efc7 100644
---- a/src/bootstrap/test.rs
-+++ b/src/bootstrap/test.rs
-@@ -1524,7 +1524,11 @@
+Index: rust/src/bootstrap/test.rs
+===================================================================
+--- rust.orig/src/bootstrap/test.rs
++++ rust/src/bootstrap/test.rs
+@@ -1619,7 +1619,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);
diff --git a/debian/patches/d-bootstrap-cargo-check-cfg.patch b/debian/patches/d-bootstrap-cargo-check-cfg.patch
index cf633ae2b..65fbd07bc 100644
--- a/debian/patches/d-bootstrap-cargo-check-cfg.patch
+++ b/debian/patches/d-bootstrap-cargo-check-cfg.patch
@@ -1,11 +1,11 @@
our cargo doesn't know about the 'output' part yet, this patch can be dropped
with cargo >= 0.64
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 0ab4824ac0a..76c476f449b 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1241,9 +1241,9 @@
+Index: rust/src/bootstrap/builder.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder.rs
++++ rust/src/bootstrap/builder.rs
+@@ -1350,9 +1350,9 @@ impl<'a> Builder<'a> {
// complete list of features, so for that reason we don't enable checking of
// features for std crates.
cargo.arg(if mode != Mode::Std {
diff --git a/debian/patches/d-bootstrap-cargo-doc-paths.patch b/debian/patches/d-bootstrap-cargo-doc-paths.patch
index 8b6b5a82a..577bb704e 100644
--- a/debian/patches/d-bootstrap-cargo-doc-paths.patch
+++ b/debian/patches/d-bootstrap-cargo-doc-paths.patch
@@ -19,11 +19,11 @@ to not fail these links.
src/tools/linkchecker/main.rs | 6 ++++++
12 files changed, 38 insertions(+), 32 deletions(-)
-diff --git a/src/doc/edition-guide/src/editions/advanced-migrations.md b/src/doc/edition-guide/src/editions/advanced-migrations.md
-index b804ae6..b8136d7 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.
+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
We're now more idiomatic, and we didn't have to fix our code manually!
@@ -49,11 +49,11 @@ index b804ae6..b8136d7 100644
[conditional compilation]: ../../reference/conditional-compilation.html
[documentation tests]: ../../rustdoc/documentation-tests.html
[JSON messages]: ../../rustc/json.html
-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 4343529..7f7f0b6 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 (
+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
Congrats! Your code is now valid in both Rust 2015 and Rust 2018!
@@ -63,11 +63,11 @@ index 4343529..7f7f0b6 100644
+[`cargo test`]: ../../../cargo-doc/doc/commands/cargo-test.html
[Advanced migration strategies]: advanced-migrations.md
[nightly channel]: ../../book/appendix-07-nightly-rust.html
-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 9abc5a6..dff04a4 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
+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
crates that are depended on in multiple ways.
See [the announcement of Rust 1.51][5] for details.
@@ -83,17 +83,17 @@ index 9abc5a6..dff04a4 100644
## Migration
-@@ -176,4 +176,4 @@ This snippet of output shows that the project `foo` depends on `bar` with the "d
+@@ -176,4 +176,4 @@ This snippet of output shows that the pr
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-doc/doc/commands/cargo-tree.html
-diff --git a/src/doc/index.md b/src/doc/index.md
-index 2c92d5e..9be58d5 100644
---- a/src/doc/index.md
-+++ b/src/doc/index.md
-@@ -130,7 +130,7 @@
+Index: rust/src/doc/index.md
+===================================================================
+--- rust.orig/src/doc/index.md
++++ rust/src/doc/index.md
+@@ -130,7 +130,7 @@ their differences.
### The Cargo Book
@@ -102,11 +102,11 @@ index 2c92d5e..9be58d5 100644
dependency manager.
### The Rustdoc Book
-diff --git a/src/doc/reference/src/conditional-compilation.md b/src/doc/reference/src/conditional-compilation.md
-index 6966cec..0ca3589 100644
---- a/src/doc/reference/src/conditional-compilation.md
-+++ b/src/doc/reference/src/conditional-compilation.md
-@@ -370,6 +370,6 @@
+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
+@@ -370,6 +370,6 @@ println!("I'm running on a {} machine!",
[`target_feature` attribute]: attributes/codegen.md#the-target_feature-attribute
[attribute]: attributes.md
[attributes]: attributes.md
@@ -114,11 +114,11 @@ index 6966cec..0ca3589 100644
+[cargo-feature]: ../../cargo-doc/doc/reference/features.html
[crate type]: linkage.md
[static C runtime]: linkage.md#static-and-dynamic-c-runtimes
-diff --git a/src/doc/reference/src/introduction.md b/src/doc/reference/src/introduction.md
-index 9038efd..dbfbd39 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
+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
[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 +129,10 @@ index 9038efd..dbfbd39 100644
[expressions chapter]: expressions.html
[file an issue]: https://github.com/rust-lang/reference/issues
[lifetime of temporaries]: expressions.html#temporaries
-diff --git a/src/doc/reference/src/linkage.md b/src/doc/reference/src/linkage.md
-index b152005..14277bf 100644
---- a/src/doc/reference/src/linkage.md
-+++ b/src/doc/reference/src/linkage.md
+Index: rust/src/doc/reference/src/linkage.md
+===================================================================
+--- rust.orig/src/doc/reference/src/linkage.md
++++ rust/src/doc/reference/src/linkage.md
@@ -201,7 +201,7 @@ fn main() {
}
```
@@ -142,10 +142,10 @@ index b152005..14277bf 100644
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
-diff --git a/src/doc/reference/src/procedural-macros.md b/src/doc/reference/src/procedural-macros.md
-index d983394..6f363f6 100644
---- a/src/doc/reference/src/procedural-macros.md
-+++ b/src/doc/reference/src/procedural-macros.md
+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
their equivalent `#[doc = r"str"]` attributes when passed to macros.
@@ -155,11 +155,11 @@ index d983394..6f363f6 100644
[Derive macros]: #derive-macros
[Function-like macros]: #function-like-procedural-macros
[`Delimiter::None`]: ../proc_macro/enum.Delimiter.html#variant.None
-diff --git a/src/doc/rustc/src/tests/index.md b/src/doc/rustc/src/tests/index.md
-index 32baed9..53c97f8 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
+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
[`--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 +168,7 @@ index 32baed9..53c97f8 100644
[`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 test harnesses is available on the
+@@ -311,7 +311,7 @@ Experimental support for using custom te
[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 +177,11 @@ index 32baed9..53c97f8 100644
[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
-diff --git a/src/doc/rustc/src/what-is-rustc.md b/src/doc/rustc/src/what-is-rustc.md
-index 39a05cf..d106986 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
+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
produce binary code, either as a library or executable.
Most Rust programmers don't invoke `rustc` directly, but instead do it through
@@ -190,11 +190,11 @@ index 39a05cf..d106986 100644
want to see how Cargo calls `rustc`, you can
```bash
-diff --git a/src/doc/edition-guide/book.toml b/src/doc/edition-guide/book.toml
-index 8d8b263..8d31dfe 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"
+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/"
@@ -218,17 +218,17 @@ index 8d8b263..8d31dfe 100644
"/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"
+@@ -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-doc/doc/commands/cargo-vendor.html"
-diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
-index a22dc5f..c8d521a 100644
---- a/src/tools/linkchecker/main.rs
-+++ b/src/tools/linkchecker/main.rs
-@@ -262,6 +262,12 @@
+Index: rust/src/tools/linkchecker/main.rs
+===================================================================
+--- rust.orig/src/tools/linkchecker/main.rs
++++ rust/src/tools/linkchecker/main.rs
+@@ -262,6 +262,12 @@ impl Checker {
return;
}
}
@@ -304,7 +304,7 @@ 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
-@@ -691,7 +691,7 @@ It is strongly recommended to combine sa
+@@ -709,7 +709,7 @@ It is strongly recommended to combine sa
instrumented standard library, for example using [cargo `-Zbuild-std`
functionality][build-std].
@@ -353,9 +353,9 @@ Index: rust/src/doc/rustc/src/linker-plugin-lto.md
environment variables:
Index: rust/src/doc/rustc/src/platform-support/fuchsia.md
===================================================================
---- a/src/doc/rustc/src/platform-support/fuchsia.md
-+++ b/src/doc/rustc/src/platform-support/fuchsia.md
-@@ -932,7 +932,7 @@
+--- rust.orig/src/doc/rustc/src/platform-support/fuchsia.md
++++ rust/src/doc/rustc/src/platform-support/fuchsia.md
+@@ -932,7 +932,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/
diff --git a/debian/patches/d-bootstrap-custom-debuginfo-path.patch b/debian/patches/d-bootstrap-custom-debuginfo-path.patch
index 21aaf1f6b..156ac4e13 100644
--- a/debian/patches/d-bootstrap-custom-debuginfo-path.patch
+++ b/debian/patches/d-bootstrap-custom-debuginfo-path.patch
@@ -8,9 +8,11 @@ Subject: d-bootstrap-custom-debuginfo-path
src/test/codegen/remap_path_prefix/issue-73167-remap-std.rs | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -1053,10 +1053,9 @@
+Index: rust/src/bootstrap/lib.rs
+===================================================================
+--- rust.orig/src/bootstrap/lib.rs
++++ rust/src/bootstrap/lib.rs
+@@ -1011,10 +1011,9 @@ impl Build {
match which {
GitRepo::Rustc => {
@@ -23,10 +25,10 @@ Subject: d-bootstrap-custom-debuginfo-path
}
}
-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
+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
@@ -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
diff --git a/debian/patches/d-bootstrap-disable-git.patch b/debian/patches/d-bootstrap-disable-git.patch
index 6f7f3f2e4..d7618adfe 100644
--- a/debian/patches/d-bootstrap-disable-git.patch
+++ b/debian/patches/d-bootstrap-disable-git.patch
@@ -10,9 +10,11 @@ Forwarded: not-needed
src/bootstrap/dist.rs | 5 ++++-
2 files changed, 9 insertions(+), 2 deletions(-)
---- a/src/bootstrap/channel.rs
-+++ b/src/bootstrap/channel.rs
-@@ -36,6 +36,12 @@
+Index: rust/src/bootstrap/channel.rs
+===================================================================
+--- rust.orig/src/bootstrap/channel.rs
++++ rust/src/bootstrap/channel.rs
+@@ -36,6 +36,12 @@ pub struct Info {
impl GitInfo {
pub fn new(omit_git_hash: bool, dir: &Path) -> GitInfo {
@@ -25,9 +27,11 @@ Forwarded: not-needed
// See if this even begins to look like a git dir
if !dir.join(".git").exists() {
match read_commit_info_file(dir) {
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -995,7 +995,10 @@
+Index: rust/src/bootstrap/dist.rs
+===================================================================
+--- rust.orig/src/bootstrap/dist.rs
++++ rust/src/bootstrap/dist.rs
+@@ -995,7 +995,10 @@ impl Step for PlainSourceTarball {
}
// If we're building from git sources, we need to vendor a complete distribution.
diff --git a/debian/patches/d-bootstrap-install-symlinks.patch b/debian/patches/d-bootstrap-install-symlinks.patch
index dbd902d9e..00f84e0c7 100644
--- a/debian/patches/d-bootstrap-install-symlinks.patch
+++ b/debian/patches/d-bootstrap-install-symlinks.patch
@@ -9,11 +9,11 @@ doesn't affect anything else that's already generated.
src/tools/rust-installer/install-template.sh | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/src/tools/rust-installer/install-template.sh b/src/tools/rust-installer/install-template.sh
-index e68be89..a19997b 100644
---- a/src/tools/rust-installer/install-template.sh
-+++ b/src/tools/rust-installer/install-template.sh
-@@ -625,7 +625,10 @@ install_components() {
+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
+@@ -616,7 +616,10 @@ install_components() {
maybe_backup_path "$_file_install_path"
@@ -25,7 +25,7 @@ index e68be89..a19997b 100644
then
run cp "$_src_dir/$_component/$_file" "$_file_install_path"
run chmod 755 "$_file_install_path"
-@@ -647,7 +650,7 @@ install_components() {
+@@ -638,7 +641,7 @@ install_components() {
maybe_backup_path "$_file_install_path"
diff --git a/debian/patches/d-bootstrap-no-assume-tools.patch b/debian/patches/d-bootstrap-no-assume-tools.patch
index c72ec4d7f..9747f9ede 100644
--- a/debian/patches/d-bootstrap-no-assume-tools.patch
+++ b/debian/patches/d-bootstrap-no-assume-tools.patch
@@ -7,10 +7,10 @@ Subject: d-bootstrap-no-assume-tools
src/bootstrap/builder/tests.rs | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs
-index 4ab502e..5ce7fc8 100644
---- a/src/bootstrap/builder/tests.rs
-+++ b/src/bootstrap/builder/tests.rs
+Index: rust/src/bootstrap/builder/tests.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder/tests.rs
++++ rust/src/bootstrap/builder/tests.rs
@@ -364,9 +364,13 @@ mod dist {
#[test]
fn dist_only_cross_host() {
diff --git a/debian/patches/d-bootstrap-old-cargo-compat.patch b/debian/patches/d-bootstrap-old-cargo-compat.patch
index a077e0c8f..0dacb4521 100644
--- a/debian/patches/d-bootstrap-old-cargo-compat.patch
+++ b/debian/patches/d-bootstrap-old-cargo-compat.patch
@@ -15,9 +15,11 @@ Subject: Backwards-compat for cargo 0.47
src/bootstrap/doc.rs | 3 ---
1 file changed, 3 deletions(-)
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
-@@ -612,7 +612,6 @@
+Index: rust/src/bootstrap/doc.rs
+===================================================================
+--- rust.orig/src/bootstrap/doc.rs
++++ rust/src/bootstrap/doc.rs
+@@ -613,7 +613,6 @@ fn doc_std(
.arg(&*target_dir.to_string_lossy())
.arg("-p")
.arg(package)
@@ -25,7 +27,7 @@ Subject: Backwards-compat for cargo 0.47
.arg("--")
.arg("-Z")
.arg("unstable-options")
-@@ -712,7 +711,6 @@
+@@ -713,7 +712,6 @@ impl Step for Rustc {
cargo.rustdocflag("--generate-link-to-definition");
compile::rustc_cargo(builder, &mut cargo, target, compiler.stage);
cargo.arg("-Zunstable-options");
@@ -33,7 +35,7 @@ Subject: Backwards-compat for cargo 0.47
// Only include compiler crates, no dependencies of those, such as `libc`.
// Do link to dependencies on `docs.rs` however using `rustdoc-map`.
-@@ -845,7 +843,6 @@
+@@ -846,7 +844,6 @@ macro_rules! tool_doc {
&[],
);
diff --git a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
index 4ccec3cd8..9f088a228 100644
--- a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
+++ b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch
@@ -1,8 +1,10 @@
partial revert of b9eedea4b0368fd1f00f204db75109ff444fab5b upstream
---- a/src/bootstrap/dist.rs
-+++ b/src/bootstrap/dist.rs
-@@ -77,6 +77,7 @@
+Index: rust/src/bootstrap/dist.rs
+===================================================================
+--- rust.orig/src/bootstrap/dist.rs
++++ rust/src/bootstrap/dist.rs
+@@ -81,6 +81,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);
diff --git a/debian/patches/d-bootstrap-read-beta-version-from-file.patch b/debian/patches/d-bootstrap-read-beta-version-from-file.patch
index 15ebb93c8..871110cca 100644
--- a/debian/patches/d-bootstrap-read-beta-version-from-file.patch
+++ b/debian/patches/d-bootstrap-read-beta-version-from-file.patch
@@ -7,9 +7,11 @@ Subject: d-bootstrap-read-beta-version-from-file
src/bootstrap/lib.rs | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
---- a/src/bootstrap/lib.rs
-+++ b/src/bootstrap/lib.rs
-@@ -1296,14 +1296,15 @@
+Index: rust/src/bootstrap/lib.rs
+===================================================================
+--- rust.orig/src/bootstrap/lib.rs
++++ rust/src/bootstrap/lib.rs
+@@ -1264,14 +1264,15 @@ impl Build {
return s;
}
diff --git a/debian/patches/d-bootstrap-rustflags.patch b/debian/patches/d-bootstrap-rustflags.patch
index f73c6ba2b..017325e06 100644
--- a/debian/patches/d-bootstrap-rustflags.patch
+++ b/debian/patches/d-bootstrap-rustflags.patch
@@ -7,9 +7,11 @@ Subject: d-bootstrap-rustflags
src/bootstrap/builder.rs | 12 ++++++++++++
1 file changed, 12 insertions(+)
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -1268,6 +1268,18 @@
+Index: rust/src/bootstrap/builder.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder.rs
++++ rust/src/bootstrap/builder.rs
+@@ -1377,6 +1377,18 @@ impl<'a> Builder<'a> {
}
}
diff --git a/debian/patches/d-bootstrap-use-local-css.patch b/debian/patches/d-bootstrap-use-local-css.patch
index 72595d9d3..1ea9ac86a 100644
--- a/debian/patches/d-bootstrap-use-local-css.patch
+++ b/debian/patches/d-bootstrap-use-local-css.patch
@@ -7,9 +7,11 @@ Subject: d-bootstrap-use-local-css
src/bootstrap/doc.rs | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
-@@ -350,7 +350,27 @@
+Index: rust/src/bootstrap/doc.rs
+===================================================================
+--- rust.orig/src/bootstrap/doc.rs
++++ rust/src/bootstrap/doc.rs
+@@ -360,7 +360,27 @@ impl Step for Standalone {
.arg("--index-page")
.arg(&builder.src.join("src/doc/index.md"))
.arg("--markdown-playground-url")
@@ -38,7 +40,7 @@ Subject: d-bootstrap-use-local-css
.arg("-o")
.arg(&out)
.arg(&path);
-@@ -359,11 +379,6 @@
+@@ -369,11 +389,6 @@ impl Step for Standalone {
cmd.arg("--disable-minification");
}
diff --git a/debian/patches/d-fix-rustix-outline.patch b/debian/patches/d-fix-rustix-outline.patch
index f141bad58..52e152da1 100644
--- a/debian/patches/d-fix-rustix-outline.patch
+++ b/debian/patches/d-fix-rustix-outline.patch
@@ -3,38 +3,16 @@ Always enable cc even if the feature is not enabled.
Some Debian architectures need outline asm, and Debian does not ship pre-built
outline asm.
---- a/vendor/rustix/Cargo.toml
-+++ b/vendor/rustix/Cargo.toml
-@@ -125,9 +125,9 @@
- [dev-dependencies.tempfile]
- version = "3.4.0"
-
--[build-dependencies.cc]
-+[build-dependencies.cc_dep]
- version = "1.0.68"
--optional = true
-+package = "cc"
-
- [features]
- all-apis = [
-@@ -242,6 +242,7 @@
- "Win32_NetworkManagement_IpHelper",
- "Win32_System_Threading",
- ]
-+cc = []
-
- [target."cfg(windows)".dev-dependencies.ctor]
- version = "0.1.21"
---- a/vendor/rustix/build.rs
-+++ b/vendor/rustix/build.rs
-@@ -1,5 +1,4 @@
+Index: rust/vendor/rustix/build.rs
+===================================================================
+--- rust.orig/vendor/rustix/build.rs
++++ rust/vendor/rustix/build.rs
+@@ -1,4 +1,3 @@
-#[cfg(feature = "cc")]
--use cc::Build;
-+use cc_dep::Build;
+ use cc::Build;
use std::env::var;
use std::io::Write;
-
-@@ -158,16 +157,16 @@
+@@ -158,16 +157,16 @@ fn link_in_librustix_outline(arch: &str,
println!("cargo:rerun-if-changed={}", to);
// If "cc" is not enabled, use a pre-built library.
@@ -54,54 +32,15 @@ outline asm.
{
let out_dir = var("OUT_DIR").unwrap();
// Add `-gdwarf-3` so that we always get the same output, regardless of
---- a/vendor/rustix-0.36.5/Cargo.toml
-+++ b/vendor/rustix-0.36.5/Cargo.toml
-@@ -116,9 +116,9 @@
- [dev-dependencies.tempfile]
- version = "3.2.0"
+Index: rust/vendor/rustix/Cargo.toml
+===================================================================
+--- rust.orig/vendor/rustix/Cargo.toml
++++ rust/vendor/rustix/Cargo.toml
+@@ -127,7 +127,6 @@ version = "3.4.0"
--[build-dependencies.cc]
-+[build-dependencies.cc_dep]
+ [build-dependencies.cc]
version = "1.0.68"
-optional = true
-+package = "cc"
[features]
all-apis = [
-@@ -231,6 +231,7 @@
- "Win32_NetworkManagement_IpHelper",
- "Win32_System_Threading",
- ]
-+cc = []
-
- [target."cfg(windows)".dev-dependencies.ctor]
- version = "0.1.21"
---- a/vendor/rustix-0.36.5/build.rs
-+++ b/vendor/rustix-0.36.5/build.rs
-@@ -1,5 +1,4 @@
--#[cfg(feature = "cc")]
--use cc::Build;
-+use cc_dep::Build;
- use std::env::var;
- use std::io::Write;
-
-@@ -118,16 +117,16 @@
- println!("cargo:rerun-if-changed={}", to);
-
- // If "cc" is not enabled, use a pre-built library.
-- #[cfg(not(feature = "cc"))]
-+ /*#[cfg(not(feature = "cc"))]
- {
- let _ = asm_name;
- println!("cargo:rustc-link-search={}/{}", OUTLINE_PATH, profile);
- println!("cargo:rustc-link-lib=static={}", name);
-- }
-+ }*/
-
- // If "cc" is enabled, build the library from source, update the pre-built
- // version, and assert that the pre-built version is checked in.
-- #[cfg(feature = "cc")]
-+ //#[cfg(feature = "cc")]
- {
- let out_dir = var("OUT_DIR").unwrap();
- Build::new().file(&asm_name).compile(&name);
diff --git a/debian/patches/d-remove-arm-privacy-breaches.patch b/debian/patches/d-remove-arm-privacy-breaches.patch
index b1cf63a09..7bd488a0e 100644
--- a/debian/patches/d-remove-arm-privacy-breaches.patch
+++ b/debian/patches/d-remove-arm-privacy-breaches.patch
@@ -7,10 +7,10 @@ Subject: d-remove-arm-privacy-breaches
.../crates/stdarch-verify/arm-intrinsics.html | 134 ---------------------
1 file changed, 134 deletions(-)
-diff --git a/library/stdarch/crates/stdarch-verify/arm-intrinsics.html b/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
-index ac246c6..f945431 100644
---- a/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
-+++ b/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
+Index: rust/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
+===================================================================
+--- rust.orig/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
++++ rust/library/stdarch/crates/stdarch-verify/arm-intrinsics.html
@@ -20,17 +20,12 @@
<meta name="keywords" content="">
<meta content="Copyright &#169; 1995-2018 Arm Limited (or its affiliates). All rights reserved." name="copyright">
@@ -94,7 +94,7 @@ index ac246c6..f945431 100644
<div class="c-feedback-message-container u-no-print"><style>
/* Docs top margin fix */
-@@ -245,7 +190,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+@@ -245,7 +190,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'
<span class="navigation-dropdown-label">
<a href="/">
<span>
@@ -102,7 +102,7 @@ index ac246c6..f945431 100644
</span>
<i class="fa fa-caret-down"></i>
</a>
-@@ -437,7 +381,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+@@ -437,7 +381,6 @@ j=d.createElement(s),dl=l!='dataLayer'?'
</div>
@@ -110,7 +110,7 @@ index ac246c6..f945431 100644
</li>
</ul>
-@@ -93318,82 +93261,5 @@ names are the property of their respective holders. <a href="http://www.arm.com/
+@@ -93318,82 +93261,5 @@ names are the property of their respecti
</div>
diff --git a/debian/patches/d-rust-gdb-paths b/debian/patches/d-rust-gdb-paths
index 119365af3..ad02db260 100644
--- a/debian/patches/d-rust-gdb-paths
+++ b/debian/patches/d-rust-gdb-paths
@@ -11,10 +11,10 @@ just hardcode path in wrapper script.
src/etc/rust-gdbgui | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
-index b950cea..5ec8752 100755
---- a/src/etc/rust-gdbgui
-+++ b/src/etc/rust-gdbgui
+Index: rust/src/etc/rust-gdbgui
+===================================================================
+--- rust.orig/src/etc/rust-gdbgui
++++ rust/src/etc/rust-gdbgui
@@ -40,7 +40,7 @@ else
fi
diff --git a/debian/patches/d-rust-lldb-paths b/debian/patches/d-rust-lldb-paths
index 41f3b87b4..dddbec175 100644
--- a/debian/patches/d-rust-lldb-paths
+++ b/debian/patches/d-rust-lldb-paths
@@ -10,10 +10,10 @@ just hardcode path in wrapper script.
src/etc/rust-lldb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/src/etc/rust-lldb b/src/etc/rust-lldb
-index bce72f1..793f593 100755
---- a/src/etc/rust-lldb
-+++ b/src/etc/rust-lldb
+Index: rust/src/etc/rust-lldb
+===================================================================
+--- rust.orig/src/etc/rust-lldb
++++ rust/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/d-rustc-add-soname.patch
index cae59b5bc..1026b26b2 100644
--- a/debian/patches/d-rustc-add-soname.patch
+++ b/debian/patches/d-rustc-add-soname.patch
@@ -24,9 +24,11 @@ using a GNU linker).
compiler/rustc_codegen_ssa/src/back/link.rs | 7 +++++++
1 file changed, 7 insertions(+)
---- a/compiler/rustc_codegen_ssa/src/back/link.rs
-+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2241,6 +2241,13 @@
+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
+@@ -2216,6 +2216,13 @@ fn add_order_independent_options(
}
add_rpath_args(cmd, sess, codegen_results, out_filename);
diff --git a/debian/patches/d-rustc-fix-mips64el-bootstrap.patch b/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
index 8c1625e6c..3d2d8ff59 100644
--- a/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
+++ b/debian/patches/d-rustc-fix-mips64el-bootstrap.patch
@@ -12,10 +12,10 @@ Bug: https://github.com/rust-lang/rust/issues/52108
src/test/assembly/asm/mips-types.rs | 1 +
4 files changed, 5 insertions(+), 2 deletions(-)
-diff --git a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
-index fc5dbd1..b9df004 100644
---- a/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
-+++ b/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
+Index: rust/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
++++ rust/compiler/rustc_target/src/spec/mips64_unknown_linux_gnuabi64.rs
@@ -12,7 +12,7 @@ pub fn target() -> Target {
endian: Endian::Big,
// NOTE(mips64r2) matches C toolchain
@@ -25,10 +25,10 @@ index fc5dbd1..b9df004 100644
max_atomic_width: Some(64),
mcount: "_mcount".into(),
-diff --git a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
-index e0d5f6f..57ad8c4 100644
---- a/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
-+++ b/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
+Index: rust/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
++++ rust/compiler/rustc_target/src/spec/mips64el_unknown_linux_gnuabi64.rs
@@ -10,7 +10,7 @@ pub fn target() -> Target {
abi: "abi64".into(),
// NOTE(mips64r2) matches C toolchain
@@ -38,9 +38,11 @@ index e0d5f6f..57ad8c4 100644
max_atomic_width: Some(64),
mcount: "_mcount".into(),
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -746,6 +746,8 @@
+Index: rust/src/bootstrap/bootstrap.py
+===================================================================
+--- rust.orig/src/bootstrap/bootstrap.py
++++ rust/src/bootstrap/bootstrap.py
+@@ -759,6 +759,8 @@ class RustBuild(object):
# preserve existing RUSTFLAGS
env.setdefault("RUSTFLAGS", "")
@@ -49,8 +51,10 @@ index e0d5f6f..57ad8c4 100644
target_features = []
if self.get_toml("crt-static", build_section) == "true":
target_features += ["+crt-static"]
---- a/tests/assembly/asm/mips-types.rs
-+++ b/tests/assembly/asm/mips-types.rs
+Index: rust/tests/assembly/asm/mips-types.rs
+===================================================================
+--- rust.orig/tests/assembly/asm/mips-types.rs
++++ rust/tests/assembly/asm/mips-types.rs
@@ -1,3 +1,4 @@
+// ignore-test
// revisions: mips32 mips64
diff --git a/debian/patches/d-rustc-windows-ssp.patch b/debian/patches/d-rustc-windows-ssp.patch
index 158195d05..46b20fb97 100644
--- a/debian/patches/d-rustc-windows-ssp.patch
+++ b/debian/patches/d-rustc-windows-ssp.patch
@@ -7,9 +7,11 @@ Bug: https://github.com/rust-lang/rust/issues/68973
compiler/rustc_target/src/spec/windows_gnu_base.rs | 2 ++
1 file changed, 2 insertions(+)
---- a/compiler/rustc_target/src/spec/windows_gnu_base.rs
-+++ b/compiler/rustc_target/src/spec/windows_gnu_base.rs
-@@ -41,6 +41,8 @@
+Index: rust/compiler/rustc_target/src/spec/windows_gnu_base.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/windows_gnu_base.rs
++++ rust/compiler/rustc_target/src/spec/windows_gnu_base.rs
+@@ -41,6 +41,8 @@ pub fn opts() -> TargetOptions {
"-lmsvcrt",
"-luser32",
"-lkernel32",
diff --git a/debian/patches/d-rustdoc-disable-embedded-fonts.patch b/debian/patches/d-rustdoc-disable-embedded-fonts.patch
index 3213db6a5..99fa7d251 100644
--- a/debian/patches/d-rustdoc-disable-embedded-fonts.patch
+++ b/debian/patches/d-rustdoc-disable-embedded-fonts.patch
@@ -9,9 +9,11 @@ Subject: d-rustdoc-disable-embedded-fonts
src/librustdoc/html/static_files.rs | 23 -----------------------
3 files changed, 33 deletions(-)
---- a/src/librustdoc/html/static/css/rustdoc.css
-+++ b/src/librustdoc/html/static/css/rustdoc.css
-@@ -67,14 +67,6 @@
+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
+@@ -79,14 +79,6 @@
font-display: swap;
}
@@ -26,9 +28,11 @@ Subject: d-rustdoc-disable-embedded-fonts
* {
box-sizing: border-box;
}
---- a/src/librustdoc/html/static_files.rs
-+++ b/src/librustdoc/html/static_files.rs
-@@ -126,8 +126,6 @@
+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! {
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/d-test-ignore-avx-44056.patch b/debian/patches/d-test-ignore-avx-44056.patch
index 5448b7ad5..5d6c971af 100644
--- a/debian/patches/d-test-ignore-avx-44056.patch
+++ b/debian/patches/d-test-ignore-avx-44056.patch
@@ -9,10 +9,10 @@ Bug: https://github.com/rust-lang/rust/pull/55667
src/test/ui/issues/issue-44056.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-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
+Index: rust/tests/ui/issues/issue-44056.rs
+===================================================================
+--- rust.orig/tests/ui/issues/issue-44056.rs
++++ rust/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/series b/debian/patches/series
index 855cac4b6..2f6094730 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,11 @@
+# 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
@@ -23,8 +31,12 @@ 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-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
@@ -62,3 +74,6 @@ 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
+c-update-libgit2.patch
diff --git a/debian/patches/u-disable-fp-precision-test-on-i386.patch b/debian/patches/u-disable-fp-precision-test-on-i386.patch
index cb6144650..dad261349 100644
--- a/debian/patches/u-disable-fp-precision-test-on-i386.patch
+++ b/debian/patches/u-disable-fp-precision-test-on-i386.patch
@@ -11,11 +11,11 @@ Forwarded: https://github.com/rust-lang/rust/pull/114042
library/core/src/num/f32.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/library/core/src/num/f32.rs b/library/core/src/num/f32.rs
-index d050d21c8c57..f5c2d1c6bf68 100644
---- a/library/core/src/num/f32.rs
-+++ b/library/core/src/num/f32.rs
-@@ -800,7 +800,7 @@ impl f32 {
+Index: rust/library/core/src/num/f32.rs
+===================================================================
+--- rust.orig/library/core/src/num/f32.rs
++++ rust/library/core/src/num/f32.rs
+@@ -799,7 +799,7 @@ impl f32 {
/// let angle = std::f32::consts::PI;
///
/// let abs_difference = (angle.to_degrees() - 180.0).abs();
diff --git a/debian/patches/u-fix-get-toml-when-test.patch b/debian/patches/u-fix-get-toml-when-test.patch
index 2b170977c..34789ecae 100644
--- a/debian/patches/u-fix-get-toml-when-test.patch
+++ b/debian/patches/u-fix-get-toml-when-test.patch
@@ -6,9 +6,11 @@ Bug: https://github.com/rust-lang/rust/issues/105766
Last-Update: 2023-03-29
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/bootstrap/config.rs
-+++ b/src/bootstrap/config.rs
-@@ -823,9 +823,9 @@
+Index: rust/src/bootstrap/config.rs
+===================================================================
+--- rust.orig/src/bootstrap/config.rs
++++ rust/src/bootstrap/config.rs
+@@ -848,9 +848,9 @@ impl Config {
}
pub fn parse(args: &[String]) -> Config {
@@ -20,7 +22,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
let get_toml = |file: &Path| {
let contents =
t!(fs::read_to_string(file), format!("config file {} not found", file.display()));
-@@ -834,7 +834,23 @@
+@@ -859,7 +859,23 @@ impl Config {
match toml::from_str(&contents)
.and_then(|table: toml::Value| TomlConfig::deserialize(table))
{
diff --git a/debian/patches/u-ignore-endian-big-diff.patch b/debian/patches/u-ignore-endian-big-diff.patch
index 73bb776c3..faa270173 100644
--- a/debian/patches/u-ignore-endian-big-diff.patch
+++ b/debian/patches/u-ignore-endian-big-diff.patch
@@ -14,43 +14,55 @@ Bug: https://github.com/rust-lang/rust/issues/89577
src/test/ui/consts/const-eval/ub-wide-ptr.rs | 1 +
6 files changed, 6 insertions(+)
---- a/tests/ui/consts/const-eval/ub-enum.rs
-+++ b/tests/ui/consts/const-eval/ub-enum.rs
+Index: rust/tests/ui/consts/const-eval/ub-enum.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-enum.rs
++++ rust/tests/ui/consts/const-eval/ub-enum.rs
@@ -1,3 +1,4 @@
+// ignore-test
// stderr-per-bitwidth
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
---- a/tests/ui/consts/const-eval/ub-int-array.rs
-+++ b/tests/ui/consts/const-eval/ub-int-array.rs
+Index: rust/tests/ui/consts/const-eval/ub-int-array.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-int-array.rs
++++ rust/tests/ui/consts/const-eval/ub-int-array.rs
@@ -1,3 +1,4 @@
+// ignore-test
// stderr-per-bitwidth
//! Test the "array of int" fast path in validity checking, and in particular whether it
//! points at the right array element.
---- a/tests/ui/consts/const-eval/ub-nonnull.rs
-+++ b/tests/ui/consts/const-eval/ub-nonnull.rs
+Index: rust/tests/ui/consts/const-eval/ub-nonnull.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-nonnull.rs
++++ rust/tests/ui/consts/const-eval/ub-nonnull.rs
@@ -1,3 +1,4 @@
+// ignore-test
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
// normalize-stderr-test "([0-9a-f][0-9a-f] |╾─*a(lloc)?[0-9]+(\+[a-z0-9]+)?─*╼ )+ *│.*" -> "HEX_DUMP"
---- a/tests/ui/consts/const-eval/ub-ref-ptr.rs
-+++ b/tests/ui/consts/const-eval/ub-ref-ptr.rs
+Index: rust/tests/ui/consts/const-eval/ub-ref-ptr.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-ref-ptr.rs
++++ rust/tests/ui/consts/const-eval/ub-ref-ptr.rs
@@ -1,3 +1,4 @@
+// ignore-test
// ignore-tidy-linelength
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
---- a/tests/ui/consts/const-eval/ub-uninhabit.rs
-+++ b/tests/ui/consts/const-eval/ub-uninhabit.rs
+Index: rust/tests/ui/consts/const-eval/ub-uninhabit.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-uninhabit.rs
++++ rust/tests/ui/consts/const-eval/ub-uninhabit.rs
@@ -1,3 +1,4 @@
+// ignore-test
// Strip out raw byte dumps to make comparison platform-independent:
// normalize-stderr-test "(the raw bytes of the constant) \(size: [0-9]*, align: [0-9]*\)" -> "$1 (size: $$SIZE, align: $$ALIGN)"
// normalize-stderr-test "([0-9a-f][0-9a-f] |╾─*a(lloc)?[0-9]+(\+[a-z0-9]+)?─*╼ )+ *│.*" -> "HEX_DUMP"
---- a/tests/ui/consts/const-eval/ub-wide-ptr.rs
-+++ b/tests/ui/consts/const-eval/ub-wide-ptr.rs
+Index: rust/tests/ui/consts/const-eval/ub-wide-ptr.rs
+===================================================================
+--- rust.orig/tests/ui/consts/const-eval/ub-wide-ptr.rs
++++ rust/tests/ui/consts/const-eval/ub-wide-ptr.rs
@@ -1,3 +1,4 @@
+// ignore-test
// ignore-tidy-linelength
diff --git a/debian/patches/u-ignore-ppc-hangs.patch b/debian/patches/u-ignore-ppc-hangs.patch
index 4e35cebb0..705476199 100644
--- a/debian/patches/u-ignore-ppc-hangs.patch
+++ b/debian/patches/u-ignore-ppc-hangs.patch
@@ -8,10 +8,10 @@ Bug: https://github.com/rust-lang/rust/issues/89607
library/alloc/tests/rc.rs | 1 +
2 files changed, 2 insertions(+)
-diff --git a/library/alloc/tests/arc.rs b/library/alloc/tests/arc.rs
-index ce40b5c..e99ebf5 100644
---- a/library/alloc/tests/arc.rs
-+++ b/library/alloc/tests/arc.rs
+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;
fn assert_trusted_len<I: TrustedLen>(_: &I) {}
@@ -20,10 +20,10 @@ index ce40b5c..e99ebf5 100644
#[test]
fn shared_from_iter_normal() {
// Exercise the base implementation for non-`TrustedLen` iterators.
-diff --git a/library/alloc/tests/rc.rs b/library/alloc/tests/rc.rs
-index efb39a6..b2f0e04 100644
---- a/library/alloc/tests/rc.rs
-+++ b/library/alloc/tests/rc.rs
+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;
fn assert_trusted_len<I: TrustedLen>(_: &I) {}
diff --git a/debian/patches/u-reproducible-build.patch b/debian/patches/u-reproducible-build.patch
index 1167d1f08..f0823703e 100644
--- a/debian/patches/u-reproducible-build.patch
+++ b/debian/patches/u-reproducible-build.patch
@@ -7,11 +7,11 @@ Bug: https://github.com/rust-lang/rust/issues/34902
compiler/rustc_llvm/build.rs | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs
-index 7729ec6..b8f67ee 100644
---- a/compiler/rustc_llvm/build.rs
-+++ b/compiler/rustc_llvm/build.rs
-@@ -179,6 +179,11 @@ fn main() {
+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() {
diff --git a/debian/patches/u-reproducible-dl-stage0.patch b/debian/patches/u-reproducible-dl-stage0.patch
index 0ac05cb8b..1d0527d2c 100644
--- a/debian/patches/u-reproducible-dl-stage0.patch
+++ b/debian/patches/u-reproducible-dl-stage0.patch
@@ -7,11 +7,11 @@ Subject: u-reproducible-dl-stage0
src/bootstrap/bootstrap.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
-index ab4338e..0227735 100644
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -92,7 +92,7 @@
+Index: rust/src/bootstrap/bootstrap.py
+===================================================================
+--- rust.orig/src/bootstrap/bootstrap.py
++++ rust/src/bootstrap/bootstrap.py
+@@ -92,7 +92,7 @@ def _download(path, url, probably_big, v
"-L", # Follow redirect.
"-y", "30", "-Y", "10", # timeout if speed is < 10 bytes/sec for > 30 seconds
"--connect-timeout", "30", # timeout if cannot connect within 30 seconds
diff --git a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch b/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
index 429501b39..c7dd9de9d 100644
--- a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
+++ b/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
@@ -3,10 +3,10 @@ Description: explicitly disable split unpacked debuginfo for now on riscv64,
https://github.com/llvm/llvm-project/issues/56642
https://github.com/rust-lang/rust/issues/110224Z
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
-index 8281bac10f..ad1fc624ad 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -22,10 +22,10 @@ index 8281bac10f..ad1fc624ad 100644
..super::freebsd_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
-index 0585ed76fe..69d11081ac 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, SanitizerSet, Target, TargetOptions};
+use crate::spec::{CodeModel, SanitizerSet, SplitDebuginfo, Target, TargetOptions};
@@ -41,10 +41,10 @@ index 0585ed76fe..69d11081ac 100644
..super::fuchsia_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
-index 90dccb2806..8114e024d1 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -60,10 +60,10 @@ index 90dccb2806..8114e024d1 100644
..super::linux_gnu_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
-index 1a56c78e68..67dbd2f740 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -79,10 +79,10 @@ index 1a56c78e68..67dbd2f740 100644
..super::linux_musl_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
-index ab3c14e3fe..a47b63dc94 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
@@ -1,5 +1,6 @@
use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
-use crate::spec::{RelocModel, Target, TargetOptions};
@@ -99,10 +99,10 @@ index ab3c14e3fe..a47b63dc94 100644
..Default::default()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
-index ade9d77624..b04cea8850 100644
---- a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
-+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
++++ rust/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
@@ -1,4 +1,5 @@
-use crate::spec::{CodeModel, Target, TargetOptions};
+use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
@@ -118,10 +118,10 @@ index ade9d77624..b04cea8850 100644
..super::openbsd_base::opts()
},
}
-diff --git a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
-index 0f1821c998..1bec356dcd 100644
---- a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
-+++ b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
+Index: rust/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
++++ rust/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
@@ -1,5 +1,6 @@
use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
-use crate::spec::{RelocModel, SanitizerSet, Target, TargetOptions};
diff --git a/debian/patches/u-rustc-llvm-cross-flags.patch b/debian/patches/u-rustc-llvm-cross-flags.patch
index 226485b08..19b6d82c8 100644
--- a/debian/patches/u-rustc-llvm-cross-flags.patch
+++ b/debian/patches/u-rustc-llvm-cross-flags.patch
@@ -7,9 +7,11 @@ Subject: u-rustc-llvm-cross-flags
compiler/rustc_llvm/build.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---- a/compiler/rustc_llvm/build.rs
-+++ b/compiler/rustc_llvm/build.rs
-@@ -304,7 +304,7 @@
+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() {
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/ubuntu-disable-ppc64el-asm-tests.patch b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
index 7cb501e76..d947a6950 100644
--- a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
+++ b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch
@@ -1,6 +1,8 @@
---- a/compiler/rustc_lint_defs/src/builtin.rs
-+++ b/compiler/rustc_lint_defs/src/builtin.rs
-@@ -2883,11 +2883,13 @@
+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
+@@ -2880,11 +2880,13 @@ declare_lint! {
///
/// use std::arch::asm;
///
@@ -14,9 +16,11 @@
/// #[naked]
/// pub extern "Rust" fn rust_abi() -> u32 {
/// unsafe { asm!("", options(noreturn)); }
---- a/compiler/rustc_lint/src/builtin.rs
-+++ b/compiler/rustc_lint/src/builtin.rs
-@@ -3238,7 +3238,10 @@
+Index: rust/compiler/rustc_lint/src/builtin.rs
+===================================================================
+--- rust.orig/compiler/rustc_lint/src/builtin.rs
++++ rust/compiler/rustc_lint/src/builtin.rs
+@@ -3110,7 +3110,10 @@ declare_lint! {
/// ### Example
///
/// ```rust,compile_fail
diff --git a/debian/patches/ubuntu-ignore-arm-doctest.patch b/debian/patches/ubuntu-ignore-arm-doctest.patch
index b67b7d2ef..a70e4741f 100644
--- a/debian/patches/ubuntu-ignore-arm-doctest.patch
+++ b/debian/patches/ubuntu-ignore-arm-doctest.patch
@@ -5,9 +5,11 @@ 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/
---- a/compiler/rustc_error_codes/src/error_codes/E0778.md
-+++ b/compiler/rustc_error_codes/src/error_codes/E0778.md
-@@ -16,7 +16,7 @@
+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)]
@@ -16,7 +18,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
fn something() {}
```
-@@ -25,7 +25,7 @@
+@@ -25,7 +25,7 @@ or:
```
#![feature(isa_attribute)]
@@ -25,9 +27,11 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
fn something() {}
```
---- a/compiler/rustc_error_codes/src/error_codes/E0779.md
-+++ b/compiler/rustc_error_codes/src/error_codes/E0779.md
-@@ -21,7 +21,7 @@
+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)]