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