Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] Rust 1.54.0
@ 2021-08-17 21:13 ericonr
  2021-08-18  1:18 ` ericonr
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: ericonr @ 2021-08-17 21:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3189 bytes --]

There is a new pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages rust
https://github.com/void-linux/void-packages/pull/32555

[WIP] Rust 1.54.0
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

musl build (at least) is currently broken, accepting help:

```
Rustbook (x86_64-unknown-linux-musl) - unstable-book
Building stage0 std artifacts (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling compiler_builtins v0.1.45
   Compiling core v0.0.0 (/builddir/rustc-1.54.0-src/library/core)
   Compiling libc v0.2.93
   Compiling cc v1.0.68
   Compiling std v0.0.0 (/builddir/rustc-1.54.0-src/library/std)
   Compiling unwind v0.0.0 (/builddir/rustc-1.54.0-src/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/builddir/rustc-1.54.0-src/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/builddir/rustc-1.54.0-src/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling adler v0.2.3
   Compiling rustc-demangle v0.1.18
error: could not find native static library `c`, perhaps an -L flag is missing?

error: aborting due to previous error

error: could not compile `libc`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
command did not execute successfully: "/builddir/rustc-1.54.0-src/stage0-bootstrap/bin/cargo" "build" "--target" "x86_64-unknown-linux-musl" "-Zbinary-dep-depinfo" "-j" "8" "--release" "--locked" "--frozen" "--features" "panic-unwind backtrace" "--manifest-path" "/builddir/rustc-1.54.0-src/library/test/Cargo.toml" "--message-format" "json-render-diagnostics"
expected success, got: exit status: 101
failed to run: /builddir/rustc-1.54.0-src/build/bootstrap/debug/bootstrap dist --jobs 8
Build completed unsuccessfully in 0:02:40
```

A patch file from https://github.com/void-linux/void-packages/pull/32555.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rust-32555.patch --]
[-- Type: text/x-diff, Size: 24577 bytes --]

From cf80b914d8aa548f711d8a8f40a86f15b90ff8d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 17 Aug 2021 18:02:42 -0300
Subject: [PATCH 1/2] rust: update to 1.54.0.

---
 ...ative-libraries-when-linking-static-.patch | 39 ++++-----
 ...dlib-and-musl_root-from-musl-targets.patch | 32 +++----
 ...fer-libgcc_eh-over-libunwind-on-musl.patch | 83 ++++++++++++-------
 srcpkgs/rust/patches/xxx-ppcle-ccrs.patch     | 29 -------
 srcpkgs/rust/patches/xxx-ppcle-gcc.patch      | 25 ------
 srcpkgs/rust/patches/xxx-ppcle.patch          | 60 +-------------
 srcpkgs/rust/template                         |  7 +-
 7 files changed, 86 insertions(+), 189 deletions(-)
 delete mode 100644 srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
 delete mode 100644 srcpkgs/rust/patches/xxx-ppcle-gcc.patch

diff --git a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
index 0fd1ca7d2dfa..88e29d9ebc58 100644
--- a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
+++ b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
@@ -12,28 +12,16 @@ executables.
 
 Fixes #54243
 ---
- src/librustc_codegen_ssa/back/link.rs | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
 diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
-index 8bc4e6442..52ff7a52e 100644
+index 6c9ec9e7b0d..60f43f70e4e 100644
 --- a/compiler/rustc_codegen_ssa/src/back/link.rs
 +++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2081,8 +2081,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
-     }
- }
+@@ -2396,10 +2396,23 @@ fn add_upstream_native_libraries(
  
--/// Link in all of our upstream crates' native dependencies. Remember that all of these upstream
--/// native dependencies are all non-static dependencies. We've got two cases then:
-+/// Link in all of our upstream crates' native dependencies. We have two cases:
- ///
- /// 1. The upstream crate is an rlib. In this case we *must* link in the native dependency because
- /// the rlib is just an archive.
-@@ -2015,7 +2013,19 @@
-                 continue;
-             }
+             let verbatim = lib.verbatim.unwrap_or(false);
              match lib.kind {
--                NativeLibKind::Dylib | NativeLibKind::Unspecified => cmd.link_dylib(name),
+-                NativeLibKind::Dylib { as_needed } => {
+-                    cmd.link_dylib(name, verbatim, as_needed.unwrap_or(true))
 +                NativeLibKind::Dylib | NativeLibKind::Unspecified => {
 +                    // On some targets, like Linux, linking a static executable inhibits using
 +                    // dylibs at all. Force native libraries to be static, even if for example
@@ -42,11 +30,16 @@ index 8bc4e6442..52ff7a52e 100644
 +                        && sess.crt_static(Some(crate_type))
 +                        && !sess.target.options.crt_static_allows_dylibs
 +                    {
-+                        cmd.link_staticlib(name)
++                        cmd.link_staticlib(name, verbatim)
 +                    } else {
-+                        cmd.link_dylib(name)
++                        cmd.link_dylib(name, verbatim,
++                                       match lib.kind {
++                                           NativeLibKind::Dylib => as_needed.unwrap_or(true),
++                                           NativeLibKind::Unspecified => true
++                                       })
 +                    }
-+                },
-                 NativeLibKind::Framework => cmd.link_framework(name),
-                 NativeLibKind::StaticNoBundle => {
-                     // Link "static-nobundle" native libs only if the crate they originate from
+                 }
+-                NativeLibKind::Unspecified => cmd.link_dylib(name, verbatim, true),
+                 NativeLibKind::Framework { as_needed } => {
+                     cmd.link_framework(name, as_needed.unwrap_or(true))
+                 }
diff --git a/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
index 85a8806e010b..112d012e11e5 100644
--- a/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+++ b/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -1,5 +1,5 @@
 diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
-index 2fc9ab29f..276736159 100644
+index 2fc9ab29f92..27673615968 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: &str) -> CrtObjects {
@@ -32,7 +32,7 @@ index 2fc9ab29f..276736159 100644
      new(&[
          (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
 diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/linux_musl_base.rs
-index 5038a967d..b3c0e5bc4 100644
+index 5038a967d0a..b3c0e5bc416 100644
 --- a/compiler/rustc_target/src/spec/linux_musl_base.rs
 +++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
 @@ -1,16 +1,9 @@
@@ -53,10 +53,10 @@ index 5038a967d..b3c0e5bc4 100644
      base
  }
 diff --git a/config.toml.example b/config.toml.example
-index 6e5584797..5be9882a8 100644
+index 7fa5353d09b..98afe3743c0 100644
 --- a/config.toml.example
 +++ b/config.toml.example
-@@ -638,15 +638,6 @@ changelog-seen = 2
+@@ -644,15 +644,6 @@ changelog-seen = 2
  # only use static libraries. If unset, the target's default linkage is used.
  #crt-static = <platform-specific> (bool)
  
@@ -73,7 +73,7 @@ index 6e5584797..5be9882a8 100644
  # `wasm32-wasi` target. If you are building wasm32-wasi target, make sure to
  # create a `[target.wasm32-wasi]` section and move this field there.
 diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index e750c2963..f6ba3032b 100644
+index e750c2963dd..f6ba3032b0d 100644
 --- a/src/bootstrap/cc_detect.rs
 +++ b/src/bootstrap/cc_detect.rs
 @@ -98,7 +98,7 @@ pub fn find(build: &mut Build) {
@@ -130,7 +130,7 @@ index e750c2963..f6ba3032b 100644
      }
  }
 diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index ee3527b6b..0a8b78327 100644
+index 112a6ea9398..4e42bcbbdad 100644
 --- a/src/bootstrap/compile.rs
 +++ b/src/bootstrap/compile.rs
 @@ -179,34 +179,7 @@ fn copy_self_contained_objects(
@@ -169,7 +169,7 @@ index ee3527b6b..0a8b78327 100644
          let srcdir = builder
              .wasi_root(target)
              .unwrap_or_else(|| {
-@@ -288,15 +261,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
+@@ -290,15 +263,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
              .arg("--manifest-path")
              .arg(builder.src.join("library/test/Cargo.toml"));
  
@@ -186,7 +186,7 @@ index ee3527b6b..0a8b78327 100644
              if let Some(p) = builder.wasi_root(target) {
                  let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
 diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 483816b98..7517d757c 100644
+index 483816b98d6..7517d757cc0 100644
 --- a/src/bootstrap/config.rs
 +++ b/src/bootstrap/config.rs
 @@ -165,7 +165,6 @@ pub struct Config {
@@ -223,7 +223,7 @@ index 483816b98..7517d757c 100644
      wasi_root: Option<String>,
      qemu_rootfs: Option<String>,
      no_std: Option<bool>,
-@@ -846,7 +840,6 @@ impl Config {
+@@ -846,7 +840,6 @@ pub fn parse(args: &[String]) -> Config {
              set(&mut config.llvm_tools_enabled, rust.llvm_tools);
              config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
              config.rustc_default_linker = rust.default_linker;
@@ -231,7 +231,7 @@ index 483816b98..7517d757c 100644
              config.save_toolstates = rust.save_toolstates.map(PathBuf::from);
              set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
              set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -892,8 +885,6 @@ impl Config {
+@@ -892,8 +885,6 @@ pub fn parse(args: &[String]) -> Config {
                  target.ranlib = cfg.ranlib.map(PathBuf::from);
                  target.linker = cfg.linker.map(PathBuf::from);
                  target.crt_static = cfg.crt_static;
@@ -241,7 +241,7 @@ index 483816b98..7517d757c 100644
                  target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
                  target.sanitizers = cfg.sanitizers;
 diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 999882a1c..7ccc2b73c 100755
+index 999882a1c04..7ccc2b73c5d 100755
 --- a/src/bootstrap/configure.py
 +++ b/src/bootstrap/configure.py
 @@ -109,34 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
@@ -280,10 +280,10 @@ index 999882a1c..7ccc2b73c 100755
    "rootfs in qemu testing, you probably don't want to use this")
  v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
 diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 24da44b93..c08bc6d94 100644
+index 347236c655a..1285fddb780 100644
 --- a/src/bootstrap/lib.rs
 +++ b/src/bootstrap/lib.rs
-@@ -927,25 +927,6 @@ impl Build {
+@@ -947,25 +947,6 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> {
          }
      }
  
@@ -310,10 +310,10 @@ index 24da44b93..c08bc6d94 100644
      fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
          self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
 diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index ed0cbdf97..44937aed9 100644
+index a28762ac485..bf52ff0ae9a 100644
 --- a/src/bootstrap/sanity.rs
 +++ b/src/bootstrap/sanity.rs
-@@ -182,28 +182,6 @@ pub fn check(build: &mut Build) {
+@@ -183,28 +183,6 @@ pub fn check(build: &mut Build) {
              }
          }
  
@@ -339,6 +339,6 @@ index ed0cbdf97..44937aed9 100644
 -            }
 -        }
 -
-         if target.contains("msvc") {
+         if need_cmake && target.contains("msvc") {
              // There are three builds of cmake on windows: MSVC, MinGW, and
              // Cygwin. The Cygwin build does not have generators for Visual
diff --git a/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch b/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
index 58ffd0776912..f5dd8cbd9132 100644
--- a/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
+++ b/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
@@ -6,27 +6,12 @@ Date: Sat, 9 Sep 2017 00:14:16 -0500
 Subject: [PATCH 06/16] Prefer libgcc_eh over libunwind for musl
 
 ---
- src/libunwind/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
-index 9182e349b19..0377fbb58fc 100644
---- a/library/unwind/src/lib.rs
-+++ b/library/unwind/src/lib.rs
-@@ -23,6 +23,6 @@ cfg_if::cfg_if! {
- }
- 
- #[cfg(target_env = "musl")]
--#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
-+#[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
- extern {}
-diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs
-index f24d957..28828e5 100644
+diff --git a/library/unwind/build.rs b/library/unwind/build.rs
+index 0529d24a274..5ef3e67d47f 100644
 --- a/library/unwind/build.rs
 +++ b/library/unwind/build.rs
-@@ -5,17 +5,12 @@
-     let target = env::var("TARGET").expect("TARGET was not set");
+@@ -10,31 +10,12 @@ fn main() {
+     }
  
      if cfg!(feature = "llvm-libunwind")
 -        && ((target.contains("linux") && !target.contains("musl")) || target.contains("fuchsia"))
@@ -40,24 +25,58 @@ index f24d957..28828e5 100644
 -        // linking for Linux is handled in lib.rs
 -        if target.contains("musl") {
 -            llvm_libunwind::compile();
+-        } else if target.contains("android") {
+-            let build = cc::Build::new();
+-
+-            // Since ndk r23 beta 3 `libgcc` was replaced with `libunwind` thus
+-            // check if we have `libunwind` available and if so use it. Otherwise
+-            // fall back to `libgcc` to support older ndk versions.
+-            let has_unwind =
+-                build.is_flag_supported("-lunwind").expect("Unable to invoke compiler");
+-
+-            if has_unwind {
+-                println!("cargo:rustc-link-lib=unwind");
+-            } else {
+-                println!("cargo:rustc-link-lib=gcc");
+-            }
 -        }
      } else if target.contains("freebsd") {
          println!("cargo:rustc-link-lib=gcc_s");
-     } else if target.contains("rumprun") {
-@@ -143,15 +138,6 @@
-             cfg.file(root.join("src").join(src));
+     } else if target.contains("netbsd") {
+@@ -71,7 +52,6 @@ mod llvm_libunwind {
+     /// Compile the libunwind C/C++ source code.
+     pub fn compile() {
+         let target = env::var("TARGET").expect("TARGET was not set");
+-        let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap();
+         let mut cc_cfg = cc::Build::new();
+         let mut cpp_cfg = cc::Build::new();
+         let root = Path::new("../../src/llvm-project/libunwind");
+@@ -92,15 +72,6 @@ pub fn compile() {
+             cc_cfg.flag("-std=c99");
          }
  
--        if target_env == "musl" {
--            // use the same C compiler command to compile C++ code so we do not need to setup the
--            // C++ compiler env variables on the builders
--            cfg.cpp(false);
--            // linking for musl is handled in lib.rs
--            cfg.cargo_metadata(false);
--            println!("cargo:rustc-link-search=native={}", env::var("OUT_DIR").unwrap());
+-        if target.contains("x86_64-fortanix-unknown-sgx") || target_env == "musl" {
+-            // use the same GCC C compiler command to compile C++ code so we do not need to setup the
+-            // C++ compiler env variables on the builders.
+-            // Don't set this for clang++, as clang++ is able to compile this without libc++.
+-            if cpp_cfg.get_compiler().is_like_gnu() {
+-                cpp_cfg.cpp(false);
+-            }
 -        }
 -
-         cfg.compile("unwind");
+         for cfg in [&mut cc_cfg, &mut cpp_cfg].iter_mut() {
+             cfg.warnings(false);
+             cfg.flag("-fstrict-aliasing");
+diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
+index eaeec72fbb5..4cc721031a3 100644
+--- a/library/unwind/src/lib.rs
++++ b/library/unwind/src/lib.rs
+@@ -48,7 +48,7 @@
+         #[link(name = "unwind", cfg(not(target_feature = "crt-static")))]
+         extern "C" {}
+     } else {
+-        #[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
++        #[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
+         #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
+         extern "C" {}
      }
- }
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch b/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
deleted file mode 100644
index 06f57aaec5cf..000000000000
--- a/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dc1de5be2b7908adb493b36f5079064083ed9507 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sat, 3 Jul 2021 19:00:46 +0200
-Subject: [PATCH 1/2] cc-1.0.60: fix powerpcle being matched as as msvc
-
----
- vendor/cc-1.0.60/src/lib.rs | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/vendor/cc-1.0.60/src/lib.rs b/vendor/cc-1.0.60/src/lib.rs
-index aff6be86..f428ecbb 100644
---- a/vendor/cc-1.0.60/src/lib.rs
-+++ b/vendor/cc-1.0.60/src/lib.rs
-@@ -2556,11 +2556,7 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang-cl") {
-                 ToolFamily::Msvc { clang_cl: true }
--            } else if fname.contains("cl")
--                && !fname.contains("cloudabi")
--                && !fname.contains("uclibc")
--                && !fname.contains("clang")
--            {
-+            } else if fname.ends_with("cl") || fname == "cl.exe" {
-                 ToolFamily::Msvc { clang_cl: false }
-             } else if fname.contains("clang") {
-                 match clang_driver {
--- 
-2.31.1
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle-gcc.patch b/srcpkgs/rust/patches/xxx-ppcle-gcc.patch
deleted file mode 100644
index b4150fcd8269..000000000000
--- a/srcpkgs/rust/patches/xxx-ppcle-gcc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From bf983e79364d2d1c4a22857fadae8fcdc6646ef3 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sun, 4 Jul 2021 02:17:26 +0200
-Subject: [PATCH] gcc: fix powerpcle being matched as msvc
-
----
- vendor/gcc/src/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vendor/gcc/src/lib.rs b/vendor/gcc/src/lib.rs
-index 7980281f..05787ceb 100644
---- a/vendor/gcc/src/lib.rs
-+++ b/vendor/gcc/src/lib.rs
-@@ -1549,7 +1549,7 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang") {
-                 ToolFamily::Clang
--            } else if fname.contains("cl") && !fname.contains("uclibc") {
-+            } else if fname.ends_with("cl") || fname == "cl.exe" {
-                 ToolFamily::Msvc
-             } else {
-                 ToolFamily::Gnu
--- 
-2.31.1
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle.patch b/srcpkgs/rust/patches/xxx-ppcle.patch
index ab5c0c56c925..9473e7ad98f3 100644
--- a/srcpkgs/rust/patches/xxx-ppcle.patch
+++ b/srcpkgs/rust/patches/xxx-ppcle.patch
@@ -30,11 +30,7 @@ Subject: [PATCH] initial ppcle port
  src/test/ui/target-feature/gate.rs                |  1 +
  src/test/ui/target-feature/invalid-attribute.rs   |  1 +
  src/tools/compiletest/src/util.rs                 |  1 +
- vendor/cc-1.0.60/src/lib.rs                       |  1 +
  vendor/cc/src/lib.rs                              |  1 +
- vendor/gcc/src/lib.rs                             |  3 ++-
- vendor/jemallocator/benches/roundtrip.rs          |  3 ++-
- vendor/jemallocator/src/lib.rs                    |  3 ++-
  vendor/rustc-ap-rustc_target/src/spec/mod.rs      |  2 ++
  .../src/spec/powerpcle_unknown_linux_gnu.rs       | 15 +++++++++++++++
  .../src/spec/powerpcle_unknown_linux_musl.rs      | 15 +++++++++++++++
@@ -57,9 +53,9 @@ index c2e9dba6..8147a3c3 100644
              target.os == "linux" && target.arch == "powerpc" && target_env_gnu_like;
 +        let linux_powerpcle_gnu_like =
 +            target.os == "linux" && target.arch == "powerpcle" && target_env_gnu_like;
+         use SpecAbi::*;
          let rust_abi = matches!(sig.abi, RustIntrinsic | PlatformIntrinsic | Rust | RustCall);
  
-         // Handle safe Rust thin and fat pointers.
 @@ -2850,7 +2852,8 @@ where
                      || (!win_x64_gnu
                          && !linux_s390x_gnu_like
@@ -394,18 +390,6 @@ index 7dbd7094..08c9de3c 100644
      ("powerpc64", "powerpc64"),
      ("powerpc64le", "powerpc64"),
      ("riscv64gc", "riscv64"),
-diff --git a/vendor/cc-1.0.60/src/lib.rs b/vendor/cc-1.0.60/src/lib.rs
-index f428ecbb..841e459a 100644
---- a/vendor/cc-1.0.60/src/lib.rs
-+++ b/vendor/cc-1.0.60/src/lib.rs
-@@ -2302,6 +2302,7 @@ impl Build {
-             "mipsisa64r6-unknown-linux-gnuabi64" => Some("mipsisa64r6-linux-gnuabi64"),
-             "mipsisa64r6el-unknown-linux-gnuabi64" => Some("mipsisa64r6el-linux-gnuabi64"),
-             "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+            "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-             "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
-             "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
-             "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
 diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
 index 5051b296..286c2fb7 100644
 --- a/vendor/cc/src/lib.rs
@@ -418,48 +402,6 @@ index 5051b296..286c2fb7 100644
              "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
              "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
              "riscv32i-unknown-none-elf" => self.find_working_gnu_prefix(&[
-diff --git a/vendor/gcc/src/lib.rs b/vendor/gcc/src/lib.rs
-index 1fe73012..7980281f 100644
---- a/vendor/gcc/src/lib.rs
-+++ b/vendor/gcc/src/lib.rs
-@@ -1367,7 +1367,8 @@ impl Build {
-                         "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
-                         "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-                         "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
--                        "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+                        "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-+                        "powerpc64-unknown-linux-gnu" => Some("powerpc64-linux-gnu"),
-                         "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
-                         "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
-                         "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
-diff --git a/vendor/jemallocator/benches/roundtrip.rs b/vendor/jemallocator/benches/roundtrip.rs
-index eddbb6bb..db81596b 100644
---- a/vendor/jemallocator/benches/roundtrip.rs
-+++ b/vendor/jemallocator/benches/roundtrip.rs
-@@ -26,7 +26,8 @@ static A: Jemalloc = Jemalloc;
-     target_arch = "arm",
-     target_arch = "mips",
-     target_arch = "mipsel",
--    target_arch = "powerpc"
-+    target_arch = "powerpc",
-+    target_arch = "powerpcle"
- )))]
- const MIN_ALIGN: usize = 8;
- #[cfg(all(any(
-diff --git a/vendor/jemallocator/src/lib.rs b/vendor/jemallocator/src/lib.rs
-index f0a3692d..43889c55 100644
---- a/vendor/jemallocator/src/lib.rs
-+++ b/vendor/jemallocator/src/lib.rs
-@@ -37,7 +37,8 @@ use libc::{c_int, c_void};
-     target_arch = "arm",
-     target_arch = "mips",
-     target_arch = "mipsel",
--    target_arch = "powerpc"
-+    target_arch = "powerpc",
-+    target_arch = "powerpcle"
- )))]
- const MIN_ALIGN: usize = 8;
- #[cfg(all(any(
 diff --git a/vendor/rustc-ap-rustc_target/src/spec/mod.rs b/vendor/rustc-ap-rustc_target/src/spec/mod.rs
 index 2af46693..986d84e0 100644
 --- a/vendor/rustc-ap-rustc_target/src/spec/mod.rs
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index f31ea7b87b81..dea0d893f041 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -8,7 +8,7 @@
 # uploaded to https://alpha.de.repo.voidlinux.org/distfiles/
 #
 pkgname=rust
-version=1.53.0
+version=1.54.0
 revision=1
 _rust_dist_version=1.53.0
 wrksrc="rustc-${version}-src"
@@ -20,7 +20,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT, Apache-2.0"
 homepage="https://www.rust-lang.org/"
 distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
-checksum=5cf7ca39a10f6bf4e0b0bd15e3b9a61ce721f301e12d148262e5ba968ab825b9
+checksum=ac8511633e9b5a65ad030a1a2e5bdaa841fdfe3132f2baaa52cc04e71c6c6976
 lib32disabled=yes
 
 build_options="bindist"
@@ -189,10 +189,7 @@ post_patch() {
 	# clear out all the checksum nonsense of patched vendor crates
 	_clear_vendor_checksums libc
 	_clear_vendor_checksums typenum
-	_clear_vendor_checksums cc-1.0.60
-	_clear_vendor_checksums gcc
 	_clear_vendor_checksums cc
-	_clear_vendor_checksums jemallocator
 	_clear_vendor_checksums rustc-ap-rustc_target
 	_clear_vendor_checksums target-lexicon
 	_clear_vendor_checksums tikv-jemallocator

From b47aac88f0468276116ce35f54ae0fffed49c80e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 17 Aug 2021 18:02:46 -0300
Subject: [PATCH 2/2] cargo: update to 0.55.0.

---
 srcpkgs/cargo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cargo/template b/srcpkgs/cargo/template
index 075646348d9f..46f1eda30693 100644
--- a/srcpkgs/cargo/template
+++ b/srcpkgs/cargo/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo'
 pkgname=cargo
-version=0.54.0
+version=0.55.0
 revision=1
 wrksrc="cargo-${version}"
 build_helper=rust

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
@ 2021-08-18  1:18 ` ericonr
  2021-08-18 21:54 ` ifreund
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ericonr @ 2021-08-18  1:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2034 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-900740070

Comment:
Welp, glibc also fails:

```
Compiling rustc_codegen_ssa v0.0.0 (/builddir/rustc-1.54.0-src/compiler/rustc_codegen_ssa)
error[E0532]: expected unit struct, unit variant or constant, found struct variant `NativeLibKind::Dylib`
    --> compiler/rustc_codegen_ssa/src/back/link.rs:2399:17
     |
2399 |                 NativeLibKind::Dylib | NativeLibKind::Unspecified => {
     |                 ^^^^^^^^^^^^^^^^^^^^
     |
    ::: /builddir/rustc-1.54.0-src/compiler/rustc_session/src/utils.rs:31:5
     |
31   |     Dylib {
     |     ----- `NativeLibKind::Dylib` defined here
     |
help: use struct pattern syntax instead
     |
2399 |                 NativeLibKind::Dylib { /* fields */ } | NativeLibKind::Unspecified => {
     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider importing this unit variant instead
     |
1    | use rustc_session::config::CrateType::Dylib;
     |

error: aborting due to previous error

For more information about this error, try `rustc --explain E0532`.
error: could not compile `rustc_codegen_ssa`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
command did not execute successfully: "/builddir/rustc-1.54.0-src/stage0-bootstrap/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "8" "--release" "--locked" "--frozen" "--features" " llvm max_level_info" "--manifest-path" "/builddir/rustc-1.54.0-src/compiler/rustc/Cargo.toml" "--message-format" "json-render-diagnostics"
expected success, got: exit status: 101
failed to run: /builddir/rustc-1.54.0-src/build/bootstrap/debug/bootstrap dist --jobs 8
Build completed unsuccessfully in 0:08:30
=> ERROR: rust-1.54.0_1: do_build: 'env CFLAGS_${RUST_BUILD}="${CFLAGS_host}" python3 x.py dist --jobs $XBPS_MAKEJOBS' exited with 1
```

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
  2021-08-18  1:18 ` ericonr
@ 2021-08-18 21:54 ` ifreund
  2021-08-18 21:54 ` ifreund
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ifreund @ 2021-08-18 21:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2385 bytes --]

New comment by ifreund on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-901454842

Comment:
@ericonr Here's a fix for that patch:
```diff
diff --git a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
index 88e29d9ebc..b2e61ddb0b 100644
--- a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
+++ b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
@@ -16,13 +16,13 @@ diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codege
 index 6c9ec9e7b0d..60f43f70e4e 100644
 --- a/compiler/rustc_codegen_ssa/src/back/link.rs
 +++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2396,10 +2396,23 @@ fn add_upstream_native_libraries(
+@@ -2396,10 +2396,24 @@ fn add_upstream_native_libraries(
  
              let verbatim = lib.verbatim.unwrap_or(false);
              match lib.kind {
 -                NativeLibKind::Dylib { as_needed } => {
 -                    cmd.link_dylib(name, verbatim, as_needed.unwrap_or(true))
-+                NativeLibKind::Dylib | NativeLibKind::Unspecified => {
++                NativeLibKind::Dylib { .. } | NativeLibKind::Unspecified => {
 +                    // On some targets, like Linux, linking a static executable inhibits using
 +                    // dylibs at all. Force native libraries to be static, even if for example
 +                    // an upstream rlib was originally linked against a native shared library.
@@ -34,8 +34,9 @@ index 6c9ec9e7b0d..60f43f70e4e 100644
 +                    } else {
 +                        cmd.link_dylib(name, verbatim,
 +                                       match lib.kind {
-+                                           NativeLibKind::Dylib => as_needed.unwrap_or(true),
-+                                           NativeLibKind::Unspecified => true
++                                           NativeLibKind::Dylib { as_needed } => as_needed.unwrap_or(true),
++                                           NativeLibKind::Unspecified => true,
++                                           _ => unreachable!()
 +                                       })
 +                    }
                  }
```

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
  2021-08-18  1:18 ` ericonr
  2021-08-18 21:54 ` ifreund
@ 2021-08-18 21:54 ` ifreund
  2021-08-19  2:47 ` [PR PATCH] [Updated] " ericonr
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ifreund @ 2021-08-18 21:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2387 bytes --]

New comment by ifreund on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-901454842

Comment:
@ericonr Here's a patch for that patch:
```diff
diff --git a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
index 88e29d9ebc..b2e61ddb0b 100644
--- a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
+++ b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
@@ -16,13 +16,13 @@ diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codege
 index 6c9ec9e7b0d..60f43f70e4e 100644
 --- a/compiler/rustc_codegen_ssa/src/back/link.rs
 +++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2396,10 +2396,23 @@ fn add_upstream_native_libraries(
+@@ -2396,10 +2396,24 @@ fn add_upstream_native_libraries(
  
              let verbatim = lib.verbatim.unwrap_or(false);
              match lib.kind {
 -                NativeLibKind::Dylib { as_needed } => {
 -                    cmd.link_dylib(name, verbatim, as_needed.unwrap_or(true))
-+                NativeLibKind::Dylib | NativeLibKind::Unspecified => {
++                NativeLibKind::Dylib { .. } | NativeLibKind::Unspecified => {
 +                    // On some targets, like Linux, linking a static executable inhibits using
 +                    // dylibs at all. Force native libraries to be static, even if for example
 +                    // an upstream rlib was originally linked against a native shared library.
@@ -34,8 +34,9 @@ index 6c9ec9e7b0d..60f43f70e4e 100644
 +                    } else {
 +                        cmd.link_dylib(name, verbatim,
 +                                       match lib.kind {
-+                                           NativeLibKind::Dylib => as_needed.unwrap_or(true),
-+                                           NativeLibKind::Unspecified => true
++                                           NativeLibKind::Dylib { as_needed } => as_needed.unwrap_or(true),
++                                           NativeLibKind::Unspecified => true,
++                                           _ => unreachable!()
 +                                       })
 +                    }
                  }
```

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (2 preceding siblings ...)
  2021-08-18 21:54 ` ifreund
@ 2021-08-19  2:47 ` ericonr
  2021-08-19  5:31 ` ericonr
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ericonr @ 2021-08-19  2:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3207 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages rust
https://github.com/void-linux/void-packages/pull/32555

[WIP] Rust 1.54.0
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

musl build (at least) is currently broken, accepting help:

```
Rustbook (x86_64-unknown-linux-musl) - unstable-book
Building stage0 std artifacts (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling compiler_builtins v0.1.45
   Compiling core v0.0.0 (/builddir/rustc-1.54.0-src/library/core)
   Compiling libc v0.2.93
   Compiling cc v1.0.68
   Compiling std v0.0.0 (/builddir/rustc-1.54.0-src/library/std)
   Compiling unwind v0.0.0 (/builddir/rustc-1.54.0-src/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/builddir/rustc-1.54.0-src/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/builddir/rustc-1.54.0-src/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling adler v0.2.3
   Compiling rustc-demangle v0.1.18
error: could not find native static library `c`, perhaps an -L flag is missing?

error: aborting due to previous error

error: could not compile `libc`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
command did not execute successfully: "/builddir/rustc-1.54.0-src/stage0-bootstrap/bin/cargo" "build" "--target" "x86_64-unknown-linux-musl" "-Zbinary-dep-depinfo" "-j" "8" "--release" "--locked" "--frozen" "--features" "panic-unwind backtrace" "--manifest-path" "/builddir/rustc-1.54.0-src/library/test/Cargo.toml" "--message-format" "json-render-diagnostics"
expected success, got: exit status: 101
failed to run: /builddir/rustc-1.54.0-src/build/bootstrap/debug/bootstrap dist --jobs 8
Build completed unsuccessfully in 0:02:40
```

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/32555.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rust-32555.patch --]
[-- Type: text/x-diff, Size: 24886 bytes --]

From 92cc3d234a3cde44bfb881f03336a67729d11dd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 17 Aug 2021 18:02:42 -0300
Subject: [PATCH 1/2] rust: update to 1.54.0.

Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
---
 ...ative-libraries-when-linking-static-.patch | 42 ++++------
 ...dlib-and-musl_root-from-musl-targets.patch | 32 +++----
 ...fer-libgcc_eh-over-libunwind-on-musl.patch | 83 ++++++++++++-------
 srcpkgs/rust/patches/xxx-ppcle-ccrs.patch     | 29 -------
 srcpkgs/rust/patches/xxx-ppcle-gcc.patch      | 25 ------
 srcpkgs/rust/patches/xxx-ppcle.patch          | 60 +-------------
 srcpkgs/rust/template                         |  7 +-
 7 files changed, 88 insertions(+), 190 deletions(-)
 delete mode 100644 srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
 delete mode 100644 srcpkgs/rust/patches/xxx-ppcle-gcc.patch

diff --git a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
index 0fd1ca7d2dfa..b2e61ddb0bad 100644
--- a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
+++ b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
@@ -12,29 +12,17 @@ executables.
 
 Fixes #54243
 ---
- src/librustc_codegen_ssa/back/link.rs | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
 diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
-index 8bc4e6442..52ff7a52e 100644
+index 6c9ec9e7b0d..60f43f70e4e 100644
 --- a/compiler/rustc_codegen_ssa/src/back/link.rs
 +++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2081,8 +2081,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
-     }
- }
+@@ -2396,10 +2396,24 @@ fn add_upstream_native_libraries(
  
--/// Link in all of our upstream crates' native dependencies. Remember that all of these upstream
--/// native dependencies are all non-static dependencies. We've got two cases then:
-+/// Link in all of our upstream crates' native dependencies. We have two cases:
- ///
- /// 1. The upstream crate is an rlib. In this case we *must* link in the native dependency because
- /// the rlib is just an archive.
-@@ -2015,7 +2013,19 @@
-                 continue;
-             }
+             let verbatim = lib.verbatim.unwrap_or(false);
              match lib.kind {
--                NativeLibKind::Dylib | NativeLibKind::Unspecified => cmd.link_dylib(name),
-+                NativeLibKind::Dylib | NativeLibKind::Unspecified => {
+-                NativeLibKind::Dylib { as_needed } => {
+-                    cmd.link_dylib(name, verbatim, as_needed.unwrap_or(true))
++                NativeLibKind::Dylib { .. } | NativeLibKind::Unspecified => {
 +                    // On some targets, like Linux, linking a static executable inhibits using
 +                    // dylibs at all. Force native libraries to be static, even if for example
 +                    // an upstream rlib was originally linked against a native shared library.
@@ -42,11 +30,17 @@ index 8bc4e6442..52ff7a52e 100644
 +                        && sess.crt_static(Some(crate_type))
 +                        && !sess.target.options.crt_static_allows_dylibs
 +                    {
-+                        cmd.link_staticlib(name)
++                        cmd.link_staticlib(name, verbatim)
 +                    } else {
-+                        cmd.link_dylib(name)
++                        cmd.link_dylib(name, verbatim,
++                                       match lib.kind {
++                                           NativeLibKind::Dylib { as_needed } => as_needed.unwrap_or(true),
++                                           NativeLibKind::Unspecified => true,
++                                           _ => unreachable!()
++                                       })
 +                    }
-+                },
-                 NativeLibKind::Framework => cmd.link_framework(name),
-                 NativeLibKind::StaticNoBundle => {
-                     // Link "static-nobundle" native libs only if the crate they originate from
+                 }
+-                NativeLibKind::Unspecified => cmd.link_dylib(name, verbatim, true),
+                 NativeLibKind::Framework { as_needed } => {
+                     cmd.link_framework(name, as_needed.unwrap_or(true))
+                 }
diff --git a/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
index 85a8806e010b..112d012e11e5 100644
--- a/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+++ b/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -1,5 +1,5 @@
 diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
-index 2fc9ab29f..276736159 100644
+index 2fc9ab29f92..27673615968 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: &str) -> CrtObjects {
@@ -32,7 +32,7 @@ index 2fc9ab29f..276736159 100644
      new(&[
          (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
 diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/linux_musl_base.rs
-index 5038a967d..b3c0e5bc4 100644
+index 5038a967d0a..b3c0e5bc416 100644
 --- a/compiler/rustc_target/src/spec/linux_musl_base.rs
 +++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
 @@ -1,16 +1,9 @@
@@ -53,10 +53,10 @@ index 5038a967d..b3c0e5bc4 100644
      base
  }
 diff --git a/config.toml.example b/config.toml.example
-index 6e5584797..5be9882a8 100644
+index 7fa5353d09b..98afe3743c0 100644
 --- a/config.toml.example
 +++ b/config.toml.example
-@@ -638,15 +638,6 @@ changelog-seen = 2
+@@ -644,15 +644,6 @@ changelog-seen = 2
  # only use static libraries. If unset, the target's default linkage is used.
  #crt-static = <platform-specific> (bool)
  
@@ -73,7 +73,7 @@ index 6e5584797..5be9882a8 100644
  # `wasm32-wasi` target. If you are building wasm32-wasi target, make sure to
  # create a `[target.wasm32-wasi]` section and move this field there.
 diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index e750c2963..f6ba3032b 100644
+index e750c2963dd..f6ba3032b0d 100644
 --- a/src/bootstrap/cc_detect.rs
 +++ b/src/bootstrap/cc_detect.rs
 @@ -98,7 +98,7 @@ pub fn find(build: &mut Build) {
@@ -130,7 +130,7 @@ index e750c2963..f6ba3032b 100644
      }
  }
 diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index ee3527b6b..0a8b78327 100644
+index 112a6ea9398..4e42bcbbdad 100644
 --- a/src/bootstrap/compile.rs
 +++ b/src/bootstrap/compile.rs
 @@ -179,34 +179,7 @@ fn copy_self_contained_objects(
@@ -169,7 +169,7 @@ index ee3527b6b..0a8b78327 100644
          let srcdir = builder
              .wasi_root(target)
              .unwrap_or_else(|| {
-@@ -288,15 +261,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
+@@ -290,15 +263,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
              .arg("--manifest-path")
              .arg(builder.src.join("library/test/Cargo.toml"));
  
@@ -186,7 +186,7 @@ index ee3527b6b..0a8b78327 100644
              if let Some(p) = builder.wasi_root(target) {
                  let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
 diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 483816b98..7517d757c 100644
+index 483816b98d6..7517d757cc0 100644
 --- a/src/bootstrap/config.rs
 +++ b/src/bootstrap/config.rs
 @@ -165,7 +165,6 @@ pub struct Config {
@@ -223,7 +223,7 @@ index 483816b98..7517d757c 100644
      wasi_root: Option<String>,
      qemu_rootfs: Option<String>,
      no_std: Option<bool>,
-@@ -846,7 +840,6 @@ impl Config {
+@@ -846,7 +840,6 @@ pub fn parse(args: &[String]) -> Config {
              set(&mut config.llvm_tools_enabled, rust.llvm_tools);
              config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
              config.rustc_default_linker = rust.default_linker;
@@ -231,7 +231,7 @@ index 483816b98..7517d757c 100644
              config.save_toolstates = rust.save_toolstates.map(PathBuf::from);
              set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
              set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -892,8 +885,6 @@ impl Config {
+@@ -892,8 +885,6 @@ pub fn parse(args: &[String]) -> Config {
                  target.ranlib = cfg.ranlib.map(PathBuf::from);
                  target.linker = cfg.linker.map(PathBuf::from);
                  target.crt_static = cfg.crt_static;
@@ -241,7 +241,7 @@ index 483816b98..7517d757c 100644
                  target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
                  target.sanitizers = cfg.sanitizers;
 diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 999882a1c..7ccc2b73c 100755
+index 999882a1c04..7ccc2b73c5d 100755
 --- a/src/bootstrap/configure.py
 +++ b/src/bootstrap/configure.py
 @@ -109,34 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
@@ -280,10 +280,10 @@ index 999882a1c..7ccc2b73c 100755
    "rootfs in qemu testing, you probably don't want to use this")
  v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
 diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 24da44b93..c08bc6d94 100644
+index 347236c655a..1285fddb780 100644
 --- a/src/bootstrap/lib.rs
 +++ b/src/bootstrap/lib.rs
-@@ -927,25 +927,6 @@ impl Build {
+@@ -947,25 +947,6 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> {
          }
      }
  
@@ -310,10 +310,10 @@ index 24da44b93..c08bc6d94 100644
      fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
          self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
 diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index ed0cbdf97..44937aed9 100644
+index a28762ac485..bf52ff0ae9a 100644
 --- a/src/bootstrap/sanity.rs
 +++ b/src/bootstrap/sanity.rs
-@@ -182,28 +182,6 @@ pub fn check(build: &mut Build) {
+@@ -183,28 +183,6 @@ pub fn check(build: &mut Build) {
              }
          }
  
@@ -339,6 +339,6 @@ index ed0cbdf97..44937aed9 100644
 -            }
 -        }
 -
-         if target.contains("msvc") {
+         if need_cmake && target.contains("msvc") {
              // There are three builds of cmake on windows: MSVC, MinGW, and
              // Cygwin. The Cygwin build does not have generators for Visual
diff --git a/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch b/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
index 58ffd0776912..f5dd8cbd9132 100644
--- a/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
+++ b/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
@@ -6,27 +6,12 @@ Date: Sat, 9 Sep 2017 00:14:16 -0500
 Subject: [PATCH 06/16] Prefer libgcc_eh over libunwind for musl
 
 ---
- src/libunwind/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
-index 9182e349b19..0377fbb58fc 100644
---- a/library/unwind/src/lib.rs
-+++ b/library/unwind/src/lib.rs
-@@ -23,6 +23,6 @@ cfg_if::cfg_if! {
- }
- 
- #[cfg(target_env = "musl")]
--#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
-+#[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
- extern {}
-diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs
-index f24d957..28828e5 100644
+diff --git a/library/unwind/build.rs b/library/unwind/build.rs
+index 0529d24a274..5ef3e67d47f 100644
 --- a/library/unwind/build.rs
 +++ b/library/unwind/build.rs
-@@ -5,17 +5,12 @@
-     let target = env::var("TARGET").expect("TARGET was not set");
+@@ -10,31 +10,12 @@ fn main() {
+     }
  
      if cfg!(feature = "llvm-libunwind")
 -        && ((target.contains("linux") && !target.contains("musl")) || target.contains("fuchsia"))
@@ -40,24 +25,58 @@ index f24d957..28828e5 100644
 -        // linking for Linux is handled in lib.rs
 -        if target.contains("musl") {
 -            llvm_libunwind::compile();
+-        } else if target.contains("android") {
+-            let build = cc::Build::new();
+-
+-            // Since ndk r23 beta 3 `libgcc` was replaced with `libunwind` thus
+-            // check if we have `libunwind` available and if so use it. Otherwise
+-            // fall back to `libgcc` to support older ndk versions.
+-            let has_unwind =
+-                build.is_flag_supported("-lunwind").expect("Unable to invoke compiler");
+-
+-            if has_unwind {
+-                println!("cargo:rustc-link-lib=unwind");
+-            } else {
+-                println!("cargo:rustc-link-lib=gcc");
+-            }
 -        }
      } else if target.contains("freebsd") {
          println!("cargo:rustc-link-lib=gcc_s");
-     } else if target.contains("rumprun") {
-@@ -143,15 +138,6 @@
-             cfg.file(root.join("src").join(src));
+     } else if target.contains("netbsd") {
+@@ -71,7 +52,6 @@ mod llvm_libunwind {
+     /// Compile the libunwind C/C++ source code.
+     pub fn compile() {
+         let target = env::var("TARGET").expect("TARGET was not set");
+-        let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap();
+         let mut cc_cfg = cc::Build::new();
+         let mut cpp_cfg = cc::Build::new();
+         let root = Path::new("../../src/llvm-project/libunwind");
+@@ -92,15 +72,6 @@ pub fn compile() {
+             cc_cfg.flag("-std=c99");
          }
  
--        if target_env == "musl" {
--            // use the same C compiler command to compile C++ code so we do not need to setup the
--            // C++ compiler env variables on the builders
--            cfg.cpp(false);
--            // linking for musl is handled in lib.rs
--            cfg.cargo_metadata(false);
--            println!("cargo:rustc-link-search=native={}", env::var("OUT_DIR").unwrap());
+-        if target.contains("x86_64-fortanix-unknown-sgx") || target_env == "musl" {
+-            // use the same GCC C compiler command to compile C++ code so we do not need to setup the
+-            // C++ compiler env variables on the builders.
+-            // Don't set this for clang++, as clang++ is able to compile this without libc++.
+-            if cpp_cfg.get_compiler().is_like_gnu() {
+-                cpp_cfg.cpp(false);
+-            }
 -        }
 -
-         cfg.compile("unwind");
+         for cfg in [&mut cc_cfg, &mut cpp_cfg].iter_mut() {
+             cfg.warnings(false);
+             cfg.flag("-fstrict-aliasing");
+diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
+index eaeec72fbb5..4cc721031a3 100644
+--- a/library/unwind/src/lib.rs
++++ b/library/unwind/src/lib.rs
+@@ -48,7 +48,7 @@
+         #[link(name = "unwind", cfg(not(target_feature = "crt-static")))]
+         extern "C" {}
+     } else {
+-        #[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
++        #[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
+         #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
+         extern "C" {}
      }
- }
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch b/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
deleted file mode 100644
index 06f57aaec5cf..000000000000
--- a/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dc1de5be2b7908adb493b36f5079064083ed9507 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sat, 3 Jul 2021 19:00:46 +0200
-Subject: [PATCH 1/2] cc-1.0.60: fix powerpcle being matched as as msvc
-
----
- vendor/cc-1.0.60/src/lib.rs | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/vendor/cc-1.0.60/src/lib.rs b/vendor/cc-1.0.60/src/lib.rs
-index aff6be86..f428ecbb 100644
---- a/vendor/cc-1.0.60/src/lib.rs
-+++ b/vendor/cc-1.0.60/src/lib.rs
-@@ -2556,11 +2556,7 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang-cl") {
-                 ToolFamily::Msvc { clang_cl: true }
--            } else if fname.contains("cl")
--                && !fname.contains("cloudabi")
--                && !fname.contains("uclibc")
--                && !fname.contains("clang")
--            {
-+            } else if fname.ends_with("cl") || fname == "cl.exe" {
-                 ToolFamily::Msvc { clang_cl: false }
-             } else if fname.contains("clang") {
-                 match clang_driver {
--- 
-2.31.1
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle-gcc.patch b/srcpkgs/rust/patches/xxx-ppcle-gcc.patch
deleted file mode 100644
index b4150fcd8269..000000000000
--- a/srcpkgs/rust/patches/xxx-ppcle-gcc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From bf983e79364d2d1c4a22857fadae8fcdc6646ef3 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sun, 4 Jul 2021 02:17:26 +0200
-Subject: [PATCH] gcc: fix powerpcle being matched as msvc
-
----
- vendor/gcc/src/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vendor/gcc/src/lib.rs b/vendor/gcc/src/lib.rs
-index 7980281f..05787ceb 100644
---- a/vendor/gcc/src/lib.rs
-+++ b/vendor/gcc/src/lib.rs
-@@ -1549,7 +1549,7 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang") {
-                 ToolFamily::Clang
--            } else if fname.contains("cl") && !fname.contains("uclibc") {
-+            } else if fname.ends_with("cl") || fname == "cl.exe" {
-                 ToolFamily::Msvc
-             } else {
-                 ToolFamily::Gnu
--- 
-2.31.1
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle.patch b/srcpkgs/rust/patches/xxx-ppcle.patch
index ab5c0c56c925..9473e7ad98f3 100644
--- a/srcpkgs/rust/patches/xxx-ppcle.patch
+++ b/srcpkgs/rust/patches/xxx-ppcle.patch
@@ -30,11 +30,7 @@ Subject: [PATCH] initial ppcle port
  src/test/ui/target-feature/gate.rs                |  1 +
  src/test/ui/target-feature/invalid-attribute.rs   |  1 +
  src/tools/compiletest/src/util.rs                 |  1 +
- vendor/cc-1.0.60/src/lib.rs                       |  1 +
  vendor/cc/src/lib.rs                              |  1 +
- vendor/gcc/src/lib.rs                             |  3 ++-
- vendor/jemallocator/benches/roundtrip.rs          |  3 ++-
- vendor/jemallocator/src/lib.rs                    |  3 ++-
  vendor/rustc-ap-rustc_target/src/spec/mod.rs      |  2 ++
  .../src/spec/powerpcle_unknown_linux_gnu.rs       | 15 +++++++++++++++
  .../src/spec/powerpcle_unknown_linux_musl.rs      | 15 +++++++++++++++
@@ -57,9 +53,9 @@ index c2e9dba6..8147a3c3 100644
              target.os == "linux" && target.arch == "powerpc" && target_env_gnu_like;
 +        let linux_powerpcle_gnu_like =
 +            target.os == "linux" && target.arch == "powerpcle" && target_env_gnu_like;
+         use SpecAbi::*;
          let rust_abi = matches!(sig.abi, RustIntrinsic | PlatformIntrinsic | Rust | RustCall);
  
-         // Handle safe Rust thin and fat pointers.
 @@ -2850,7 +2852,8 @@ where
                      || (!win_x64_gnu
                          && !linux_s390x_gnu_like
@@ -394,18 +390,6 @@ index 7dbd7094..08c9de3c 100644
      ("powerpc64", "powerpc64"),
      ("powerpc64le", "powerpc64"),
      ("riscv64gc", "riscv64"),
-diff --git a/vendor/cc-1.0.60/src/lib.rs b/vendor/cc-1.0.60/src/lib.rs
-index f428ecbb..841e459a 100644
---- a/vendor/cc-1.0.60/src/lib.rs
-+++ b/vendor/cc-1.0.60/src/lib.rs
-@@ -2302,6 +2302,7 @@ impl Build {
-             "mipsisa64r6-unknown-linux-gnuabi64" => Some("mipsisa64r6-linux-gnuabi64"),
-             "mipsisa64r6el-unknown-linux-gnuabi64" => Some("mipsisa64r6el-linux-gnuabi64"),
-             "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+            "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-             "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
-             "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
-             "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
 diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
 index 5051b296..286c2fb7 100644
 --- a/vendor/cc/src/lib.rs
@@ -418,48 +402,6 @@ index 5051b296..286c2fb7 100644
              "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
              "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
              "riscv32i-unknown-none-elf" => self.find_working_gnu_prefix(&[
-diff --git a/vendor/gcc/src/lib.rs b/vendor/gcc/src/lib.rs
-index 1fe73012..7980281f 100644
---- a/vendor/gcc/src/lib.rs
-+++ b/vendor/gcc/src/lib.rs
-@@ -1367,7 +1367,8 @@ impl Build {
-                         "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
-                         "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-                         "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
--                        "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+                        "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-+                        "powerpc64-unknown-linux-gnu" => Some("powerpc64-linux-gnu"),
-                         "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
-                         "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
-                         "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
-diff --git a/vendor/jemallocator/benches/roundtrip.rs b/vendor/jemallocator/benches/roundtrip.rs
-index eddbb6bb..db81596b 100644
---- a/vendor/jemallocator/benches/roundtrip.rs
-+++ b/vendor/jemallocator/benches/roundtrip.rs
-@@ -26,7 +26,8 @@ static A: Jemalloc = Jemalloc;
-     target_arch = "arm",
-     target_arch = "mips",
-     target_arch = "mipsel",
--    target_arch = "powerpc"
-+    target_arch = "powerpc",
-+    target_arch = "powerpcle"
- )))]
- const MIN_ALIGN: usize = 8;
- #[cfg(all(any(
-diff --git a/vendor/jemallocator/src/lib.rs b/vendor/jemallocator/src/lib.rs
-index f0a3692d..43889c55 100644
---- a/vendor/jemallocator/src/lib.rs
-+++ b/vendor/jemallocator/src/lib.rs
-@@ -37,7 +37,8 @@ use libc::{c_int, c_void};
-     target_arch = "arm",
-     target_arch = "mips",
-     target_arch = "mipsel",
--    target_arch = "powerpc"
-+    target_arch = "powerpc",
-+    target_arch = "powerpcle"
- )))]
- const MIN_ALIGN: usize = 8;
- #[cfg(all(any(
 diff --git a/vendor/rustc-ap-rustc_target/src/spec/mod.rs b/vendor/rustc-ap-rustc_target/src/spec/mod.rs
 index 2af46693..986d84e0 100644
 --- a/vendor/rustc-ap-rustc_target/src/spec/mod.rs
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index f31ea7b87b81..dea0d893f041 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -8,7 +8,7 @@
 # uploaded to https://alpha.de.repo.voidlinux.org/distfiles/
 #
 pkgname=rust
-version=1.53.0
+version=1.54.0
 revision=1
 _rust_dist_version=1.53.0
 wrksrc="rustc-${version}-src"
@@ -20,7 +20,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT, Apache-2.0"
 homepage="https://www.rust-lang.org/"
 distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
-checksum=5cf7ca39a10f6bf4e0b0bd15e3b9a61ce721f301e12d148262e5ba968ab825b9
+checksum=ac8511633e9b5a65ad030a1a2e5bdaa841fdfe3132f2baaa52cc04e71c6c6976
 lib32disabled=yes
 
 build_options="bindist"
@@ -189,10 +189,7 @@ post_patch() {
 	# clear out all the checksum nonsense of patched vendor crates
 	_clear_vendor_checksums libc
 	_clear_vendor_checksums typenum
-	_clear_vendor_checksums cc-1.0.60
-	_clear_vendor_checksums gcc
 	_clear_vendor_checksums cc
-	_clear_vendor_checksums jemallocator
 	_clear_vendor_checksums rustc-ap-rustc_target
 	_clear_vendor_checksums target-lexicon
 	_clear_vendor_checksums tikv-jemallocator

From cac188a15a66a276ce123b0f21ac87d76083f0a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 17 Aug 2021 18:02:46 -0300
Subject: [PATCH 2/2] cargo: update to 0.55.0.

---
 srcpkgs/cargo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cargo/template b/srcpkgs/cargo/template
index 075646348d9f..46f1eda30693 100644
--- a/srcpkgs/cargo/template
+++ b/srcpkgs/cargo/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo'
 pkgname=cargo
-version=0.54.0
+version=0.55.0
 revision=1
 wrksrc="cargo-${version}"
 build_helper=rust

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (3 preceding siblings ...)
  2021-08-19  2:47 ` [PR PATCH] [Updated] " ericonr
@ 2021-08-19  5:31 ` ericonr
  2021-09-17 14:18 ` ram02z
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ericonr @ 2021-08-19  5:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 3207 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages rust
https://github.com/void-linux/void-packages/pull/32555

[WIP] Rust 1.54.0
<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

musl build (at least) is currently broken, accepting help:

```
Rustbook (x86_64-unknown-linux-musl) - unstable-book
Building stage0 std artifacts (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl)
   Compiling compiler_builtins v0.1.45
   Compiling core v0.0.0 (/builddir/rustc-1.54.0-src/library/core)
   Compiling libc v0.2.93
   Compiling cc v1.0.68
   Compiling std v0.0.0 (/builddir/rustc-1.54.0-src/library/std)
   Compiling unwind v0.0.0 (/builddir/rustc-1.54.0-src/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/builddir/rustc-1.54.0-src/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/builddir/rustc-1.54.0-src/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling adler v0.2.3
   Compiling rustc-demangle v0.1.18
error: could not find native static library `c`, perhaps an -L flag is missing?

error: aborting due to previous error

error: could not compile `libc`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
command did not execute successfully: "/builddir/rustc-1.54.0-src/stage0-bootstrap/bin/cargo" "build" "--target" "x86_64-unknown-linux-musl" "-Zbinary-dep-depinfo" "-j" "8" "--release" "--locked" "--frozen" "--features" "panic-unwind backtrace" "--manifest-path" "/builddir/rustc-1.54.0-src/library/test/Cargo.toml" "--message-format" "json-render-diagnostics"
expected success, got: exit status: 101
failed to run: /builddir/rustc-1.54.0-src/build/bootstrap/debug/bootstrap dist --jobs 8
Build completed unsuccessfully in 0:02:40
```

[ci skip]

A patch file from https://github.com/void-linux/void-packages/pull/32555.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-rust-32555.patch --]
[-- Type: text/x-diff, Size: 25378 bytes --]

From 92cc3d234a3cde44bfb881f03336a67729d11dd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 17 Aug 2021 18:02:42 -0300
Subject: [PATCH 1/2] rust: update to 1.54.0.

Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
---
 ...ative-libraries-when-linking-static-.patch | 42 ++++------
 ...dlib-and-musl_root-from-musl-targets.patch | 32 +++----
 ...fer-libgcc_eh-over-libunwind-on-musl.patch | 83 ++++++++++++-------
 srcpkgs/rust/patches/xxx-ppcle-ccrs.patch     | 29 -------
 srcpkgs/rust/patches/xxx-ppcle-gcc.patch      | 25 ------
 srcpkgs/rust/patches/xxx-ppcle.patch          | 60 +-------------
 srcpkgs/rust/template                         |  7 +-
 7 files changed, 88 insertions(+), 190 deletions(-)
 delete mode 100644 srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
 delete mode 100644 srcpkgs/rust/patches/xxx-ppcle-gcc.patch

diff --git a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
index 0fd1ca7d2dfa..b2e61ddb0bad 100644
--- a/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
+++ b/srcpkgs/rust/patches/0003-Require-static-native-libraries-when-linking-static-.patch
@@ -12,29 +12,17 @@ executables.
 
 Fixes #54243
 ---
- src/librustc_codegen_ssa/back/link.rs | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
 diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
-index 8bc4e6442..52ff7a52e 100644
+index 6c9ec9e7b0d..60f43f70e4e 100644
 --- a/compiler/rustc_codegen_ssa/src/back/link.rs
 +++ b/compiler/rustc_codegen_ssa/src/back/link.rs
-@@ -2081,8 +2081,7 @@ fn add_upstream_rust_crates<'a, B: ArchiveBuilder<'a>>(
-     }
- }
+@@ -2396,10 +2396,24 @@ fn add_upstream_native_libraries(
  
--/// Link in all of our upstream crates' native dependencies. Remember that all of these upstream
--/// native dependencies are all non-static dependencies. We've got two cases then:
-+/// Link in all of our upstream crates' native dependencies. We have two cases:
- ///
- /// 1. The upstream crate is an rlib. In this case we *must* link in the native dependency because
- /// the rlib is just an archive.
-@@ -2015,7 +2013,19 @@
-                 continue;
-             }
+             let verbatim = lib.verbatim.unwrap_or(false);
              match lib.kind {
--                NativeLibKind::Dylib | NativeLibKind::Unspecified => cmd.link_dylib(name),
-+                NativeLibKind::Dylib | NativeLibKind::Unspecified => {
+-                NativeLibKind::Dylib { as_needed } => {
+-                    cmd.link_dylib(name, verbatim, as_needed.unwrap_or(true))
++                NativeLibKind::Dylib { .. } | NativeLibKind::Unspecified => {
 +                    // On some targets, like Linux, linking a static executable inhibits using
 +                    // dylibs at all. Force native libraries to be static, even if for example
 +                    // an upstream rlib was originally linked against a native shared library.
@@ -42,11 +30,17 @@ index 8bc4e6442..52ff7a52e 100644
 +                        && sess.crt_static(Some(crate_type))
 +                        && !sess.target.options.crt_static_allows_dylibs
 +                    {
-+                        cmd.link_staticlib(name)
++                        cmd.link_staticlib(name, verbatim)
 +                    } else {
-+                        cmd.link_dylib(name)
++                        cmd.link_dylib(name, verbatim,
++                                       match lib.kind {
++                                           NativeLibKind::Dylib { as_needed } => as_needed.unwrap_or(true),
++                                           NativeLibKind::Unspecified => true,
++                                           _ => unreachable!()
++                                       })
 +                    }
-+                },
-                 NativeLibKind::Framework => cmd.link_framework(name),
-                 NativeLibKind::StaticNoBundle => {
-                     // Link "static-nobundle" native libs only if the crate they originate from
+                 }
+-                NativeLibKind::Unspecified => cmd.link_dylib(name, verbatim, true),
+                 NativeLibKind::Framework { as_needed } => {
+                     cmd.link_framework(name, as_needed.unwrap_or(true))
+                 }
diff --git a/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
index 85a8806e010b..112d012e11e5 100644
--- a/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+++ b/srcpkgs/rust/patches/0004-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -1,5 +1,5 @@
 diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
-index 2fc9ab29f..276736159 100644
+index 2fc9ab29f92..27673615968 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: &str) -> CrtObjects {
@@ -32,7 +32,7 @@ index 2fc9ab29f..276736159 100644
      new(&[
          (LinkOutputKind::DynamicNoPicExe, &["crt2.o", "rsbegin.o"]),
 diff --git a/compiler/rustc_target/src/spec/linux_musl_base.rs b/compiler/rustc_target/src/spec/linux_musl_base.rs
-index 5038a967d..b3c0e5bc4 100644
+index 5038a967d0a..b3c0e5bc416 100644
 --- a/compiler/rustc_target/src/spec/linux_musl_base.rs
 +++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
 @@ -1,16 +1,9 @@
@@ -53,10 +53,10 @@ index 5038a967d..b3c0e5bc4 100644
      base
  }
 diff --git a/config.toml.example b/config.toml.example
-index 6e5584797..5be9882a8 100644
+index 7fa5353d09b..98afe3743c0 100644
 --- a/config.toml.example
 +++ b/config.toml.example
-@@ -638,15 +638,6 @@ changelog-seen = 2
+@@ -644,15 +644,6 @@ changelog-seen = 2
  # only use static libraries. If unset, the target's default linkage is used.
  #crt-static = <platform-specific> (bool)
  
@@ -73,7 +73,7 @@ index 6e5584797..5be9882a8 100644
  # `wasm32-wasi` target. If you are building wasm32-wasi target, make sure to
  # create a `[target.wasm32-wasi]` section and move this field there.
 diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index e750c2963..f6ba3032b 100644
+index e750c2963dd..f6ba3032b0d 100644
 --- a/src/bootstrap/cc_detect.rs
 +++ b/src/bootstrap/cc_detect.rs
 @@ -98,7 +98,7 @@ pub fn find(build: &mut Build) {
@@ -130,7 +130,7 @@ index e750c2963..f6ba3032b 100644
      }
  }
 diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index ee3527b6b..0a8b78327 100644
+index 112a6ea9398..4e42bcbbdad 100644
 --- a/src/bootstrap/compile.rs
 +++ b/src/bootstrap/compile.rs
 @@ -179,34 +179,7 @@ fn copy_self_contained_objects(
@@ -169,7 +169,7 @@ index ee3527b6b..0a8b78327 100644
          let srcdir = builder
              .wasi_root(target)
              .unwrap_or_else(|| {
-@@ -288,15 +261,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
+@@ -290,15 +263,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
              .arg("--manifest-path")
              .arg(builder.src.join("library/test/Cargo.toml"));
  
@@ -186,7 +186,7 @@ index ee3527b6b..0a8b78327 100644
              if let Some(p) = builder.wasi_root(target) {
                  let root = format!("native={}/lib/wasm32-wasi", p.to_str().unwrap());
 diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
-index 483816b98..7517d757c 100644
+index 483816b98d6..7517d757cc0 100644
 --- a/src/bootstrap/config.rs
 +++ b/src/bootstrap/config.rs
 @@ -165,7 +165,6 @@ pub struct Config {
@@ -223,7 +223,7 @@ index 483816b98..7517d757c 100644
      wasi_root: Option<String>,
      qemu_rootfs: Option<String>,
      no_std: Option<bool>,
-@@ -846,7 +840,6 @@ impl Config {
+@@ -846,7 +840,6 @@ pub fn parse(args: &[String]) -> Config {
              set(&mut config.llvm_tools_enabled, rust.llvm_tools);
              config.rustc_parallel = rust.parallel_compiler.unwrap_or(false);
              config.rustc_default_linker = rust.default_linker;
@@ -231,7 +231,7 @@ index 483816b98..7517d757c 100644
              config.save_toolstates = rust.save_toolstates.map(PathBuf::from);
              set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
              set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
-@@ -892,8 +885,6 @@ impl Config {
+@@ -892,8 +885,6 @@ pub fn parse(args: &[String]) -> Config {
                  target.ranlib = cfg.ranlib.map(PathBuf::from);
                  target.linker = cfg.linker.map(PathBuf::from);
                  target.crt_static = cfg.crt_static;
@@ -241,7 +241,7 @@ index 483816b98..7517d757c 100644
                  target.qemu_rootfs = cfg.qemu_rootfs.map(PathBuf::from);
                  target.sanitizers = cfg.sanitizers;
 diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
-index 999882a1c..7ccc2b73c 100755
+index 999882a1c04..7ccc2b73c5d 100755
 --- a/src/bootstrap/configure.py
 +++ b/src/bootstrap/configure.py
 @@ -109,34 +109,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
@@ -280,10 +280,10 @@ index 999882a1c..7ccc2b73c 100755
    "rootfs in qemu testing, you probably don't want to use this")
  v("qemu-aarch64-rootfs", "target.aarch64-unknown-linux-gnu.qemu-rootfs",
 diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
-index 24da44b93..c08bc6d94 100644
+index 347236c655a..1285fddb780 100644
 --- a/src/bootstrap/lib.rs
 +++ b/src/bootstrap/lib.rs
-@@ -927,25 +927,6 @@ impl Build {
+@@ -947,25 +947,6 @@ fn crt_static(&self, target: TargetSelection) -> Option<bool> {
          }
      }
  
@@ -310,10 +310,10 @@ index 24da44b93..c08bc6d94 100644
      fn wasi_root(&self, target: TargetSelection) -> Option<&Path> {
          self.config.target_config.get(&target).and_then(|t| t.wasi_root.as_ref()).map(|p| &**p)
 diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index ed0cbdf97..44937aed9 100644
+index a28762ac485..bf52ff0ae9a 100644
 --- a/src/bootstrap/sanity.rs
 +++ b/src/bootstrap/sanity.rs
-@@ -182,28 +182,6 @@ pub fn check(build: &mut Build) {
+@@ -183,28 +183,6 @@ pub fn check(build: &mut Build) {
              }
          }
  
@@ -339,6 +339,6 @@ index ed0cbdf97..44937aed9 100644
 -            }
 -        }
 -
-         if target.contains("msvc") {
+         if need_cmake && target.contains("msvc") {
              // There are three builds of cmake on windows: MSVC, MinGW, and
              // Cygwin. The Cygwin build does not have generators for Visual
diff --git a/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch b/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
index 58ffd0776912..f5dd8cbd9132 100644
--- a/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
+++ b/srcpkgs/rust/patches/0005-Prefer-libgcc_eh-over-libunwind-on-musl.patch
@@ -6,27 +6,12 @@ Date: Sat, 9 Sep 2017 00:14:16 -0500
 Subject: [PATCH 06/16] Prefer libgcc_eh over libunwind for musl
 
 ---
- src/libunwind/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
-index 9182e349b19..0377fbb58fc 100644
---- a/library/unwind/src/lib.rs
-+++ b/library/unwind/src/lib.rs
-@@ -23,6 +23,6 @@ cfg_if::cfg_if! {
- }
- 
- #[cfg(target_env = "musl")]
--#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
-+#[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
- #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
- extern {}
-diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs
-index f24d957..28828e5 100644
+diff --git a/library/unwind/build.rs b/library/unwind/build.rs
+index 0529d24a274..5ef3e67d47f 100644
 --- a/library/unwind/build.rs
 +++ b/library/unwind/build.rs
-@@ -5,17 +5,12 @@
-     let target = env::var("TARGET").expect("TARGET was not set");
+@@ -10,31 +10,12 @@ fn main() {
+     }
  
      if cfg!(feature = "llvm-libunwind")
 -        && ((target.contains("linux") && !target.contains("musl")) || target.contains("fuchsia"))
@@ -40,24 +25,58 @@ index f24d957..28828e5 100644
 -        // linking for Linux is handled in lib.rs
 -        if target.contains("musl") {
 -            llvm_libunwind::compile();
+-        } else if target.contains("android") {
+-            let build = cc::Build::new();
+-
+-            // Since ndk r23 beta 3 `libgcc` was replaced with `libunwind` thus
+-            // check if we have `libunwind` available and if so use it. Otherwise
+-            // fall back to `libgcc` to support older ndk versions.
+-            let has_unwind =
+-                build.is_flag_supported("-lunwind").expect("Unable to invoke compiler");
+-
+-            if has_unwind {
+-                println!("cargo:rustc-link-lib=unwind");
+-            } else {
+-                println!("cargo:rustc-link-lib=gcc");
+-            }
 -        }
      } else if target.contains("freebsd") {
          println!("cargo:rustc-link-lib=gcc_s");
-     } else if target.contains("rumprun") {
-@@ -143,15 +138,6 @@
-             cfg.file(root.join("src").join(src));
+     } else if target.contains("netbsd") {
+@@ -71,7 +52,6 @@ mod llvm_libunwind {
+     /// Compile the libunwind C/C++ source code.
+     pub fn compile() {
+         let target = env::var("TARGET").expect("TARGET was not set");
+-        let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap();
+         let mut cc_cfg = cc::Build::new();
+         let mut cpp_cfg = cc::Build::new();
+         let root = Path::new("../../src/llvm-project/libunwind");
+@@ -92,15 +72,6 @@ pub fn compile() {
+             cc_cfg.flag("-std=c99");
          }
  
--        if target_env == "musl" {
--            // use the same C compiler command to compile C++ code so we do not need to setup the
--            // C++ compiler env variables on the builders
--            cfg.cpp(false);
--            // linking for musl is handled in lib.rs
--            cfg.cargo_metadata(false);
--            println!("cargo:rustc-link-search=native={}", env::var("OUT_DIR").unwrap());
+-        if target.contains("x86_64-fortanix-unknown-sgx") || target_env == "musl" {
+-            // use the same GCC C compiler command to compile C++ code so we do not need to setup the
+-            // C++ compiler env variables on the builders.
+-            // Don't set this for clang++, as clang++ is able to compile this without libc++.
+-            if cpp_cfg.get_compiler().is_like_gnu() {
+-                cpp_cfg.cpp(false);
+-            }
 -        }
 -
-         cfg.compile("unwind");
+         for cfg in [&mut cc_cfg, &mut cpp_cfg].iter_mut() {
+             cfg.warnings(false);
+             cfg.flag("-fstrict-aliasing");
+diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
+index eaeec72fbb5..4cc721031a3 100644
+--- a/library/unwind/src/lib.rs
++++ b/library/unwind/src/lib.rs
+@@ -48,7 +48,7 @@
+         #[link(name = "unwind", cfg(not(target_feature = "crt-static")))]
+         extern "C" {}
+     } else {
+-        #[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
++        #[link(name = "gcc_eh", cfg(target_feature = "crt-static"))]
+         #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
+         extern "C" {}
      }
- }
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch b/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
deleted file mode 100644
index 06f57aaec5cf..000000000000
--- a/srcpkgs/rust/patches/xxx-ppcle-ccrs.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dc1de5be2b7908adb493b36f5079064083ed9507 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sat, 3 Jul 2021 19:00:46 +0200
-Subject: [PATCH 1/2] cc-1.0.60: fix powerpcle being matched as as msvc
-
----
- vendor/cc-1.0.60/src/lib.rs | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/vendor/cc-1.0.60/src/lib.rs b/vendor/cc-1.0.60/src/lib.rs
-index aff6be86..f428ecbb 100644
---- a/vendor/cc-1.0.60/src/lib.rs
-+++ b/vendor/cc-1.0.60/src/lib.rs
-@@ -2556,11 +2556,7 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang-cl") {
-                 ToolFamily::Msvc { clang_cl: true }
--            } else if fname.contains("cl")
--                && !fname.contains("cloudabi")
--                && !fname.contains("uclibc")
--                && !fname.contains("clang")
--            {
-+            } else if fname.ends_with("cl") || fname == "cl.exe" {
-                 ToolFamily::Msvc { clang_cl: false }
-             } else if fname.contains("clang") {
-                 match clang_driver {
--- 
-2.31.1
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle-gcc.patch b/srcpkgs/rust/patches/xxx-ppcle-gcc.patch
deleted file mode 100644
index b4150fcd8269..000000000000
--- a/srcpkgs/rust/patches/xxx-ppcle-gcc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From bf983e79364d2d1c4a22857fadae8fcdc6646ef3 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sun, 4 Jul 2021 02:17:26 +0200
-Subject: [PATCH] gcc: fix powerpcle being matched as msvc
-
----
- vendor/gcc/src/lib.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/vendor/gcc/src/lib.rs b/vendor/gcc/src/lib.rs
-index 7980281f..05787ceb 100644
---- a/vendor/gcc/src/lib.rs
-+++ b/vendor/gcc/src/lib.rs
-@@ -1549,7 +1549,7 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang") {
-                 ToolFamily::Clang
--            } else if fname.contains("cl") && !fname.contains("uclibc") {
-+            } else if fname.ends_with("cl") || fname == "cl.exe" {
-                 ToolFamily::Msvc
-             } else {
-                 ToolFamily::Gnu
--- 
-2.31.1
-
diff --git a/srcpkgs/rust/patches/xxx-ppcle.patch b/srcpkgs/rust/patches/xxx-ppcle.patch
index ab5c0c56c925..9473e7ad98f3 100644
--- a/srcpkgs/rust/patches/xxx-ppcle.patch
+++ b/srcpkgs/rust/patches/xxx-ppcle.patch
@@ -30,11 +30,7 @@ Subject: [PATCH] initial ppcle port
  src/test/ui/target-feature/gate.rs                |  1 +
  src/test/ui/target-feature/invalid-attribute.rs   |  1 +
  src/tools/compiletest/src/util.rs                 |  1 +
- vendor/cc-1.0.60/src/lib.rs                       |  1 +
  vendor/cc/src/lib.rs                              |  1 +
- vendor/gcc/src/lib.rs                             |  3 ++-
- vendor/jemallocator/benches/roundtrip.rs          |  3 ++-
- vendor/jemallocator/src/lib.rs                    |  3 ++-
  vendor/rustc-ap-rustc_target/src/spec/mod.rs      |  2 ++
  .../src/spec/powerpcle_unknown_linux_gnu.rs       | 15 +++++++++++++++
  .../src/spec/powerpcle_unknown_linux_musl.rs      | 15 +++++++++++++++
@@ -57,9 +53,9 @@ index c2e9dba6..8147a3c3 100644
              target.os == "linux" && target.arch == "powerpc" && target_env_gnu_like;
 +        let linux_powerpcle_gnu_like =
 +            target.os == "linux" && target.arch == "powerpcle" && target_env_gnu_like;
+         use SpecAbi::*;
          let rust_abi = matches!(sig.abi, RustIntrinsic | PlatformIntrinsic | Rust | RustCall);
  
-         // Handle safe Rust thin and fat pointers.
 @@ -2850,7 +2852,8 @@ where
                      || (!win_x64_gnu
                          && !linux_s390x_gnu_like
@@ -394,18 +390,6 @@ index 7dbd7094..08c9de3c 100644
      ("powerpc64", "powerpc64"),
      ("powerpc64le", "powerpc64"),
      ("riscv64gc", "riscv64"),
-diff --git a/vendor/cc-1.0.60/src/lib.rs b/vendor/cc-1.0.60/src/lib.rs
-index f428ecbb..841e459a 100644
---- a/vendor/cc-1.0.60/src/lib.rs
-+++ b/vendor/cc-1.0.60/src/lib.rs
-@@ -2302,6 +2302,7 @@ impl Build {
-             "mipsisa64r6-unknown-linux-gnuabi64" => Some("mipsisa64r6-linux-gnuabi64"),
-             "mipsisa64r6el-unknown-linux-gnuabi64" => Some("mipsisa64r6el-linux-gnuabi64"),
-             "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+            "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-             "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
-             "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
-             "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
 diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
 index 5051b296..286c2fb7 100644
 --- a/vendor/cc/src/lib.rs
@@ -418,48 +402,6 @@ index 5051b296..286c2fb7 100644
              "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
              "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
              "riscv32i-unknown-none-elf" => self.find_working_gnu_prefix(&[
-diff --git a/vendor/gcc/src/lib.rs b/vendor/gcc/src/lib.rs
-index 1fe73012..7980281f 100644
---- a/vendor/gcc/src/lib.rs
-+++ b/vendor/gcc/src/lib.rs
-@@ -1367,7 +1367,8 @@ impl Build {
-                         "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
-                         "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-                         "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
--                        "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+                        "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-+                        "powerpc64-unknown-linux-gnu" => Some("powerpc64-linux-gnu"),
-                         "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
-                         "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
-                         "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
-diff --git a/vendor/jemallocator/benches/roundtrip.rs b/vendor/jemallocator/benches/roundtrip.rs
-index eddbb6bb..db81596b 100644
---- a/vendor/jemallocator/benches/roundtrip.rs
-+++ b/vendor/jemallocator/benches/roundtrip.rs
-@@ -26,7 +26,8 @@ static A: Jemalloc = Jemalloc;
-     target_arch = "arm",
-     target_arch = "mips",
-     target_arch = "mipsel",
--    target_arch = "powerpc"
-+    target_arch = "powerpc",
-+    target_arch = "powerpcle"
- )))]
- const MIN_ALIGN: usize = 8;
- #[cfg(all(any(
-diff --git a/vendor/jemallocator/src/lib.rs b/vendor/jemallocator/src/lib.rs
-index f0a3692d..43889c55 100644
---- a/vendor/jemallocator/src/lib.rs
-+++ b/vendor/jemallocator/src/lib.rs
-@@ -37,7 +37,8 @@ use libc::{c_int, c_void};
-     target_arch = "arm",
-     target_arch = "mips",
-     target_arch = "mipsel",
--    target_arch = "powerpc"
-+    target_arch = "powerpc",
-+    target_arch = "powerpcle"
- )))]
- const MIN_ALIGN: usize = 8;
- #[cfg(all(any(
 diff --git a/vendor/rustc-ap-rustc_target/src/spec/mod.rs b/vendor/rustc-ap-rustc_target/src/spec/mod.rs
 index 2af46693..986d84e0 100644
 --- a/vendor/rustc-ap-rustc_target/src/spec/mod.rs
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index f31ea7b87b81..dea0d893f041 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -8,7 +8,7 @@
 # uploaded to https://alpha.de.repo.voidlinux.org/distfiles/
 #
 pkgname=rust
-version=1.53.0
+version=1.54.0
 revision=1
 _rust_dist_version=1.53.0
 wrksrc="rustc-${version}-src"
@@ -20,7 +20,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT, Apache-2.0"
 homepage="https://www.rust-lang.org/"
 distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"
-checksum=5cf7ca39a10f6bf4e0b0bd15e3b9a61ce721f301e12d148262e5ba968ab825b9
+checksum=ac8511633e9b5a65ad030a1a2e5bdaa841fdfe3132f2baaa52cc04e71c6c6976
 lib32disabled=yes
 
 build_options="bindist"
@@ -189,10 +189,7 @@ post_patch() {
 	# clear out all the checksum nonsense of patched vendor crates
 	_clear_vendor_checksums libc
 	_clear_vendor_checksums typenum
-	_clear_vendor_checksums cc-1.0.60
-	_clear_vendor_checksums gcc
 	_clear_vendor_checksums cc
-	_clear_vendor_checksums jemallocator
 	_clear_vendor_checksums rustc-ap-rustc_target
 	_clear_vendor_checksums target-lexicon
 	_clear_vendor_checksums tikv-jemallocator

From dd0ed9238cb5467c6102dc6577377d4e9834a3e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Tue, 17 Aug 2021 18:02:46 -0300
Subject: [PATCH 2/2] cargo: update to 0.55.0.

---
 srcpkgs/cargo/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/cargo/template b/srcpkgs/cargo/template
index 075646348d9f..77b804d61249 100644
--- a/srcpkgs/cargo/template
+++ b/srcpkgs/cargo/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo'
 pkgname=cargo
-version=0.54.0
+version=0.55.0
 revision=1
 wrksrc="cargo-${version}"
 build_helper=rust
@@ -13,7 +13,7 @@ license="MIT, Apache-2.0"
 homepage="https://crates.io/"
 distfiles="https://github.com/rust-lang/cargo/archive/${version}.tar.gz
  https://github.com/crossbeam-rs/crossbeam/archive/refs/tags/crossbeam-utils-0.8.5.tar.gz"
-checksum="4627e7eb0be3150d878ed695a1ef874885ff84325019499af61f5e3ade410d4b
+checksum="dd4cf593aee4114b73234d36e9899784c1fa037b266a29ad9de3e9d4a928b577
  57db07eb38b0aaf7951c79b4639819cb84bc4269507091afea7267e10a54e079"
 replaces="cargo-tree>=0"
 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (4 preceding siblings ...)
  2021-08-19  5:31 ` ericonr
@ 2021-09-17 14:18 ` ram02z
  2021-09-17 23:01 ` cinerea0
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ram02z @ 2021-09-17 14:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 223 bytes --]

New comment by ram02z on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-921835111

Comment:
Rust packages that have bumped the `clap` crate to v3.0.0-beta4 require Rust 1.54.0

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (5 preceding siblings ...)
  2021-09-17 14:18 ` ram02z
@ 2021-09-17 23:01 ` cinerea0
  2021-10-04  1:53 ` uninhm
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-09-17 23:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 190 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-922124447

Comment:
Also, the current stable Rust version is 1.55.0.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (6 preceding siblings ...)
  2021-09-17 23:01 ` cinerea0
@ 2021-10-04  1:53 ` uninhm
  2021-10-14 17:51 ` cinerea0
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: uninhm @ 2021-10-04  1:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 182 bytes --]

New comment by uninhm on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-933083512

Comment:
I need this to update the Kooha package :)

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (7 preceding siblings ...)
  2021-10-04  1:53 ` uninhm
@ 2021-10-14 17:51 ` cinerea0
  2021-10-21 17:49 ` cinerea0
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-10-14 17:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 215 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
`dua-cli` and `nushell` also require a newer rust for them to be updated.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (8 preceding siblings ...)
  2021-10-14 17:51 ` cinerea0
@ 2021-10-21 17:49 ` cinerea0
  2021-10-21 17:57 ` cinerea0
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-10-21 17:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 190 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-922124447

Comment:
Also, the current stable Rust version is 1.56.0.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (9 preceding siblings ...)
  2021-10-21 17:49 ` cinerea0
@ 2021-10-21 17:57 ` cinerea0
  2021-10-22  1:38 ` cinerea0
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-10-21 17:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 226 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
Other packages I've found that require a newer rust:
* dua-cli
* nushell
* zoxide

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (10 preceding siblings ...)
  2021-10-21 17:57 ` cinerea0
@ 2021-10-22  1:38 ` cinerea0
  2021-10-30  5:14 ` cinerea0
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-10-22  1:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 235 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
Other packages I've found that require a newer rust:
* dua-cli
* nushell
* pueue
* zoxide

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (11 preceding siblings ...)
  2021-10-22  1:38 ` cinerea0
@ 2021-10-30  5:14 ` cinerea0
  2021-11-01  5:39 ` cinerea0
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-10-30  5:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
Other packages I've found that require a newer rust:
* dua-cli
* nushell
* pueue
* rdedup
* zoxide

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (12 preceding siblings ...)
  2021-10-30  5:14 ` cinerea0
@ 2021-11-01  5:39 ` cinerea0
  2021-11-02  5:27 ` ericonr
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-11-01  5:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-955948558

Comment:
Versions of Rust up to and including 1.56.0 have apparently been affected by [a CVE dealing with "bidirectional override" unicode codepoints](https://blog.rust-lang.org/2021/11/01/cve-2021-42574.html). As such, this PR should target version 1.56.1, which includes compiler warnings to stop people from triggering the vulnerability.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (13 preceding siblings ...)
  2021-11-01  5:39 ` cinerea0
@ 2021-11-02  5:27 ` ericonr
  2021-11-04  3:59 ` cinerea0
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ericonr @ 2021-11-02  5:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 301 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-957112778

Comment:
@cinerea0 that's fortunately mostly irrelevant as far as the compiler goes, just feels like them jumping the gun so they can be the first to claim protection...

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (14 preceding siblings ...)
  2021-11-02  5:27 ` ericonr
@ 2021-11-04  3:59 ` cinerea0
  2021-11-11  2:26 ` cinerea0
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-11-04  3:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 254 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
Other packages I've found that require a newer rust:
* broot
* dua-cli
* nushell
* pueue
* rdedup
* zoxide

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (15 preceding siblings ...)
  2021-11-04  3:59 ` cinerea0
@ 2021-11-11  2:26 ` cinerea0
  2021-11-14  8:04 ` kartikynwa
  2021-11-23 23:29 ` cinerea0
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-11-11  2:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
Other packages I've found that require a newer rust:
* broot
* dua-cli
* nushell
* pueue
* rdedup
* starship
* zoxide

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (16 preceding siblings ...)
  2021-11-11  2:26 ` cinerea0
@ 2021-11-14  8:04 ` kartikynwa
  2021-11-23 23:29 ` cinerea0
  18 siblings, 0 replies; 20+ messages in thread
From: kartikynwa @ 2021-11-14  8:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 272 bytes --]

New comment by kartikynwa on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-968243229

Comment:
Maybe someone could ask the people from Alpine for help. Their edge repositories are using version 1.56.0-rc{something} of rust.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [WIP] Rust 1.54.0
  2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
                   ` (17 preceding siblings ...)
  2021-11-14  8:04 ` kartikynwa
@ 2021-11-23 23:29 ` cinerea0
  18 siblings, 0 replies; 20+ messages in thread
From: cinerea0 @ 2021-11-23 23:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

New comment by cinerea0 on void-packages repository

https://github.com/void-linux/void-packages/pull/32555#issuecomment-943585097

Comment:
Other packages I've found that require a newer rust:
* broot
* dua-cli
* fselect
* nushell
* pueue
* rdedup
* starship
* zoxide

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-11-23 23:29 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-17 21:13 [PR PATCH] [WIP] Rust 1.54.0 ericonr
2021-08-18  1:18 ` ericonr
2021-08-18 21:54 ` ifreund
2021-08-18 21:54 ` ifreund
2021-08-19  2:47 ` [PR PATCH] [Updated] " ericonr
2021-08-19  5:31 ` ericonr
2021-09-17 14:18 ` ram02z
2021-09-17 23:01 ` cinerea0
2021-10-04  1:53 ` uninhm
2021-10-14 17:51 ` cinerea0
2021-10-21 17:49 ` cinerea0
2021-10-21 17:57 ` cinerea0
2021-10-22  1:38 ` cinerea0
2021-10-30  5:14 ` cinerea0
2021-11-01  5:39 ` cinerea0
2021-11-02  5:27 ` ericonr
2021-11-04  3:59 ` cinerea0
2021-11-11  2:26 ` cinerea0
2021-11-14  8:04 ` kartikynwa
2021-11-23 23:29 ` cinerea0

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).