diff options
35 files changed, 437 insertions, 536 deletions
diff --git a/debian/changelog b/debian/changelog index af4e386b8..fca049831 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,23 @@ +rustc (1.67.1+dfsg1-1) unstable; urgency=medium + + * Upload to unstable + + -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Sun, 03 Sep 2023 19:58:53 +0200 + +rustc (1.67.1+dfsg1-1~exp1) experimental; urgency=medium + + [ Fabian Grünbichler ] + * update/rebase/drop patches (based on work by Blair Noctis) + * d/copyright: add missing statements + * add missing lintian overrides for test cases + + [ Blair Noctis ] + * New upstream release + * Cherry-pick sysroot detection fix + * Update d/copyright for some vendored + + -- Fabian Grünbichler <f.gruenbichler@proxmox.com> Fri, 07 Jul 2023 10:01:33 +0200 + rustc (1.66.0+dfsg1-1) unstable; urgency=medium * Upload to unstable diff --git a/debian/control b/debian/control index 5604fa509..590f09bbe 100644 --- a/debian/control +++ b/debian/control @@ -14,8 +14,8 @@ Build-Depends: dpkg-dev (>= 1.17.14), python3:native, cargo:native (>= 0.60.0) <!pkg.rustc.dlstage0>, - rustc:native (>= 1.65.0+dfsg) <!pkg.rustc.dlstage0>, - rustc:native (<= 1.66.0++) <!pkg.rustc.dlstage0>, + rustc:native (>= 1.66.0+dfsg) <!pkg.rustc.dlstage0>, + rustc:native (<= 1.67.1++) <!pkg.rustc.dlstage0>, llvm-15-dev:native, llvm-15-tools:native, gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>, @@ -39,8 +39,8 @@ Build-Depends: curl <pkg.rustc.dlstage0>, ca-certificates <pkg.rustc.dlstage0>, Build-Depends-Indep: - wasi-libc (>= 0.0~git20220510.9886d3d~~) <!nowasm>, - wasi-libc (<= 0.0~git20220510.9886d3d++) <!nowasm>, + wasi-libc (>= 0.0~git20221206.8b7148f~~) <!nowasm>, + wasi-libc (<= 0.0~git20221206.8b7148f++) <!nowasm>, clang-15:native, Build-Conflicts: gdb-minimal <!nocheck> Standards-Version: 4.2.1 @@ -56,7 +56,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libstd-rust-dev (= ${binary:Version}), gcc, libc-dev, binutils (>= 2.26) Recommends: - cargo (>= 0.67.0~~), cargo (<< 0.68.0~~), + cargo (>= 0.68.0~~), cargo (<< 0.69.0~~), # llvm is needed for llvm-dwp for -C split-debuginfo=packed llvm-15, Suggests: @@ -77,7 +77,7 @@ Description: Rust systems programming language generic programming and meta-programming, in both static and dynamic styles. -Package: libstd-rust-1.66 +Package: libstd-rust-1.67 Section: libs Architecture: any Multi-Arch: same @@ -104,7 +104,7 @@ Section: libdevel Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, - libstd-rust-1.66 (= ${binary:Version}), + libstd-rust-1.67 (= ${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 @@ -267,7 +267,7 @@ Package: rust-clippy Architecture: any Multi-Arch: allowed Depends: ${misc:Depends}, ${shlibs:Depends}, - libstd-rust-1.66 (= ${binary:Version}) + libstd-rust-1.67 (= ${binary:Version}) Recommends: cargo Description: Rust linter Rust is a curly-brace, block-structured expression language. It @@ -322,7 +322,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}, rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}), cargo, Recommends: - cargo (>= 0.67.0~~), cargo (<< 0.68.0~~) + cargo (>= 0.68.0~~), cargo (<< 0.69.0~~) Suggests: rust-doc (>= ${binary:Version}), rust-src (>= ${binary:Version}), diff --git a/debian/copyright b/debian/copyright index 832050b28..ec184ada3 100644 --- a/debian/copyright +++ b/debian/copyright @@ -37,7 +37,7 @@ Files-Excluded: vendor/jsonpath_lib/docs vendor/mdbook/src/theme/playground_editor vendor/psm/src/arch/wasm32.o - vendor/rustix/src/imp/linux_raw/arch/outline/*/*.a + vendor/rustix/src/backend/linux_raw/arch/outline/*/*.a vendor/winapi-*/*/*.a # Embedded submodule used for CI library/stdarch/crates/intrinsic-test/acle @@ -47,22 +47,25 @@ Files-Excluded: vendor/anyhow-1.0.60 vendor/anymap vendor/arbitrary - vendor/ar vendor/arrayvec-0.7.0 + vendor/base64 vendor/bitmaps + vendor/bstr vendor/bumpalo vendor/byteorder vendor/bytesize vendor/camino-1.0.9 - vendor/chalk-derive - vendor/chalk-ir + vendor/cc-1.0.73 + vendor/chalk-derive-0.86.0 + vendor/chalk-ir-0.86.0 vendor/chalk-recursive - vendor/chalk-solve + vendor/chalk-solve-0.86.0 vendor/clap vendor/clap_lex vendor/color-eyre vendor/color-spantrace vendor/combine + vendor/command-group vendor/commoncrypto vendor/commoncrypto-sys vendor/concolor @@ -70,7 +73,6 @@ Files-Excluded: vendor/content_inspector vendor/core-foundation vendor/core-foundation-sys-0.8.0 - vendor/cpufeatures-0.2.1 vendor/cranelift-bforest vendor/cranelift-codegen vendor/cranelift-codegen-meta @@ -82,31 +84,28 @@ Files-Excluded: vendor/cranelift-module vendor/cranelift-native vendor/cranelift-object - vendor/crossbeam - vendor/crossbeam-channel-0.5.4 vendor/crossbeam-deque-0.8.1 + vendor/crossbeam-epoch-0.9.11 vendor/crossbeam-epoch-0.9.6 - vendor/crossbeam-epoch-0.9.8 - vendor/crossbeam-queue + vendor/crossbeam-utils-0.8.12 vendor/crossbeam-utils-0.8.8 - vendor/crypto-common-0.1.2 + vendor/crypto-common-0.1.3 vendor/crypto-hash vendor/curl vendor/curl-sys vendor/derive_arbitrary vendor/diff-0.1.12 - vendor/difference - vendor/digest-0.10.2 + vendor/digest-0.10.3 vendor/directories vendor/dot vendor/dunce vendor/either-1.6.0 vendor/either-1.6.1 - vendor/expect-test-1.0.1 + vendor/env_logger vendor/eyre vendor/filetime-0.2.14 vendor/filetime-0.2.16 - vendor/flate2-1.0.16 + vendor/flate2-1.0.23 vendor/foreign-types vendor/foreign-types-shared vendor/form_urlencoded-1.0.1 @@ -125,20 +124,25 @@ Files-Excluded: vendor/heck-0.3.3 vendor/hex-0.3.2 vendor/hex-0.4.2 + vendor/hmac vendor/home-0.5.3 + vendor/http-auth vendor/idna-0.2.0 vendor/im-rc vendor/indenter vendor/inotify vendor/inotify-sys + vendor/io-lifetimes-1.0.1 + vendor/is-terminal vendor/itoa-1.0.2 vendor/jemalloc-sys vendor/jod-thread vendor/kqueue vendor/kqueue-sys vendor/kstring - vendor/libc-0.2.126 vendor/libc-0.2.127 + vendor/libc-0.2.135 + vendor/libc-0.2.137 vendor/libffi vendor/libffi-sys vendor/libgit2-sys @@ -156,10 +160,12 @@ Files-Excluded: vendor/mimalloc vendor/miniz_oxide-0.5.3 vendor/mio + vendor/nix vendor/normalize-line-endings vendor/notify vendor/once_cell-1.12.0 vendor/once_cell-1.13.0 + vendor/once_cell-1.15.0 vendor/oorandom vendor/openssl vendor/openssl-probe @@ -177,6 +183,8 @@ Files-Excluded: vendor/protobuf-support vendor/pulldown-cmark-to-cmark vendor/quote-1.0.18 + vendor/rayon-1.5.3 + vendor/rayon-core-1.9.3 vendor/redox_syscall-0.2.10 vendor/redox_syscall-0.2.13 vendor/regalloc2 @@ -184,7 +192,6 @@ Files-Excluded: vendor/regex-syntax-0.6.26 vendor/region vendor/rustc-build-sysroot - vendor/rustc_version vendor/ryu-1.0.10 vendor/ryu-1.0.5 vendor/salsa @@ -202,6 +209,7 @@ Files-Excluded: vendor/serde_json-1.0.81 vendor/serde_json-1.0.85 vendor/serde-value + vendor/sha1 vendor/sha2-0.10.1 vendor/sharded-slab-0.1.1 vendor/similar @@ -215,6 +223,7 @@ Files-Excluded: vendor/socket2 vendor/static_assertions vendor/strip-ansi-escapes + vendor/subtle vendor/target-lexicon vendor/thiserror-1.0.33 vendor/thiserror-impl-1.0.33 @@ -233,7 +242,7 @@ Files-Excluded: vendor/tracing-subscriber vendor/tracing-tree-0.2.0 vendor/typed-arena - vendor/typenum-1.12.0 + vendor/typenum-1.15.0 vendor/ui_test vendor/unicode-bidi-0.3.4 vendor/unicode-ident-1.0.0 @@ -243,10 +252,15 @@ Files-Excluded: vendor/vcpkg vendor/version_check-0.9.3 vendor/vte + vendor/windows_aarch64_msvc-0.36.1 + vendor/windows_i686_gnu-0.36.1 + vendor/windows_i686_msvc-0.36.1 + vendor/windows-sys-0.36.1 + vendor/windows_x86_64_gnu-0.36.1 + vendor/windows_x86_64_msvc-0.36.1 vendor/xattr-0.2.2 vendor/yaml-merge-keys vendor/yaml-rust - vendor/yansi # DO NOT EDIT above, AUTOGENERATED Files: C*.md @@ -313,6 +327,13 @@ Copyright: 2019-2022 Tom Kaitchuck <Tom.Kaitchuck@gmail.com> License: MIT OR Apache-2.0 Comment: see https://github.com/tkaitchuck/ahash +Files: vendor/ar_archive_writer/* +Copyright: 2003-2017 University of Illinois at Urbana-Champaign. +License: Apache-2.0 with LLVM exception +Comment: + see https://github.com/rust-lang/ar_archive_writer + derived from LLVM code + Files: vendor/askama*/* Copyright: 2016-2022 Dirkjan Ochtman License: MIT OR Apache-2.0 @@ -322,8 +343,7 @@ Files: vendor/bitflags/* vendor/cc/* vendor/cmake/* - vendor/env_logger-0*/* - vendor/env_logger/* + vendor/env_logger-0.*/* vendor/getopts/* vendor/glob/* vendor/libc/* @@ -420,7 +440,6 @@ Comment: see https://github.com/messense/rustc-test Files: vendor/addr2line/* - vendor/addr2line-0*/* Copyright: 2016-2021 Nick Fitzgerald <fitzgen@gmail.com> 2016-2021 Philip Craig <philipjcraig@gmail.com> @@ -431,7 +450,6 @@ Comment: see https://github.com/gimli-rs/addr2line Files: vendor/adler/* - vendor/adler-0.2.3/* Copyright: 2020-2021 Jonas Schievink <jonasschievink@gmail.com> License: 0BSD or MIT or Apache-2.0 Comment: see https://github.com/jonas-schievink/adler.git @@ -501,7 +519,7 @@ Comment: see https://github.com/RustCrypto/traits see https://github.com/RustCrypto/utils -Files: vendor/bstr/* +Files: vendor/bstr-0.*/* Copyright: 2018-2020 Andrew Gallant <jamslam@gmail.com> License: MIT OR Apache-2.0 Comment: see https://github.com/BurntSushi/bstr @@ -556,10 +574,10 @@ License: MIT or Apache-2.0 Comment: see https://github.com/cryptocorrosion/cryptocorrosion Files: - vendor/chalk-derive-0.80.0/* + vendor/chalk-derive/* vendor/chalk-engine/* - vendor/chalk-ir-0.80.0/* - vendor/chalk-solve-0.80.0/* + vendor/chalk-ir/* + vendor/chalk-solve/* Copyright: 2015-2022 Rust Compiler Team 2015-2022 Chalk developers @@ -585,6 +603,11 @@ Copyright: 2016-2020 Thomas Wickham <mackwic@gmail.com> License: MPL-2.0 Comment: see https://github.com/mackwic/colored +Files: vendor/convert_case/* +Copyright: 2020-2022 David Purdum <purdum41@gmail.com> +License: MIT +Comment: see https://github.com/rutrum/convert-case + Files: vendor/countme/* Copyright: 2021-2022 Aleksey Kladov <aleksey.kladov@gmail.com> License: MIT OR Apache-2.0 @@ -634,6 +657,11 @@ Copyright: License: Apache-2.0 or MIT Comment: see https://github.com/rust-lang-nursery/datafrog +Files: vendor/derive_more/* +Copyright: 2016-2023 Jelte Fennema <github-tech@jeltef.nl> +License: MIT +Comment: see https://github.com/JelteF/derive_more + Files: vendor/derive-new/* Copyright: 2016-2020 Nick Cameron <ncameron@mozilla.com> License: MIT @@ -695,6 +723,11 @@ Copyright: 2017-2021 The @xdg-rs members License: MIT OR Apache-2.0 Comment: see https://github.com/xdg-rs/dirs +Files: vendor/displaydoc/* +Copyright: 2019-2023 Jane Lusby <jlusby@yaah.dev> +License: MIT OR Apache-2.0 +Comment: see https://github.com/yaahc/displaydoc + Files: vendor/drop_bomb/* Copyright: 2018-2020 Aleksey Kladov <aleksey.kladov@gmail.com> License: MIT OR Apache-2.0 @@ -730,6 +763,11 @@ 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/fastrand/* +Copyright: 2020-2023 Stjepan Glavina <stjepang@gmail.com> +License: Apache-2.0 OR MIT +Comment: see https://github.com/smol-rs/fastrand + Files: vendor/fd-lock/* Copyright: 2019-2022 Yoshua Wuyts <yoshuawuyts@gmail.com> License: MIT OR Apache-2.0 @@ -774,7 +812,6 @@ License: MIT Comment: see https://github.com/fizyk20/generic-array.git Files: - vendor/gimli-0*/* vendor/gimli/* Copyright: 2016-2021 Nick Fitzgerald <fitzgen@gmail.com> @@ -942,7 +979,9 @@ 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/* +Files: + vendor/memoffset/* + vendor/memoffset-0.6.5/* Copyright: 2017-2019 Gilad Naaman <gilad.naaman@gmail.com> License: MIT Comment: see https://github.com/Gilnaa/memoffset @@ -955,7 +994,6 @@ Comment: Files: vendor/miniz_oxide/* - vendor/miniz_oxide-0.4.0/* Copyright: 2017-2020 Frommi <daniil.liferenko@gmail.com> License: MIT Comment: see https://github.com/Frommi/miniz_oxide @@ -984,7 +1022,6 @@ License: MIT Comment: see https://github.com/seanmonstar/num_cpus Files: - vendor/object-0*/* vendor/object/* Copyright: 2016-2020 Nick Fitzgerald <fitzgen@gmail.com> @@ -1164,7 +1201,9 @@ License: MIT Comment: see https://github.com/redox-os/syscall -Files: vendor/regex-automata/* +Files: + vendor/regex-automata/* + vendor/regex-automata-0.1.10/* Copyright: 2018-2020 Andrew Gallant <jamslam@gmail.com> License: Unlicense or MIT Comment: see https://github.com/BurntSushi/regex-automata @@ -1201,6 +1240,12 @@ Copyright: 2020-2020 flip1995 <hello@philkrones.com> License: MIT OR Apache-2.0 Comment: see https://github.com/flip1995/rustc-semver +Files: vendor/rustc_version/* +Copyright: 2015-2021 Dirkjan Ochtman <dirkjan@ochtman.nl> + 2015-2021 Marvin Löbel <loebel.marvin@gmail.com> +License: MIT or Apache-2.0 +Comment: see https://github.com/Kimundi/rustc-version-rs + Files: vendor/rustfix/* Copyright: 2016-2021 Pascal Hertleif <killercup@gmail.com> @@ -1292,6 +1337,15 @@ Copyright: 2016-2020 Andrew Gallant <jamslam@gmail.com> License: BSD-3-Clause Comment: see https://github.com/BurntSushi/rust-snappy +Files: + vendor/spdx-expression/* + vendor/spdx-rs/* +Copyright: 2021-2022 Mikko Murto <mikko.murto@hhpartners.fi> +License: MIT +Comment: + see https://github.com/doubleopen-project/spdx-expression + see https://github.com/doubleopen-project/spdx-rs + Files: vendor/stable_deref_trait/* Copyright: 2017-2017 Robert Grosse <n210241048576@gmail.com> License: MIT or Apache-2.0 @@ -1308,6 +1362,13 @@ Copyright: 2015-2021 Danny Guo <dannyguo91@gmail.com> License: MIT Comment: see https://github.com/dguo/strsim-rs +Files: + vendor/strum/* + vendor/strum_macros/* +Copyright: 2017-2023 Peter Glotfelty <peter.glotfelty@microsoft.com> +License: MIT +Comment: see https://github.com/Peternator7/strum + Files: vendor/synstructure/* Copyright: 2016-2019 Nika Layzell <nika@thelayzells.com> @@ -1498,6 +1559,14 @@ Copyright: 2015-2018 Simon Sapin <simon.sapin@exyr.org> License: MIT OR Apache-2.0 Comment: see https://github.com/SimonSapin/rust-utf8 +Files: vendor/uuid/* +Copyright: 2014-2023 Ashley Mannix<ashleymannix@live.com.au> + 2014-2023 Christopher Armstrong + 2014-2023 Dylan DPC<dylan.dpc@gmail.com> + 2014-2023 Hunar Roop Kahlon<hunar.roop@gmail.com> +License: Apache-2.0 OR MIT +Comment: see https://github.com/uuid-rs/uuid + Files: vendor/wasi/* Copyright: 2019-2020 The Cranelift Project Developers License: Apache-2.0 with LLVM exception or Apache-2.0 or MIT @@ -1520,6 +1589,11 @@ Copyright: 2015-2017 Steven Allen <steven@stebalien.com> License: MIT or Apache-2.0 Comment: see https://github.com/Stebalien/xattr +Files: vendor/yansi/* +Copyright: 2017-2022 Sergio Benitez <sb@sergio.bz> +License: MIT or Apache-2.0 +Comment: see https://github.com/SergioBenitez/yansi + Files: vendor/yansi-term/* Copyright: 2014-2020 ogham@bsago.me 2014-2020 Ryan Scheel (Havvy) <ryan.havvy@gmail.com> @@ -1600,18 +1674,14 @@ License: Apache-2.0 with LLVM exception OR Apache-2.0 OR MIT Comment: see https://github.com/bytecodealliance/wasi Files: + vendor/windows-sys/* + vendor/windows_aarch64_gnullvm/* vendor/windows_aarch64_msvc/* vendor/windows_i686_gnu/* vendor/windows_i686_msvc/* - vendor/windows-sys/* vendor/windows_x86_64_gnu/* + vendor/windows_x86_64_gnullvm/* vendor/windows_x86_64_msvc/* - vendor/windows_aarch64_msvc-0.28.0/* - vendor/windows_i686_gnu-0.28.0/* - vendor/windows_i686_msvc-0.28.0/* - vendor/windows-sys-0.28.0/* - vendor/windows_x86_64_gnu-0.28.0/* - vendor/windows_x86_64_msvc-0.28.0/* Copyright: 2019-2022 Microsoft Corporation License: MIT OR Apache-2.0 Comment: see https://github.com/microsoft/windows-rs @@ -1635,6 +1705,24 @@ Copyright: 2020-2022 Aleksey Kladov <aleksey.kladov@gmail.com> License: MIT OR Apache-2.0 Comment: see https://github.com/matklad/xshell +Files: + vendor/icu_list/* + vendor/icu_locid/* + vendor/icu_provider/* + vendor/icu_provider_adapters/* + vendor/icu_provider_macros/* + vendor/litemap/* + vendor/yoke/* + vendor/yoke-derive/* + vendor/writeable/* + vendor/zerofrom/* + vendor/zerofrom-derive/* + vendor/zerovec/* + vendor/zerovec-derive/* +Copyright: 1999-2022 Unicode, Inc. +License: Unicode-Data-Files-and-Software-License +Comment: See https://github.com/unicode-org/icu4x + Files: debian/* Copyright: 2013-2018 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> License: MIT or Apache-2.0 @@ -2351,3 +2439,51 @@ License: Zlib 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. + +License: Unicode-Data-Files-and-Software-License + UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + . + See Terms of Use <https://www.unicode.org/copyright.html> + for definitions of Unicode Inc.’s Data Files and Software. + . + NOTICE TO USER: Carefully read the following legal agreement. + BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S + DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), + YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE + TERMS AND CONDITIONS OF THIS AGREEMENT. + IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE + THE DATA FILES OR SOFTWARE. + . + COPYRIGHT AND PERMISSION NOTICE + . + Copyright © 1991-2022 Unicode, Inc. All rights reserved. + Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + . + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation + (the "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software + without restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, and/or sell copies of + the Data Files or Software, and to permit persons to whom the Data Files + or Software are furnished to do so, provided that either + (a) this copyright and permission notice appear with all copies + of the Data Files or Software, or + (b) this copyright and permission notice appear in associated + Documentation. + . + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THE DATA FILES OR SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. diff --git a/debian/libstd-rust-1.66.lintian-overrides b/debian/libstd-rust-1.66.lintian-overrides deleted file mode 100644 index bf80cf0e3..000000000 --- a/debian/libstd-rust-1.66.lintian-overrides +++ /dev/null @@ -1,13 +0,0 @@ -# "libstd" just seemed too generic -libstd-rust-1.66 binary: package-name-doesnt-match-sonames -libstd-rust-1.66 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.66 binary: dev-pkg-without-shlib-symlink -libstd-rust-1.66 binary: shlib-without-versioned-soname -libstd-rust-1.66 binary: unused-shlib-entry-in-control-file - -# 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.66 binary: library-not-linked-against-libc diff --git a/debian/libstd-rust-1.66.install b/debian/libstd-rust-1.67.install index cd4545cca..cd4545cca 100644 --- a/debian/libstd-rust-1.66.install +++ b/debian/libstd-rust-1.67.install diff --git a/debian/libstd-rust-1.67.lintian-overrides b/debian/libstd-rust-1.67.lintian-overrides new file mode 100644 index 000000000..42712d63f --- /dev/null +++ b/debian/libstd-rust-1.67.lintian-overrides @@ -0,0 +1,13 @@ +# "libstd" just seemed too generic +libstd-rust-1.67 binary: package-name-doesnt-match-sonames +libstd-rust-1.67 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.67 binary: dev-pkg-without-shlib-symlink +libstd-rust-1.67 binary: shlib-without-versioned-soname +libstd-rust-1.67 binary: unused-shlib-entry-in-control-file + +# 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.67 binary: library-not-linked-against-libc diff --git a/debian/patches/d-0000-ignore-removed-submodules.patch b/debian/patches/d-0000-ignore-removed-submodules.patch index 7fdae2bd9..5ce806e79 100644 --- a/debian/patches/d-0000-ignore-removed-submodules.patch +++ b/debian/patches/d-0000-ignore-removed-submodules.patch @@ -5,20 +5,20 @@ Subject: d-0000-ignore-removed-submodules --- Cargo.toml | 15 --------------- src/bootstrap/bootstrap.py | 4 ---- - src/bootstrap/builder.rs | 15 +-------------- + src/bootstrap/builder.rs | 17 +---------------- src/bootstrap/doc.rs | 1 - src/bootstrap/test.rs | 12 +----------- src/tools/clippy/Cargo.toml | 5 ----- src/tools/rust-analyzer/Cargo.toml | 11 ++++++++++- src/tools/rustfmt/Cargo.toml | 5 ----- src/tools/tidy/src/deps.rs | 2 +- - 9 files changed, 13 insertions(+), 57 deletions(-) + 9 files changed, 13 insertions(+), 59 deletions(-) diff --git a/Cargo.toml b/Cargo.toml -index e49fe5e..863c800 100644 +index 000c10a..7442a0e 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -16,27 +16,15 @@ members = [ +@@ -17,27 +17,15 @@ members = [ "src/tools/tidy", "src/tools/tier-check", "src/tools/build-manifest", @@ -44,9 +44,9 @@ index e49fe5e..863c800 100644 - "src/tools/bump-stage0", - "src/tools/replace-version-placeholder", "src/tools/lld-wrapper", - ] - -@@ -99,9 +87,6 @@ miniz_oxide.debug = 0 + "src/tools/collect-license-metadata", + "src/tools/generate-copyright", +@@ -102,9 +90,6 @@ miniz_oxide.debug = 0 object.debug = 0 [patch.crates-io] @@ -57,10 +57,10 @@ index e49fe5e..863c800 100644 # See comments in `library/rustc-std-workspace-core/README.md` for what's going on # here diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py -index 5712868..5a6ab27 100644 +index 2d5018d..cc2ae13 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py -@@ -766,10 +766,6 @@ class RustBuild(object): +@@ -767,10 +767,6 @@ class RustBuild(object): os.path.join(self.rust_root, "src/bootstrap/Cargo.toml")] for _ in range(0, self.verbose): args.append("--verbose") @@ -72,10 +72,10 @@ index 5712868..5a6ab27 100644 args.append("--features") args.append("build-metrics") diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs -index 8b144f1..c4bed1ec 100644 +index 8ee6d49..8bc92c8 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs -@@ -599,8 +599,6 @@ impl<'a> Builder<'a> { +@@ -596,8 +596,6 @@ impl<'a> Builder<'a> { tool::RemoteTestClient, tool::RustInstaller, tool::Cargo, @@ -84,16 +84,18 @@ index 8b144f1..c4bed1ec 100644 tool::RustAnalyzerProcMacroSrv, tool::RustDemangler, tool::Rustdoc, -@@ -621,8 +619,6 @@ impl<'a> Builder<'a> { +@@ -618,10 +616,6 @@ impl<'a> Builder<'a> { check::CodegenBackend, check::Clippy, check::Miri, +- check::CargoMiri, +- check::MiroptTestTools, - check::Rls, - check::RustAnalyzer, check::Rustfmt, check::Bootstrap ), -@@ -650,7 +646,6 @@ impl<'a> Builder<'a> { +@@ -650,7 +644,6 @@ impl<'a> Builder<'a> { test::ReplacePlaceholderTest, test::Cargotest, test::Cargo, @@ -101,7 +103,7 @@ index 8b144f1..c4bed1ec 100644 test::ErrorIndex, test::Distcheck, test::RunMakeFullDeps, -@@ -698,10 +693,8 @@ impl<'a> Builder<'a> { +@@ -698,10 +691,8 @@ impl<'a> Builder<'a> { doc::RustdocBook, doc::RustByExample, doc::RustcBook, @@ -112,7 +114,7 @@ index 8b144f1..c4bed1ec 100644 doc::EmbeddedBook, doc::EditionGuide, doc::StyleGuide, -@@ -717,8 +710,6 @@ impl<'a> Builder<'a> { +@@ -717,8 +708,6 @@ impl<'a> Builder<'a> { dist::Analysis, dist::Src, dist::Cargo, @@ -121,7 +123,7 @@ index 8b144f1..c4bed1ec 100644 dist::Rustfmt, dist::RustDemangler, dist::Clippy, -@@ -739,7 +730,6 @@ impl<'a> Builder<'a> { +@@ -739,7 +728,6 @@ impl<'a> Builder<'a> { install::Docs, install::Std, install::Cargo, @@ -129,7 +131,7 @@ index 8b144f1..c4bed1ec 100644 install::Rustfmt, install::RustDemangler, install::Clippy, -@@ -2062,10 +2052,7 @@ impl<'a> Builder<'a> { +@@ -1823,10 +1811,7 @@ impl<'a> Builder<'a> { } } @@ -142,7 +144,7 @@ index 8b144f1..c4bed1ec 100644 } diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs -index ea06caf..5d8247f 100644 +index 2c6fd1e..52c3eba 100644 --- a/src/bootstrap/doc.rs +++ b/src/bootstrap/doc.rs @@ -74,7 +74,6 @@ macro_rules! book { @@ -154,10 +156,10 @@ index ea06caf..5d8247f 100644 EditionGuide, "src/doc/edition-guide", "edition-guide", submodule; EmbeddedBook, "src/doc/embedded-book", "embedded-book", submodule; diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs -index 791c35c..964e2e0 100644 +index 39cedfd..7ed7d97 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs -@@ -1909,17 +1909,7 @@ impl Step for RustcGuide { +@@ -1975,17 +1975,7 @@ impl Step for RustcGuide { } fn run(self, builder: &Builder<'_>) { @@ -177,7 +179,7 @@ index 791c35c..964e2e0 100644 } diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml -index 60200a8..3980db9 100644 +index fe425a2..23beb15 100644 --- a/src/tools/clippy/Cargo.toml +++ b/src/tools/clippy/Cargo.toml @@ -36,11 +36,6 @@ walkdir = "2.3" @@ -229,10 +231,10 @@ index 7a4e02d..27b91f2 100644 [package.metadata.rust-analyzer] diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs -index 8a0239e..9b35cba 100644 +index 296db9d..0369861 100644 --- a/src/tools/tidy/src/deps.rs +++ b/src/tools/tidy/src/deps.rs -@@ -311,7 +311,7 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&str] = &[ +@@ -333,7 +333,7 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&str] = &[ // This crate takes quite a long time to build, so don't allow two versions of them // to accidentally sneak into our dependency graph, in order to ensure we keep our CI times // under control. @@ -241,3 +243,12 @@ index 8a0239e..9b35cba 100644 ]; /// Dependency checks. +@@ -629,6 +629,8 @@ + } + + fn check_rustfix(metadata: &Metadata, bad: &mut bool) { ++ // Debian: we don't build cargo here, so this function doens't function. ++ return; + let cargo = pkg_from_name(metadata, "cargo"); + let compiletest = pkg_from_name(metadata, "compiletest"); + let cargo_deps = deps_of(metadata, &cargo.id); diff --git a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch index 2fae76fe5..c544053bc 100644 --- a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch +++ b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch @@ -14,10 +14,10 @@ Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase 7 files changed, 35 insertions(+), 203 deletions(-) diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs -index 7842611..4ccccf1 100644 +index 4170c32..d7dcda7 100644 --- a/src/tools/linkchecker/main.rs +++ b/src/tools/linkchecker/main.rs -@@ -183,7 +183,17 @@ impl Checker { +@@ -159,7 +159,17 @@ impl Checker { for entry in t!(dir.read_dir()).map(|e| t!(e)) { let path = entry.path(); // Goes through symlinks @@ -36,7 +36,7 @@ index 7842611..4ccccf1 100644 if metadata.is_dir() { self.walk(&path, report); } else { -@@ -196,7 +206,15 @@ impl Checker { +@@ -172,7 +182,15 @@ impl Checker { fn check(&mut self, file: &Path, report: &mut Report) { let (pretty_path, entry) = self.load_file(file, report); let source = match entry { @@ -53,7 +53,7 @@ index 7842611..4ccccf1 100644 FileEntry::Dir => unreachable!("never with `check` path"), FileEntry::OtherFile => return, FileEntry::Redirect { .. } => return, -@@ -262,6 +280,12 @@ impl Checker { +@@ -238,6 +256,12 @@ impl Checker { let (target_pretty_path, target_entry) = self.load_file(&path, report); let (target_source, target_ids) = match target_entry { FileEntry::Missing => { diff --git a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch b/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch index 4d793cb81..9446070f0 100644 --- a/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch +++ b/debian/patches/d-0003-cc-psm-rebuild-wasm32.patch @@ -8,10 +8,10 @@ Subject: d-0003-cc-psm-rebuild-wasm32 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs -index e3a2b98..9312931 100644 +index a89e353..ccf99d2 100644 --- a/vendor/cc/src/lib.rs +++ b/vendor/cc/src/lib.rs -@@ -2238,7 +2238,7 @@ impl Build { +@@ -2341,7 +2341,7 @@ impl Build { || target == "wasm32-unknown-wasi" || target == "wasm32-unknown-unknown" { @@ -21,7 +21,7 @@ index e3a2b98..9312931 100644 if self.cpp { "wr-c++".to_string() diff --git a/vendor/psm/build.rs b/vendor/psm/build.rs -index 01a13bf..30bd68d 100644 +index 9d40212..e39549d 100644 --- a/vendor/psm/build.rs +++ b/vendor/psm/build.rs @@ -50,7 +50,7 @@ fn find_assembly( @@ -30,10 +30,10 @@ index 01a13bf..30bd68d 100644 ("riscv64", _, _, _) => Some(("src/arch/riscv64.s", true)), - ("wasm32", _, _, _) => Some(("src/arch/wasm32.o", true)), + ("wasm32", _, _, _) => Some(("src/arch/wasm32.s", true)), + ("loongarch64", _, _, _) => Some(("src/arch/loongarch64.s", true)), _ => None, } - } -@@ -94,11 +94,8 @@ fn main() { +@@ -97,11 +97,8 @@ fn main() { cfg.define(&*format!("CFG_TARGET_ENV_{}", env), None); } diff --git a/debian/patches/d-0004-clippy-feature-sync.patch b/debian/patches/d-0004-clippy-feature-sync.patch index 64b1c3eed..f92cfd4bd 100644 --- a/debian/patches/d-0004-clippy-feature-sync.patch +++ b/debian/patches/d-0004-clippy-feature-sync.patch @@ -10,7 +10,7 @@ this is what rustc_workspace_hack does in the upstream build. 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml -index 3980db9..fdf1a03 100644 +index 23beb15..ad8231a 100644 --- a/src/tools/clippy/Cargo.toml +++ b/src/tools/clippy/Cargo.toml @@ -43,7 +43,7 @@ if_chain = "1.0" diff --git a/debian/patches/d-0005-no-jemalloc.patch b/debian/patches/d-0005-no-jemalloc.patch index 24ad1c6fd..ac23de8bb 100644 --- a/debian/patches/d-0005-no-jemalloc.patch +++ b/debian/patches/d-0005-no-jemalloc.patch @@ -26,7 +26,7 @@ index 27ee3dd..87fb29f 100644 max_level_info = ['rustc_driver/max_level_info'] rustc_use_parallel_compiler = ['rustc_driver/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 5697aea..ae9bbd5 100644 +index 01d1735..bf0ba06 100644 --- a/src/tools/rust-analyzer/crates/profile/Cargo.toml +++ b/src/tools/rust-analyzer/crates/profile/Cargo.toml @@ -15,7 +15,6 @@ cfg-if = "1.0.0" diff --git a/debian/patches/d-armel-fix-lldb.patch b/debian/patches/d-armel-fix-lldb.patch index 1205dbe86..21072dbb1 100644 --- a/debian/patches/d-armel-fix-lldb.patch +++ b/debian/patches/d-armel-fix-lldb.patch @@ -4,7 +4,7 @@ diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index c0fa8c9acb..2b5559efc7 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs -@@ -1462,7 +1462,11 @@ +@@ -1524,7 +1524,11 @@ .ok(); if let Some(ref vers) = lldb_version { cmd.arg("--lldb-version").arg(vers); diff --git a/debian/patches/d-bootstrap-cargo-check-cfg.patch b/debian/patches/d-bootstrap-cargo-check-cfg.patch index 24bc7499c..cf633ae2b 100644 --- a/debian/patches/d-bootstrap-cargo-check-cfg.patch +++ b/debian/patches/d-bootstrap-cargo-check-cfg.patch @@ -5,7 +5,7 @@ diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 0ab4824ac0a..76c476f449b 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs -@@ -1480,9 +1480,9 @@ +@@ -1241,9 +1241,9 @@ // complete list of features, so for that reason we don't enable checking of // features for std crates. cargo.arg(if mode != Mode::Std { diff --git a/debian/patches/d-bootstrap-cargo-doc-paths.patch b/debian/patches/d-bootstrap-cargo-doc-paths.patch index c3b2e8b72..235c93a50 100644 --- a/debian/patches/d-bootstrap-cargo-doc-paths.patch +++ b/debian/patches/d-bootstrap-cargo-doc-paths.patch @@ -228,7 +228,7 @@ diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs index a22dc5f..c8d521a 100644 --- a/src/tools/linkchecker/main.rs +++ b/src/tools/linkchecker/main.rs -@@ -285,6 +285,12 @@ impl Checker { +@@ -262,6 +262,12 @@ return; } } diff --git a/debian/patches/d-bootstrap-custom-debuginfo-path.patch b/debian/patches/d-bootstrap-custom-debuginfo-path.patch index 6333e8a58..955b1e905 100644 --- a/debian/patches/d-bootstrap-custom-debuginfo-path.patch +++ b/debian/patches/d-bootstrap-custom-debuginfo-path.patch @@ -10,7 +10,7 @@ Subject: d-bootstrap-custom-debuginfo-path --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -1040,10 +1040,9 @@ +@@ -1053,10 +1053,9 @@ match which { GitRepo::Rustc => { diff --git a/debian/patches/d-bootstrap-disable-git.patch b/debian/patches/d-bootstrap-disable-git.patch index ddbe186e6..3e744b599 100644 --- a/debian/patches/d-bootstrap-disable-git.patch +++ b/debian/patches/d-bootstrap-disable-git.patch @@ -12,7 +12,7 @@ Forwarded: not-needed --- a/src/bootstrap/channel.rs +++ b/src/bootstrap/channel.rs -@@ -33,6 +33,12 @@ +@@ -36,6 +36,12 @@ impl GitInfo { pub fn new(ignore_git: bool, dir: &Path) -> GitInfo { @@ -27,15 +27,15 @@ Forwarded: not-needed match read_commit_info_file(dir) { --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs -@@ -925,7 +925,10 @@ +@@ -968,7 +968,10 @@ } // If we're building from git sources, we need to vendor a complete distribution. -- if builder.rust_info.is_managed_git_subrepository() { +- if builder.rust_info().is_managed_git_subrepository() { + // + // Debian: short-circuited because the Debian package is also in a git + // repository, but cargo-vendor should not be installed or run. -+ if false && builder.rust_info.is_managed_git_subrepository() { ++ if false && builder.rust_info().is_managed_git_subrepository() { // Ensure we have the submodules checked out. builder.update_submodule(Path::new("src/tools/rust-analyzer")); diff --git a/debian/patches/d-bootstrap-old-cargo-compat.patch b/debian/patches/d-bootstrap-old-cargo-compat.patch index 1caa3675a..463e70369 100644 --- a/debian/patches/d-bootstrap-old-cargo-compat.patch +++ b/debian/patches/d-bootstrap-old-cargo-compat.patch @@ -17,15 +17,15 @@ Subject: Backwards-compat for cargo 0.47 --- a/src/bootstrap/doc.rs +++ b/src/bootstrap/doc.rs -@@ -618,7 +618,6 @@ - cargo +@@ -598,7 +598,6 @@ + .arg(&*target_dir.to_string_lossy()) .arg("-p") .arg(package) - .arg("-Zskip-rustdoc-fingerprint") .arg("--") .arg("-Z") .arg("unstable-options") -@@ -715,7 +714,6 @@ +@@ -695,7 +694,6 @@ cargo.rustdocflag("--generate-link-to-definition"); compile::rustc_cargo(builder, &mut cargo, target); cargo.arg("-Zunstable-options"); @@ -33,7 +33,7 @@ Subject: Backwards-compat for cargo 0.47 // Only include compiler crates, no dependencies of those, such as `libc`. // Do link to dependencies on `docs.rs` however using `rustdoc-map`. -@@ -837,7 +835,6 @@ +@@ -811,7 +809,6 @@ &[], ); diff --git a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch index 2eed7043a..4ccec3cd8 100644 --- a/debian/patches/d-bootstrap-permit-symlink-in-docs.patch +++ b/debian/patches/d-bootstrap-permit-symlink-in-docs.patch @@ -2,7 +2,7 @@ partial revert of b9eedea4b0368fd1f00f204db75109ff444fab5b upstream --- a/src/bootstrap/dist.rs +++ b/src/bootstrap/dist.rs -@@ -72,6 +72,7 @@ +@@ -77,6 +77,7 @@ tarball.set_product_name("Rust Documentation"); tarball.add_bulk_dir(&builder.doc_out(host), dest); tarball.add_file(&builder.src.join("src/doc/robots.txt"), dest, 0o644); diff --git a/debian/patches/d-bootstrap-read-beta-version-from-file.patch b/debian/patches/d-bootstrap-read-beta-version-from-file.patch index 9738aa740..15ebb93c8 100644 --- a/debian/patches/d-bootstrap-read-beta-version-from-file.patch +++ b/debian/patches/d-bootstrap-read-beta-version-from-file.patch @@ -9,7 +9,7 @@ Subject: d-bootstrap-read-beta-version-from-file --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs -@@ -1283,14 +1283,15 @@ +@@ -1296,14 +1296,15 @@ return s; } diff --git a/debian/patches/d-bootstrap-rustflags.patch b/debian/patches/d-bootstrap-rustflags.patch index 33b3d1e34..f73c6ba2b 100644 --- a/debian/patches/d-bootstrap-rustflags.patch +++ b/debian/patches/d-bootstrap-rustflags.patch @@ -9,7 +9,7 @@ Subject: d-bootstrap-rustflags --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs -@@ -1507,6 +1507,18 @@ +@@ -1268,6 +1268,18 @@ } } diff --git a/debian/patches/d-bootstrap-use-local-css.patch b/debian/patches/d-bootstrap-use-local-css.patch index 894bd03c7..72595d9d3 100644 --- a/debian/patches/d-bootstrap-use-local-css.patch +++ b/debian/patches/d-bootstrap-use-local-css.patch @@ -9,18 +9,36 @@ Subject: d-bootstrap-use-local-css --- a/src/bootstrap/doc.rs +++ b/src/bootstrap/doc.rs -@@ -365,6 +365,10 @@ +@@ -350,7 +350,27 @@ + .arg("--index-page") .arg(&builder.src.join("src/doc/index.md")) .arg("--markdown-playground-url") - .arg("https://play.rust-lang.org/") -+ .arg("--markdown-css") -+ .arg(format!("rustdoc{}.css", &builder.version)) -+ .arg("--markdown-css") +- .arg("https://play.rust-lang.org/") ++ .arg("https://play.rust-lang.org/"); ++ ++ // Debian: librustdoc now generates a resource-suffix for static ++ // files with rustc_hash::FxHasher, so we need to find it. ++ let _dir = out.join("static.files"); ++ if _dir.is_dir() { ++ let _css = _dir.read_dir().expect("Debian: failed to read static.files/ when is_dir() == true") ++ .find_map(|entry| entry.ok().map(|entry| { ++ let name = entry.file_name().into_string() ++ .expect("Debian: rustc files should have UTF-8 name"); ++ if name.starts_with("rustdoc-") && name.ends_with(".css") { ++ Some(name) ++ } else { None } ++ })).flatten(); ++ if let Some(name) = _css { ++ cmd.arg("--markdown-css").arg(name); ++ } ++ } ++ ++ cmd.arg("--markdown-css") + .arg("rust.css") .arg("-o") .arg(&out) .arg(&path); -@@ -373,11 +377,6 @@ +@@ -359,11 +379,6 @@ cmd.arg("--disable-minification"); } diff --git a/debian/patches/d-fix-rustix-outline.patch b/debian/patches/d-fix-rustix-outline.patch index 1800de9e3..91b8530de 100644 --- a/debian/patches/d-fix-rustix-outline.patch +++ b/debian/patches/d-fix-rustix-outline.patch @@ -3,11 +3,9 @@ Always enable cc even if the feature is not enabled. Some Debian architectures need outline asm, and Debian does not ship pre-built outline asm. -Index: rust/vendor/rustix/Cargo.toml -=================================================================== ---- rust.orig/vendor/rustix/Cargo.toml -+++ rust/vendor/rustix/Cargo.toml -@@ -103,9 +103,9 @@ version = "0.6" +--- a/vendor/rustix/Cargo.toml ++++ b/vendor/rustix/Cargo.toml +@@ -115,9 +115,9 @@ [dev-dependencies.tempfile] version = "3.2.0" @@ -19,18 +17,16 @@ Index: rust/vendor/rustix/Cargo.toml [features] all-apis = [ -@@ -168,6 +168,7 @@ use-libc = [ - "libc_errno", - "libc", +@@ -230,6 +230,7 @@ + "Win32_NetworkManagement_IpHelper", + "Win32_System_Threading", ] +cc = [] - [target."cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))".dependencies.linux-raw-sys] - version = "0.0.46" -Index: rust/vendor/rustix/build.rs -=================================================================== ---- rust.orig/vendor/rustix/build.rs -+++ rust/vendor/rustix/build.rs + [target."cfg(windows)".dev-dependencies.ctor] + version = "0.1.21" +--- a/vendor/rustix/build.rs ++++ b/vendor/rustix/build.rs @@ -1,5 +1,4 @@ -#[cfg(feature = "cc")] -use cc::Build; @@ -38,7 +34,7 @@ Index: rust/vendor/rustix/build.rs use std::env::var; use std::io::Write; -@@ -113,16 +112,16 @@ fn link_in_librustix_outline(arch: &str, +@@ -118,16 +117,16 @@ println!("cargo:rerun-if-changed={}", to); // If "cc" is not enabled, use a pre-built library. diff --git a/debian/patches/d-rustc-add-soname.patch b/debian/patches/d-rustc-add-soname.patch index 277f431d2..cae59b5bc 100644 --- a/debian/patches/d-rustc-add-soname.patch +++ b/debian/patches/d-rustc-add-soname.patch @@ -26,7 +26,7 @@ using a GNU linker). --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs -@@ -2280,6 +2280,13 @@ +@@ -2241,6 +2241,13 @@ } add_rpath_args(cmd, sess, codegen_results, out_filename); diff --git a/debian/patches/d-rustc-fix-mips64el-bootstrap.patch b/debian/patches/d-rustc-fix-mips64el-bootstrap.patch index 17ce2e563..2c09c60c9 100644 --- a/debian/patches/d-rustc-fix-mips64el-bootstrap.patch +++ b/debian/patches/d-rustc-fix-mips64el-bootstrap.patch @@ -40,7 +40,7 @@ index e0d5f6f..57ad8c4 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py -@@ -745,6 +745,8 @@ +@@ -746,6 +746,8 @@ # preserve existing RUSTFLAGS env.setdefault("RUSTFLAGS", "") diff --git a/debian/patches/d-rustdoc-disable-embedded-fonts.patch b/debian/patches/d-rustdoc-disable-embedded-fonts.patch index 49337108c..5ec7bacb6 100644 --- a/debian/patches/d-rustdoc-disable-embedded-fonts.patch +++ b/debian/patches/d-rustdoc-disable-embedded-fonts.patch @@ -9,21 +9,6 @@ Subject: d-rustdoc-disable-embedded-fonts src/librustdoc/html/static_files.rs | 23 ----------------------- 3 files changed, 33 deletions(-) -diff --git a/src/librustdoc/html/render/write_shared.rs b/src/librustdoc/html/render/write_shared.rs -index 68f2a54..86f7487 100644 ---- a/src/librustdoc/html/render/write_shared.rs -+++ b/src/librustdoc/html/render/write_shared.rs -@@ -33,8 +33,6 @@ static FILES_UNVERSIONED: Lazy<FxHashMap - "SourceCodePro-Semibold.ttf.woff2" => static_files::source_code_pro::SEMIBOLD, - "SourceCodePro-It.ttf.woff2" => static_files::source_code_pro::ITALIC, - "SourceCodePro-LICENSE.txt" => static_files::source_code_pro::LICENSE, -- "NanumBarunGothic.ttf.woff2" => static_files::nanum_barun_gothic::REGULAR, -- "NanumBarunGothic-LICENSE.txt" => static_files::nanum_barun_gothic::LICENSE, - "LICENSE-MIT.txt" => static_files::LICENSE_MIT, - "LICENSE-APACHE.txt" => static_files::LICENSE_APACHE, - "COPYRIGHT.txt" => static_files::COPYRIGHT, -diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css -index 0f4d842..9aec0d6 100644 --- a/src/librustdoc/html/static/css/rustdoc.css +++ b/src/librustdoc/html/static/css/rustdoc.css @@ -67,14 +67,6 @@ @@ -33,7 +18,7 @@ index 0f4d842..9aec0d6 100644 -/* Avoid using legacy CJK serif fonts in Windows like Batang. */ -@font-face { - font-family: 'NanumBarunGothic'; -- src: url("NanumBarunGothic.ttf.woff2") format("woff2"); +- src: url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2"); - font-display: swap; - unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF; -} @@ -41,37 +26,14 @@ index 0f4d842..9aec0d6 100644 * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -diff --git a/src/librustdoc/html/static_files.rs b/src/librustdoc/html/static_files.rs -index bec5c08..1f6ccf2 100644 --- a/src/librustdoc/html/static_files.rs +++ b/src/librustdoc/html/static_files.rs -@@ -138,29 +138,6 @@ crate mod source_code_pro { - pub(crate) static LICENSE: &[u8] = include_bytes!("static/fonts/SourceCodePro-LICENSE.txt"); +@@ -126,8 +126,6 @@ + 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", +- nanum_barun_gothic_regular => "static/fonts/NanumBarunGothic.ttf.woff2", +- nanum_barun_gothic_license => "static/fonts/NanumBarunGothic-LICENSE.txt", } --/// Files related to the Nanum Barun Gothic font. --/// --/// These files are used to avoid some legacy CJK serif fonts in Windows. --/// --/// Note that the Noto Sans KR font, which was used previously but was not very readable on Windows, --/// has been replaced by the Nanum Barun Gothic font. This is due to Windows' implementation of font --/// rendering that distorts OpenType fonts too much. --/// --/// The font files were generated with these commands: --/// --/// ```sh --/// pyftsubset NanumBarunGothic.ttf \ --/// --unicodes=U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF \ --/// --output-file=NanumBarunGothic.ttf.woff2 --flavor=woff2 --/// ``` --pub(crate) mod nanum_barun_gothic { -- /// The file `NanumBarunGothic.ttf.woff2`, the Regular variant of the Nanum Barun Gothic font. -- pub(crate) static REGULAR: &[u8] = include_bytes!("static/fonts/NanumBarunGothic.ttf.woff2"); -- -- /// The file `NanumBarunGothic-LICENSE.txt`, the license text of the Nanum Barun Gothic font. -- pub(crate) static LICENSE: &[u8] = include_bytes!("static/fonts/NanumBarunGothic-LICENSE.txt"); --} -- - /// Files related to the sidebar in rustdoc sources. - pub(crate) mod sidebar { - /// File script to handle sidebar. + pub(crate) static SCRAPE_EXAMPLES_HELP_MD: &str = include_str!("static/scrape-examples-help.md"); diff --git a/debian/patches/series b/debian/patches/series index d3d42890b..c848c82e1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,8 +4,8 @@ u-ignore-reproducible-failure.patch u-reproducible-build.patch u-ignore-endian-big-diff.patch -u-make-compiletest-work-without-rpath.patch u-fix-get-toml-when-test.patch +u-fix-sysroot-detection-logic.patch # can be dropped once upstream updates rustix u-fix-rustix-for-sparc64.patch diff --git a/debian/patches/u-fix-get-toml-when-test.patch b/debian/patches/u-fix-get-toml-when-test.patch index 229bd1432..a9dd0fee0 100644 --- a/debian/patches/u-fix-get-toml-when-test.patch +++ b/debian/patches/u-fix-get-toml-when-test.patch @@ -8,7 +8,7 @@ Last-Update: 2023-03-29 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs -@@ -896,9 +896,9 @@ +@@ -907,9 +907,9 @@ config.stage0_metadata = t!(serde_json::from_slice::<Stage0Metadata>(&stage0_json)); diff --git a/debian/patches/u-fix-rustix-for-sparc64.patch b/debian/patches/u-fix-rustix-for-sparc64.patch index 88995cd5b..d0c636e3b 100644 --- a/debian/patches/u-fix-rustix-for-sparc64.patch +++ b/debian/patches/u-fix-rustix-for-sparc64.patch @@ -1,203 +1,103 @@ ---- rustc-1.64.0+dfsg1.orig/vendor/rustix/src/imp/libc/process/types.rs -+++ rustc-1.64.0+dfsg1/vendor/rustix/src/imp/libc/process/types.rs -@@ -199,7 +199,12 @@ pub enum Signal { - target_os = "openbsd", - all( - any(target_os = "android", target_os = "linux"), -- any(target_arch = "mips", target_arch = "mips64"), -+ any( -+ target_arch = "mips", -+ target_arch = "mips64", -+ target_arch = "sparc", -+ target_arch = "sparc64" -+ ), - ) - )))] - Stkflt = c::SIGSTKFLT, -@@ -276,7 +281,12 @@ impl Signal { - target_os = "openbsd", - all( - any(target_os = "android", target_os = "linux"), -- any(target_arch = "mips", target_arch = "mips64"), -+ any( -+ target_arch = "mips", -+ target_arch = "mips64", -+ target_arch = "sparc", -+ target_arch = "sparc64" -+ ), - ) - )))] - c::SIGSTKFLT => Some(Self::Stkflt), ---- rustc-1.64.0+dfsg1.orig/vendor/rustix/src/imp/libc/termios/types.rs -+++ rustc-1.64.0+dfsg1/vendor/rustix/src/imp/libc/termios/types.rs -@@ -704,6 +704,8 @@ pub const B2000000: Speed = c::B2000000; - - /// `B2500000` - #[cfg(not(any( -+ target_arch = "sparc", -+ target_arch = "sparc64", - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", -@@ -715,6 +717,8 @@ pub const B2500000: Speed = c::B2500000; - - /// `B3000000` - #[cfg(not(any( -+ target_arch = "sparc", -+ target_arch = "sparc64", - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", -@@ -726,6 +730,8 @@ pub const B3000000: Speed = c::B3000000; - - /// `B3500000` - #[cfg(not(any( -+ target_arch = "sparc", -+ target_arch = "sparc64", - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", -@@ -737,6 +743,8 @@ pub const B3500000: Speed = c::B3500000; - - /// `B4000000` - #[cfg(not(any( -+ target_arch = "sparc", -+ target_arch = "sparc64", - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", ---- rustc-1.64.0+dfsg1.orig/vendor/rustix/src/imp/linux_raw/termios/types.rs -+++ rustc-1.64.0+dfsg1/vendor/rustix/src/imp/linux_raw/termios/types.rs -@@ -338,15 +338,19 @@ pub const B1500000: Speed = linux_raw_sy - pub const B2000000: Speed = linux_raw_sys::general::B2000000; - - /// `B2500000` -+#[cfg(not(any(target_arch = "sparc", target_arch = "sparc64",)))] - pub const B2500000: Speed = linux_raw_sys::general::B2500000; - - /// `B3000000` -+#[cfg(not(any(target_arch = "sparc", target_arch = "sparc64",)))] - pub const B3000000: Speed = linux_raw_sys::general::B3000000; - - /// `B3500000` -+#[cfg(not(any(target_arch = "sparc", target_arch = "sparc64",)))] - pub const B3500000: Speed = linux_raw_sys::general::B3500000; - - /// `B4000000` -+#[cfg(not(any(target_arch = "sparc", target_arch = "sparc64",)))] - pub const B4000000: Speed = linux_raw_sys::general::B4000000; - - /// `CSIZE` ---- rustc-1.64.0+dfsg1.orig/vendor/rustix/src/termios/constants.rs -+++ rustc-1.64.0+dfsg1/vendor/rustix/src/termios/constants.rs -@@ -45,6 +45,8 @@ pub use imp::termios::types::B2000000; +--- a/vendor/rustix/src/termios/constants.rs ++++ b/vendor/rustix/src/termios/constants.rs +@@ -33,6 +33,8 @@ )))] - pub use imp::termios::types::B2500000; + pub use backend::termios::types::B1500000; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", -@@ -54,6 +56,8 @@ pub use imp::termios::types::B2500000; + target_os = "haiku", +@@ -96,6 +98,8 @@ )))] - pub use imp::termios::types::B3000000; + pub use backend::termios::types::B4000000; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", - target_os = "freebsd", + target_os = "haiku", target_os = "ios", -@@ -63,6 +67,8 @@ pub use imp::termios::types::B3000000; +@@ -104,6 +108,8 @@ )))] - pub use imp::termios::types::B3500000; + pub use backend::termios::types::B460800; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", -@@ -74,6 +80,8 @@ pub use imp::termios::types::B4000000; - #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "openbsd")))] - pub use imp::termios::types::B460800; + target_os = "haiku", +@@ -116,6 +122,8 @@ + )))] + pub use backend::termios::types::B500000; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "illumos", -@@ -688,6 +696,8 @@ pub fn speed_value(speed: imp::termios:: + target_os = "haiku", +@@ -732,6 +740,8 @@ )))] - imp::termios::types::B2500000 => Some(2_500_000), + backend::termios::types::B500000 => Some(500_000), #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", -@@ -697,6 +707,8 @@ pub fn speed_value(speed: imp::termios:: + target_os = "haiku", +@@ -744,6 +754,8 @@ )))] - imp::termios::types::B3000000 => Some(3_000_000), + backend::termios::types::B576000 => Some(576_000), #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", - target_os = "freebsd", + target_os = "haiku", target_os = "ios", -@@ -706,6 +718,8 @@ pub fn speed_value(speed: imp::termios:: +@@ -752,6 +764,8 @@ )))] - imp::termios::types::B3500000 => Some(3_500_000), + backend::termios::types::B921600 => Some(921_600), #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", ---- rustc-1.64.0+dfsg1.orig/vendor/rustix/src/termios/mod.rs -+++ rustc-1.64.0+dfsg1/vendor/rustix/src/termios/mod.rs -@@ -44,6 +44,8 @@ pub use constants::B1500000; + target_os = "haiku", +--- a/vendor/rustix/src/termios/mod.rs ++++ b/vendor/rustix/src/termios/mod.rs +@@ -41,6 +41,8 @@ )))] - pub use constants::B2000000; + pub use constants::B1500000; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", -@@ -53,6 +55,8 @@ pub use constants::B2000000; + target_os = "haiku", +@@ -104,6 +106,8 @@ )))] - pub use constants::B2500000; + pub use constants::B4000000; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", - target_os = "freebsd", + target_os = "haiku", target_os = "ios", -@@ -62,6 +66,8 @@ pub use constants::B2500000; +@@ -112,6 +116,8 @@ )))] - pub use constants::B3000000; + pub use constants::B460800; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", -@@ -71,6 +77,8 @@ pub use constants::B3000000; + target_os = "haiku", +@@ -124,6 +130,8 @@ )))] - pub use constants::B3500000; + pub use constants::B500000; #[cfg(not(any( + target_arch = "sparc", + target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", - target_os = "ios", ---- rustc-1.64.0+dfsg1.orig/vendor/rustix/tests/time/y2038.rs -+++ rustc-1.64.0+dfsg1/vendor/rustix/tests/time/y2038.rs -@@ -14,6 +14,7 @@ - #[cfg(not(all(target_env = "musl", target_pointer_width = "32")))] - #[cfg(not(all(target_os = "android", target_pointer_width = "32")))] - #[cfg(not(all(target_os = "emscripten", target_pointer_width = "32")))] -+#[cfg(not(all(target_os = "linux", target_arch = "sparc")))] - #[test] - fn test_y2038() { - use rustix::time::{Secs, Timespec}; + target_os = "haiku", diff --git a/debian/patches/u-fix-sysroot-detection-logic.patch b/debian/patches/u-fix-sysroot-detection-logic.patch new file mode 100644 index 000000000..3bb0797ba --- /dev/null +++ b/debian/patches/u-fix-sysroot-detection-logic.patch @@ -0,0 +1,44 @@ +Description: Fix sysroot detection which would result in /usr/lib/lib/rustlib + This patch is a mixture of two upstream fix attempts. The first from + https://github.com/rust-lang/rust/pull/108376 didn't actually solve the + problem in Debian's case. After reporting that in $Bug, a second attempt is + made at https://github.com/rust-lang/rust/pull/110281, which worked. +Bug: https://github.com/rust-lang/rust/issues/109994 +--- a/compiler/rustc_session/src/filesearch.rs ++++ b/compiler/rustc_session/src/filesearch.rs +@@ -180,18 +180,29 @@ + ))?; + + // if `dir` points target's dir, move up to the sysroot +- if dir.ends_with(crate::config::host_triple()) { ++ let mut sysroot_dir = if dir.ends_with(crate::config::host_triple()) { + dir.parent() // chop off `$target` + .and_then(|p| p.parent()) // chop off `rustlib` + .and_then(|p| p.parent()) // chop off `lib` + .map(|s| s.to_owned()) +- .ok_or(format!( +- "Could not move 3 levels upper using `parent()` on {}", +- dir.display() +- )) ++ .ok_or_else(|| { ++ format!("Could not move 3 levels upper using `parent()` on {}", dir.display()) ++ })? + } else { +- Ok(dir.to_owned()) ++ dir.to_owned() ++ }; ++ ++ // On multiarch linux systems, there will be multiarch directory named ++ // with the architecture(e.g `x86_64-linux-gnu`) under the `lib` directory. ++ // Which cause us to mistakenly end up in the lib directory instead of the sysroot directory. ++ if sysroot_dir.ends_with("lib") { ++ sysroot_dir = ++ sysroot_dir.parent().map(|real_sysroot| real_sysroot.to_owned()).ok_or_else( ++ || format!("Could not move to parent path of {}", sysroot_dir.display()), ++ )? + } ++ ++ Ok(sysroot_dir) + } + + // Use env::args().next() to get the path of the executable without diff --git a/debian/patches/u-ignore-endian-big-diff.patch b/debian/patches/u-ignore-endian-big-diff.patch index 21e2de1e9..aec8c5255 100644 --- a/debian/patches/u-ignore-endian-big-diff.patch +++ b/debian/patches/u-ignore-endian-big-diff.patch @@ -33,7 +33,7 @@ Bug: https://github.com/rust-lang/rust/issues/89577 @@ -1,3 +1,4 @@ +// ignore-test // stderr-per-bitwidth - #![feature(rustc_attrs)] + #![feature(rustc_attrs, ptr_metadata)] #![allow(invalid_value)] // make sure we cannot allow away the errors tested here --- a/src/test/ui/consts/const-eval/ub-ref-ptr.rs +++ b/src/test/ui/consts/const-eval/ub-ref-ptr.rs diff --git a/debian/patches/u-make-compiletest-work-without-rpath.patch b/debian/patches/u-make-compiletest-work-without-rpath.patch deleted file mode 100644 index 7e852a586..000000000 --- a/debian/patches/u-make-compiletest-work-without-rpath.patch +++ /dev/null @@ -1,185 +0,0 @@ -From f8a0cc2ca8a644ddb63867526711ba17cb7508c8 Mon Sep 17 00:00:00 2001 -From: Josh Stone <jistone@redhat.com> -Date: Fri, 14 Oct 2022 16:11:28 -0700 -Subject: [PATCH] compiletest: set the dylib path when gathering target cfg -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If the compiler is built with `rpath = false`, then it won't find its -own libraries unless the library search path is set. We already do that -while running the actual compiletests, but #100260 added another rustc -command for getting the target cfg. - - Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) - thread 'main' panicked at 'error: failed to get cfg info from "[...]/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" - --- stdout - - --- stderr - [...]/build/x86_64-unknown-linux-gnu/stage1/bin/rustc: error while loading shared libraries: librustc_driver-a2a76dc626cd02d2.so: cannot open shared object file: No such file or directory - ', src/tools/compiletest/src/common.rs:476:13 - -Now the library path is set here as well, so it works without rpath. - -FG: Context adapted - -Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> ---- - src/tools/compiletest/src/common.rs | 18 +++++++++++------- - src/tools/compiletest/src/runtest.rs | 27 +++------------------------ - src/tools/compiletest/src/util.rs | 23 +++++++++++++++++++++++ - 3 files changed, 37 insertions(+), 31 deletions(-) - -diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs -index 64df76e2772..98a35810cfd 100644 ---- a/src/tools/compiletest/src/common.rs -+++ b/src/tools/compiletest/src/common.rs -@@ -2,11 +2,12 @@ pub use self::Mode::*; - - use std::ffi::OsString; - use std::fmt; -+use std::iter; - use std::path::{Path, PathBuf}; - use std::process::Command; - use std::str::FromStr; - --use crate::util::PathBufExt; -+use crate::util::{add_dylib_path, PathBufExt}; - use lazycell::LazyCell; - use test::ColorConfig; - -@@ -386,7 +387,7 @@ - - fn target_cfg(&self) -> &TargetCfg { - self.target_cfg -- .borrow_with(|| TargetCfg::new(&self.rustc_path, &self.target, &self.target_rustcflags)) -+ .borrow_with(|| TargetCfg::new(self)) - } - - pub fn matches_arch(&self, arch: &str) -> bool { -@@ -457,21 +458,22 @@ - } - - impl TargetCfg { -- fn new(rustc_path: &Path, target: &str, target_rustcflags: &Vec<String>) -> TargetCfg { -- let output = match Command::new(rustc_path) -+ fn new(config: &Config) -> TargetCfg { -+ let mut command = Command::new(&config.rustc_path); -+ add_dylib_path(&mut command, iter::once(&config.compile_lib_path)); -+ let output = match command - .arg("--print=cfg") - .arg("--target") -- .arg(target) -- .args(target_rustcflags) -+ .arg(&config.target) - .output() - { - Ok(output) => output, -- Err(e) => panic!("error: failed to get cfg info from {:?}: {e}", rustc_path), -+ Err(e) => panic!("error: failed to get cfg info from {:?}: {e}", config.rustc_path), - }; - if !output.status.success() { - panic!( - "error: failed to get cfg info from {:?}\n--- stdout\n{}\n--- stderr\n{}", -- rustc_path, -+ config.rustc_path, - String::from_utf8(output.stdout).unwrap(), - String::from_utf8(output.stderr).unwrap(), - ); -diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs -index 8f289876f73..eb467170249 100644 ---- a/src/tools/compiletest/src/runtest.rs -+++ b/src/tools/compiletest/src/runtest.rs -@@ -13,7 +13,7 @@ use crate::errors::{self, Error, ErrorKind}; - use crate::header::TestProps; - use crate::json; - use crate::read2::read2_abbreviated; --use crate::util::{logv, PathBufExt}; -+use crate::util::{add_dylib_path, dylib_env_var, logv, PathBufExt}; - use crate::ColorConfig; - use regex::{Captures, Regex}; - use rustfix::{apply_suggestions, get_suggestions_from_json, Filter}; -@@ -26,6 +26,7 @@ use std::fs::{self, create_dir_all, File, OpenOptions}; - use std::hash::{Hash, Hasher}; - use std::io::prelude::*; - use std::io::{self, BufReader}; -+use std::iter; - use std::path::{Path, PathBuf}; - use std::process::{Child, Command, ExitStatus, Output, Stdio}; - use std::str; -@@ -72,19 +73,6 @@ fn disable_error_reporting<F: FnOnce() -> R, R>(f: F) -> R { - f() - } - --/// The name of the environment variable that holds dynamic library locations. --pub fn dylib_env_var() -> &'static str { -- if cfg!(windows) { -- "PATH" -- } else if cfg!(target_os = "macos") { -- "DYLD_LIBRARY_PATH" -- } else if cfg!(target_os = "haiku") { -- "LIBRARY_PATH" -- } else { -- "LD_LIBRARY_PATH" -- } --} -- - /// The platform-specific library name - pub fn get_lib_name(lib: &str, dylib: bool) -> String { - // In some casess (e.g. MUSL), we build a static -@@ -1811,16 +1799,7 @@ - - // Need to be sure to put both the lib_path and the aux path in the dylib - // search path for the child. -- let mut path = -- env::split_paths(&env::var_os(dylib_env_var()).unwrap_or_default()).collect::<Vec<_>>(); -- if let Some(p) = aux_path { -- path.insert(0, PathBuf::from(p)) -- } -- path.insert(0, PathBuf::from(lib_path)); -- -- // Add the new dylib search path var -- let newpath = env::join_paths(&path).unwrap(); -- command.env(dylib_env_var(), newpath); -+ add_dylib_path(&mut command, iter::once(lib_path).chain(aux_path)); - - let mut child = disable_error_reporting(|| command.spawn()) - .unwrap_or_else(|_| panic!("failed to exec `{:?}`", &command)); -diff --git a/src/tools/compiletest/src/util.rs b/src/tools/compiletest/src/util.rs -index 9d047b63c85..4b73be0fbb9 100644 ---- a/src/tools/compiletest/src/util.rs -+++ b/src/tools/compiletest/src/util.rs -@@ -2,6 +2,7 @@ use crate::common::Config; - use std::env; - use std::ffi::OsStr; - use std::path::PathBuf; -+use std::process::Command; - - use tracing::*; - -@@ -111,3 +112,25 @@ - } - } - } -+ -+/// The name of the environment variable that holds dynamic library locations. -+pub fn dylib_env_var() -> &'static str { -+ if cfg!(windows) { -+ "PATH" -+ } else if cfg!(target_os = "macos") { -+ "DYLD_LIBRARY_PATH" -+ } else if cfg!(target_os = "haiku") { -+ "LIBRARY_PATH" -+ } else { -+ "LD_LIBRARY_PATH" -+ } -+} -+ -+/// Adds a list of lookup paths to `cmd`'s dynamic library lookup path. -+/// If the dylib_path_var is already set for this cmd, the old value will be overwritten! -+pub fn add_dylib_path(cmd: &mut Command, paths: impl Iterator<Item = impl Into<PathBuf>>) { -+ let path_env = env::var_os(dylib_env_var()); -+ let old_paths = path_env.as_ref().map(env::split_paths); -+ let new_paths = paths.map(Into::into).chain(old_paths.into_iter().flatten()); -+ cmd.env(dylib_env_var(), env::join_paths(new_paths).unwrap()); -+} diff --git a/debian/patches/u-rustc-llvm-cross-flags.patch b/debian/patches/u-rustc-llvm-cross-flags.patch index 0e544db8e..6ee382aba 100644 --- a/debian/patches/u-rustc-llvm-cross-flags.patch +++ b/debian/patches/u-rustc-llvm-cross-flags.patch @@ -11,7 +11,7 @@ diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs index b8f67ee..e9b1d0a 100644 --- a/compiler/rustc_llvm/build.rs +++ b/compiler/rustc_llvm/build.rs -@@ -301,7 +301,7 @@ fn main() { +@@ -304,7 +304,7 @@ if let Some(stripped) = lib.strip_prefix("-LIBPATH:") { println!("cargo:rustc-link-search=native={}", stripped.replace(&host, &target)); } else if let Some(stripped) = lib.strip_prefix("-L") { diff --git a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch index 4acfdcb2f..7cb501e76 100644 --- a/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch +++ b/debian/patches/ubuntu-disable-ppc64el-asm-tests.patch @@ -16,7 +16,7 @@ /// unsafe { asm!("", options(noreturn)); } --- a/compiler/rustc_lint/src/builtin.rs +++ b/compiler/rustc_lint/src/builtin.rs -@@ -3130,7 +3130,10 @@ +@@ -3238,7 +3238,10 @@ /// ### Example /// /// ```rust,compile_fail diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides index 003835cd6..462037bf0 100644 --- a/debian/source/lintian-overrides +++ b/debian/source/lintian-overrides @@ -3,6 +3,8 @@ rustc source: source-is-missing [library/stdarch/crates/stdarch-verify/arm-intri # Test data rustc source: source-is-missing [src/tools/rust-analyzer/crates/ide/src/syntax_highlighting/test_data/*.html] rustc source: source-is-missing [src/test/rustdoc/decl-trailing-whitespace.declaration.html] +rustc source: source-is-missing [src/test/rustdoc/doc-notable_trait*.html] +rustc source: source-is-missing [src/test/rustdoc/spotlight*.html] rustc source: source-is-missing [vendor/html5ever/data/bench/*.html] rustc source: source-is-missing [vendor/minifier/tests/files/minified_main.js] rustc source: source-contains-prebuilt-windows-binary [vendor/libloading/tests/nagisa32.dll] diff --git a/debian/upstream-tarball-unsuspicious.txt b/debian/upstream-tarball-unsuspicious.txt index 18d254093..c31475a87 100644 --- a/debian/upstream-tarball-unsuspicious.txt +++ b/debian/upstream-tarball-unsuspicious.txt @@ -10,10 +10,8 @@ src/doc/reference/src/crates-and-source-files.md src/doc/reference/src/items/extern-crates.md src/doc/reference/src/items/modules.md src/doc/reference/src/types-redirect.html -src/tools/clippy/src/docs/alloc_instead_of_core.txt -src/tools/clippy/src/docs/only_used_in_recursion.txt -vendor/chalk-solve-0.80.0/src/infer/test.rs -vendor/getrandom-0.1.14/src/wasm32_stdweb.rs +vendor/chalk-solve/src/infer/test.rs +vendor/getrandom-0.1.16/src/wasm32_stdweb.rs vendor/itertools*/examples/iris.data vendor/minifier/src/js/tools.rs vendor/regex/tests/suffix_reverse.rs @@ -58,7 +56,7 @@ src/etc/third-party/README.txt src/librustdoc/html/highlight/fixtures/sample.html src/librustdoc/html/static/scrape-examples-help.md src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out*.html -src/tools/clippy/src/docs/trailing_empty_array.txt +src/test/rustdoc-gui/src/huge_logo/src/lib.rs src/tools/rust-analyzer/crates/rust-analyzer/src/diagnostics/to_proto.rs src/tools/rust-analyzer/crates/ide-completion/src/completions/env_vars.rs src/tools/rust-analyzer/docs/user/manual.adoc @@ -85,21 +83,22 @@ vendor/mdbook/CONTRIBUTING.md vendor/miniz_oxide/Readme.md vendor/pulldown-cmark/tests/suite/footnotes.rs vendor/rustc-demangle/src/legacy.rs +vendor/spdx-expression/LICENSES/MIT.txt +vendor/spdx-rs/LICENSE.txt +vendor/spdx-rs/LICENSES/MIT.txt +vendor/spdx-rs/src/models/*.rs vendor/stable_deref_trait/src/lib.rs vendor/tinyvec/LICENSE-*.md vendor/tracing-subscriber-*/src/fmt/format/json.rs vendor/unicase/src/lib.rs vendor/unicode-normalization/src/stream_safe.rs vendor/winapi/src/lib.rs -vendor/windows-sys-0.*/src/Windows/Win32/*.rs -vendor/windows-sys-0.*/src/Windows/Win32/*/*.rs -vendor/windows-sys-0.*/src/Windows/Win32/*/*/*.rs -vendor/windows-sys-0.*/src/Windows/Win32/*/*/*/*.rs vendor/windows-sys/readme.md vendor/windows-sys/src/Windows/Win32/*.rs vendor/windows-sys/src/Windows/Win32/*/*.rs vendor/windows-sys/src/Windows/Win32/*/*/*.rs vendor/windows-sys/src/Windows/Win32/*/*/*/*.rs +vendor/zerovec/src/map2d/map.rs # False-positive, audit-vendor-source automatically flags JS/C files # The below ones are OK since they're actually part of rust's own source code @@ -127,9 +126,8 @@ vendor/dlmalloc/src/dlmalloc.c vendor/mdbook/src/theme/book.js vendor/mdbook/src/theme/searcher/searcher.js vendor/windows_*_gnu/lib/libwindows.a +vendor/windows_*_gnullvm/lib/libwindows.a vendor/windows_*_msvc/lib/windows.lib -vendor/windows_*_gnu-0.*/lib/libwindows.a -vendor/windows_*_msvc-0.*/lib/windows.lib # Trivial glue code for C <-> Rust library/backtrace/src/android-api.c @@ -144,6 +142,8 @@ src/stage0.json src/test/run-make-fulldeps/target-specs/*.json src/tools/clippy/.remarkrc vendor/elasticlunr-rs/src/lang/*.rs +vendor/icu_locid/tests/fixtures/*.json +vendor/icu_locid/benches/fixtures/*.json # False-positive, hand-editable small image src/doc/book/2018-edition/src/img/*.png @@ -196,9 +196,7 @@ src/test/*/*/*.stdout src/test/*/*/*/*.stderr src/test/*/*/*/*.stdout src/test/*/*/*/*/*.stderr -src/test/*/*/issue-*.rs src/test/*/*/issues/*.rs -src/test/*/issues/*.rs src/test/debuginfo/type-names.cdb.js src/test/mir-opt/*.diff src/test/mir-opt/*.mir @@ -224,7 +222,7 @@ src/tools/rustfmt/tests/target/issue-5088/very_long_comment_wrap_comments_false. src/tools/rustfmt/tests/writemode/target/*.json src/tools/rustfmt/tests/writemode/target/*.xml vendor/annotate-snippets/tests/fixtures/no-color/strip_line_non_ws.toml -vendor/bstr/src/unicode/data/*Test.txt +vendor/bstr-0.*/src/unicode/data/*Test.txt vendor/cargo_metadata*/tests/test_samples.rs vendor/diff/tests/data/gitignores.chars.diff vendor/dissimilar/benches/*.txt @@ -233,14 +231,16 @@ vendor/elasticlunr-rs/tests/searchindex_fixture_*.json vendor/flate2/tests/*.gz vendor/flate2/tests/corrupt-gz-file.bin vendor/fluent-syntax/benches/parser.rs -vendor/gimli-0*/fixtures/self/* vendor/gimli/fixtures/self/* vendor/gsgdt/tests/*.json vendor/handlebars/tests/helper_with_space.rs vendor/html5ever/data/bench/*.html +vendor/icu_provider_adapters/tests/data/langtest/*/manifest.json +vendor/icu_provider_adapters/tests/data/langtest/*/core/*/*.json vendor/idna/tests/IdnaTest*.txt vendor/idna/tests/punycode_tests.json vendor/libloading/tests/*.dll +vendor/litemap/benches/testdata/*.postcard vendor/lsp-types/tests/tsc-unix.lsif vendor/md-5/tests/data/*.blb vendor/mdbook/test_book/src/individual/paragraph.md @@ -253,11 +253,12 @@ vendor/minifier/tests/files/test.json vendor/minimal-lexical/tests/parse_tests.rs vendor/minimal-lexical/tests/slow_tests.rs vendor/petgraph/tests/res/*.txt -vendor/regex-automata/data/fowler-tests/basic.dat -vendor/regex-automata/data/tests/fowler/basic.dat vendor/regex/src/testdata/basic.dat vendor/regex/tests/crates_regex.rs vendor/regex/tests/fowler.rs +vendor/regex-automata-0.*/data/fowler-tests/basic.dat +vendor/regex-automata-0.*/data/tests/fowler/basic.dat +vendor/regex-automata/tests/data/fowler/dat/basic.dat vendor/rustc-demangle/src/lib.rs vendor/rustc-demangle/src/v0-large-test-symbols/early-recursion-limit vendor/serde_json/tests/lexical/parse.rs @@ -268,6 +269,7 @@ vendor/unicode-ident/tests/fst/*.fst vendor/unicode-segmentation/src/testdata.rs vendor/url/tests/*.json vendor/walkdir/compare/nftw.c +vendor/zerovec/benches/testdata/*.postcard # Compromise, ideally we'd autogenerate these # Should already by documented in debian/copyright @@ -289,7 +291,7 @@ vendor/wasi/src/lib_generated.rs src/librustdoc/html/static/fonts/*.woff2 # Compromise, ideally we'd autogenerate these -vendor/bstr/src/unicode/fsm/*.dfa +vendor/bstr-0.*/src/unicode/fsm/*.dfa # file brokenness (detected as Algol source code) compiler/rustc_apfloat/src/lib.rs @@ -303,7 +305,6 @@ src/test/run-make-fulldeps/symbol-visibility/Makefile src/test/ui/proc-macro/auxiliary/*.rs 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/clippy/src/docs/from_str_radix_10.txt 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/rustfmt/src/formatting.rs @@ -320,28 +321,23 @@ vendor/datafrog/src/lib.rs vendor/digest/src/core_api/rt_variable.rs vendor/digest/src/core_api/wrapper.rs vendor/digest/src/dev.rs +vendor/displaydoc/src/expand.rs +vendor/derive_more/src/*.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/futures-macro/src/lib.rs vendor/futures-macro/src/select.rs -vendor/gimli-0.25.0/src/read/aranges.rs -vendor/gimli-0.25.0/src/read/line.rs -vendor/gimli-0.25.0/src/read/loclists.rs -vendor/gimli-0.25.0/src/read/lookup.rs -vendor/gimli-0.25.0/src/read/rnglists.rs -vendor/gimli-0.25.0/src/read/unit.rs vendor/gimli/src/read/aranges.rs vendor/gimli/src/read/line.rs vendor/gimli/src/read/loclists.rs vendor/gimli/src/read/lookup.rs vendor/gimli/src/read/rnglists.rs vendor/gimli/src/read/unit.rs +vendor/icu_locid/tests/langid.rs +vendor/icu_locid/tests/locale.rs vendor/indoc/src/lib.rs vendor/libm/src/math/atan.rs -vendor/miniz_oxide-0.4.0/src/deflate/mod.rs -vendor/miniz_oxide-0.4.0/src/inflate/mod.rs vendor/miniz_oxide/src/deflate/mod.rs vendor/miniz_oxide/src/inflate/mod.rs vendor/nom/src/bits/complete.rs @@ -377,7 +373,7 @@ vendor/pulldown-cmark/benches/html_rendering.rs vendor/pulldown-cmark/src/linklabel.rs vendor/pulldown-cmark/tests/lib.rs vendor/rayon/tests/sort-panic-safe.rs -vendor/regex-automata/src/regex.rs +vendor/regex-automata-0.*/src/regex.rs vendor/rustc-rayon/tests/sort-panic-safe.rs vendor/rustversion/src/attr.rs vendor/rustversion/src/lib.rs @@ -405,3 +401,4 @@ vendor/utf-8/benches/from_utf8_lossy.rs vendor/utf-8/tests/unit.rs vendor/xz2/src/bufread.rs vendor/xz2/src/stream.rs +vendor/yansi/src/tests.rs |