summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2020-10-08 12:32:12 -0700
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2020-10-08 23:23:05 -0700
commit51563211f1ddc9662e89cad5c1a2495fcdf9f117 (patch)
treeae2d8c5ab9e65768c3e107cfc631fa03b233aeeb /dev-lang/rust/files
parentprofiles/base/package.use.mask: mask rust-1.47[doc] (diff)
downloadgentoo-51563211f1ddc9662e89cad5c1a2495fcdf9f117.tar.gz
gentoo-51563211f1ddc9662e89cad5c1a2495fcdf9f117.tar.bz2
gentoo-51563211f1ddc9662e89cad5c1a2495fcdf9f117.zip
dev-lang/rust: bump to 1.47.0
we now install to /usr/lib/rust/<ver> this is more robust and mirrors how rustup installs rust, also most slotted toolchain projects already to it, so we follow Bug: https://bugs.gentoo.org/734018 PR: https://github.com/gentoo/gentoo/pull/16846 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-lang/rust/files')
-rw-r--r--dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch31
-rw-r--r--dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch75
-rw-r--r--dev-lang/rust/files/gentoo-musl-target-specs.patch168
3 files changed, 274 insertions, 0 deletions
diff --git a/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch b/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
new file mode 100644
index 000000000000..9064a52ac2d3
--- /dev/null
+++ b/dev-lang/rust/files/1.46.0-don-t-create-prefix-at-time-of-check.patch
@@ -0,0 +1,31 @@
+From 6b31232a9d32529e30765108f30365ac48587ce6 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Thu, 8 Oct 2020 15:48:33 -0700
+Subject: [PATCH] don't create prefix at time of check
+
+---
+ src/bootstrap/install.rs | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/bootstrap/install.rs b/src/bootstrap/install.rs
+index d9ee3bc..c5da9ce 100644
+--- a/src/bootstrap/install.rs
++++ b/src/bootstrap/install.rs
+@@ -73,12 +73,8 @@ fn install_sh(
+ let docdir_default = datadir_default.join("doc/rust");
+ let libdir_default = PathBuf::from("lib");
+ let mandir_default = datadir_default.join("man");
+- let prefix = builder.config.prefix.as_ref().map_or(prefix_default, |p| {
+- fs::create_dir_all(p)
+- .unwrap_or_else(|err| panic!("could not create {}: {}", p.display(), err));
+- fs::canonicalize(p)
+- .unwrap_or_else(|err| panic!("could not canonicalize {}: {}", p.display(), err))
+- });
++
++ let prefix = builder.config.prefix.as_ref().unwrap_or(&prefix_default);
+ let sysconfdir = builder.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default);
+ let datadir = builder.config.datadir.as_ref().unwrap_or(&datadir_default);
+ let docdir = builder.config.docdir.as_ref().unwrap_or(&docdir_default);
+--
+2.28.0
+
diff --git a/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch
new file mode 100644
index 000000000000..ff1707f4b8a4
--- /dev/null
+++ b/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch
@@ -0,0 +1,75 @@
+From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 16 Sep 2018 16:38:48 +0000
+Subject: [PATCH 12/15] Ignore broken and non-applicable tests
+
+c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475
+env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox)
+long-linker-command-lines: takes >10 minutes to run (but still passes)
+simd-intrinsic-generic-bitmask.rs: broken on BE, #59356
+sparc-struct-abi: no sparc target
+sysroot-crates-are-unstable: can't run rustc without RPATH
+---
+ src/test/codegen/sparc-struct-abi.rs | 1 +
+ src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++
+ src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++
+ src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++
+ src/test/ui/env-funky-keys.rs | 1 +
+ 6 files changed, 10 insertions(+)
+
+diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs
+index 78e5b14a212..6f93e93286b 100644
+--- a/src/test/codegen/sparc-struct-abi.rs
++++ b/src/test/codegen/sparc-struct-abi.rs
+@@ -4,6 +4,7 @@
+
+ // only-sparc64
+ // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib
++// ignore-test
+ #![feature(no_core, lang_items)]
+ #![no_core]
+
+diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+index f124ca2ab61..363b18f0985 100644
+--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
++++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile
+@@ -1,3 +1,5 @@
++# ignore-aarch64
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+index 5876fbc94bc..5f167ece1a2 100644
+--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile
+@@ -1,3 +1,5 @@
++# ignore-test
++
+ -include ../tools.mk
+
+ all:
+diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+index 9e770706857..6d92ec5cec8 100644
+--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
+@@ -1,1 +1,3 @@
++# ignore-test
++
+ all:
+ python2.7 test.py
+diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
+index c5c824ac58d..f3fe047a79c 100644
+--- a/src/test/ui/env-funky-keys.rs
++++ b/src/test/ui/env-funky-keys.rs
+@@ -1,6 +1,7 @@
+ // run-pass
+ // Ignore this test on Android, because it segfaults there.
+
++// ignore-test
+ // ignore-android
+ // ignore-windows
+ // ignore-cloudabi no execve
+--
+2.24.1
+
diff --git a/dev-lang/rust/files/gentoo-musl-target-specs.patch b/dev-lang/rust/files/gentoo-musl-target-specs.patch
new file mode 100644
index 000000000000..0661a26841b7
--- /dev/null
+++ b/dev-lang/rust/files/gentoo-musl-target-specs.patch
@@ -0,0 +1,168 @@
+From 9fb44efd4a6270443ca2a06a098c83cf9820cc8b Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Thu, 8 Oct 2020 22:38:54 -0700
+Subject: [PATCH] add gentoo musl target specs
+
+Directly based on patch by Samuel Holland <samuel@sholland.org>
+Found at: https://github.com/smaeul/portage-overlay/blob/master/dev-lang/rust/files/
+
+Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
+---
+ src/librustc_target/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../spec/armv7_gentoo_linux_musleabihf.rs | 11 +++++++++++
+ src/librustc_target/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++
+ src/librustc_target/spec/mod.rs | 8 ++++++++
+ .../spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
+ .../spec/powerpc64le_gentoo_linux_musl.rs | 11 +++++++++++
+ src/librustc_target/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++
+ src/librustc_target/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
+ 8 files changed, 85 insertions(+)
+ create mode 100644 src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
+ create mode 100644 src/librustc_target/spec/armv7_gentoo_linux_musleabihf.rs
+ create mode 100644 src/librustc_target/spec/i686_gentoo_linux_musl.rs
+ create mode 100644 src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
+ create mode 100644 src/librustc_target/spec/powerpc64le_gentoo_linux_musl.rs
+ create mode 100644 src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
+ create mode 100644 src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
+
+diff --git a/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..420fe7c
+--- /dev/null
++++ b/src/librustc_target/spec/aarch64_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::aarch64_unknown_linux_musl::target()?;
++
++ base.llvm_target = "aarch64-gentoo-linux-musl".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/armv7_gentoo_linux_musleabihf.rs b/src/librustc_target/spec/armv7_gentoo_linux_musleabihf.rs
+new file mode 100644
+index 0000000..067e2d6
+--- /dev/null
++++ b/src/librustc_target/spec/armv7_gentoo_linux_musleabihf.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::armv7_unknown_linux_musleabihf::target()?;
++
++ base.llvm_target = "armv7-gentoo-linux-musleabihf".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/i686_gentoo_linux_musl.rs b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..1cd39cd
+--- /dev/null
++++ b/src/librustc_target/spec/i686_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::i686_unknown_linux_musl::target()?;
++
++ base.llvm_target = "i686-gentoo-linux-musl".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
+index fa29ff3..a685600 100644
+--- a/src/librustc_target/spec/mod.rs
++++ b/src/librustc_target/spec/mod.rs
+@@ -490,6 +490,14 @@ macro_rules! supported_targets {
+ }
+
+ supported_targets! {
++ ("aarch64-gentoo-linux-musl", aarch64_gentoo_linux_musl),
++ ("armv7-gentoo-linux-musleabihf", armv7_gentoo_linux_musleabihf),
++ ("i686-gentoo-linux-musl", i686_gentoo_linux_musl),
++ ("powerpc-gentoo-linux-musl", powerpc_gentoo_linux_musl),
++ ("powerpc64-gentoo-linux-musl", powerpc64_gentoo_linux_musl),
++ ("powerpc64le-gentoo-linux-musl", powerpc64le_gentoo_linux_musl),
++ ("x86_64-gentoo-linux-musl", x86_64_gentoo_linux_musl),
++
+ ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
+ ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
+ ("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
+diff --git a/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..e840bb2
+--- /dev/null
++++ b/src/librustc_target/spec/powerpc64_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::powerpc64_unknown_linux_musl::target()?;
++
++ base.llvm_target = "powerpc64-gentoo-linux-musl".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/powerpc64le_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc64le_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..1037d82
+--- /dev/null
++++ b/src/librustc_target/spec/powerpc64le_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::powerpc64le_unknown_linux_musl::target()?;
++
++ base.llvm_target = "powerpc64le-gentoo-linux-musl".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..a623ffe
+--- /dev/null
++++ b/src/librustc_target/spec/powerpc_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::powerpc_unknown_linux_musl::target()?;
++
++ base.llvm_target = "powerpc-gentoo-linux-musl".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+diff --git a/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
+new file mode 100644
+index 0000000..f330473
+--- /dev/null
++++ b/src/librustc_target/spec/x86_64_gentoo_linux_musl.rs
+@@ -0,0 +1,11 @@
++use crate::spec::TargetResult;
++
++pub fn target() -> TargetResult {
++ let mut base = super::x86_64_unknown_linux_musl::target()?;
++
++ base.llvm_target = "x86_64-gentoo-linux-musl".to_string();
++ base.target_vendor = "gentoo".to_string();
++ base.options.crt_static_default = false;
++
++ Ok(base)
++}
+--
+2.28.0
+