From 2b69812fbee9a8cdd3b1a98f09aede3871e9517e Mon Sep 17 00:00:00 2001 From: tranzystorekk Date: Sun, 1 Dec 2024 16:20:51 +0100 Subject: [PATCH] Revert "rust: update to 1.83.0" This reverts commit f273963f5fd8d2b936f5430a52e60b3a30a38bc6. --- ...dlib-and-musl_root-from-musl-targets.patch | 64 +++++++++---------- ...kage-of-musl-libc-for-the-libc-crate.patch | 50 +++++++-------- ...e-ELFv2-ABI-on-all-powerpc64-targets.patch | 6 +- srcpkgs/rust/template | 11 ++-- 4 files changed, 65 insertions(+), 66 deletions(-) diff --git a/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch index 3758e8a8b7c..cfde28620ba 100644 --- a/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch +++ b/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch @@ -6,14 +6,14 @@ Subject: [PATCH 02/15] Remove -nostdlib and musl_root from musl targets extended by various void contributors to match our musl setup diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs -index e020bb8523..7b0cc7b556 100644 +index 42aa1e1a6..c7d0433bb 100644 --- a/compiler/rustc_target/src/spec/base/linux_musl.rs +++ b/compiler/rustc_target/src/spec/base/linux_musl.rs @@ -1,15 +1,9 @@ --use crate::spec::{LinkSelfContainedDefault, TargetOptions, base, crt_objects}; +-use crate::spec::{base, crt_objects, LinkSelfContainedDefault, TargetOptions}; +use crate::spec::{base, TargetOptions}; - pub(crate) fn opts() -> TargetOptions { + pub fn opts() -> TargetOptions { let mut base = base::linux::opts(); base.env = "musl".into(); @@ -27,7 +27,7 @@ index e020bb8523..7b0cc7b556 100644 base } diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs -index e3b6430a46..13a96e2cb7 100644 +index e3b6430a4..13a96e2cb 100644 --- a/compiler/rustc_target/src/spec/crt_objects.rs +++ b/compiler/rustc_target/src/spec/crt_objects.rs @@ -62,28 +62,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects { @@ -60,10 +60,10 @@ index e3b6430a46..13a96e2cb7 100644 new(&[ (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]), diff --git a/config.example.toml b/config.example.toml -index 4b591b949b..a157b6f1c9 100644 +index f1dc32234..462a86f5b 100644 --- a/config.example.toml +++ b/config.example.toml -@@ -615,14 +615,6 @@ +@@ -599,14 +599,6 @@ # behavior -- this may lead to miscompilations or other bugs. #description = "" @@ -79,10 +79,10 @@ index 4b591b949b..a157b6f1c9 100644 # platforms to ensure that the compiler is usable by default from the build # directory (as it links to a number of dynamic libraries). This may not be diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py -index a555a26367..f5db75bc71 100755 +index 768aac912..6aebd9189 100755 --- a/src/bootstrap/configure.py +++ b/src/bootstrap/configure.py -@@ -100,34 +100,6 @@ v("llvm-config", None, "set path to llvm-config") +@@ -99,34 +99,6 @@ v("llvm-config", None, "set path to llvm-config") v("llvm-filecheck", None, "set path to LLVM's FileCheck utility") v("python", "build.python", "set path to python") v("android-ndk", "build.android-ndk", "set path to Android NDK") @@ -118,10 +118,10 @@ index a555a26367..f5db75bc71 100755 "riscv32gc-unknown-linux-musl install directory") v("musl-root-riscv64gc", "target.riscv64gc-unknown-linux-musl.musl-root", diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs -index 27bbc8bd8f..8b95c4a1fc 100644 +index edf18e2eb..7597d6cd2 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs -@@ -368,39 +368,7 @@ fn copy_self_contained_objects( +@@ -372,39 +372,7 @@ fn copy_self_contained_objects( let mut target_deps = vec![]; // Copies the libc and CRT objects. @@ -162,7 +162,7 @@ index 27bbc8bd8f..8b95c4a1fc 100644 let srcdir = builder.wasi_libdir(target).unwrap_or_else(|| { panic!( "Target {:?} does not have a \"wasi-root\" key in Config.toml \ -@@ -562,15 +530,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car +@@ -566,15 +534,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car .arg("--manifest-path") .arg(builder.src.join("library/sysroot/Cargo.toml")); @@ -179,10 +179,10 @@ index 27bbc8bd8f..8b95c4a1fc 100644 if let Some(dir) = builder.wasi_libdir(target) { let root = format!("native={}", dir.to_str().unwrap()); diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs -index f768470c4f..a9a77e8e3c 100644 +index bdfee55d8..18db92320 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs -@@ -326,7 +326,6 @@ pub struct Config { +@@ -321,7 +321,6 @@ pub struct Config { pub print_step_rusage: bool, // Fallback musl-root for all targets @@ -190,7 +190,7 @@ index f768470c4f..a9a77e8e3c 100644 pub prefix: Option, pub sysconfdir: Option, pub datadir: Option, -@@ -597,8 +596,6 @@ pub struct Target { +@@ -582,8 +581,6 @@ pub struct Target { pub profiler: Option, pub rpath: Option, pub crt_static: Option, @@ -199,7 +199,7 @@ index f768470c4f..a9a77e8e3c 100644 pub wasi_root: Option, pub qemu_rootfs: Option, pub runner: Option, -@@ -1122,7 +1119,6 @@ define_config! { +@@ -1104,7 +1101,6 @@ define_config! { default_linker: Option = "default-linker", channel: Option = "channel", description: Option = "description", @@ -207,7 +207,7 @@ index f768470c4f..a9a77e8e3c 100644 rpath: Option = "rpath", strip: Option = "strip", frame_pointers: Option = "frame-pointers", -@@ -1177,8 +1173,6 @@ define_config! { +@@ -1158,8 +1154,6 @@ define_config! { profiler: Option = "profiler", rpath: Option = "rpath", crt_static: Option = "crt-static", @@ -216,7 +216,7 @@ index f768470c4f..a9a77e8e3c 100644 wasi_root: Option = "wasi-root", qemu_rootfs: Option = "qemu-rootfs", no_std: Option = "no-std", -@@ -1678,7 +1672,6 @@ impl Config { +@@ -1632,7 +1626,6 @@ impl Config { default_linker, channel, description, @@ -224,15 +224,15 @@ index f768470c4f..a9a77e8e3c 100644 rpath, verbose_tests, optimize_tests, -@@ -1762,7 +1755,6 @@ impl Config { - config.llvm_enzyme = - llvm_enzyme.unwrap_or(config.channel == "dev" || config.channel == "nightly"); +@@ -1722,7 +1715,6 @@ impl Config { + config.rustc_parallel = + parallel_compiler.unwrap_or(config.channel == "dev" || config.channel == "nightly"); config.rustc_default_linker = default_linker; - config.musl_root = musl_root.map(PathBuf::from); config.save_toolstates = save_toolstates.map(PathBuf::from); - set(&mut config.deny_warnings, match flags.warnings { - Warnings::Deny => Some(true), -@@ -1999,8 +1991,6 @@ impl Config { + set( + &mut config.deny_warnings, +@@ -1973,8 +1965,6 @@ impl Config { target.ranlib = cfg.ranlib.map(PathBuf::from); target.linker = cfg.linker.map(PathBuf::from); target.crt_static = cfg.crt_static; @@ -241,8 +241,8 @@ index f768470c4f..a9a77e8e3c 100644 target.wasi_root = cfg.wasi_root.map(PathBuf::from); target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from); target.runner = cfg.runner; -@@ -3088,7 +3078,6 @@ fn check_incompatible_options_for_ci_rustc( - debuginfo_level_tests: _, +@@ -2919,7 +2909,6 @@ fn check_incompatible_options_for_ci_rustc( + split_debuginfo: _, backtrace: _, parallel_compiler: _, - musl_root: _, @@ -250,7 +250,7 @@ index f768470c4f..a9a77e8e3c 100644 optimize_tests: _, codegen_tests: _, diff --git a/src/bootstrap/src/core/sanity.rs b/src/bootstrap/src/core/sanity.rs -index 6fbdd76ed5..486670f776 100644 +index 60ec57d0d..31b411259 100644 --- a/src/bootstrap/src/core/sanity.rs +++ b/src/bootstrap/src/core/sanity.rs @@ -11,7 +11,7 @@ @@ -260,9 +260,9 @@ index 6fbdd76ed5..486670f776 100644 -use std::{env, fs}; +use std::env; - use crate::Build; #[cfg(not(feature = "bootstrap-self-test"))] -@@ -330,28 +330,6 @@ than building it. + use crate::builder::Builder; +@@ -325,28 +325,6 @@ than building it. continue; } @@ -292,10 +292,10 @@ index 6fbdd76ed5..486670f776 100644 // There are three builds of cmake on windows: MSVC, MinGW, and // Cygwin. The Cygwin build does not have generators for Visual diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs -index ecb219ea33..9255dd481c 100644 +index 82b640f54..d906d2186 100644 --- a/src/bootstrap/src/lib.rs +++ b/src/bootstrap/src/lib.rs -@@ -1308,25 +1308,6 @@ Executed at: {executed_at}"#, +@@ -1282,25 +1282,6 @@ Executed at: {executed_at}"#, } } @@ -322,10 +322,10 @@ index ecb219ea33..9255dd481c 100644 /// configured. /// diff --git a/src/bootstrap/src/utils/cc_detect.rs b/src/bootstrap/src/utils/cc_detect.rs -index 0df0046945..f044b1791e 100644 +index 29e6b74aa..a32fddbac 100644 --- a/src/bootstrap/src/utils/cc_detect.rs +++ b/src/bootstrap/src/utils/cc_detect.rs -@@ -210,30 +210,6 @@ fn default_compiler( +@@ -197,30 +197,6 @@ fn default_compiler( } } diff --git a/srcpkgs/rust/patches/0010-Fix-dynamic-linkage-of-musl-libc-for-the-libc-crate.patch b/srcpkgs/rust/patches/0010-Fix-dynamic-linkage-of-musl-libc-for-the-libc-crate.patch index 9dff238dc06..f4e6962ca55 100644 --- a/srcpkgs/rust/patches/0010-Fix-dynamic-linkage-of-musl-libc-for-the-libc-crate.patch +++ b/srcpkgs/rust/patches/0010-Fix-dynamic-linkage-of-musl-libc-for-the-libc-crate.patch @@ -3,31 +3,31 @@ From: q66 Date: Sun, 3 May 2020 18:02:03 +0200 Subject: [PATCH 10/15] Fix dynamic linkage of musl libc for the libc crate -diff --git a/vendor/libc-0.2.159/src/unix/mod.rs b/vendor/libc-0.2.159/src/unix/mod.rs -index 6bab825b04..b1711717a6 100644 ---- a/vendor/libc-0.2.159/src/unix/mod.rs -+++ b/vendor/libc-0.2.159/src/unix/mod.rs -@@ -352,7 +352,14 @@ cfg_if! { - #[link(name = "dl", cfg(not(target_feature = "crt-static")))] - #[link(name = "c", cfg(not(target_feature = "crt-static")))] - extern {} -- } else if #[cfg(any(target_env = "musl", target_env = "ohos"))] { -+ } else if #[cfg(target_env = "musl")] { -+ #[link(name = "c")] -+ extern {} -+ #[cfg_attr(feature = "rustc-dep-of-std", -+ link(name = "gcc", kind = "static", modifiers = "-bundle", -+ cfg(target_feature = "crt-static")))] -+ extern {} -+ } else if #[cfg(target_env = "ohos")] { - #[cfg_attr(feature = "rustc-dep-of-std", - link(name = "c", kind = "static", modifiers = "-bundle", - cfg(target_feature = "crt-static")))] -diff --git a/vendor/libc-0.2.161/src/unix/mod.rs b/vendor/libc-0.2.161/src/unix/mod.rs -index 04baabae8b..893ebf531b 100644 ---- a/vendor/libc-0.2.161/src/unix/mod.rs -+++ b/vendor/libc-0.2.161/src/unix/mod.rs -@@ -374,7 +374,14 @@ cfg_if! { +diff --git a/vendor/libc-0.2.157/src/unix/mod.rs b/vendor/libc-0.2.157/src/unix/mod.rs +index 8b3d988ae..b4ab3db3f 100644 +--- a/vendor/libc-0.2.157/src/unix/mod.rs ++++ b/vendor/libc-0.2.157/src/unix/mod.rs +@@ -347,7 +347,14 @@ cfg_if! { + #[link(name = "dl", cfg(not(target_feature = "crt-static")))] + #[link(name = "c", cfg(not(target_feature = "crt-static")))] + extern {} +- } else if #[cfg(any(target_env = "musl", target_env = "ohos"))] { ++ } else if #[cfg(target_env = "musl")] { ++ #[link(name = "c")] ++ extern {} ++ #[cfg_attr(feature = "rustc-dep-of-std", ++ link(name = "gcc", kind = "static", modifiers = "-bundle", ++ cfg(target_feature = "crt-static")))] ++ extern {} ++ } else if #[cfg(target_env = "ohos")] { + #[cfg_attr(feature = "rustc-dep-of-std", + link(name = "c", kind = "static", modifiers = "-bundle", + cfg(target_feature = "crt-static")))] +diff --git a/vendor/libc-0.2.158/src/unix/mod.rs b/vendor/libc-0.2.158/src/unix/mod.rs +index 8b3d988ae..b4ab3db3f 100644 +--- a/vendor/libc-0.2.158/src/unix/mod.rs ++++ b/vendor/libc-0.2.158/src/unix/mod.rs +@@ -347,7 +347,14 @@ cfg_if! { #[link(name = "dl", cfg(not(target_feature = "crt-static")))] #[link(name = "c", cfg(not(target_feature = "crt-static")))] extern {} diff --git a/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch b/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch index 45dfcb33238..a66bb55ec35 100644 --- a/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch +++ b/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch @@ -9,7 +9,7 @@ binaries), rustc never requests specific ABI from llvm in the first place, so at least match the environment we have. diff --git a/compiler/rustc_target/src/abi/call/powerpc64.rs b/compiler/rustc_target/src/abi/call/powerpc64.rs -index 71e533b8cc..24beb8254c 100644 +index 749eea0ef..1dfa3cbd0 100644 --- a/compiler/rustc_target/src/abi/call/powerpc64.rs +++ b/compiler/rustc_target/src/abi/call/powerpc64.rs @@ -3,7 +3,7 @@ @@ -21,14 +21,12 @@ index 71e533b8cc..24beb8254c 100644 use crate::spec::HasTargetSpec; #[derive(Debug, Clone, Copy, PartialEq)] -@@ -99,16 +99,7 @@ where +@@ -91,14 +91,7 @@ where Ty: TyAbiInterface<'a, C> + Copy, C: HasDataLayout + HasTargetSpec, { - let abi = if cx.target_spec().env == "musl" { - ELFv2 -- } else if cx.target_spec().os == "aix" { -- AIX - } else { - match cx.data_layout().endian { - Endian::Big => ELFv1, diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template index 56f1e7130bf..2ab1bccb33a 100644 --- a/srcpkgs/rust/template +++ b/srcpkgs/rust/template @@ -8,8 +8,9 @@ # uploaded to https://repo-default.voidlinux.org/distfiles/ # pkgname=rust -version=1.83.0 -revision=1 +reverts="1.83.0_1" +version=1.82.0 +revision=3 _llvmver=19 hostmakedepends="curl pkg-config python3 tar cargo-bootstrap" makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm${_llvmver}-devel" @@ -19,7 +20,7 @@ maintainer="Enno Boland " license="Apache-2.0 OR MIT" homepage="https://www.rust-lang.org/" distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz" -checksum=722d773bd4eab2d828d7dd35b59f0b017ddf9a97ee2b46c1b7f7fac5c8841c6e +checksum=7c53f4509eda184e174efa6ba7d5eeb586585686ce8edefc781a2b11a7cf512a lib32disabled=yes make_check=no # CBA for now python_version=3 # needed for python files in rust-src @@ -61,8 +62,8 @@ post_patch() { fi # clear out all the checksum nonsense of patched vendor crates - _clear_vendor_checksums libc-0.2.159 - _clear_vendor_checksums libc-0.2.161 + _clear_vendor_checksums libc-0.2.157 + _clear_vendor_checksums libc-0.2.158 # pre-configure 01-override-config overwrites vendor files _clear_vendor_checksums onig_sys-69.8.1