From 3c8e799b98fd60aa8eac5ecde295d97bb067a8cc Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Thu, 20 Jul 2023 14:05:04 -0400 Subject: dev-lang/rust: backport lint-docs ld path revert for USE=doc Seems trivial enough, there may be follow ups needed for "download-rustc" but we don't use this as far as I can tell. Closes: https://bugs.gentoo.org/910595 Signed-off-by: Ionen Wolkens --- dev-lang/rust/files/1.71.0-lint-docs-libpath.patch | 39 ++++++++++++++++++++++ dev-lang/rust/rust-1.71.0.ebuild | 1 + 2 files changed, 40 insertions(+) create mode 100644 dev-lang/rust/files/1.71.0-lint-docs-libpath.patch (limited to 'dev-lang/rust') diff --git a/dev-lang/rust/files/1.71.0-lint-docs-libpath.patch b/dev-lang/rust/files/1.71.0-lint-docs-libpath.patch new file mode 100644 index 000000000000..27c673835c7b --- /dev/null +++ b/dev-lang/rust/files/1.71.0-lint-docs-libpath.patch @@ -0,0 +1,39 @@ +https://bugs.gentoo.org/910595 +https://github.com/rust-lang/rust/issues/113678 + +https://github.com/rust-lang/rust/commit/67b5990472e3cac643d8cf90f45fe42201ddec3c +From: jyn +Date: Mon, 10 Jul 2023 15:59:30 -0500 +Subject: [PATCH] Revert "Fix `x test lint-docs` when download-rustc is + enabled" + +This was not the correct fix. The problem was two-fold: +- `download-rustc` didn't respect `llvm.assertions` +- `rust-dev` was missing a bump to `download-ci-llvm-stamp` + +The first is fixed in this PR and the latter was fixed a while ago. Revert this change to avoid breaking `rpath = false`. +--- a/src/tools/lint-docs/src/groups.rs ++++ b/src/tools/lint-docs/src/groups.rs +@@ -39,7 +39,6 @@ impl<'a> LintExtractor<'a> { + fn collect_groups(&self) -> Result> { + let mut result = BTreeMap::new(); + let mut cmd = Command::new(self.rustc_path); +- cmd.env_remove("LD_LIBRARY_PATH"); + cmd.arg("-Whelp"); + let output = cmd.output().map_err(|e| format!("failed to run command {:?}\n{}", cmd, e))?; + if !output.status.success() { +--- a/src/tools/lint-docs/src/lib.rs ++++ b/src/tools/lint-docs/src/lib.rs +@@ -403,12 +403,6 @@ impl<'a> LintExtractor<'a> { + fs::write(&tempfile, source) + .map_err(|e| format!("failed to write {}: {}", tempfile.display(), e))?; + let mut cmd = Command::new(self.rustc_path); +- // NOTE: bootstrap sets `LD_LIBRARY_PATH` for building lint-docs itself. +- // Unfortunately, lint-docs is a bootstrap tool while rustc is built from source, +- // and sometimes the paths conflict. In particular, when using `download-rustc`, +- // the LLVM versions can differ between `ci-llvm` and `ci-rustc-sysroot`. +- // Unset LD_LIBRARY_PATH here so it doesn't interfere with running the compiler. +- cmd.env_remove("LD_LIBRARY_PATH"); + if options.contains(&"edition2015") { + cmd.arg("--edition=2015"); + } else { diff --git a/dev-lang/rust/rust-1.71.0.ebuild b/dev-lang/rust/rust-1.71.0.ebuild index 63f051219230..0add3729bd1a 100644 --- a/dev-lang/rust/rust-1.71.0.ebuild +++ b/dev-lang/rust/rust-1.71.0.ebuild @@ -163,6 +163,7 @@ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc PATCHES=( "${FILESDIR}"/1.71.0-fix-bashcomp-installation.patch + "${FILESDIR}"/1.71.0-lint-docs-libpath.patch "${FILESDIR}"/1.70.0-ignore-broken-and-non-applicable-tests.patch "${FILESDIR}"/1.62.1-musl-dynamic-linking.patch "${FILESDIR}"/1.67.0-doc-wasm.patch -- cgit v1.2.3-65-gdbad