mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-23 21:31:03 +02:00
It is not clear why this was forked originally. One reason was to avoid the sys-apps/lsb-release dependency, but it probably wasn't just that. It seems likely that the upstream package did not support cross targets at the time. Now it does. It appears that LTO was previously enabled by us following Gentoo rather than through an explicit decision. They now disable it by default, so we do likewise. It previously used "fat" LTO, which makes Rust especially slow to build and reportedly made rustc slower than with "thin" LTO! There seems little benefit in using thin LTO given that we rebuild Rust almost as much as the packages that use it, plus we don't enable LTO anywhere else. We still avoid rustdoc to keep the size down using INSTALL_MASK. This isn't as good as not building it in the first place, but this alone isn't worth keeping a fork. Cross targets are now handled via the admittedly experimental RUST_CROSS_TARGETS support. This has been in place for a while, and I think it is fairly widely used now. If it does disappear, it would almost certainly be for something even better. This also updates Rust from 1.80.0 to 1.80.1. Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
40 lines
1.9 KiB
Diff
40 lines
1.9 KiB
Diff
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 {
|