commit:     3c8e799b98fd60aa8eac5ecde295d97bb067a8cc
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 20 18:05:04 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 18:47:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c8e799b

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 <ionen <AT> gentoo.org>

 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(+)

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 <[email protected]>
+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<LintGroups, Box<dyn Error>> {
+         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

Reply via email to