summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/README.source20
-rw-r--r--debian/changelog19
-rw-r--r--debian/control13
-rw-r--r--debian/copyright264
-rw-r--r--debian/gbp.conf4
-rw-r--r--debian/libstd-rust-1.75.lintian-overrides16
-rw-r--r--debian/libstd-rust-1.76.install (renamed from debian/libstd-rust-1.75.install)0
-rw-r--r--debian/libstd-rust-1.76.lintian-overrides16
-rw-r--r--debian/libstd-rust-1.76.triggers (renamed from debian/libstd-rust-1.75.triggers)0
-rw-r--r--debian/patches-unused/d-bootstrap-use-system-compiler-rt.patch (renamed from debian/patches/d-bootstrap-use-system-compiler-rt.patch)2
-rw-r--r--debian/patches-unused/d-rustc-prefer-dynamic.patch (renamed from debian/patches/d-rustc-prefer-dynamic.patch)0
-rw-r--r--debian/patches-unused/d-test-host-duplicates.patch (renamed from debian/patches/d-test-host-duplicates.patch)0
-rw-r--r--debian/patches-unused/u-allow-system-compiler-rt.patch (renamed from debian/patches/u-allow-system-compiler-rt.patch)0
-rw-r--r--debian/patches/behaviour/d-rust-gdb-paths.patch (renamed from debian/patches/d-rust-gdb-paths)15
-rw-r--r--debian/patches/behaviour/d-rust-lldb-paths.patch (renamed from debian/patches/d-rust-lldb-paths)12
-rw-r--r--debian/patches/behaviour/d-rustc-add-soname.patch (renamed from debian/patches/d-rustc-add-soname.patch)14
-rw-r--r--debian/patches/behaviour/d-rustc-i686-baseline.patch (renamed from debian/patches/d-rustc-i686-baseline.patch)55
-rw-r--r--debian/patches/behaviour/d-rustc-windows-ssp.patch (renamed from debian/patches/d-rustc-windows-ssp.patch)8
-rw-r--r--debian/patches/behaviour/d-rustdoc-disable-embedded-fonts.patch (renamed from debian/patches/d-rustdoc-disable-embedded-fonts.patch)30
-rw-r--r--debian/patches/build/d-armel-fix-lldb.patch26
-rw-r--r--debian/patches/build/d-bootstrap-cargo-doc-paths.patch (renamed from debian/patches/d-bootstrap-cargo-doc-paths.patch)445
-rw-r--r--debian/patches/build/d-bootstrap-custom-debuginfo-path.patch (renamed from debian/patches/d-bootstrap-custom-debuginfo-path.patch)54
-rw-r--r--debian/patches/build/d-bootstrap-disable-git.patch (renamed from debian/patches/d-bootstrap-disable-git.patch)50
-rw-r--r--debian/patches/build/d-bootstrap-install-symlinks.patch (renamed from debian/patches/d-bootstrap-install-symlinks.patch)10
-rw-r--r--debian/patches/build/d-bootstrap-no-assume-tools.patch (renamed from debian/patches/d-bootstrap-no-assume-tools.patch)15
-rw-r--r--debian/patches/build/d-bootstrap-permit-symlink-in-docs.patch21
-rw-r--r--debian/patches/build/d-bootstrap-rustflags.patch (renamed from debian/patches/d-bootstrap-rustflags.patch)16
-rw-r--r--debian/patches/build/d-bootstrap-use-local-css.patch (renamed from debian/patches/d-bootstrap-use-local-css.patch)17
-rw-r--r--debian/patches/build/d-test-ignore-avx-44056.patch (renamed from debian/patches/d-test-ignore-avx-44056.patch)11
-rw-r--r--debian/patches/c-2200-workaround-x32-test.patch15
-rw-r--r--debian/patches/c-disable-fs-specific-test.patch13
-rw-r--r--debian/patches/cargo/c-0003-tests-add-missing-cross-disabled-checks.patch (renamed from debian/patches/c-0003-tests-add-missing-cross-disabled-checks.patch)20
-rw-r--r--debian/patches/cargo/c-2002_disable-net-tests.patch (renamed from debian/patches/c-2002_disable-net-tests.patch)217
-rw-r--r--debian/patches/cargo/c-2003-workaround-qemu-vfork-command-not-found.patch (renamed from debian/patches/c-2003-workaround-qemu-vfork-command-not-found.patch)17
-rw-r--r--debian/patches/cargo/c-2200-workaround-x32-test.patch22
-rw-r--r--debian/patches/cargo/c-disable-fs-specific-test.patch22
-rw-r--r--debian/patches/cargo/d-0012-cargo-always-return-dev-channel.patch (renamed from debian/patches/d-0012-cargo-always-return-dev-channel.patch)5
-rw-r--r--debian/patches/d-0010-cargo-remove-vendored-c-crates.patch22
-rw-r--r--debian/patches/d-armel-fix-lldb.patch19
-rw-r--r--debian/patches/d-bootstrap-permit-symlink-in-docs.patch14
-rw-r--r--debian/patches/d-ignore-test_arc_condvar_poison-ppc.patch12
-rw-r--r--debian/patches/prune/d-0000-ignore-removed-submodules.patch (renamed from debian/patches/d-0000-ignore-removed-submodules.patch)26
-rw-r--r--debian/patches/prune/d-0001-pkg-config-no-special-snowflake.patch (renamed from debian/patches/d-0001-pkg-config-no-special-snowflake.patch)3
-rw-r--r--debian/patches/prune/d-0002-mdbook-strip-embedded-libs.patch (renamed from debian/patches/d-0002-mdbook-strip-embedded-libs.patch)164
-rw-r--r--debian/patches/prune/d-0005-no-jemalloc.patch (renamed from debian/patches/d-0005-no-jemalloc.patch)7
-rw-r--r--debian/patches/prune/d-0010-cargo-remove-vendored-c-crates.patch39
-rw-r--r--debian/patches/prune/d-0011-cargo-remove-nghttp2.patch (renamed from debian/patches/d-0011-cargo-remove-nghttp2.patch)8
-rw-r--r--debian/patches/prune/d-0020-remove-windows-dependencies.patch (renamed from debian/patches/d-0020-remove-windows-dependencies.patch)130
-rw-r--r--debian/patches/prune/d-0021-vendor-remove-windows-dependencies.patch (renamed from debian/patches/d-0021-vendor-remove-windows-dependencies.patch)289
-rw-r--r--debian/patches/series125
-rw-r--r--debian/patches/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch26
-rw-r--r--debian/patches/u-hurd-getrandom.patch77
-rw-r--r--debian/patches/u-hurd-tests.patch54
-rw-r--r--debian/patches/u-reproducible-build.patch25
-rw-r--r--debian/patches/ubuntu-disable-ppc64el-asm-tests.patch34
-rw-r--r--debian/patches/ubuntu-ignore-arm-doctest.patch42
-rw-r--r--debian/patches/ubuntu/ubuntu-disable-ppc64el-asm-tests.patch44
-rw-r--r--debian/patches/ubuntu/ubuntu-ignore-arm-doctest.patch48
-rw-r--r--debian/patches/upstream/d-disable-download-tests.patch (renamed from debian/patches/d-disable-download-tests.patch)17
-rw-r--r--debian/patches/upstream/d-ignore-test_arc_condvar_poison-ppc.patch21
-rw-r--r--debian/patches/upstream/u-avoid-blessing-cargo-deps-s-source-code-in-ui-tests.patch47
-rw-r--r--debian/patches/upstream/u-fix-get-toml-when-test.patch (renamed from debian/patches/u-fix-get-toml-when-test.patch)27
-rw-r--r--debian/patches/upstream/u-hurd-tests.patch64
-rw-r--r--debian/patches/upstream/u-ignore-ppc-hangs.patch (renamed from debian/patches/u-ignore-ppc-hangs.patch)20
-rw-r--r--debian/patches/upstream/u-riscv-disable-unpacked-split-debuginfo.patch (renamed from debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch)23
-rw-r--r--debian/patches/upstream/u-rustc-llvm-cross-flags.patch (renamed from debian/patches/u-rustc-llvm-cross-flags.patch)10
-rw-r--r--debian/patches/vendor/d-0003-cc-psm-rebuild-wasm32.patch (renamed from debian/patches/d-0003-cc-psm-rebuild-wasm32.patch)11
-rw-r--r--debian/patches/vendor/u-hurd-backtrace.patch (renamed from debian/patches/u-hurd-backtrace.patch)19
-rw-r--r--debian/patches/vendor/u-hurd-gix-index-2.patch29
-rw-r--r--debian/patches/vendor/u-hurd-gix-index.patch96
-rw-r--r--debian/patches/vendor/u-hurd-libc.3.patch (renamed from debian/patches/u-hurd-libc.3.patch)23
-rw-r--r--debian/patches/vendor/u-hurd-libc.4.patch (renamed from debian/patches/u-hurd-libc.4.patch)15
-rw-r--r--debian/patches/vendor/u-hurd-libloading-0.7.4.patch (renamed from debian/patches/u-hurd-libloading-0.7.4.patch)13
-rw-r--r--debian/patches/vendor/u-hurd-socket2.patch (renamed from debian/patches/u-hurd-socket2.patch)37
-rwxr-xr-xdebian/prune-unused-deps5
-rwxr-xr-xdebian/rebase-patches.sh (renamed from debian/refresh-early-patches.sh)6
-rw-r--r--debian/upstream-tarball-unsuspicious.txt59
77 files changed, 1832 insertions, 1402 deletions
diff --git a/debian/README.source b/debian/README.source
index 36a28b7cc..9783addc1 100644
--- a/debian/README.source
+++ b/debian/README.source
@@ -1,4 +1,4 @@
-Document by Ximin Luo, Luca Bruno & Sylvestre Ledru
+Document by Ximin Luo, Luca Bruno, Sylvestre Ledru & Fabian Grünbichler
This source package is unfortunately quite tricky and with several cutting
edges, due to the complexity of rust-lang bootstrapping system and the high
@@ -17,7 +17,7 @@ The upstream source package embeds many external libraries. We make a great
effort to remove them and use system versions where possible, but there are a
few more remaining:
- * vendor/dlmalloc, vendor/windows_*_gnu, vendor/windows_*_msvc
+ * vendor/dlmalloc
These are small C libraries designed to be statically linked; their upstream
does not support building them as a shared library and they are too small to
@@ -79,6 +79,13 @@ This way, other architectures will be omitted from the orig-stage0 tarball. You
might want to do this e.g. if these other architectures are already present in
your distro, but the $upstream_bootstrap_arch ones are not yet present.
+If the toolchain for the architecture you are attempting to bootstrap is not
+provided upstream (i.e., it's not at Tier 2 with Host Tools or higher[2]), you
+can manually prepare such a stage0 tarball via cross compilation using
+upstream's build process.
+
+[2] https://doc.rust-lang.org/nightly/rustc/platform-support.html
+
Notes
-----
@@ -135,17 +142,19 @@ $ sudo mk-build-deps -irt 'aptitude -R'
$ uscan --verbose # or debian/rules source_orig-beta, for beta
$ ver=UPDATE-ME # whatever it is, probably X.YY.Z or X.YY.Z~beta.N
-$ debian/refresh-early-patches.sh $ver
+$ debian/rebase-patches.sh $ver
# This will require an understanding of how git-rebase and git-mergetool works
# We recommend either kdiff3 or p4merge (proprietary) as the git-mergetool.
+# See individual patches for instructions on rebasing.
-$ tar xf ../rustc-${ver/\~/-}-src.tar.xz && ( cd rustc-${ver/*~*/beta}-src/ && pwd && ../debian/prune-unused-deps ) && rm -rf rustc-${ver/*~*/beta}-src/
+$ tar -C /tmp -xf ../rustc-${ver/\~/-}-src.tar.xz && ( dir=$PWD; cd /tmp/rustc-${ver/*~*/beta}-src/ && pwd && $dir/debian/prune-unused-deps ) && rm -rf /tmp/rustc-${ver/*~*/beta}-src/
$ git diff
# Review the diff. If it removes too much stuff, it could mean that rustc
# pulled in new unnecessary dependencies in this newer version. See if you can
# drop them by amending the patch "d-0000-ignore-removed-submodules.patch".
# Rerun the above "tar ..." commands again and check that your patch works.
-# For example, there is absolutely no reason to pull in windows-sys/windows.
+# For example, there is absolutely no reason to pull in windows-sys/windows or
+# openssl-src.
$ git commit -m "Update Files-Excluded for new upstream version ${ver/\~/-}" debian/copyright
$ uscan --verbose # yes, again, to pick up the new Files-Excluded stuff
@@ -159,7 +168,6 @@ $ git checkout debian/experimental
$ gbp import-orig ../rustc_$ver+dfsg1.orig.tar.xz
$ dch -v $ver+dfsg1-1~exp1 "New upstream release."
$ debian/rules update-version
-# might also need to bump the version of the cargo Build-Depends
# then refresh patches, etc etc
# Use /usr/share/cargo/scripts/guess-crate-copyright to help update d/copyright quickly
diff --git a/debian/changelog b/debian/changelog
index 61876e9fe..d59dbe310 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,22 @@
+rustc (1.76.0+dfsg1-1) unstable; urgency=medium
+
+ [ Samuel Thibault ]
+ * Fix hurd build:
+ - debian/patches/vendor/u-hurd-gix-index-2.patch
+ - debian/patches/vendor/u-hurd-gix-index.patch
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Wed, 19 Jun 2024 07:51:49 +0200
+
+rustc (1.76.0+dfsg1-1~exp1) experimental; urgency=medium
+
+ * New upstream release (Closes: #1073068)
+ * switch to gbp pq and topics for patches
+ * adapt rebasing script to patch changes
+ * d/control: add libsqlite3-dev to B-D
+ * doc: fix rust-by-example theme
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Fri, 14 Jun 2024 14:50:17 +0200
+
rustc (1.75.0+dfsg1-5) unstable; urgency=medium
[ Samuel Thibault ]
diff --git a/debian/control b/debian/control
index 0a64e19fd..b95d6ebfb 100644
--- a/debian/control
+++ b/debian/control
@@ -13,9 +13,9 @@ Build-Depends:
debhelper-compat (= 13),
dpkg-dev (>= 1.17.14),
python3:native,
- cargo:native (>= 1.74.0+dfsg) <!pkg.rustc.dlstage0>,
- rustc:native (>= 1.74.0+dfsg) <!pkg.rustc.dlstage0>,
- rustc:native (<= 1.75.0++) <!pkg.rustc.dlstage0>,
+ cargo:native (>= 1.75.0+dfsg) <!pkg.rustc.dlstage0>,
+ rustc:native (>= 1.75.0+dfsg) <!pkg.rustc.dlstage0>,
+ rustc:native (<= 1.76.0++) <!pkg.rustc.dlstage0>,
llvm-17-dev:native,
llvm-17-tools:native,
gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>,
@@ -37,6 +37,7 @@ Build-Depends:
libcurl4-openssl-dev | libcurl4-gnutls-dev,
libssh2-1-dev,
libssl-dev,
+ libsqlite3-dev,
libgit2-dev (>= 1.7.1),
libgit2-dev (<< 1.8~~),
libhttp-parser-dev,
@@ -86,7 +87,7 @@ Description: Rust systems programming language
generic programming and meta-programming, in both static and dynamic
styles.
-Package: libstd-rust-1.75
+Package: libstd-rust-1.76
Section: libs
Architecture: any
Multi-Arch: same
@@ -113,7 +114,7 @@ Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends},
- libstd-rust-1.75 (= ${binary:Version}),
+ libstd-rust-1.76 (= ${binary:Version}),
Description: Rust standard libraries - development files
Rust is a curly-brace, block-structured expression language. It
visually resembles the C language family, but differs significantly
@@ -308,7 +309,7 @@ Package: rust-clippy
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, ${shlibs:Depends},
- libstd-rust-1.75 (= ${binary:Version})
+ libstd-rust-1.76 (= ${binary:Version})
Recommends: cargo
Description: Rust linter
Rust is a curly-brace, block-structured expression language. It
diff --git a/debian/copyright b/debian/copyright
index 5d33f9cb5..6470d94de 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -30,14 +30,17 @@ Files-Excluded:
# rust-analyzer parts we don't need (yet)
src/tools/rust-analyzer/editors
src/tools/rust-analyzer/.github
+ vendor/rust-analyzer-salsa/book
# Embedded GH pages
src/tools/clippy/util/gh-pages
# Embedded C libraries
- vendor/lzma-sys*/xz-*
+ vendor/curl-sys/curl
vendor/libgit2-sys/libgit2
vendor/libssh2-sys/libssh2
- vendor/curl-sys/curl
+ vendor/libsqlite3-sys/sqlite3
+ vendor/libsqlite3-sys/sqlcipher
vendor/libz-sys/src/zlib*
+ vendor/lzma-sys*/xz-*
# Embedded binary blobs
vendor/jsonpath_lib/docs
vendor/mdbook/src/theme/playground_editor
@@ -51,27 +54,32 @@ Files-Excluded:
vendor/wasm-bindgen/guide
vendor/wasm-bindgen/examples/import_js/index.js
vendor/wasm-bindgen/examples/import_js/webpack.config.js
+# TMEP hack, see debian/prune-unused-deps
+ vendor/cc
# unused dependencies, generated by debian/prune-unused-deps
# DO NOT EDIT below, AUTOGENERATED
vendor/addr2line-0.19.0
vendor/aes
+ vendor/ahash-0.8.3
vendor/aho-corasick-0.7.18
+ vendor/aho-corasick-1.0.2
+ vendor/allocator-api2-0.2.15
vendor/anstyle-1.0.0
- vendor/anstyle-parse-0.2.0
+ vendor/anstyle-parse-0.2.1
+ vendor/anstyle-query-1.0.0
vendor/anstyle-wincon-2.1.0
vendor/anstyle-wincon
- vendor/anyhow-1.0.71
- vendor/anymap
- vendor/arbitrary
vendor/backtrace-0.3.67
vendor/base64-0.21.2
- vendor/bitflags-2.3.2
vendor/bitflags-2.4.0
vendor/block-buffer-0.10.2
vendor/bstr-0.2.17
vendor/bstr-1.5.0
vendor/bumpalo-3.13.0
+ vendor/bytes-1.4.0
+ vendor/camino-1.1.4
vendor/cargo_metadata-0.18.0
+ vendor/cargo-platform-0.1.2
vendor/cc-1.0.73
vendor/chalk-derive
vendor/chalk-ir
@@ -79,14 +87,18 @@ Files-Excluded:
vendor/chalk-solve
vendor/cipher
vendor/clap-4.4.4
+ vendor/clap-4.4.7
vendor/clap_builder-4.4.4
- vendor/clap_complete-4.3.1
+ vendor/clap_builder-4.4.7
+ vendor/clap_complete-4.4.3
vendor/clap_derive-4.4.2
vendor/clap_lex-0.5.0
vendor/command-group
+ vendor/core-foundation-0.9.3
vendor/core-foundation-sys-0.8.3
+ vendor/core-foundation-sys-0.8.4
vendor/cpufeatures-0.2.5
- vendor/cpufeatures-0.2.7
+ vendor/cpufeatures-0.2.8
vendor/cranelift-bforest
vendor/cranelift-codegen
vendor/cranelift-codegen-meta
@@ -103,59 +115,67 @@ Files-Excluded:
vendor/crossbeam-epoch-0.9.13
vendor/crossbeam-utils-0.8.14
vendor/crypto-common-0.1.3
- vendor/ctrlc
+ vendor/ctrlc-3.4.0
vendor/curl-sys-0.4.63+curl-8.1.2
- vendor/derive_arbitrary
vendor/diff-0.1.12
vendor/digest-0.10.3
vendor/directories
vendor/dirs-sys
+ vendor/dissimilar-1.0.6
vendor/dot
vendor/either-1.6.1
+ vendor/either-1.8.1
vendor/encode_unicode
vendor/encoding_rs-0.8.32
vendor/equivalent-1.0.0
- vendor/errno-0.3.1
- vendor/errno-dragonfly
+ vendor/errno-0.3.5
+ vendor/fastrand-2.0.0
vendor/filetime-0.2.16
vendor/filetime-0.2.21
+ vendor/filetime-0.2.22
vendor/fixedbitset
vendor/flate2-1.0.26
+ vendor/form_urlencoded-1.2.0
vendor/fsevent-sys
- vendor/fst
vendor/generic-array-0.14.5
+ vendor/getrandom-0.2.10
vendor/gimli-0.27.3
vendor/globset-0.4.10
vendor/globset-0.4.8
vendor/hashbrown-0.13.2
vendor/hashbrown-0.14.0
- vendor/heck-0.3.3
vendor/hermit-abi-0.2.6
- vendor/hkalbasi-rustc-ap-rustc_abi
- vendor/hkalbasi-rustc-ap-rustc_index
+ vendor/hermit-abi-0.3.2
vendor/home-0.5.4
+ vendor/idna-0.4.0
vendor/ignore-0.4.18
+ vendor/ignore-0.4.20
+ vendor/indexmap-2.0.0
vendor/inotify
vendor/inotify-sys
vendor/inout
vendor/is-terminal-0.4.8
vendor/itoa-1.0.2
+ vendor/itoa-1.0.6
vendor/jemalloc-sys
- vendor/jobserver-0.1.26
+ vendor/js-sys-0.3.64
vendor/junction
vendor/kqueue
vendor/kqueue-sys
- vendor/libc-0.2.146
vendor/libc-0.2.148
- vendor/libc-0.2.149
vendor/libffi
vendor/libffi-sys
vendor/libloading-0.8.0
+ vendor/libm-0.2.7
vendor/libmimalloc-sys
vendor/libnghttp2-sys
+ vendor/libz-sys-1.1.9
vendor/linked-hash-map
+ vendor/linux-raw-sys-0.4.10
+ vendor/lock_api-0.4.10
vendor/log-0.4.17
vendor/log-0.4.19
+ vendor/lsp-server
vendor/lzma-sys-0.1.17
vendor/mach
vendor/memchr-2.5.0
@@ -164,73 +184,77 @@ Files-Excluded:
vendor/mimalloc
vendor/miniz_oxide-0.6.2
vendor/mio-0.8.5
- vendor/miow-0.5.0
vendor/miow
- vendor/nix
+ vendor/nix-0.26.2
vendor/normpath
vendor/notify
vendor/ntapi-0.4.0
vendor/ntapi
+ vendor/nu-ansi-term
vendor/num_cpus-1.15.0
+ vendor/num-traits-0.2.15
vendor/object-0.30.4
+ vendor/object-0.32.0
vendor/once_cell-1.12.0
vendor/opener-0.5.0
vendor/openssl-0.10.55
vendor/openssl-src
vendor/openssl-sys-0.9.90
vendor/option-ext
- vendor/parking_lot_core-0.9.6
+ vendor/parking_lot_core-0.9.8
vendor/paste
- vendor/pest-2.6.0
- vendor/pest_derive-2.6.0
- vendor/pest_generator-2.6.0
- vendor/pest_meta-2.6.0
+ vendor/percent-encoding-2.3.0
+ vendor/pest-2.7.0
+ vendor/pest_derive-2.7.0
+ vendor/pest_generator-2.7.0
+ vendor/pest_meta-2.7.0
vendor/petgraph
+ vendor/pin-project-lite-0.2.10
vendor/pin-project-lite-0.2.9
vendor/pkg-config-0.3.25
vendor/proc-macro2-1.0.60
vendor/proc-macro2-1.0.63
+ vendor/proc-macro2-1.0.69
vendor/protobuf
vendor/protobuf-support
vendor/pulldown-cmark-to-cmark
vendor/quote-1.0.26
vendor/quote-1.0.28
vendor/quote-1.0.29
- vendor/ra-ap-rustc_index
- vendor/ra-ap-rustc_parse_format
- vendor/rayon-1.7.0
- vendor/rayon-core-1.11.0
vendor/redox_syscall-0.2.13
+ vendor/redox_syscall-0.3.5
vendor/regalloc2
vendor/regex-1.5.6
+ vendor/regex-1.8.4
vendor/regex-syntax-0.6.26
+ vendor/regex-syntax-0.7.2
vendor/region
vendor/rustc-build-sysroot
vendor/rustix-0.38.19
vendor/ryu-1.0.10
- vendor/salsa
- vendor/salsa-macros
+ vendor/ryu-1.0.13
vendor/schannel
vendor/scip
+ vendor/scopeguard-1.1.0
vendor/security-framework-2.9.1
+ vendor/security-framework-sys-2.9.0
vendor/semver-1.0.17
- vendor/serde-1.0.156
vendor/serde-1.0.160
vendor/serde-1.0.185
- vendor/serde_derive-1.0.156
vendor/serde_derive-1.0.160
vendor/serde_derive-1.0.185
vendor/serde_json-1.0.81
- vendor/serde_json-1.0.97
vendor/serde_json-1.0.99
vendor/serde_spanned-0.6.3
vendor/sha1-0.10.5
vendor/sha2-0.10.2
vendor/sha2-0.10.7
+ vendor/sharded-slab-0.1.4
vendor/slice-group-by
vendor/smallvec-1.10.0
- vendor/syn-2.0.18
- vendor/syn-2.0.29
+ vendor/smallvec-1.11.0
+ vendor/socket2-0.4.9
+ vendor/syn-2.0.32
vendor/syn-2.0.8
vendor/target-lexicon
vendor/tempfile-3.8.0
@@ -248,57 +272,76 @@ Files-Excluded:
vendor/toml-0.5.9
vendor/toml_datetime-0.6.3
vendor/tracing-attributes-0.1.26
- vendor/tracing-core-0.1.31
- vendor/tracing-tree-0.2.3
- vendor/typed-arena
+ vendor/tracing-subscriber-0.3.17
+ vendor/tracing-tree
vendor/typenum-1.15.0
+ vendor/typenum-1.16.0
+ vendor/ucd-trie-0.1.5
vendor/unicase-2.6.0
vendor/unicode-ident-1.0.0
+ vendor/unicode-ident-1.0.9
vendor/unicode-width-0.1.10
vendor/url-2.4.0
vendor/walkdir-2.3.2
vendor/walkdir-2.3.3
+ vendor/wasm-bindgen-0.2.87
+ vendor/wasm-bindgen-backend-0.2.87
+ vendor/wasm-bindgen-macro-0.2.87
+ vendor/wasm-bindgen-macro-support-0.2.87
+ vendor/wasm-bindgen-shared-0.2.87
vendor/wasmtime-jit-icache-coherence
vendor/web-sys-0.3.61
vendor/winapi
vendor/winapi-i686-pc-windows-gnu
+ vendor/winapi-util-0.1.5
vendor/winapi-util
vendor/winapi-x86_64-pc-windows-gnu
vendor/windows-0.48.0
vendor/windows_aarch64_gnullvm-0.42.2
vendor/windows_aarch64_gnullvm-0.48.0
+ vendor/windows_aarch64_gnullvm-0.48.5
vendor/windows_aarch64_gnullvm
vendor/windows_aarch64_msvc-0.42.2
vendor/windows_aarch64_msvc-0.48.0
+ vendor/windows_aarch64_msvc-0.48.5
vendor/windows_aarch64_msvc
vendor/windows
vendor/windows-core
vendor/windows_i686_gnu-0.42.2
vendor/windows_i686_gnu-0.48.0
+ vendor/windows_i686_gnu-0.48.5
vendor/windows_i686_gnu
vendor/windows_i686_msvc-0.42.2
vendor/windows_i686_msvc-0.48.0
+ vendor/windows_i686_msvc-0.48.5
vendor/windows_i686_msvc
vendor/windows-sys-0.42.0
vendor/windows-sys-0.45.0
+ vendor/windows-sys-0.48.0
vendor/windows-sys
vendor/windows-targets-0.42.2
vendor/windows-targets-0.48.0
vendor/windows-targets-0.48.1
+ vendor/windows-targets-0.48.5
vendor/windows-targets
vendor/windows_x86_64_gnu-0.42.2
vendor/windows_x86_64_gnu-0.48.0
+ vendor/windows_x86_64_gnu-0.48.5
vendor/windows_x86_64_gnu
vendor/windows_x86_64_gnullvm-0.42.2
vendor/windows_x86_64_gnullvm-0.48.0
+ vendor/windows_x86_64_gnullvm-0.48.5
vendor/windows_x86_64_gnullvm
vendor/windows_x86_64_msvc-0.42.2
vendor/windows_x86_64_msvc-0.48.0
+ vendor/windows_x86_64_msvc-0.48.5
vendor/windows_x86_64_msvc
vendor/winreg
vendor/xz2-0.1.6
vendor/yaml-merge-keys
vendor/yaml-rust
+ vendor/zerocopy-0.7.28
+ vendor/zerocopy-derive-0.7.28
# DO NOT EDIT above, AUTOGENERATED
Files: C*.md
@@ -393,6 +436,18 @@ Comment:
see https://github.com/rust-lang/ar_archive_writer
derived from LLVM code
+Files:
+ vendor/arbitrary/*
+ vendor/derive_arbitrary/*
+Copyright: 2017-2024 The Rust-Fuzz Project Developers
+ 2017-2024 Nick Fitzgerald <fitzgen@gmail.com>
+ 2017-2024 Manish Goregaokar <manishsmail@gmail.com>
+ 2017-2024 Simonas Kazlauskas <arbitrary@kazlauskas.me>
+ 2017-2024 Brian L. Troutwine <brian@troutwine.us>
+ 2017-2024 Corey Farwell <coreyf@rwell.org>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/rust-fuzz/arbitrary/
+
Files: vendor/askama*/*
Copyright: 2016-2022 Dirkjan Ochtman
License: MIT OR Apache-2.0
@@ -401,10 +456,9 @@ Comment: see https://github.com/djc/askama
Files:
vendor/bitflags/*
vendor/bitflags-1.*/*
- vendor/cc/*
+ vendor/cc-1.*/*
vendor/cmake/*
vendor/env_logger/*
- vendor/env_logger-0.*/*
vendor/getopts/*
vendor/glob/*
vendor/libc/*
@@ -558,20 +612,10 @@ Copyright: 2018-2024 Michal 'vorner' Vaner <vorner@vorner.cz>
License: MIT OR Apache-2.0
Comment: see https://github.com/vorner/arc-swap
-Files: vendor/array_tool/*
-Copyright: 2015-2018 Daniel P. Clark <6ftdan@gmail.com>
-License: MIT OR Apache-2.0
-Comment: see https://github.com/danielpclark/array_tool
-
Files: vendor/autocfg/*
Copyright: 2018-2020 Josh Stone <cuviper@gmail.com>
License: Apache-2.0 or MIT
-Files: vendor/atty/*
-Copyright: 2015-2017 softprops <d.tangren@gmail.com>
-License: MIT
-Comment: see https://github.com/softprops/atty
-
Files: vendor/backtrace/*
Copyright: 2015-2022 The Rust Project Developers
License: MIT or Apache-2.0
@@ -841,16 +885,16 @@ Copyright: 2015-2022 The Crossbeam Project Developers
License: MIT or Apache-2.0
Comment: see https://github.com/crossbeam-rs
-Files: vendor/cstr/*
-Copyright: 2018-2020 Xidorn Quan <me@upsuper.org>
-License: MIT
-Comment: see https://github.com/upsuper/cstr
-
Files: vendor/ct-codecs/*
Copyright: 2020-2022 Frank Denis <github@pureftpd.org>
License: MIT
Comment: see https://github.com/jedisct1/rust-ct-codecs
+Files: vendor/ctrlc/*
+Copyright: 2015-2024 Antti Keränen <detegr@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/Detegr/rust-ctrlc.git
+
Files:
vendor/curl/*
vendor/curl-sys/*
@@ -1047,7 +1091,14 @@ Copyright: 2016-2019 Steven Fackler <sfackler@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/sfackler/rust-fallible-iterator
-Files: vendor/faster-hex/*
+Files: vendor/fallible-streaming-iterator/*
+Copyright: 2016-2018 Steven Fackler <sfackler@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/sfackler/fallible-streaming-iterator
+
+Files:
+ vendor/faster-hex/*
+ vendor/faster-hex-0.*/*
Copyright: 2018-2023 zhangsoledad <787953403@qq.com>
License: MIT
Comment: see https://github.com/NervosFoundation/faster-hex
@@ -1115,6 +1166,11 @@ Copyright: 2017-2023 Denis Kurilenko <webdesus@gmail.com>
License: MIT
Comment: see https://github.com/webdesus/fs_extra
+Files: vendor/fst/*
+Copyright: 2015-2023 Andrew Gallant <jamslam@gmail.com>
+License: Unlicense or MIT
+Comment: see https://github.com/BurntSushi/fst
+
Files: vendor/futf/*
Copyright: 2015-2018 Keegan McAllister <kmcallister@mozilla.com>
License: MIT or Apache-2.0
@@ -1231,14 +1287,17 @@ Copyright: 2014-2017 Ning Sun <sunng@about.me>
License: MIT
Comment: see https://github.com/sunng87/handlebars-rust
+Files: vendor/hashlink/*
+Copyright: 2019-2024 kyren <kerriganw@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/kyren/hashlink
+
Files: vendor/heck/*
Copyright: 2017-2018 Without Boats <woboats@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/withoutboats/heck
-Files:
- vendor/hermit-abi/*
- vendor/hermit-abi-0.*/*
+Files: vendor/hermit-abi/*
Copyright: 2019-2019 Stefan Lankes
License: MIT or Apache-2.0
Comment: see https://github.com/hermitcore/hermit-abi
@@ -1296,7 +1355,6 @@ Comment: see https://github.com/LeopoldArkham/humansize
Files:
vendor/humantime/*
- vendor/humantime-*/*
Copyright:
2016-2018 Paul Colomiets <paul@colomiets.name>
2016 The humantime Developers
@@ -1352,9 +1410,7 @@ Copyright: 2020-2023 Jane Lusby <jlusby@yaah.dev>
License: MIT OR Apache-2.0
Comment: see https://github.com/yaahc/indenter
-Files:
- vendor/indexmap/*
- vendor/indexmap-1.*/*
+Files: vendor/indexmap/*
Copyright: 2016-2019 bluss
2016-2019 Josh Stone <cuviper@gmail.com>
License: Apache-2.0 or MIT
@@ -1494,6 +1550,13 @@ Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
License: MIT or Apache-2.0
Comment: see https://github.com/alexcrichton/ssh2-rs
+Files:
+ vendor/libsqlite3-sys/*
+ vendor/rusqlite/*
+Copyright: 2014-2024 The rusqlite developers
+License: MIT
+Comment: see https://github.com/rusqlite/rusqlite
+
Files: vendor/libz-sys/*
Copyright: 2014-2024 Alex Crichton <alex@alexcrichton.com>
2014-2024 Josh Triplett <josh@joshtriplett.org>
@@ -1512,11 +1575,6 @@ Copyright: 2021-2022 Dan Gohman <dev@sunfishcode.online>
License: Apache-2.0 with LLVM exception OR Apache-2.0 OR MIT
Comment: see https://github.com/sunfishcode/linux-raw-sys
-Files: vendor/lsp-server/*
-Copyright: 2024 rust-analyzer team
-License: MIT OR Apache-2.0
-Comment: see https://github.com/rust-lang/rust-analyzer/tree/master/lib/lsp-server
-
Files: vendor/lsp-types/*
Copyright: 2016-2022 Markus Westerlind <marwes91@gmail.com>
2016-2022 Bruno Medeiros <bruno.do.medeiros@gmail.com>
@@ -1558,9 +1616,7 @@ Copyright: 2015-2021 Dan Burkert <dan@danburkert.com>
License: MIT or Apache-2.0
Comment: see https://github.com/RazrFalcon/memmap2-rs
-Files:
- vendor/memoffset/*
- vendor/memoffset-0.*/*
+Files: vendor/memoffset/*
Copyright: 2017-2019 Gilad Naaman <gilad.naaman@gmail.com>
License: MIT
Comment: see https://github.com/Gilnaa/memoffset
@@ -1604,6 +1660,11 @@ Copyright: 2014-2018 Matt Brubeck <mbrubeck@limpet.net>
License: MIT
Comment: see https://github.com/mbrubeck/rust-debug-unreachable
+Files: vendor/nix/*
+Copyright: 2014-2024 The nix-rust Project Developers
+License: MIT
+Comment: see https://github.com/nix-rust/nix
+
Files: vendor/nohash-hasher/*
Copyright: 2018-2020 Parity Technologies <admin@parity.io>
License: Apache-2.0 OR MIT
@@ -1619,7 +1680,7 @@ Copyright: 2021-2024 Jacob Pratt <open-source@jhpratt.dev>
License: MIT OR Apache-2.0
Comment: see https://github.com/jhpratt/num_threads
-Files: vendor/nu-ansi-term/*
+Files: vendor/nu-ansi-term-0.46.0/*
Copyright: 2014-2023 ogham@bsago.me
2014-2023 Ryan Scheel (Havvy) <ryan.havvy@gmail.com>
2014-2023 Josh Triplett <josh@joshtriplett.org>
@@ -1716,13 +1777,10 @@ Comment: see https://github.com/jam1garner/owo-colors
Files:
vendor/hashbrown/*
- vendor/hashbrown-0.*/*
vendor/lock_api/*
vendor/thread_local/*
vendor/parking_lot/*
- vendor/parking_lot-0.11.2/*
vendor/parking_lot_core/*
- vendor/parking_lot_core-0.*/*
Copyright: 2016-2019 Amanieu d'Antras <amanieu@gmail.com>
License: MIT or Apache-2.0
Comment:
@@ -1816,6 +1874,11 @@ Copyright: 2022 Taiki Endo
License: Apache-2.0 OR MIT
Comment: see https://github.com/taiki-e/portable-atomic
+Files: vendor/powerfmt/*
+Copyright: 2023-2024 Jacob Pratt <jacob@jhpratt.dev>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/jhpratt/powerfmt
+
Files: vendor/precomputed-hash/*
Copyright: 2017-2017 Emilio Cobos Álvarez <emilio@crisal.io>
License: MIT
@@ -1933,11 +1996,23 @@ Copyright: 2018-2022 Aleksey Kladov <aleksey.kladov@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/rust-analyzer/rowan
-Files: vendor/ra-ap-rustc_lexer/*
-Copyright: 2010-2022 The Rust Project Developers
+Files:
+ vendor/ra-ap-rustc_lexer/*
+ vendor/ra-ap-rustc_abi/*
+ vendor/ra-ap-rustc_index/*
+ vendor/ra-ap-rustc_index_macros/*
+ vendor/ra-ap-rustc_parse_format/*
+Copyright: 2010-2024 The Rust Project Developers
License: MIT or Apache-2.0
Comment: see https://github.com/rust-lang/rust
+Files:
+ vendor/rust-analyzer-salsa/*
+ vendor/rust-analyzer-salsa-macros/*
+Copyright: 2018-2024 Salsa developers
+License: Apache-2.0 OR MIT
+Comment: see https://github.com/salsa-rs/salsa
+
Files: vendor/rustc_apfloat/*
Copyright: 2003-2017 University of Illinois at Urbana-Champaign.
License: Apache-2.0 with LLVM exception
@@ -2000,7 +2075,9 @@ Copyright: 2015-2024 Steven Fackler <sfackler@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/kornelski/rust-security-framework
-Files: vendor/self_cell/*
+Files:
+ vendor/self_cell/*
+ vendor/self_cell-0.*/*
Copyright: 2020-2021 Lukas Bergdoll <lukas.bergdoll@gmail.com>
License: Apache-2.0
Comment: see https://github.com/Voultapher/self_cell
@@ -2076,6 +2153,11 @@ Copyright: 2016-2020 Steven Fackler <sfackler@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/sfackler/shell-escape
+Files: vendor/shell-words/*
+Copyright: 2018-2022 Tomasz Miąsko <tomasz.miasko@gmail.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/tmiasko/shell-words
+
Files: vendor/shlex/*
Copyright: 2015-2015 comex <comexk@gmail.com>
License: MIT or Apache-2.0
@@ -2328,6 +2410,7 @@ Files:
vendor/tracing-core-0.*/*
vendor/tracing-error/*
vendor/tracing-log/*
+ vendor/tracing-log-0.*/*
vendor/tracing-subscriber/*
Copyright:
2018-2024 David Barsky <dbarsky@amazon.com>
@@ -2337,7 +2420,7 @@ Copyright:
License: MIT
Comment: see https://github.com/tokio-rs/tracing
-Files: vendor/tracing-tree/*
+Files: vendor/tracing-tree-0.*/*
Copyright: 2020-2020 David Barsky <me@davidbarsky.com>
2020-2020 Nathan Whitaker
License: MIT OR Apache-2.0
@@ -2363,6 +2446,11 @@ Copyright: 2019-2022 Jacob Brown <kardeiz@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/kardeiz/type-map
+Files: vendor/typed-arena/*
+Copyright: 2015-2023 The typed-arena developers
+License: MIT
+Comment: see https://github.com/SimonSapin/rust-typed-arena
+
Files: vendor/typenum/*
Copyright: 2015-2019 Paho Lurie-Gregg <paho@paholg.com>
2015-2019 Andre Bogus <bogusandre@gmail.com>
@@ -2395,6 +2483,11 @@ Copyright: 2022-2024 Charles Lew <crlf0710@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/unicode-rs/unicode-properties
+Files: vendor/unwinding/*
+Copyright: 2021-2024 Gary Guo <gary@garyguo.net>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/nbdd0121/unwinding/
+
Files:
vendor/varisat/*
vendor/varisat-checker/*
@@ -2560,6 +2653,13 @@ Copyright: 2014-2020 ogham@bsago.me
License: MIT
Comment: see https://github.com/botika/yansi-term
+Files:
+ vendor/zerocopy/*
+ vendor/zerocopy-derive/*
+Copyright: 2019-2024 Joshua Liebow-Feeser <joshlf@google.com>
+License: BSD-2-Clause OR Apache-2.0 OR MIT
+Comment: see https://github.com/google/zerocopy
+
Files: vendor/bytes/*
Copyright: 2015-2022 Carl Lerche <me@carllerche.com>
2015-2022 Sean McArthur <sean@seanmonstar.com>
diff --git a/debian/gbp.conf b/debian/gbp.conf
index d26455b68..e5a357931 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -6,3 +6,7 @@ ignore-branch = True
[import-orig]
upstream-branch = upstream/experimental
debian-branch = debian/experimental
+
+[pq]
+patch-numbers = False
+drop = True
diff --git a/debian/libstd-rust-1.75.lintian-overrides b/debian/libstd-rust-1.75.lintian-overrides
deleted file mode 100644
index 472af69f7..000000000
--- a/debian/libstd-rust-1.75.lintian-overrides
+++ /dev/null
@@ -1,16 +0,0 @@
-# "libstd" just seemed too generic
-libstd-rust-1.75 binary: package-name-doesnt-match-sonames
-libstd-rust-1.75 binary: sharedobject-in-library-directory-missing-soname
-
-# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
-libstd-rust-1.75 binary: dev-pkg-without-shlib-symlink
-libstd-rust-1.75 binary: shlib-without-versioned-soname
-libstd-rust-1.75 binary: unused-shlib-entry-in-control-file
-
-# can trigger if all its so files' hashes start with a latter and not a digit
-libstd-rust-1.75 binary: empty-shlibs
-
-# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
-# to libc. Lintian gets upset that some Rust libraries don't need
-# libc, boo hoo.
-libstd-rust-1.75 binary: library-not-linked-against-libc
diff --git a/debian/libstd-rust-1.75.install b/debian/libstd-rust-1.76.install
index cd4545cca..cd4545cca 100644
--- a/debian/libstd-rust-1.75.install
+++ b/debian/libstd-rust-1.76.install
diff --git a/debian/libstd-rust-1.76.lintian-overrides b/debian/libstd-rust-1.76.lintian-overrides
new file mode 100644
index 000000000..42311e89c
--- /dev/null
+++ b/debian/libstd-rust-1.76.lintian-overrides
@@ -0,0 +1,16 @@
+# "libstd" just seemed too generic
+libstd-rust-1.76 binary: package-name-doesnt-match-sonames
+libstd-rust-1.76 binary: sharedobject-in-library-directory-missing-soname
+
+# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
+libstd-rust-1.76 binary: dev-pkg-without-shlib-symlink
+libstd-rust-1.76 binary: shlib-without-versioned-soname
+libstd-rust-1.76 binary: unused-shlib-entry-in-control-file
+
+# can trigger if all its so files' hashes start with a latter and not a digit
+libstd-rust-1.76 binary: empty-shlibs
+
+# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
+# to libc. Lintian gets upset that some Rust libraries don't need
+# libc, boo hoo.
+libstd-rust-1.76 binary: library-not-linked-against-libc
diff --git a/debian/libstd-rust-1.75.triggers b/debian/libstd-rust-1.76.triggers
index a88c20f92..a88c20f92 100644
--- a/debian/libstd-rust-1.75.triggers
+++ b/debian/libstd-rust-1.76.triggers
diff --git a/debian/patches/d-bootstrap-use-system-compiler-rt.patch b/debian/patches-unused/d-bootstrap-use-system-compiler-rt.patch
index 22843aeb1..9c34e7257 100644
--- a/debian/patches/d-bootstrap-use-system-compiler-rt.patch
+++ b/debian/patches-unused/d-bootstrap-use-system-compiler-rt.patch
@@ -1,4 +1,4 @@
-Description: Use system compiler-rt from clang
+Description: Use system compiler-rt from clang, EXPERIMENTAL AND NOT WORKING YET
Forwarded: not-needed
--- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs
diff --git a/debian/patches/d-rustc-prefer-dynamic.patch b/debian/patches-unused/d-rustc-prefer-dynamic.patch
index 13bb42922..13bb42922 100644
--- a/debian/patches/d-rustc-prefer-dynamic.patch
+++ b/debian/patches-unused/d-rustc-prefer-dynamic.patch
diff --git a/debian/patches/d-test-host-duplicates.patch b/debian/patches-unused/d-test-host-duplicates.patch
index 50c39adf9..50c39adf9 100644
--- a/debian/patches/d-test-host-duplicates.patch
+++ b/debian/patches-unused/d-test-host-duplicates.patch
diff --git a/debian/patches/u-allow-system-compiler-rt.patch b/debian/patches-unused/u-allow-system-compiler-rt.patch
index 3bd874a5c..3bd874a5c 100644
--- a/debian/patches/u-allow-system-compiler-rt.patch
+++ b/debian/patches-unused/u-allow-system-compiler-rt.patch
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-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-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-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",
diff --git a/debian/prune-unused-deps b/debian/prune-unused-deps
index ae733854f..d24df688b 100755
--- a/debian/prune-unused-deps
+++ b/debian/prune-unused-deps
@@ -22,8 +22,13 @@ rm -f Cargo.lock src/bootstrap/Cargo.lock src/tools/rust-analyzer/Cargo.lock src
find vendor -name .cargo-checksum.json -execdir "$scriptdir/debian/prune-checksums" "{}" +
+# TEMP: cc 1.0.83 is broken, see https://github.com/rust-lang/cc-rs/issues/913
+# this forces a downgrade to 1.0.79, and can be removed once a fixed version is vendored
+rm -rf vendor/cc
+
# re-generate Cargo.lock after patching
cargo update --offline
+# temporary, versions until 1.85 are broken for bootstrapping, and this would pick up 1.83 otherwise
# re-generate src/bootstrap/Cargo.lock after patching
(cd src/bootstrap && cargo update --offline)
diff --git a/debian/refresh-early-patches.sh b/debian/rebase-patches.sh
index 12f1811c4..206769316 100755
--- a/debian/refresh-early-patches.sh
+++ b/debian/rebase-patches.sh
@@ -26,7 +26,7 @@ git branch -f debian/rebase-patches debian/experimental
git checkout debian/rebase-patches
git branch -f patch-queue/debian/rebase-patches
-for i in debian/patches/d-00*.patch; do gbp pq apply "$i"; done
+gbp pq import --no-patch-numbers
gbp import-orig "../rustc_${ver}${dfsg}.orig.tar.xz" \
--upstream-branch=upstream/rebase-patches \
@@ -40,8 +40,8 @@ echo "$0: When done, exit the child shell with ctrl-D"
$SHELL
gbp pq export --no-patch-numbers
-for i in debian/patches/d-00*.patch; do git add "$i"; done
-git commit -m "Update early-stage patches for ${ver}${dfsg}"
+git add debian/patches
+git commit -m "early-stage update of patches for ${ver}${dfsg}"
git checkout .
git rebase @~ --onto=debian/experimental
git branch -f debian/experimental
diff --git a/debian/upstream-tarball-unsuspicious.txt b/debian/upstream-tarball-unsuspicious.txt
index a3eed63dc..a066c33fa 100644
--- a/debian/upstream-tarball-unsuspicious.txt
+++ b/debian/upstream-tarball-unsuspicious.txt
@@ -19,8 +19,6 @@ vendor/pasetors/src/footer.rs
vendor/pasetors/src/version2.rs
vendor/pasetors/src/version3.rs
vendor/pasetors/src/version4.rs
-vendor/regex/tests/suffix_reverse.rs
-vendor/regex/tests/unicode.rs
vendor/term/src/terminfo/parser/names.rs
# False-positive, "verylongtext" but OK
@@ -64,6 +62,7 @@ src/doc/rustc/src/targets/known-issues.md
src/doc/rustdoc/src/*.md
src/doc/style-guide/src/nightly.md
src/doc/unstable-book/src/*/*.md
+src/etc/completions/x.py.ps1
src/etc/completions/x.py.sh
src/etc/third-party/README.txt
src/librustdoc/html/highlight/fixtures/sample.html
@@ -102,12 +101,16 @@ vendor/anstyle-parse/src/state/table.rs
vendor/base64ct/tests/proptests.proptest-regressions
vendor/chrono/src/offset/local/tz_info/rule.rs
vendor/chrono/src/offset/local/tz_info/timezone.rs
+vendor/core-foundation-sys/src/url.rs
vendor/elliptic-curve/src/hash2curve/hash2field/expand_msg/xmd.rs
vendor/elliptic-curve/src/hash2curve/hash2field/expand_msg/xof.rs
vendor/elliptic-curve/src/jwk.rs
vendor/encoding_rs/src/ascii.rs
vendor/encoding_rs/src/utf_16.rs
+vendor/faster-hex-0.8.1/src/serde.rs
vendor/faster-hex/src/serde.rs
+vendor/fiat-crypto/src/p521_32.rs
+vendor/fiat-crypto/src/secp256k1_dettman_32.rs
vendor/fiat-crypto/src/secp256k1_dettman_64.rs
vendor/git2/src/cred.rs
vendor/half/LICENSES/Apache-2.0.txt
@@ -148,6 +151,7 @@ vendor/windows-bindgen/src/rust/extensions/mod.rs
vendor/windows-bindgen/src/tokens/mod.rs
vendor/windows-bindgen/src/winmd/writer/tables.rs
vendor/windows-metadata/src/lib.rs
+vendor/windows-metadata/src/reader.rs
vendor/winnow/benches/contains_token.rs
vendor/winnow/benches/iter.rs
vendor/zerovec/src/map2d/map.rs
@@ -171,12 +175,13 @@ src/tools/rustdoc-js/.eslintrc.js
src/tools/rustdoc-js/tester.js
vendor/libz-sys/src/smoke.c
vendor/openssl-sys/build/expando.c
+vendor/sharded-slab/flake.lock
vendor/sysinfo-0.26.7/examples/simple.c
+vendor/wasm-bindgen-futures/src/task/worker.js
vendor/wasm-bindgen-macro/src/worker.js
vendor/wasm-bindgen/_package.json
vendor/wasm-bindgen/examples/import_js/package.json
vendor/wasm-bindgen/webdriver.json
-vendor/wasm-bindgen-futures/src/task/worker.js
# Embedded libraries, justified in README.source
vendor/dlmalloc/src/dlmalloc.c
@@ -189,13 +194,13 @@ vendor/backtrace/src/android-api.c
vendor/stacker/src/arch/windows.c
# False-positive, misc
+*/*/.github/actions/github-release/*
src/ci/github-actions/problem_matchers.json
src/doc/book/listings/ch14-more-about-cargo/output-only-01-adder-crate/add/rustfmt-ignore
src/doc/rustc-dev-guide/src/queries/example-0.counts.txt
src/etc/rust_analyzer_settings.json
src/stage0.json
src/tools/clippy/.remarkrc
-*/*/.github/actions/github-release/*
vendor/elasticlunr-rs/src/lang/*.rs
vendor/plotters/src/style/colors/full_palette.rs
@@ -257,8 +262,12 @@ library/stdarch/crates/std_detect/src/detect/test_data/*.auxv
library/stdarch/crates/stdarch-verify/x86-intel.xml
library/stdarch/intrinsics_data/arm_intrinsics.json
src/tools/*/tests/*/*.stderr
+src/tools/cargo/benches/benchsuite/global-cache-tracker/global-cache-sample
+src/tools/cargo/benches/benchsuite/global-cache-tracker/random-sample
src/tools/cargo/benches/workspaces/*.tgz
src/tools/cargo/crates/mdman/tests/compare/expected/formatting.txt
+src/tools/cargo/crates/rustfix/tests/edge-cases/*.json
+src/tools/cargo/crates/rustfix/tests/everything/*.json
src/tools/cargo/tests/testsuite/*.rs
src/tools/cargo/tests/testsuite/cargo_add/features_activated_over_limit/out/Cargo.toml
src/tools/cargo/tests/testsuite/cargo_add/features_deactivated_over_limit/out/Cargo.toml
@@ -299,12 +308,8 @@ tests/rustdoc-gui/src/huge_logo/src/lib.rs
tests/rustdoc-gui/src/scrape_examples/examples/check-many-*.rs
tests/rustdoc-js-std/*.js
tests/rustdoc-js/*.js
-tests/ui/higher-ranked/trait-bounds/hang-on-deeply-nested-dyn.stderr
+tests/ui/*/*/*.stderr
tests/ui/macros/not-utf8.bin
-tests/ui/nll/*/*.stderr
-tests/ui/parser/issues/*.stderr
-tests/ui/proc-macro/debug/*.stderr
-tests/ui/rfcs/rfc-3348-c-string-literals/no-nuls.stderr
tests/ui/traits/object/print_vtable_sizes.stdout
vendor/annotate-snippets/tests/fixtures/no-color/strip_line_non_ws.toml
vendor/basic-toml/tests/invalid-encoder/array-mixed-types-ints-and-floats.json
@@ -326,11 +331,6 @@ vendor/flate2/examples/hello_world.txt.gz
vendor/flate2/tests/*.gz
vendor/flate2/tests/corrupt-gz-file.bin
vendor/fluent-syntax/benches/parser.rs
-vendor/gix-filter/tests/fixtures/generated-archives/pipeline_repos.tar.xz
-vendor/gix-glob/tests/fixtures/generated-archives/make_baseline.tar.xz
-vendor/gix-negotiate/tests/fixtures/generated-archives/make_repos.tar.xz
-vendor/gix-pathspec/tests/fixtures/generated-archives/*.tar.xz
-vendor/gix-submodule/tests/fixtures/generated-archives/basic.tar.xz
vendor/gsgdt/tests/*.json
vendor/handlebars/tests/helper_with_space.rs
vendor/hkdf/tests/data/*.blb
@@ -350,6 +350,7 @@ vendor/icu_provider_adapters/tests/data/langtest/*/*/*/*.json
vendor/icu_provider_adapters/tests/data/langtest/de.json
vendor/icu_provider_adapters/tests/data/langtest/ro.json
vendor/idna/tests/IdnaTest*.txt
+vendor/idna/tests/bad_punycode_tests.json
vendor/idna/tests/punycode_tests.json
vendor/im-rc/proptest-regressions/*.txt
vendor/im-rc/proptest-regressions/*/*.txt
@@ -368,6 +369,7 @@ vendor/minifier/tests/files/minified_main.js
vendor/minifier/tests/files/test.json
vendor/minimal-lexical/tests/parse_tests.rs
vendor/minimal-lexical/tests/slow_tests.rs
+vendor/nix/test/test_kmod/hello_mod/hello.c
vendor/openssl/test/*
vendor/p384/src/test_vectors/data/wycheproof.blb
vendor/pasetors/test_vectors/*.json
@@ -384,11 +386,10 @@ vendor/regex-automata-0.1.10/data/tests/fowler/basic.dat
vendor/regex-automata-0.2.0/tests/data/fowler/dat/basic.dat
vendor/regex-automata/tests/fuzz/testdata/deserialize_*
vendor/regex-automata/tests/gen/*/*.dfa
-vendor/regex/record/compile-test/2023-04-19_1.7.3.csv
-vendor/regex/record/compile-test/2023-04-20_master.csv
-vendor/regex/src/testdata/basic.dat
-vendor/regex/tests/crates_regex.rs
-vendor/regex/tests/fowler.rs
+vendor/regex/record/compile-test/2023*
+vendor/regex/testdata/fowler/dat/basic.dat
+vendor/regex/tests/fuzz/testdata/*
+vendor/rusqlite/test.csv
vendor/rustc-demangle/src/lib.rs
vendor/rustc-demangle/src/v0-large-test-symbols/early-recursion-limit
vendor/sec1/tests/examples/p256-priv.der
@@ -441,8 +442,8 @@ vendor/icu_locid_transform_data/data/macros/locid_transform_likelysubtags_sr_v1.
vendor/icu_locid_transform_data/data/macros/locid_transform_script_dir_v1.data.rs
vendor/linux-raw-sys/src/x86_64/general.rs
vendor/pest_meta/src/grammar.rs
-vendor/regex-syntax/src/unicode_tables/*.rs
vendor/regex-syntax-0.*/src/unicode_tables/*.rs
+vendor/regex-syntax/src/unicode_tables/*.rs
vendor/ucd-parse/src/sentence_break.rs
vendor/ucd-trie/src/general_category.rs
vendor/unicode-normalization/src/tables.rs
@@ -473,6 +474,7 @@ src/tools/clippy/clippy_lints/src/needless_pass_by_value.rs
src/tools/clippy/clippy_lints/src/pass_by_ref_or_value.rs
src/tools/rust-analyzer/crates/ide-assists/src/handlers/number_representation.rs
src/tools/rust-analyzer/crates/ide-db/src/syntax_helpers/format_string_exprs.rs
+src/tools/rust-analyzer/crates/proc-macro-srv/src/tests/utils.rs
src/tools/rustfmt/src/formatting.rs
src/tools/rustfmt/src/lib.rs
src/tools/rustfmt/src/parse/parser.rs
@@ -516,10 +518,10 @@ vendor/digest/src/dev.rs
vendor/displaydoc/src/expand.rs
vendor/ecdsa/src/der.rs
vendor/ed25519-compact/src/sha512.rs
-vendor/env_logger-0.*/src/fmt/writer/mod.rs
vendor/env_logger/src/fmt/writer/mod.rs
vendor/flate2/src/mem.rs
vendor/flate2/src/zio.rs
+vendor/fst/src/raw/ops.rs
vendor/futures-macro/src/lib.rs
vendor/futures-macro/src/select.rs
vendor/gimli*/src/read/aranges.rs
@@ -541,14 +543,12 @@ vendor/gix-features/src/parallel/mod.rs
vendor/gix-features/src/parallel/reduce.rs
vendor/gix-features/src/zlib/mod.rs
vendor/gix-features/src/zlib/stream/inflate.rs
-vendor/gix-filter/tests/eol/convert_to_git.rs
-vendor/gix-filter/tests/eol/convert_to_worktree.rs
-vendor/gix-filter/tests/worktree/mod.rs
+vendor/gix-object/src/commit/ref_iter.rs
+vendor/gix-object/src/tag/ref_iter.rs
vendor/gix-odb/src/store_impls/loose/find.rs
vendor/gix-path/src/env/git.rs
vendor/gix-pathspec/src/lib.rs
vendor/gix-pathspec/src/parse.rs
-vendor/gix-pathspec/tests/parse/mod.rs
vendor/gix-protocol/src/fetch/delegate.rs
vendor/gix-ref/src/store/packed/decode.rs
vendor/gix-ref/src/store/packed/decode/tests.rs
@@ -589,6 +589,7 @@ vendor/openssl/src/envelope.rs
vendor/orion/src/test_framework/aead_interface.rs
vendor/orion/src/test_framework/streamcipher_interface.rs
vendor/os_info/src/matcher.rs
+vendor/pest/src/iterators/pair.rs
vendor/pest/src/parser_state.rs
vendor/pest/src/position.rs
vendor/pest/src/span.rs
@@ -604,6 +605,10 @@ vendor/regex-automata-0.1.10/src/regex.rs
vendor/regex-automata/src/dfa/automaton.rs
vendor/regex-automata/src/hybrid/dfa.rs
vendor/regex-automata/src/meta/regex.rs
+vendor/regex/src/regex/bytes.rs
+vendor/rusqlite/src/util/sqlite_string.rs
+vendor/rust-analyzer-salsa/src/runtime.rs
+vendor/rust-analyzer-salsa/src/runtime/local_state.rs
vendor/rustc-rayon/tests/sort-panic-safe.rs
vendor/rustc_apfloat/src/lib.rs
vendor/rustversion/src/attr.rs
@@ -612,6 +617,7 @@ vendor/rustversion/src/lib.rs
vendor/semver/src/parse.rs
vendor/sha2/src/sha256.rs
vendor/sha2/src/sha512.rs
+vendor/shell-words/src/lib.rs
vendor/shlex/src/lib.rs
vendor/snap/src/compress.rs
vendor/snap/src/decompress.rs
@@ -661,6 +667,7 @@ vendor/winnow-0.4.7/examples/css/parser.rs
vendor/winnow-0.4.7/examples/http/parser.rs
vendor/winnow-0.4.7/examples/http/parser_streaming.rs
vendor/winnow-0.4.7/examples/json/*.rs
+vendor/winnow-0.4.7/examples/ndjson/example.ndjson
vendor/winnow-0.4.7/examples/ndjson/parser.rs
vendor/winnow-0.4.7/src/ascii/mod.rs
vendor/winnow-0.4.7/src/binary/bits/mod.rs
@@ -681,7 +688,6 @@ vendor/winnow/examples/json/parser.rs
vendor/winnow/examples/json/parser_dispatch.rs
vendor/winnow/examples/json/parser_partial.rs
vendor/winnow/examples/ndjson/example.ndjson
-vendor/winnow-0.4.7/examples/ndjson/example.ndjson
vendor/winnow/examples/ndjson/parser.rs
vendor/winnow/src/ascii/mod.rs
vendor/winnow/src/binary/bits/mod.rs
@@ -689,6 +695,7 @@ vendor/winnow/src/binary/bits/tests.rs
vendor/winnow/src/binary/mod.rs
vendor/winnow/src/combinator/branch.rs
vendor/winnow/src/combinator/core.rs
+vendor/winnow/src/combinator/multi.rs
vendor/winnow/src/combinator/parser.rs
vendor/winnow/src/combinator/sequence.rs
vendor/winnow/src/combinator/tests.rs