diff options
author | Ionen Wolkens <ionen@gentoo.org> | 2023-07-20 14:05:04 -0400 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2023-07-20 14:47:06 -0400 |
commit | 3c8e799b98fd60aa8eac5ecde295d97bb067a8cc (patch) | |
tree | 9eee9270344968bc85571f0a47b42e0e9aff4d4d /dev-lang/rust | |
parent | app-crypt/mit-krb5: add 1.21.1, drop 1.21 (diff) | |
download | gentoo-3c8e799b98fd60aa8eac5ecde295d97bb067a8cc.tar.gz gentoo-3c8e799b98fd60aa8eac5ecde295d97bb067a8cc.tar.bz2 gentoo-3c8e799b98fd60aa8eac5ecde295d97bb067a8cc.zip |
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@gentoo.org>
Diffstat (limited to 'dev-lang/rust')
-rw-r--r-- | dev-lang/rust/files/1.71.0-lint-docs-libpath.patch | 39 | ||||
-rw-r--r-- | dev-lang/rust/rust-1.71.0.ebuild | 1 |
2 files changed, 40 insertions, 0 deletions
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 <github@jyn.dev> +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 |