Github messages for voidlinux
 help / color / mirror / Atom feed
From: tranzystorek-io <tranzystorek-io@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [WIP] Rust 1.68
Date: Sat, 01 Apr 2023 09:41:55 +0200	[thread overview]
Message-ID: <20230401074155.pL9WVBTOKw0K-1gwicNIg3MI3pMvi0QUyrIc8smANKE@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-42130@inbox.vuxu.org>

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

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

https://github.com/tranzystorek-io/void-packages rust
https://github.com/void-linux/void-packages/pull/42130

[WIP] Rust 1.68
[ci skip]

TODO:

- [x] ~~Generate boostrap packages for ppc~~ dropped support

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- 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
-->


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

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

From a246760b3fb65c9fb58d5ec02666437b0f55ba2e Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Sun, 5 Feb 2023 14:04:51 +0100
Subject: [PATCH 1/4] rust-bootstrap: update to 1.68.2

---
 .../files/generating-distfiles.md             |  3 ++
 srcpkgs/rust-bootstrap/template               | 49 +++----------------
 2 files changed, 11 insertions(+), 41 deletions(-)

diff --git a/srcpkgs/rust-bootstrap/files/generating-distfiles.md b/srcpkgs/rust-bootstrap/files/generating-distfiles.md
index ed5aa0da8596..36ee0ad230f2 100644
--- a/srcpkgs/rust-bootstrap/files/generating-distfiles.md
+++ b/srcpkgs/rust-bootstrap/files/generating-distfiles.md
@@ -6,6 +6,9 @@ so we have to generate distfiles for a few architectures as well, namely
 `cargo-bootstrap`, as the `ppc` cargo binaries provided by upstream have
 problems.
 
+Note: Void no longer officially supports PowerPC platforms,
+this guide is kept for historical reasons as well as for future reference.
+
 ### Set up appropriate masterdirs and remote-repositories
 
 This guide assumes you're on an x86\_64 machine. If you're not, please adapt the
diff --git a/srcpkgs/rust-bootstrap/template b/srcpkgs/rust-bootstrap/template
index 539a4097ef3c..3fc847d860a9 100644
--- a/srcpkgs/rust-bootstrap/template
+++ b/srcpkgs/rust-bootstrap/template
@@ -1,8 +1,7 @@
 # Template file for 'rust-bootstrap'
 pkgname=rust-bootstrap
-version=1.64.0
+version=1.68.2
 revision=1
-create_wrksrc=yes
 short_desc="Rust programming language bootstrap toolchain"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT, Apache-2.0"
@@ -19,7 +18,7 @@ fi
 _bootstrap_url="https://static.rust-lang.org/dist"
 
 case "$XBPS_TARGET_MACHINE" in
-	x86_64*|i686|ppc64le|ppc) ;;
+	x86_64*|i686) ;;
 	# See srcpkgs/rust-bootstrap/files/generating-distfiles.md for details
 	*) _bootstrap_url="https://repo-default.voidlinux.org/distfiles";;
 esac
@@ -32,56 +31,24 @@ case "$XBPS_TARGET_MACHINE" in
 		 ${_bootstrap_url}/rustc-${version}-i686-unknown-linux-gnu.tar.xz
 		 ${_bootstrap_url}/rust-std-${version}-i686-unknown-linux-gnu.tar.xz"
 		checksum="
-		 3d604e150c469461a64c17b6d26f96a5a3d6975246c92cd13ee9bc6e4df0aaeb
-		 c80c57df63517d6171c061e6c095b794593172a3abefa9b4202992706bda12e5"
+		 dc533e7d0f0349d92a98973e20b99d69b09a25b8675f28a38fa26b0160615fd4
+		 695d4469c131b9993c939db0ce73a3866ab8e69dd657ec3137f3d594857f7812"
 		;;
 	x86_64)
 		distfiles="
 		 ${_bootstrap_url}/rustc-${version}-x86_64-unknown-linux-gnu.tar.xz
 		 ${_bootstrap_url}/rust-std-${version}-x86_64-unknown-linux-gnu.tar.xz"
 		checksum="
-		 1f5756a03119853b53358018c5b1592940a2354c3c9f84ee7faf684e3478f8f0
-		 6ace34bcbba9557aa2fc3a0515c3da4a83ca24d7d45506c5e1b32f589fa38a8b"
+		 d33d493381dd17a4b491d0e978cdb6700badb5905e831dd5f7fe75ffbf8e0584
+		 c8a3eaf26b83f1926d86b4db99ca16cbbff8e746e4c63f25f4d75a02a34a3b16"
 		;;
 	x86_64-musl)
 		distfiles="
 		 ${_bootstrap_url}/rustc-${version}-x86_64-unknown-linux-musl.tar.xz
 		 ${_bootstrap_url}/rust-std-${version}-x86_64-unknown-linux-musl.tar.xz"
 		checksum="
-		 5177d749b5dcc74596e314b73c5f3f3eabed8b3e207f812f229fbf0682c162ae
-		 29af13a882abbe797fadd43afcb75bce2e2304438db9e21a3e64a2e9100501fb"
-		;;
-	ppc64le)
-		distfiles="
-		 ${_bootstrap_url}/rustc-${version}-powerpc64le-unknown-linux-gnu.tar.xz
-		 ${_bootstrap_url}/rust-std-${version}-powerpc64le-unknown-linux-gnu.tar.xz"
-		checksum="
-		 11630fc51fffe722e52f649357b5948c24b5305cfb61a8114527234e054451c4
-		 ef697469b2a3ea8897f49b70e3be0c7aaca3f26fd3234812113e2e85cafac738"
-		;;
-	ppc64le-musl)
-		distfiles="
-		 ${_bootstrap_url}/rustc-${version}-powerpc64le-unknown-linux-musl.tar.xz
-		 ${_bootstrap_url}/rust-std-${version}-powerpc64le-unknown-linux-musl.tar.xz"
-		checksum="
-		 9ae19e0cdb883aa67dc3e4ef7afca88f99c8c5d176ed9175e2f7652122c7d1d8
-		 825b8f680d9e6e3d6b1451586bb09efb0c1f7d844d6874738e040cf3d6b20663"
-		;;
-	ppc64)
-		distfiles="
-		 ${_bootstrap_url}/rustc-${version}-powerpc64-unknown-linux-gnu.tar.xz
-		 ${_bootstrap_url}/rust-std-${version}-powerpc64-unknown-linux-gnu.tar.xz"
-		checksum="
-		 aae6418c71986a7f4ab7c7ab66d4f97531f0bdab50f14985c9403e2cff443de7
-		 96485965f0a2dec274679cafbe4d39bd9e7c728824a6c5504f164ec9d5f57384"
-		;;
-	ppc)
-		distfiles="
-		 ${_bootstrap_url}/rustc-${version}-powerpc-unknown-linux-gnu.tar.xz
-		 ${_bootstrap_url}/rust-std-${version}-powerpc-unknown-linux-gnu.tar.xz"
-		checksum="
-		 5f4de96bff2937fc0a64a216604c7af765af94460a1f283330eddc610d91271b
-		 6b29ebec4cd705760db634717cf6df68a9a377d52c25def30f5a2e2641a83279"
+		 9308f27bda32a02b1debe5fcc5ee633a234652037687c46f4e57d9dc29f90b3e
+		 6c2a91e60f4be6538fdb0e4ff0344038f282c23808ca018f526ec586f4ba43ab"
 		;;
 	*) broken="rust bootstrap binaries unavailable for ${XBPS_TARGET_MACHINE}";;
 esac

From 663b6153100304d3dc27aa28ab229882de1bd58b Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Sun, 5 Feb 2023 14:06:47 +0100
Subject: [PATCH 2/4] cargo-bootstrap: update to 1.68.2

---
 srcpkgs/cargo-bootstrap/template | 26 +++++---------------------
 1 file changed, 5 insertions(+), 21 deletions(-)

diff --git a/srcpkgs/cargo-bootstrap/template b/srcpkgs/cargo-bootstrap/template
index 9da646a63ade..51b76b9c1aba 100644
--- a/srcpkgs/cargo-bootstrap/template
+++ b/srcpkgs/cargo-bootstrap/template
@@ -1,6 +1,6 @@
 # Template file for 'cargo-bootstrap'
 pkgname=cargo-bootstrap
-version=1.64.0
+version=1.68.2
 revision=1
 short_desc="Bootstrap binaries of Rust package manager"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -18,7 +18,7 @@ _bootstrap_url="https://static.rust-lang.org/dist"
 # updating the crates.io index)
 # ppc64 is excluded because of ABI incompatibility
 case "$XBPS_TARGET_MACHINE" in
-	x86_64*|i686|ppc64le) ;;
+	x86_64*|i686) ;;
 	# See srcpkgs/rust-bootstrap/files/generating-distfiles.md for details
 	*) _bootstrap_url="https://repo-default.voidlinux.org/distfiles" ;;
 esac
@@ -28,31 +28,15 @@ esac
 case "$XBPS_TARGET_MACHINE" in
 	i686)
 		distfiles="${_bootstrap_url}/cargo-${version}-i686-unknown-linux-gnu.tar.xz"
-		checksum="e2e20a16f5db52cd6b773c94225b03880743544ff2f317dd857cf0dceac6ab57"
+		checksum="aeee38c0cd35b531d9f00028f720358256e9f3b80b176467c6afc033a16c92aa"
 		;;
 	x86_64)
 		distfiles="${_bootstrap_url}/cargo-${version}-x86_64-unknown-linux-gnu.tar.xz"
-		checksum="21434d83a30ad3fa4e4831487c5574a20b07dd57d213b26e1246290c57d4ec41"
+		checksum="b25d6f88b93cb75868ff4bc9ca0103facd4622825cf53df67546cea6cb60da0f"
 		;;
 	x86_64-musl)
 		distfiles="${_bootstrap_url}/cargo-${version}-x86_64-unknown-linux-musl.tar.xz"
-		checksum="01d06176fd894b9299ed4f5b78e87d78a9a25b9ba803d3f8c50b7a4ea21d8807"
-		;;
-	ppc64le)
-		distfiles="${_bootstrap_url}/cargo-${version}-powerpc64le-unknown-linux-gnu.tar.xz"
-		checksum="ba7188b2c7890e61bf58d3aa9e94c323fec375f67cf03841bbcc0f6c800fe6ad"
-		;;
-	ppc64le-musl)
-		distfiles="${_bootstrap_url}/cargo-${version}-powerpc64le-unknown-linux-musl.tar.xz"
-		checksum="1b54ab4793ac6c9c43ee9ee45677f403a9bba9c6610e8838c96ec194bcb4f261"
-		;;
-	ppc64)
-		distfiles="${_bootstrap_url}/cargo-${version}-powerpc64-unknown-linux-gnu.tar.xz"
-		checksum="96ce39dac948333b8321d2bc3ac70982879b185d69267f3d580df3f9c662dd0d"
-		;;
-	ppc)
-		distfiles="${_bootstrap_url}/cargo-${version}-powerpc-unknown-linux-gnu.tar.xz"
-		checksum="c7aa415b64b046626003fcafc76da90373adc8fc748f065fa8385dc19d3b3a2a"
+		checksum="3427b766797da0a1065a84b074b93a309763ca5b94575d0f8b70b1f4e50c159e"
 		;;
 	*) broken="cargo bootstrap binaries unavailable for ${XBPS_TARGET_MACHINE}";;
 esac

From 5a7b17b066e600089181e8de4198434368c163f9 Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Sun, 5 Feb 2023 14:11:22 +0100
Subject: [PATCH 3/4] rust: update to 1.68.2

---
 ...dlib-and-musl_root-from-musl-targets.patch |  93 ++---
 ...e-ELFv2-ABI-on-all-powerpc64-targets.patch |  41 +-
 ...le-initial-exec-TLS-model-on-powerpc.patch |  19 +-
 .../patches/0015-initial-ppcle-port.patch     | 379 ------------------
 srcpkgs/rust/template                         |   8 +-
 5 files changed, 44 insertions(+), 496 deletions(-)
 delete mode 100644 srcpkgs/rust/patches/0015-initial-ppcle-port.patch

diff --git a/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch b/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch
index c156945b8111..c84c1c4f483d 100644
--- a/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch
+++ b/srcpkgs/rust/patches/0002-Remove-nostdlib-and-musl_root-from-musl-targets.patch
@@ -1,30 +1,12 @@
-From 7219ba1c9accbad9b530d312fd9a9f69330c93da Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 3 May 2020 17:53:33 +0200
-Subject: [PATCH 02/15] Remove -nostdlib and musl_root from musl targets
-
-extended by various void contributors to match our musl setup
----
- compiler/rustc_target/src/spec/crt_objects.rs | 22 ----------
- .../rustc_target/src/spec/linux_musl_base.rs  |  7 ---
- config.toml.example                           |  8 ----
- src/bootstrap/cc_detect.rs                    | 25 +----------
- src/bootstrap/compile.rs                      | 43 +------------------
- src/bootstrap/config.rs                       |  9 ----
- src/bootstrap/configure.py                    | 28 ------------
- src/bootstrap/lib.rs                          | 19 --------
- src/bootstrap/sanity.rs                       | 23 ----------
- 9 files changed, 3 insertions(+), 181 deletions(-)
-
 diff --git a/compiler/rustc_target/src/spec/crt_objects.rs b/compiler/rustc_target/src/spec/crt_objects.rs
