mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 08:56:58 +02:00
dev-lang/rust: adjust ebuilds for Rust 1.67.1
Adjust ebuilds to be able to build with Rust 1.67.1. Sync minor changes with upstream Gentoo as well.
This commit is contained in:
parent
84b695a0a2
commit
51ed887e3a
@ -1,38 +0,0 @@
|
|||||||
From 675fa0b3dd5fe14b43ad5b7862f4528df7322468 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michael Goulet <michael@errs.io>
|
|
||||||
Date: Mon, 12 Dec 2022 18:29:33 +0000
|
|
||||||
Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=20fix=20unsoundness=20in=20bootstr?=
|
|
||||||
=?UTF-8?q?ap=20cache=20code?=
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
---
|
|
||||||
src/bootstrap/cache.rs | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/bootstrap/cache.rs b/src/bootstrap/cache.rs
|
|
||||||
index be5c9bb078808..05f25af68ea8f 100644
|
|
||||||
--- a/src/bootstrap/cache.rs
|
|
||||||
+++ b/src/bootstrap/cache.rs
|
|
||||||
@@ -89,16 +89,16 @@ impl<T: Internable + Hash> Hash for Interned<T> {
|
|
||||||
|
|
||||||
impl<T: Internable + Deref> Deref for Interned<T> {
|
|
||||||
type Target = T::Target;
|
|
||||||
- fn deref(&self) -> &'static Self::Target {
|
|
||||||
+ fn deref(&self) -> &Self::Target {
|
|
||||||
let l = T::intern_cache().lock().unwrap();
|
|
||||||
- unsafe { mem::transmute::<&Self::Target, &'static Self::Target>(l.get(*self)) }
|
|
||||||
+ unsafe { mem::transmute::<&Self::Target, &Self::Target>(l.get(*self)) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<T: Internable + AsRef<U>, U: ?Sized> AsRef<U> for Interned<T> {
|
|
||||||
- fn as_ref(&self) -> &'static U {
|
|
||||||
+ fn as_ref(&self) -> &U {
|
|
||||||
let l = T::intern_cache().lock().unwrap();
|
|
||||||
- unsafe { mem::transmute::<&U, &'static U>(l.get(*self).as_ref()) }
|
|
||||||
+ unsafe { mem::transmute::<&U, &U>(l.get(*self).as_ref()) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
34
sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.67.0-doc-wasm.patch
vendored
Normal file
34
sdk_container/src/third_party/coreos-overlay/dev-lang/rust/files/1.67.0-doc-wasm.patch
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Millikin <john@john-millikin.com>
|
||||||
|
Date: Mon, 9 Jan 2023 13:54:21 +0900
|
||||||
|
Subject: [PATCH] Disable `linux_ext` in wasm32 and fortanix rustdoc builds.
|
||||||
|
|
||||||
|
The `std::os::unix` module is stubbed out when building docs for these
|
||||||
|
target platforms. The introduction of Linux-specific extension traits
|
||||||
|
caused `std::os::net` to depend on sub-modules of `std::os::unix`,
|
||||||
|
which broke rustdoc for the `wasm32-unknown-unknown` target.
|
||||||
|
|
||||||
|
Adding an additional `#[cfg]` guard solves that rustdoc failure by
|
||||||
|
not declaring `linux_ext` on targets with a stubbed `std::os::unix`.
|
||||||
|
---
|
||||||
|
library/std/src/os/net/mod.rs | 9 +++++++++
|
||||||
|
1 file changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/library/std/src/os/net/mod.rs b/library/std/src/os/net/mod.rs
|
||||||
|
index 5ec267c41e97c..b7046dd7c598c 100644
|
||||||
|
--- a/library/std/src/os/net/mod.rs
|
||||||
|
+++ b/library/std/src/os/net/mod.rs
|
||||||
|
@@ -1,4 +1,13 @@
|
||||||
|
//! OS-specific networking functionality.
|
||||||
|
|
||||||
|
+// See cfg macros in `library/std/src/os/mod.rs` for why these platforms must
|
||||||
|
+// be special-cased during rustdoc generation.
|
||||||
|
+#[cfg(not(all(
|
||||||
|
+ doc,
|
||||||
|
+ any(
|
||||||
|
+ all(target_arch = "wasm32", not(target_os = "wasi")),
|
||||||
|
+ all(target_vendor = "fortanix", target_env = "sgx")
|
||||||
|
+ )
|
||||||
|
+)))]
|
||||||
|
#[cfg(any(target_os = "linux", target_os = "android", doc))]
|
||||||
|
pub(super) mod linux_ext;
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{8..11} )
|
PYTHON_COMPAT=( python3_{9..11} )
|
||||||
|
|
||||||
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
|
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \
|
||||||
multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
|
multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig
|
||||||
@ -40,9 +40,9 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
|
|||||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
|
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?}
|
||||||
|
|
||||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||||
|
|
||||||
IUSE="clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind miri nightly parallel-compiler profiler rls rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
IUSE="clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
||||||
|
|
||||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||||
# we need to *really* make sure we're not pulling more than one slot
|
# we need to *really* make sure we're not pulling more than one slot
|
||||||
@ -126,7 +126,6 @@ RDEPEND="${DEPEND}
|
|||||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||||
miri? ( nightly )
|
miri? ( nightly )
|
||||||
parallel-compiler? ( nightly )
|
parallel-compiler? ( nightly )
|
||||||
rls? ( rust-src )
|
|
||||||
test? ( ${ALL_LLVM_TARGETS[*]} )
|
test? ( ${ALL_LLVM_TARGETS[*]} )
|
||||||
wasm? ( llvm_targets_WebAssembly )
|
wasm? ( llvm_targets_WebAssembly )
|
||||||
x86? ( cpu_flags_x86_sse2 )
|
x86? ( cpu_flags_x86_sse2 )
|
||||||
@ -166,7 +165,7 @@ VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
|
|||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/1.65.0-ignore-broken-and-non-applicable-tests.patch
|
"${FILESDIR}"/1.65.0-ignore-broken-and-non-applicable-tests.patch
|
||||||
"${FILESDIR}"/1.62.1-musl-dynamic-linking.patch
|
"${FILESDIR}"/1.62.1-musl-dynamic-linking.patch
|
||||||
"${FILESDIR}"/1.67.0-bootstrap.patch
|
"${FILESDIR}"/1.67.0-doc-wasm.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}-src"
|
S="${WORKDIR}/${MY_P}-src"
|
||||||
@ -207,7 +206,6 @@ pre_build_checks() {
|
|||||||
fi
|
fi
|
||||||
M=$(( $(usex clippy 128 0) + ${M} ))
|
M=$(( $(usex clippy 128 0) + ${M} ))
|
||||||
M=$(( $(usex miri 128 0) + ${M} ))
|
M=$(( $(usex miri 128 0) + ${M} ))
|
||||||
M=$(( $(usex rls 512 0) + ${M} ))
|
|
||||||
M=$(( $(usex rustfmt 256 0) + ${M} ))
|
M=$(( $(usex rustfmt 256 0) + ${M} ))
|
||||||
# add 2G if we compile llvm and 256M per llvm_target
|
# add 2G if we compile llvm and 256M per llvm_target
|
||||||
if ! use system-llvm; then
|
if ! use system-llvm; then
|
||||||
@ -324,9 +322,8 @@ src_configure() {
|
|||||||
use clippy && tools+=',"clippy"'
|
use clippy && tools+=',"clippy"'
|
||||||
use miri && tools+=',"miri"'
|
use miri && tools+=',"miri"'
|
||||||
use profiler && tools+=',"rust-demangler"'
|
use profiler && tools+=',"rust-demangler"'
|
||||||
use rls && tools+=',"rls","analysis"'
|
|
||||||
use rustfmt && tools+=',"rustfmt"'
|
use rustfmt && tools+=',"rustfmt"'
|
||||||
use rust-analyzer && tools+=',"rust-analyzer"'
|
use rust-analyzer && tools+=',"rust-analyzer","analysis"'
|
||||||
use rust-src && tools+=',"src"'
|
use rust-src && tools+=',"src"'
|
||||||
|
|
||||||
local rust_stage0_root
|
local rust_stage0_root
|
||||||
@ -675,7 +672,6 @@ src_install() {
|
|||||||
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||||
use miri && symlinks+=( miri cargo-miri )
|
use miri && symlinks+=( miri cargo-miri )
|
||||||
use profiler && symlinks+=( rust-demangler )
|
use profiler && symlinks+=( rust-demangler )
|
||||||
use rls && symlinks+=( rls )
|
|
||||||
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||||
use rust-analyzer && symlinks+=( rust-analyzer )
|
use rust-analyzer && symlinks+=( rust-analyzer )
|
||||||
|
|
||||||
@ -736,9 +732,6 @@ src_install() {
|
|||||||
if use profiler; then
|
if use profiler; then
|
||||||
echo /usr/bin/rust-demangler >> "${T}/provider-${P}"
|
echo /usr/bin/rust-demangler >> "${T}/provider-${P}"
|
||||||
fi
|
fi
|
||||||
if use rls; then
|
|
||||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
|
||||||
fi
|
|
||||||
if use rustfmt; then
|
if use rustfmt; then
|
||||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||||
|
Loading…
Reference in New Issue
Block a user