summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-07-20 14:05:04 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-07-20 14:47:06 -0400
commit3c8e799b98fd60aa8eac5ecde295d97bb067a8cc (patch)
tree9eee9270344968bc85571f0a47b42e0e9aff4d4d /dev-lang
parentapp-crypt/mit-krb5: add 1.21.1, drop 1.21 (diff)
downloadgentoo-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')
-rw-r--r--dev-lang/rust/files/1.71.0-lint-docs-libpath.patch39
-rw-r--r--dev-lang/rust/rust-1.71.0.ebuild1
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