-index 52ac3622e..f35e5b9d8 100644
+index c126390f5..7aef73d3b 100644
 --- a/compiler/rustc_target/src/spec/crt_objects.rs
 +++ b/compiler/rustc_target/src/spec/crt_objects.rs
 @@ -63,28 +63,6 @@ pub(super) fn all(obj: &'static str) -> CrtObjects {
      ])
  }
  
--pub(super) fn pre_musl_fallback() -> CrtObjects {
+-pub(super) fn pre_musl_self_contained() -> CrtObjects {
 -    new(&[
 -        (LinkOutputKind::DynamicNoPicExe, &["crt1.o", "crti.o", "crtbegin.o"]),
 -        (LinkOutputKind::DynamicPicExe, &["Scrt1.o", "crti.o", "crtbeginS.o"]),
@@ -35,7 +17,7 @@ index 52ac3622e..f35e5b9d8 100644
 -    ])
 -}
 -
--pub(super) fn post_musl_fallback() -> CrtObjects {
+-pub(super) fn post_musl_self_contained() -> CrtObjects {
 -    new(&[
 -        (LinkOutputKind::DynamicNoPicExe, &["crtend.o", "crtn.o"]),
 -        (LinkOutputKind::DynamicPicExe, &["crtendS.o", "crtn.o"]),
@@ -46,24 +28,24 @@ index 52ac3622e..f35e5b9d8 100644
 -    ])
 -}
 -
- pub(super) fn pre_mingw_fallback() -> CrtObjects {
+ pub(super) fn pre_mingw_self_contained() -> CrtObjects {
      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 207a87ab0..88f807a58 100644
+index 61553e71b..88f807a58 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 @@
--use crate::spec::crt_objects::{self, CrtObjectsFallback};
+-use crate::spec::crt_objects::{self, LinkSelfContainedDefault};
  use crate::spec::TargetOptions;
  
  pub fn opts() -> TargetOptions {
      let mut base = super::linux_base::opts();
  
      base.env = "musl".into();
--    base.pre_link_objects_fallback = crt_objects::pre_musl_fallback();
--    base.post_link_objects_fallback = crt_objects::post_musl_fallback();
--    base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
+-    base.pre_link_objects_self_contained = crt_objects::pre_musl_self_contained();
+-    base.post_link_objects_self_contained = crt_objects::post_musl_self_contained();
+-    base.link_self_contained = LinkSelfContainedDefault::Musl;
 -
 -    // These targets statically link libc by default
 -    base.crt_static_default = true;
@@ -71,11 +53,11 @@ index 207a87ab0..88f807a58 100644
      base
  }
 diff --git a/config.toml.example b/config.toml.example
-index b3284050f..62ac07f87 100644
+index ca54cbd2d..beec9bb04 100644
 --- a/config.toml.example
 +++ b/config.toml.example
-@@ -523,14 +523,6 @@ changelog-seen = 2
- # supplementary build information, like distro-specific package versions.
+@@ -540,14 +540,6 @@ changelog-seen = 2
+ # behavior -- this may lead to miscompilations or other bugs.
  #description = <none> (string)
  
 -# The root location of the musl installation directory. The library directory
@@ -90,10 +72,10 @@ index b3284050f..62ac07f87 100644
  # platforms to ensure that the compiler is usable by default from the build
  # directory (as it links to a number of dynamic libraries). This may not be
 diff --git a/src/bootstrap/cc_detect.rs b/src/bootstrap/cc_detect.rs
-index dca782c29..8eb35ea43 100644
+index 7128d542a..668245f3c 100644
 --- a/src/bootstrap/cc_detect.rs
 +++ b/src/bootstrap/cc_detect.rs
-@@ -97,7 +97,7 @@ pub fn find(build: &mut Build) {
+@@ -101,7 +101,7 @@ pub fn find(build: &mut Build) {
          if let Some(cc) = config.and_then(|c| c.cc.as_ref()) {
              cfg.compiler(cc);
          } else {
@@ -102,7 +84,7 @@ index dca782c29..8eb35ea43 100644
          }
  
          let compiler = cfg.get_compiler();
-@@ -125,7 +125,7 @@ pub fn find(build: &mut Build) {
+@@ -122,7 +122,7 @@ pub fn find(build: &mut Build) {
              cfg.compiler(cxx);
              true
          } else if build.hosts.contains(&target) || build.build == target {
@@ -111,7 +93,7 @@ index dca782c29..8eb35ea43 100644
              true
          } else {
              // Use an auto-detected compiler (or one configured via `CXX_target_triple` env vars).
-@@ -161,7 +161,6 @@ fn set_compiler(
+@@ -158,7 +158,6 @@ fn set_compiler(
      compiler: Language,
      target: TargetSelection,
      config: Option<&Target>,
@@ -119,7 +101,7 @@ index dca782c29..8eb35ea43 100644
  ) {
      match &*target.triple {
          // When compiling for android we may have the NDK configured in the
-@@ -204,26 +203,6 @@ fn set_compiler(
+@@ -194,26 +193,6 @@ fn set_compiler(
              }
          }
  
@@ -147,10 +129,10 @@ index dca782c29..8eb35ea43 100644
      }
  }
 diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index b4807d1ab..ce483bf6b 100644
+index 0deed3f99..0bddac5d1 100644
 --- a/src/bootstrap/compile.rs
 +++ b/src/bootstrap/compile.rs
-@@ -200,39 +200,7 @@ fn copy_self_contained_objects(
+@@ -228,39 +228,7 @@ fn copy_self_contained_objects(
      let mut target_deps = vec![];
  
      // Copies the libc and CRT objects.
@@ -191,7 +173,7 @@ index b4807d1ab..ce483bf6b 100644
          let srcdir = builder
              .wasi_root(target)
              .unwrap_or_else(|| {
-@@ -316,15 +284,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
+@@ -344,15 +312,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
              .arg("--manifest-path")
              .arg(builder.src.join("library/test/Cargo.toml"));
  
@@ -208,10 +190,10 @@ index b4807d1ab..ce483bf6b 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 146077419..18a764689 100644
+index d8c15c76e..53f95e49b 100644
 --- a/src/bootstrap/config.rs
 +++ b/src/bootstrap/config.rs
-@@ -186,7 +186,6 @@ pub struct Config {
+@@ -200,7 +200,6 @@ pub struct Config {
      pub missing_tools: bool,
  
      // Fallback musl-root for all targets
@@ -219,7 +201,7 @@ index 146077419..18a764689 100644
      pub prefix: Option<PathBuf>,
      pub sysconfdir: Option<PathBuf>,
      pub datadir: Option<PathBuf>,
-@@ -400,8 +399,6 @@ pub struct Target {
+@@ -440,8 +439,6 @@ pub struct Target {
      pub sanitizers: Option<bool>,
      pub profiler: Option<bool>,
      pub crt_static: Option<bool>,
@@ -228,7 +210,7 @@ index 146077419..18a764689 100644
      pub wasi_root: Option<PathBuf>,
      pub qemu_rootfs: Option<PathBuf>,
      pub no_std: bool,
-@@ -689,7 +686,6 @@ define_config! {
+@@ -734,7 +731,6 @@ define_config! {
          default_linker: Option<String> = "default-linker",
          channel: Option<String> = "channel",
          description: Option<String> = "description",
@@ -236,7 +218,7 @@ index 146077419..18a764689 100644
          rpath: Option<bool> = "rpath",
          verbose_tests: Option<bool> = "verbose-tests",
          optimize_tests: Option<bool> = "optimize-tests",
-@@ -734,8 +730,6 @@ define_config! {
+@@ -781,8 +777,6 @@ define_config! {
          sanitizers: Option<bool> = "sanitizers",
          profiler: Option<bool> = "profiler",
          crt_static: Option<bool> = "crt-static",
@@ -245,7 +227,7 @@ index 146077419..18a764689 100644
          wasi_root: Option<String> = "wasi-root",
          qemu_rootfs: Option<String> = "qemu-rootfs",
          no_std: Option<bool> = "no-std",
-@@ -1107,7 +1101,6 @@ impl Config {
+@@ -1187,7 +1181,6 @@ impl 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;
@@ -253,7 +235,7 @@ index 146077419..18a764689 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);
-@@ -1164,8 +1157,6 @@ impl Config {
+@@ -1251,8 +1244,6 @@ impl Config {
                  target.ranlib = cfg.ranlib.map(PathBuf::from);
                  target.linker = cfg.linker.map(PathBuf::from);
                  target.crt_static = cfg.crt_static;
@@ -263,10 +245,10 @@ index 146077419..18a764689 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 2fc036082..91737e0ea 100755
+index 6b139decb..a2e19b8f4 100755
 --- a/src/bootstrap/configure.py
 +++ b/src/bootstrap/configure.py
-@@ -114,34 +114,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
+@@ -112,34 +112,6 @@ v("aarch64-linux-android-ndk", "target.aarch64-linux-android.android-ndk",
    "aarch64-linux-android NDK standalone path")
  v("x86_64-linux-android-ndk", "target.x86_64-linux-android.android-ndk",
    "x86_64-linux-android NDK standalone path")
@@ -302,10 +284,10 @@ index 2fc036082..91737e0ea 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 b603ae90a..0a7012dbd 100644
+index 3ed534523..c7c7a75f0 100644
 --- a/src/bootstrap/lib.rs
 +++ b/src/bootstrap/lib.rs
-@@ -1153,25 +1153,6 @@ impl Build {
+@@ -1181,25 +1181,6 @@ impl Build {
          }
      }
  
@@ -332,7 +314,7 @@ index b603ae90a..0a7012dbd 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 64c5dd7ae..b8f9104ea 100644
+index 8a40b0f64..59e11d304 100644
 --- a/src/bootstrap/sanity.rs
 +++ b/src/bootstrap/sanity.rs
 @@ -11,7 +11,6 @@
@@ -343,7 +325,7 @@ index 64c5dd7ae..b8f9104ea 100644
  use std::path::PathBuf;
  use std::process::Command;
  
-@@ -190,28 +189,6 @@ than building it.
+@@ -205,28 +204,6 @@ than building it.
              }
          }
  
@@ -369,9 +351,6 @@ index 64c5dd7ae..b8f9104ea 100644
 -            }
 -        }
 -
-         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
--- 
-2.37.2
-
+         // Some environments don't want or need these tools, such as when testing Miri.
+         // FIXME: it would be better to refactor this code to split necessary setup from pure sanity
+         // checks, and have a regular flag for skipping the latter. Also see
diff --git a/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch b/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch
index 347ee613983d..3813cc0d97c7 100644
--- a/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch
+++ b/srcpkgs/rust/patches/0011-Use-ELFv2-ABI-on-all-powerpc64-targets.patch
@@ -1,19 +1,5 @@
-From de93abe8a0d9dc7878a48f61b9e3ae4a923020f6 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Sun, 3 May 2020 18:08:09 +0200
-Subject: [PATCH 11/15] Use ELFv2 ABI on all powerpc64 targets
-
-This patches librustc_target so that ELFv2 is used everywhere, matching our
-LLVM. While this is not perfect (it does not allow rustc to compile legacy
-binaries), rustc never requests specific ABI from llvm in the first place,
-so at least match the environment we have.
----
- compiler/rustc_target/src/abi/call/powerpc64.rs          | 9 +--------
- .../rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs | 6 +-----
- 2 files changed, 2 insertions(+), 13 deletions(-)
-
 diff --git a/compiler/rustc_target/src/abi/call/powerpc64.rs b/compiler/rustc_target/src/abi/call/powerpc64.rs
-index c22ef9c8f..932172b2f 100644
+index 359bb8fc0..414c70cea 100644
 --- a/compiler/rustc_target/src/abi/call/powerpc64.rs
 +++ b/compiler/rustc_target/src/abi/call/powerpc64.rs
 @@ -119,14 +119,7 @@ where
@@ -32,28 +18,3 @@ index c22ef9c8f..932172b2f 100644
  
      if !fn_abi.ret.is_ignore() {
          classify_ret(cx, &mut fn_abi.ret, abi);
-diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
-index 24d5d187e..aa594b02e 100644
---- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
-+++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
-@@ -1,5 +1,5 @@
- use crate::abi::Endian;
--use crate::spec::{LinkerFlavor, RelroLevel, Target, TargetOptions};
-+use crate::spec::{LinkerFlavor, Target, TargetOptions};
- 
- pub fn target() -> Target {
-     let mut base = super::linux_gnu_base::opts();
-@@ -7,10 +7,6 @@ pub fn target() -> Target {
-     base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m64".into());
-     base.max_atomic_width = Some(64);
- 
--    // ld.so in at least RHEL6 on ppc64 has a bug related to BIND_NOW, so only enable partial RELRO
--    // for now. https://github.com/rust-lang/rust/pull/43170#issuecomment-315411474
--    base.relro_level = RelroLevel::Partial;
--
-     Target {
-         llvm_target: "powerpc64-unknown-linux-gnu".into(),
-         pointer_width: 64,
--- 
-2.37.2
-
diff --git a/srcpkgs/rust/patches/0012-bootstrap-Disable-initial-exec-TLS-model-on-powerpc.patch b/srcpkgs/rust/patches/0012-bootstrap-Disable-initial-exec-TLS-model-on-powerpc.patch
index 7b1ba46b1f2b..1ca8871d0066 100644
--- a/srcpkgs/rust/patches/0012-bootstrap-Disable-initial-exec-TLS-model-on-powerpc.patch
+++ b/srcpkgs/rust/patches/0012-bootstrap-Disable-initial-exec-TLS-model-on-powerpc.patch
@@ -1,26 +1,13 @@
-From 4b803b211f765f6c6b18223e23670dbf754a980f Mon Sep 17 00:00:00 2001
-From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-Date: Sat, 29 May 2021 12:38:46 +0000
-Subject: [PATCH 12/15] bootstrap: Disable initial-exec TLS model on powerpc
-
-Fixes #81334.
----
- src/bootstrap/builder.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index 554dd4188..6a02a225c 100644
+index 8b144f146..acfa7cf04 100644
 --- a/src/bootstrap/builder.rs
 +++ b/src/bootstrap/builder.rs
-@@ -1844,7 +1844,7 @@ impl<'a> Builder<'a> {
+@@ -1856,7 +1856,7 @@ impl<'a> Builder<'a> {
          // efficient initial-exec TLS model. This doesn't work with `dlopen`,
          // so we can't use it by default in general, but we can use it for tools
          // and our own internal libraries.
 -        if !mode.must_support_dlopen() && !target.triple.starts_with("powerpc-") {
 +        if !mode.must_support_dlopen() && !target.triple.starts_with("powerpc-") && !target.triple.starts_with("powerpcle-") {
-             rustflags.arg("-Ztls-model=initial-exec");
+             cargo.env("RUSTC_TLS_MODEL_INITIAL_EXEC", "1");
          }
  
--- 
-2.37.2
-
diff --git a/srcpkgs/rust/patches/0015-initial-ppcle-port.patch b/srcpkgs/rust/patches/0015-initial-ppcle-port.patch
deleted file mode 100644
index dd6b72e21bcb..000000000000
--- a/srcpkgs/rust/patches/0015-initial-ppcle-port.patch
+++ /dev/null
@@ -1,379 +0,0 @@
-From 2b3b4a11dd75ff43e0f1f12de395d0ce29f8555f Mon Sep 17 00:00:00 2001
-From: Daniel Kolesa <daniel@octaforge.org>
-Date: Sat, 3 Jul 2021 21:02:03 +0200
-Subject: [PATCH 15/15] initial ppcle port
-
----
- compiler/rustc_middle/src/ty/layout.rs            |  5 ++++-
- compiler/rustc_target/src/spec/mod.rs             |  2 ++
- .../src/spec/powerpcle_unknown_linux_gnu.rs       | 15 +++++++++++++++
- .../src/spec/powerpcle_unknown_linux_musl.rs      | 15 +++++++++++++++
- src/bootstrap/bootstrap.py                        |  2 ++
- .../codegen/abi-main-signature-16bit-c-int.rs     |  1 +
- src/test/codegen/global_asm.rs                    |  1 +
- src/test/codegen/global_asm_include.rs            |  1 +
- src/test/codegen/global_asm_x2.rs                 |  1 +
- src/test/codegen/repr-transparent-aggregates-1.rs |  1 +
- src/test/codegen/repr-transparent-aggregates-2.rs |  1 +
- src/test/codegen/stack-probes.rs                  |  1 +
- .../run-make-fulldeps/atomic-lock-free/Makefile   |  2 ++
- src/test/ui/abi/stack-probes-lto.rs               |  1 +
- src/test/ui/abi/stack-probes.rs                   |  1 +
- 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/src/lib.rs                              |  1 +
- vendor/target-lexicon/src/targets.rs              |  7 +++++++
- vendor/tikv-jemallocator/benches/roundtrip.rs     |  3 ++-
- vendor/tikv-jemallocator/src/lib.rs               |  3 ++-
- 22 files changed, 64 insertions(+), 3 deletions(-)
- create mode 100644 compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
- create mode 100644 compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
-
-diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs
-index 3b05e42a5..66420f507 100644
---- a/compiler/rustc_middle/src/ty/layout.rs
-+++ b/compiler/rustc_middle/src/ty/layout.rs
-@@ -3205,6 +3205,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
-             target.os == "linux" && target.arch == "sparc64" && target_env_gnu_like;
-         let linux_powerpc_gnu_like =
-             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);
- 
-@@ -3311,7 +3313,8 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
-                     || (!win_x64_gnu
-                         && !linux_s390x_gnu_like
-                         && !linux_sparc64_gnu_like
--                        && !linux_powerpc_gnu_like)
-+                        && !linux_powerpc_gnu_like
-+                        && !linux_powerpcle_gnu_like)
-                 {
-                     arg.mode = PassMode::Ignore;
-                 }
-diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
-index da0589cdd..2db403913 100644
---- a/compiler/rustc_target/src/spec/mod.rs
-+++ b/compiler/rustc_target/src/spec/mod.rs
-@@ -831,6 +831,8 @@ supported_targets! {
-     ("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu),
-     ("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
-     ("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
-+    ("powerpcle-unknown-linux-gnu", powerpcle_unknown_linux_gnu),
-+    ("powerpcle-unknown-linux-musl", powerpcle_unknown_linux_musl),
-     ("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu),
-     ("powerpc64-unknown-linux-musl", powerpc64_unknown_linux_musl),
-     ("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
-diff --git a/compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
-new file mode 100644
-index 000000000..b7148a2fc
---- /dev/null
-+++ b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_gnu.rs
-@@ -0,0 +1,15 @@
-+use crate::spec::{LinkerFlavor, Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    let mut base = super::linux_gnu_base::opts();
-+    base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
-+    base.max_atomic_width = Some(32);
-+
-+    Target {
-+        llvm_target: "powerpcle-unknown-linux-gnu".into(),
-+        pointer_width: 32,
-+        data_layout: "e-m:e-p:32:32-i64:64-n32".into(),
-+        arch: "powerpc".into(),
-+        options: TargetOptions { mcount: "_mcount".into(), ..base },
-+    }
-+}
-diff --git a/compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
-new file mode 100644
-index 000000000..a826b6e47
---- /dev/null
-+++ b/compiler/rustc_target/src/spec/powerpcle_unknown_linux_musl.rs
-@@ -0,0 +1,15 @@
-+use crate::spec::{LinkerFlavor, Target, TargetOptions};
-+
-+pub fn target() -> Target {
-+    let mut base = super::linux_musl_base::opts();
-+    base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
-+    base.max_atomic_width = Some(32);
-+
-+    Target {
-+        llvm_target: "powerpcle-unknown-linux-musl".into(),
-+        pointer_width: 32,
-+        data_layout: "e-m:e-p:32:32-i64:64-n32".into(),
-+        arch: "powerpc".into(),
-+        options: TargetOptions { mcount: "_mcount".into(), ..base },
-+    }
-+}
-diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
-index 3501fd901..a28f456d3 100644
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -339,9 +339,11 @@ def default_build_triple(verbose):
-         'i786': 'i686',
-         'm68k': 'm68k',
-         'powerpc': 'powerpc',
-+        'powerpcle': 'powerpcle',
-         'powerpc64': 'powerpc64',
-         'powerpc64le': 'powerpc64le',
-         'ppc': 'powerpc',
-+        'ppcle': 'powerpcle',
-         'ppc64': 'powerpc64',
-         'ppc64le': 'powerpc64le',
-         'riscv64': 'riscv64gc',
-diff --git a/src/test/codegen/abi-main-signature-16bit-c-int.rs b/src/test/codegen/abi-main-signature-16bit-c-int.rs
-index 4ed491dfb..82ec7755d 100644
---- a/src/test/codegen/abi-main-signature-16bit-c-int.rs
-+++ b/src/test/codegen/abi-main-signature-16bit-c-int.rs
-@@ -9,6 +9,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-powerpc64
- // ignore-riscv64
- // ignore-s390x
-diff --git a/src/test/codegen/global_asm.rs b/src/test/codegen/global_asm.rs
-index fab84868f..104d93d01 100644
---- a/src/test/codegen/global_asm.rs
-+++ b/src/test/codegen/global_asm.rs
-@@ -12,6 +12,7 @@
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-r600
- // ignore-amdgcn
- // ignore-sparc
-diff --git a/src/test/codegen/global_asm_include.rs b/src/test/codegen/global_asm_include.rs
-index 02ee91645..13f303332 100644
---- a/src/test/codegen/global_asm_include.rs
-+++ b/src/test/codegen/global_asm_include.rs
-@@ -12,6 +12,7 @@
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-r600
- // ignore-amdgcn
- // ignore-sparc
-diff --git a/src/test/codegen/global_asm_x2.rs b/src/test/codegen/global_asm_x2.rs
-index bdcf0ea84..1e2ff8b8d 100644
---- a/src/test/codegen/global_asm_x2.rs
-+++ b/src/test/codegen/global_asm_x2.rs
-@@ -12,6 +12,7 @@
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-r600
- // ignore-amdgcn
- // ignore-sparc
-diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs
-index 9d18c5f03..8e69d2afd 100644
---- a/src/test/codegen/repr-transparent-aggregates-1.rs
-+++ b/src/test/codegen/repr-transparent-aggregates-1.rs
-@@ -6,6 +6,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-powerpc64
- // ignore-riscv64 see codegen/riscv-abi
- // ignore-windows
-diff --git a/src/test/codegen/repr-transparent-aggregates-2.rs b/src/test/codegen/repr-transparent-aggregates-2.rs
-index b68e8e9eb..97c509b1b 100644
---- a/src/test/codegen/repr-transparent-aggregates-2.rs
-+++ b/src/test/codegen/repr-transparent-aggregates-2.rs
-@@ -5,6 +5,7 @@
- // ignore-emscripten
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-riscv64 see codegen/riscv-abi
-diff --git a/src/test/codegen/stack-probes.rs b/src/test/codegen/stack-probes.rs
-index 9bd351df3..29073eb56 100644
---- a/src/test/codegen/stack-probes.rs
-+++ b/src/test/codegen/stack-probes.rs
-@@ -3,6 +3,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-riscv64
-diff --git a/src/test/run-make-fulldeps/atomic-lock-free/Makefile b/src/test/run-make-fulldeps/atomic-lock-free/Makefile
-index 9e8b4fabf..402d37a45 100644
---- a/src/test/run-make-fulldeps/atomic-lock-free/Makefile
-+++ b/src/test/run-make-fulldeps/atomic-lock-free/Makefile
-@@ -36,6 +36,8 @@ ifeq ($(filter powerpc,$(LLVM_COMPONENTS)),powerpc)
- 	nm "$(TMPDIR)/libatomic_lock_free.rlib" | $(CGREP) -v __atomic_fetch_add
- 	$(RUSTC) --target=powerpc-unknown-linux-gnuspe atomic_lock_free.rs
- 	nm "$(TMPDIR)/libatomic_lock_free.rlib" | $(CGREP) -v __atomic_fetch_add
-+	$(RUSTC) --target=powerpcle-unknown-linux-gnu atomic_lock_free.rs
-+	nm "$(TMPDIR)/libatomic_lock_free.rlib" | $(CGREP) -v __atomic_fetch_add
- 	$(RUSTC) --target=powerpc64-unknown-linux-gnu atomic_lock_free.rs
- 	nm "$(TMPDIR)/libatomic_lock_free.rlib" | $(CGREP) -v __atomic_fetch_add
- 	$(RUSTC) --target=powerpc64le-unknown-linux-gnu atomic_lock_free.rs
-diff --git a/src/test/ui/abi/stack-probes-lto.rs b/src/test/ui/abi/stack-probes-lto.rs
-index 90df1f3f5..8c6dda8b8 100644
---- a/src/test/ui/abi/stack-probes-lto.rs
-+++ b/src/test/ui/abi/stack-probes-lto.rs
-@@ -4,6 +4,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-s390x
- // ignore-sparc
- // ignore-sparc64
-diff --git a/src/test/ui/abi/stack-probes.rs b/src/test/ui/abi/stack-probes.rs
-index e998dd0f8..9472e5387 100644
---- a/src/test/ui/abi/stack-probes.rs
-+++ b/src/test/ui/abi/stack-probes.rs
-@@ -4,6 +4,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-s390x
- // ignore-sparc
- // ignore-sparc64
-diff --git a/src/test/ui/target-feature/gate.rs b/src/test/ui/target-feature/gate.rs
-index 2382c98f8..e6fe855d7 100644
---- a/src/test/ui/target-feature/gate.rs
-+++ b/src/test/ui/target-feature/gate.rs
-@@ -5,6 +5,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-riscv64
-diff --git a/src/test/ui/target-feature/invalid-attribute.rs b/src/test/ui/target-feature/invalid-attribute.rs
-index ad1b6e96b..122d59a57 100644
---- a/src/test/ui/target-feature/invalid-attribute.rs
-+++ b/src/test/ui/target-feature/invalid-attribute.rs
-@@ -5,6 +5,7 @@
- // ignore-mips
- // ignore-mips64
- // ignore-powerpc
-+// ignore-powerpcle
- // ignore-powerpc64
- // ignore-powerpc64le
- // ignore-riscv64
-diff --git a/src/tools/compiletest/src/util.rs b/src/tools/compiletest/src/util.rs
-index 215af347f..a1c7e4c6a 100644
---- a/src/tools/compiletest/src/util.rs
-+++ b/src/tools/compiletest/src/util.rs
-@@ -71,6 +71,7 @@ const ARCH_TABLE: &[(&str, &str)] = &[
-     ("msp430", "msp430"),
-     ("nvptx64", "nvptx64"),
-     ("powerpc", "powerpc"),
-+    ("powerpcle", "powerpc"),
-     ("powerpc64", "powerpc64"),
-     ("powerpc64le", "powerpc64"),
-     ("riscv64gc", "riscv64"),
-diff --git a/vendor/cc/src/lib.rs b/vendor/cc/src/lib.rs
-index e3a2b98b0..0236729fd 100644
---- a/vendor/cc/src/lib.rs
-+++ b/vendor/cc/src/lib.rs
-@@ -2594,6 +2594,7 @@ impl Build {
-             "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-             "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
-             "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
-+            "powerpcle-unknown-linux-gnu" => Some("powerpcle-linux-gnu"),
-             "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/target-lexicon/src/targets.rs b/vendor/target-lexicon/src/targets.rs
-index 22cc95cc3..46167e34e 100644
---- a/vendor/target-lexicon/src/targets.rs
-+++ b/vendor/target-lexicon/src/targets.rs
-@@ -29,6 +29,7 @@ pub enum Architecture {
-     Msp430,
-     Nvptx64,
-     Powerpc,
-+    Powerpcle,
-     Powerpc64,
-     Powerpc64le,
-     Riscv32(Riscv32Architecture),
-@@ -533,6 +534,7 @@ impl Architecture {
-             | Mips64(Mips64Architecture::Mipsisa64r6el)
-             | Msp430
-             | Nvptx64
-+            | Powerpcle
-             | Powerpc64le
-             | Riscv32(_)
-             | Riscv64(_)
-@@ -574,6 +576,7 @@ impl Architecture {
-             | M68k
-             | Mips32(_)
-             | Powerpc
-+            | Powerpcle
-             | XTensa => Ok(PointerWidth::U32),
-             AmdGcn
-             | Bpfeb
-@@ -763,6 +766,7 @@ impl fmt::Display for Architecture {
-             Msp430 => f.write_str("msp430"),
-             Nvptx64 => f.write_str("nvptx64"),
-             Powerpc => f.write_str("powerpc"),
-+            Powerpcle => f.write_str("powerpcle"),
-             Powerpc64 => f.write_str("powerpc64"),
-             Powerpc64le => f.write_str("powerpc64le"),
-             Riscv32(riscv32) => riscv32.fmt(f),
-@@ -943,6 +947,7 @@ impl FromStr for Architecture {
-             "msp430" => Msp430,
-             "nvptx64" => Nvptx64,
-             "powerpc" => Powerpc,
-+            "powerpcle" => Powerpcle,
-             "powerpc64" => Powerpc64,
-             "powerpc64le" => Powerpc64le,
-             "s390x" => S390x,
-@@ -1445,6 +1450,8 @@ mod tests {
-             "powerpc-unknown-openbsd",
-             "powerpc-wrs-vxworks",
-             "powerpc-wrs-vxworks-spe",
-+            "powerpcle-unknown-linux-gnu",
-+            "powerpcle-unknown-linux-musl",
-             "powerpc64-unknown-freebsd",
-             "powerpc64-unknown-linux-gnu",
-             "powerpc64-unknown-linux-musl",
-diff --git a/vendor/tikv-jemallocator/benches/roundtrip.rs b/vendor/tikv-jemallocator/benches/roundtrip.rs
-index 767abe8d4..704bf955a 100644
---- a/vendor/tikv-jemallocator/benches/roundtrip.rs
-+++ b/vendor/tikv-jemallocator/benches/roundtrip.rs
-@@ -22,7 +22,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/tikv-jemallocator/src/lib.rs b/vendor/tikv-jemallocator/src/lib.rs
-index 4a9397331..4cf47c05d 100644
---- a/vendor/tikv-jemallocator/src/lib.rs
-+++ b/vendor/tikv-jemallocator/src/lib.rs
-@@ -46,7 +46,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 ALIGNOF_MAX_ALIGN_T: usize = 8;
- #[cfg(all(any(
--- 
-2.37.2
-
diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template
index 8e639c486470..1ce1fd24acc0 100644
--- a/srcpkgs/rust/template
+++ b/srcpkgs/rust/template
@@ -8,17 +8,17 @@
 # uploaded to https://repo-default.voidlinux.org/distfiles/
 #
 pkgname=rust
-version=1.64.0
+version=1.68.2
 revision=1
 hostmakedepends="cmake curl pkg-config python3 tar cargo-bootstrap"
-makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm12"
+makedepends="libffi-devel ncurses-devel libxml2-devel zlib-devel llvm15"
 depends="rust-std"
 short_desc="Safe, concurrent, practical systems language"
 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=b3cd9f481e1a2901bf6f3808d30c69cc4ea80d93c4cc4e2ed52258b180381205
+checksum=93339c23f7cd4d0c45db58e18b4c6e16d6070f4277aad9d2492d23294bf32e96
 lib32disabled=yes
 make_check=no # CBA for now
 
@@ -33,7 +33,7 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
 fi
 
 if [ "$CROSS_BUILD" ]; then
-	hostmakedepends+=" rust llvm12"
+	hostmakedepends+=" rust llvm15"
 	# These are required for building the buildhost's stage0/1
 	hostmakedepends+=" libffi-devel libxml2-devel ncurses-devel zlib-devel"
 else

From f6760012466ba2af5a1debfc7d1fbc795fac15d2 Mon Sep 17 00:00:00 2001
From: Marcin Puc <tranzystorek.io@protonmail.com>
Date: Sun, 5 Feb 2023 14:14:16 +0100
Subject: [PATCH 4/4] cargo: update to 1.68.0

---
 srcpkgs/cargo/patches/crossbeam-ppcle.patch | 11 ---------
 srcpkgs/cargo/template                      | 25 ++++-----------------
 2 files changed, 4 insertions(+), 32 deletions(-)
 delete mode 100644 srcpkgs/cargo/patches/crossbeam-ppcle.patch

diff --git a/srcpkgs/cargo/patches/crossbeam-ppcle.patch b/srcpkgs/cargo/patches/crossbeam-ppcle.patch
deleted file mode 100644
index 36d9256e1071..000000000000
--- a/srcpkgs/cargo/patches/crossbeam-ppcle.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/crossbeam-utils/no_atomic.rs
-+++ b/crossbeam-utils/no_atomic.rs
-@@ -33,6 +33,8 @@ const NO_ATOMIC_64: &[&str] = &[
-     "powerpc-unknown-linux-gnu",
-     "powerpc-unknown-linux-gnuspe",
-     "powerpc-unknown-linux-musl",
-+    "powerpcle-unknown-linux-gnu",
-+    "powerpcle-unknown-linux-musl",
-     "powerpc-unknown-netbsd",
-     "powerpc-unknown-openbsd",
-     "powerpc-wrs-vxworks",
diff --git a/srcpkgs/cargo/template b/srcpkgs/cargo/template
index e557bbe20805..538f74762065 100644
--- a/srcpkgs/cargo/template
+++ b/srcpkgs/cargo/template
@@ -1,8 +1,8 @@
 # Template file for 'cargo'
 pkgname=cargo
-version=1.64.0
+version=1.68.0
 revision=1
-create_wrksrc=yes
+_cargo_revision=0.69.0
 build_helper=rust
 hostmakedepends="cargo-bootstrap rust python3 curl cmake pkg-config zlib-devel"
 makedepends="rust libcurl-devel openssl-devel"
@@ -11,10 +11,8 @@ short_desc="Rust package manager"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT, Apache-2.0"
 homepage="https://crates.io/"
-distfiles="https://github.com/rust-lang/cargo/archive/rust-${version}.tar.gz
- https://github.com/crossbeam-rs/crossbeam/archive/refs/tags/crossbeam-utils-0.8.8.tar.gz"
-checksum="8363ee37e1ff85c7322f0619087b1230f43852dcb26316627a1a703ed20ea4b7
- 52c451910203cd9002cc4b85cff95f45c6ba245392801e80d7898ca5c3c3ab29"
+distfiles="https://github.com/rust-lang/cargo/archive/refs/tags/${_cargo_revision}.tar.gz"
+checksum=46aa35098777fff0101a373c0f20260443d6f7b55ed8b34769f1aacc18a95ba9
 replaces="cargo-tree>=0"
 
 build_options="static bindist"
@@ -28,21 +26,6 @@ if [ -z "$_build_static" ]; then
 	makedepends+=" libgit2-devel"
 fi
 
-post_extract() {
-	mv cargo-rust-${version}/* .
-	mv crossbeam-crossbeam-utils-* crossbeam-utils
-}
-
-post_patch() {
-	rm crossbeam-utils/crossbeam-utils/no_atomic.rs
-	cp crossbeam-utils/no_atomic.rs crossbeam-utils/crossbeam-utils
-
-	cat >> Cargo.toml <<- EOF
-		[patch.crates-io]
-		crossbeam-utils = { path = './crossbeam-utils/crossbeam-utils' }
-	EOF
-}
-
 do_build() {
 	local cargs
 

  parent reply	other threads:[~2023-04-01  7:41 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-07 14:55 [PR PATCH] [WIP] Rust 1.67 tranzystorek-io
2023-02-07 14:58 ` tranzystorek-io
2023-02-10 15:29 ` [PR PATCH] [Updated] " tranzystorek-io
2023-02-10 16:44 ` tranzystorek-io
2023-02-10 19:24 ` tranzystorek-io
2023-02-15 16:24 ` tranzystorek-io
2023-02-15 17:19 ` tranzystorek-io
2023-02-15 17:30 ` tranzystorek-io
2023-02-20 16:30 ` tranzystorek-io
2023-02-22 19:48 ` tranzystorek-io
2023-03-10 16:18 ` tranzystorek-io
2023-03-18 17:17 ` [PR PATCH] [Updated] [WIP] Rust 1.68 tranzystorek-io
2023-03-28 12:56 ` tranzystorek-io
2023-03-29 10:33 ` tranzystorek-io
2023-03-29 14:20 ` tranzystorek-io
2023-03-29 14:25 ` tranzystorek-io
2023-03-31 20:32 ` [PR PATCH] [Updated] " tranzystorek-io
2023-04-01  7:41 ` tranzystorek-io [this message]
2023-04-01  9:57 ` tranzystorek-io
2023-04-01 11:09 ` tranzystorek-io
2023-04-01 11:10 ` tranzystorek-io
2023-04-01 16:48 ` [PR PATCH] [Updated] " tranzystorek-io
2023-04-01 16:50 ` tranzystorek-io
2023-04-01 16:51 ` tranzystorek-io
2023-04-01 17:36 ` [PR REVIEW] " classabbyamp
2023-04-01 17:36 ` classabbyamp
2023-04-01 17:36 ` classabbyamp
2023-04-01 17:36 ` classabbyamp
2023-04-01 17:36 ` classabbyamp
2023-04-01 20:23 ` [PR PATCH] [Updated] " tranzystorek-io
2023-04-02  0:26 ` tranzystorek-io
2023-04-02  5:35 ` [PR PATCH] [Merged]: " classabbyamp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230401074155.pL9WVBTOKw0K-1gwicNIg3MI3pMvi0QUyrIc8smANKE@z \
    --to=tranzystorek-io@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).