Commit 7dece4e3 authored by Jeff Huang's avatar Jeff Huang 🤔

[testing] rust: update to 1.39.0

parent ce96722d
Pipeline #4723 failed with stages
in 51 seconds
From 2bf05f208272cd58c57f4d7d8d0e10fdb22e8719 Mon Sep 17 00:00:00 2001
From 14948e9d7bdb5cc7e975c1f3435692eeb748f07b Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Fri, 27 Sep 2019 12:33:08 -0700
Subject: [PATCH] [WIP] minimize the rust-std component
---
src/bootstrap/dist.rs | 45 +++++++++++++++----------------------------
1 file changed, 16 insertions(+), 29 deletions(-)
src/bootstrap/dist.rs | 33 +++++++++------------------------
1 file changed, 9 insertions(+), 24 deletions(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 552965863d10..76fbd07f9fb5 100644
index d9dff77a30e..bd96a6371fc 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -667,41 +667,28 @@ impl Step for Std {
@@ -675,36 +675,21 @@ impl Step for Std {
return distdir(builder).join(format!("{}-{}.tar.gz", name, target));
}
......@@ -21,15 +21,9 @@ index 552965863d10..76fbd07f9fb5 100644
- if builder.hosts.iter().any(|t| t == target) {
- builder.ensure(compile::Rustc { compiler, target });
- } else {
- if builder.no_std(target) == Some(true) {
- // the `test` doesn't compile for no-std targets
- builder.ensure(compile::Std { compiler, target });
- } else {
- builder.ensure(compile::Test { compiler, target });
- }
- builder.ensure(compile::Std { compiler, target });
- }
+ builder.ensure(compile::Std { compiler, target });
+ builder.ensure(compile::Test { compiler, target });
let image = tmpdir(builder).join(format!("{}-{}-image", name, target));
let _ = fs::remove_dir_all(&image);
......@@ -59,16 +53,10 @@ index 552965863d10..76fbd07f9fb5 100644
}
- true
- });
+ }
+ let stamp = dbg!(compile::libtest_stamp(builder, compiler_to_use, target));
+ for (path, host) in builder.read_stamp_file(&stamp) {
+ if !host {
+ builder.copy(&path, &dst.join(path.file_name().unwrap()));
+ }
+ }
let mut cmd = rust_installer(builder);
cmd.arg("generate")
--
2.21.0
2.24.0
# COntributions from Arch:
# Contributions from Arch:
# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
# Contributor: Alexander F Rødseth <xyproto@archlinux.org>
# Contributor: Daniel Micay <danielmicay@gmail.com>
# Contributor: userwithuid <userwithuid@gmail.com>
_llvm_ver=8.0.1
pkgname=('rust' 'lib32-rust-libs' 'rust-docs')
pkgver=1.38.0
pkgver=1.39.0
pkgrel=1
_llvm_ver=8.0.1
pkgdesc='Systems programming language focused on safety, speed and concurrency'
url='https://www.rust-lang.org/'
arch=('x86_64')
license=('MIT' 'Apache')
makedepends=('rust' "llvm=$_llvm_ver" 'libffi' 'lib32-gcc-libs' 'perl' 'python3' 'curl' 'cmake')
makedepends=('rust' "llvm=$_llvm_ver" 'libffi' 'lib32-gcc-libs' 'perl' 'python' 'curl' 'cmake')
checkdepends=('procps-ng' 'gdb')
options=('!emptydirs')
source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"
"https://github.com/llvm/llvm-project/releases/download/llvmorg-$_llvm_ver/compiler-rt-$_llvm_ver.src.tar.xz"
0001-WIP-minimize-the-rust-std-component.patch
config.toml)
sha256sums=('644263ca7c7106f8ee8fcde6bb16910d246b30668a74be20b8c7e0e9f4a52d80'
'11828fb4823387d820c6715b25f6b2405e60837d12a7469e7a8882911c721837'
'1d6b69444ef6ff033fe1612e56ecdaad5c52aa44395e704f78b1a047c65b9321'
'b1bd845081ece690685b5bf2a7e9e931a44a603ab836dd5a9b3c2b062fc5559b')
source=("https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc}
"http://releases.llvm.org/$_llvm_ver/compiler-rt-$_llvm_ver.src.tar.xz"{,.sig}
0001-WIP-minimize-the-rust-std-component.patch)
sha256sums=('b4a1f6b6a93931f270691aba4fc85eee032fecda973e6b9c774cd06857609357'
'SKIP'
'56e4cd96dd1d8c346b07b4d6b255f976570c6f2389697347a6c3dcb9e820d10e'
'SKIP'
'9e64e6abe9b118ee496c317ef37f4b500b54ecd69e9c02cad2a6a0b7235e9afd')
validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE' # Rust Language (Tag and Release Signing Key) <rust-key@rust-lang.org>
'474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard <tstellar@redhat.com>
'B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org>
prepare() {
cd "rustc-$pkgver-src"
......@@ -30,7 +34,39 @@ prepare() {
# From https://src.fedoraproject.org/rpms/rust/tree/master
patch -Np1 -i ../0001-WIP-minimize-the-rust-std-component.patch
cp "$srcdir"/config.toml config.toml
cat >config.toml <<END
[llvm]
link-shared = true
[build]
target = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
cargo = "/usr/bin/cargo"
rustc = "/usr/bin/rustc"
python = "/usr/bin/python3"
extended = true
sanitizers = false
profiler = true
vendor = true
[install]
prefix = "/usr"
[rust]
# LLVM crashes when passing an object through ThinLTO twice. This is triggered when using rust
# code in cross-language LTO if libstd was built using ThinLTO.
# http://blog.llvm.org/2019/09/closing-gap-cross-language-lto-between.html
# https://github.com/rust-lang/rust/issues/54872
codegen-units-std = 1
debuginfo-level = 2
channel = "stable"
rpath = false
[target.x86_64-unknown-linux-gnu]
llvm-config = "/usr/bin/llvm-config"
END
}
build() {
......@@ -39,7 +75,12 @@ build() {
export RUST_BACKTRACE=1
export RUST_COMPILER_RT_ROOT="$srcdir/compiler-rt-$_llvm_ver.src"
python3 ./x.py build -j"$(nproc)"
python ./x.py dist -j "$(nproc)"
DESTDIR="$PWD"/dest-rust python ./x.py install -j "$(nproc)"
# move docs and lib32 libs out of the way for splitting
mv dest-rust/usr/lib/rustlib/i686-unknown-linux-gnu dest-i686
mv dest-rust/usr/share/doc dest-doc
}
package_rust() {
......@@ -50,8 +91,7 @@ package_rust() {
cd "rustc-$pkgver-src"
DESTDIR="$pkgdir" python3 ./x.py install
mv dest-rust/* "$pkgdir"
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE*
# delete unnecesary files, e.g. components and manifest files only used for the uninstall script
......@@ -62,10 +102,6 @@ package_rust() {
# overwrite them with symlinks to the per-architecture versions
ln -srft "$pkgdir"/usr/lib x86_64-unknown-linux-gnu/lib/*.so
# move docs and lib32 libs out of the way for splitting
mv "$pkgdir"/usr/share/doc "$srcdir"
mv "$pkgdir"/usr/lib/rustlib/i686-unknown-linux-gnu "$srcdir"
install -d "$pkgdir"/usr/share/bash-completion
mv "$pkgdir"/etc/bash_completion.d/ "$pkgdir"/usr/share/bash-completion/completions/
}
......@@ -81,7 +117,7 @@ package_lib32-rust-libs() {
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE*
install -d "$pkgdir"/usr/lib/rustlib/ "$pkgdir"/usr/lib32/
mv "$srcdir"/i686-unknown-linux-gnu "$pkgdir"/usr/lib/rustlib
mv dest-i686 "$pkgdir"/usr/lib/rustlib/i686-unknown-linux-gnu
ln -srft "$pkgdir"/usr/lib32 "$pkgdir"/usr/lib/rustlib/i686-unknown-linux-gnu/lib/*.so
}
......@@ -91,5 +127,6 @@ package_rust-docs() {
cd "rustc-$pkgver-src"
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE*
mv "$srcdir"/doc "$pkgdir"/usr/share/doc
install -d "$pkgdir"/usr/share/doc
mv dest-doc/* "$pkgdir"/usr/share/doc
}
[llvm]
link-shared = true
[build]
target = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
cargo = "/usr/bin/cargo"
rustc = "/usr/bin/rustc"
python = "python"
extended = true
sanitizers = false
profiler = true
local-rebuild = false
[install]
prefix = "/usr"
[rust]
# LLVM crashes when passing an object through ThinLTO twice. This is triggered when using rust
# code in cross-language LTO if libstd was built using ThinLTO.
# http://blog.llvm.org/2019/09/closing-gap-cross-language-lto-between.html
# https://github.com/rust-lang/rust/issues/54872
codegen-units-std = 1
debuginfo-level = 2
channel = "stable"
rpath = false
[target.x86_64-unknown-linux-gnu]
llvm-config = "/usr/bin/llvm-config"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment