mirror of
https://codeberg.org/kiss-community/repo
synced 2025-01-21 18:04:41 -07:00
rust: bump to 1.45.0 (testing)
This commit is contained in:
parent
bb94759506
commit
6449dbea8c
67
testing/rust/build
Executable file
67
testing/rust/build
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
for patch in *.patch; do
|
||||
patch -p1 < "$patch"
|
||||
done
|
||||
|
||||
# This package mimics the download process of rust's 'x.py'
|
||||
# bootstrap library to allow for the removal of the internet
|
||||
# connection requirement per build.
|
||||
{
|
||||
mkdir -p "${cache_dir:=build/cache/2020-06-04}"
|
||||
|
||||
for tarball in *.tar.xz\?no-extract; do
|
||||
mv -f "$tarball" "$cache_dir/${tarball%%\?no-extract}"
|
||||
done
|
||||
}
|
||||
|
||||
# 'rust' checksums files in 'vendor/', but we patch a few.
|
||||
for vendor in libc openssl-sys; do
|
||||
sed -i 's/\("files":{\)[^}]*/\1/' "vendor/$vendor/.cargo-checksum.json"
|
||||
done
|
||||
|
||||
cat > config.toml <<EOF
|
||||
[llvm]
|
||||
link-shared = true
|
||||
|
||||
[build]
|
||||
build = "x86_64-unknown-linux-musl"
|
||||
host = [ "x86_64-unknown-linux-musl" ]
|
||||
target = [ "x86_64-unknown-linux-musl" ]
|
||||
|
||||
docs = false
|
||||
compiler-docs = false
|
||||
extended = true
|
||||
submodules = false
|
||||
python = "python3"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
sanitizers = false
|
||||
profiler = false
|
||||
full-bootstrap = false
|
||||
|
||||
[install]
|
||||
prefix = "/usr"
|
||||
|
||||
[rust]
|
||||
channel = "stable"
|
||||
rpath = false
|
||||
codegen-units = 1
|
||||
debuginfo-level = 0
|
||||
debug = false
|
||||
backtrace = false
|
||||
jemalloc = false
|
||||
debug-assertions = false
|
||||
codegen-tests = false
|
||||
|
||||
[target.x86_64-unknown-linux-musl]
|
||||
llvm-config = "/usr/bin/llvm-config"
|
||||
crt-static = false
|
||||
EOF
|
||||
|
||||
export DESTDIR="$1"
|
||||
|
||||
python3 ./x.py build -j "$(nproc)"
|
||||
python3 ./x.py install
|
||||
|
||||
rm -rf "$1/usr/lib/rustlib/src/"
|
6
testing/rust/checksums
Normal file
6
testing/rust/checksums
Normal file
@ -0,0 +1,6 @@
|
||||
c436034db42bc0ea7e7f32816ac6555b70d1f76c834407597966dfaf2ec839d6 rustc-1.45.0-src.tar.xz
|
||||
ff43c33836d5a56ce8089f8a0b101cbb12f130374e9631acdcc00f5f051f6429 rust-std-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||
f023a98493b3617f3eecbc0744c88a9b4d4e1a8ac105d0cf50a9c191018facf6 rustc-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||
d5d2a23e9cf67d0564cdfcb11fbca9c68719061c4a8581aa80f0e38617a609aa cargo-0.45.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||
13261c1288dd7ad3e376162041db017a0e2bcbcb77f974c0bc9bd0681361213e musl.patch
|
||||
903880513dc61427bfedcd99c9b8a4b8156952b9cc5c486e29e5d5a2a77b484a libressl-3.1.X.patch
|
7
testing/rust/depends
Normal file
7
testing/rust/depends
Normal file
@ -0,0 +1,7 @@
|
||||
cmake make
|
||||
curl make
|
||||
libressl
|
||||
llvm
|
||||
python make
|
||||
xz
|
||||
zlib
|
17
testing/rust/patches/libressl-3.1.X.patch
Normal file
17
testing/rust/patches/libressl-3.1.X.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
|
||||
index 162e11a66..9f3544313 100644
|
||||
--- a/vendor/openssl-sys/build/main.rs
|
||||
+++ b/vendor/openssl-sys/build/main.rs
|
||||
@@ -204,6 +204,12 @@ See rust-openssl README for more information:
|
||||
(3, 0, 0) => ('3', '0', '0'),
|
||||
(3, 0, 1) => ('3', '0', '1'),
|
||||
(3, 0, _) => ('3', '0', 'x'),
|
||||
+ (3, 1, 0) => ('3', '1', '0'),
|
||||
+ (3, 1, 1) => ('3', '1', '0'),
|
||||
+ (3, 1, _) => ('3', '1', 'x'),
|
||||
+ (3, 2, 0) => ('3', '2', '0'),
|
||||
+ (3, 2, 1) => ('3', '2', '0'),
|
||||
+ (3, 2, _) => ('3', '2', 'x'),
|
||||
_ => version_error(),
|
||||
};
|
||||
|
78
testing/rust/patches/musl.patch
Normal file
78
testing/rust/patches/musl.patch
Normal file
@ -0,0 +1,78 @@
|
||||
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
|
||||
index b3999118e..f809a8e99 100644
|
||||
--- a/src/bootstrap/compile.rs
|
||||
+++ b/src/bootstrap/compile.rs
|
||||
@@ -132,7 +132,7 @@ fn copy_third_party_objects(
|
||||
// to using gcc from a glibc-targeting toolchain for linking.
|
||||
// To do that we have to distribute musl startup objects as a part of Rust toolchain
|
||||
// and link with them manually in the self-contained mode.
|
||||
- if target.contains("musl") {
|
||||
+ if target.contains("noop") {
|
||||
let srcdir = builder.musl_root(target).unwrap().join("lib");
|
||||
for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
|
||||
copy_and_stamp(&srcdir, obj);
|
||||
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
|
||||
index 74b47d077..b700f8a09 100644
|
||||
--- a/src/bootstrap/sanity.rs
|
||||
+++ b/src/bootstrap/sanity.rs
|
||||
@@ -192,7 +192,7 @@ pub fn check(build: &mut Build) {
|
||||
}
|
||||
|
||||
// Make sure musl-root is valid
|
||||
- if target.contains("musl") {
|
||||
+ if target.contains("noop") {
|
||||
// If this is a native target (host is also musl) and no musl-root is given,
|
||||
// fall back to the system toolchain in /usr before giving up
|
||||
if build.musl_root(*target).is_none() && build.config.build == *target {
|
||||
diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs
|
||||
index 0fdd87608..63f00585f 100644
|
||||
--- a/src/librustc_target/spec/linux_musl_base.rs
|
||||
+++ b/src/librustc_target/spec/linux_musl_base.rs
|
||||
@@ -15,7 +15,7 @@ pub fn opts() -> TargetOptions {
|
||||
base.crt_objects_fallback = Some(CrtObjectsFallback::Musl);
|
||||
|
||||
// These targets statically link libc by default
|
||||
- base.crt_static_default = true;
|
||||
+ base.crt_static_default = false;
|
||||
// These targets allow the user to choose between static and dynamic linking.
|
||||
base.crt_static_respected = true;
|
||||
|
||||
diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs
|
||||
index 146263925..c9aa30e2d 100644
|
||||
--- a/src/libunwind/build.rs
|
||||
+++ b/src/libunwind/build.rs
|
||||
@@ -10,7 +10,7 @@ fn main() {
|
||||
// Build the unwinding from libunwind C/C++ source code.
|
||||
llvm_libunwind::compile();
|
||||
} else if target.contains("linux") {
|
||||
- if target.contains("musl") {
|
||||
+ if target.contains("noop") {
|
||||
// linking for musl is handled in lib.rs
|
||||
llvm_libunwind::compile();
|
||||
} else if !target.contains("android") {
|
||||
diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs
|
||||
index cc025da1a..0506db514 100644
|
||||
--- a/src/libunwind/lib.rs
|
||||
+++ b/src/libunwind/lib.rs
|
||||
@@ -18,7 +18,7 @@ cfg_if::cfg_if! {
|
||||
}
|
||||
}
|
||||
|
||||
-#[cfg(target_env = "musl")]
|
||||
+#[cfg(target_env = "noop")]
|
||||
#[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))]
|
||||
#[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))]
|
||||
extern "C" {}
|
||||
diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs
|
||||
index 1084d9aa9..085c7ff9e 100644
|
||||
--- a/vendor/libc/src/unix/mod.rs
|
||||
+++ b/vendor/libc/src/unix/mod.rs
|
||||
@@ -302,7 +302,7 @@ cfg_if! {
|
||||
} else if #[cfg(feature = "std")] {
|
||||
// cargo build, don't pull in anything extra as the libstd dep
|
||||
// already pulls in all libs.
|
||||
- } else if #[cfg(target_env = "musl")] {
|
||||
+ } else if #[cfg(target_env = "noop")] {
|
||||
#[cfg_attr(feature = "rustc-dep-of-std",
|
||||
link(name = "c", kind = "static",
|
||||
cfg(target_feature = "crt-static")))]
|
6
testing/rust/sources
Normal file
6
testing/rust/sources
Normal file
@ -0,0 +1,6 @@
|
||||
https://static.rust-lang.org/dist/rustc-1.45.0-src.tar.xz
|
||||
https://static.rust-lang.org/dist/2020-06-04/rust-std-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||
https://static.rust-lang.org/dist/2020-06-04/rustc-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||
https://static.rust-lang.org/dist/2020-06-04/cargo-0.45.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||
patches/musl.patch
|
||||
patches/libressl-3.1.X.patch
|
1
testing/rust/version
Normal file
1
testing/rust/version
Normal file
@ -0,0 +1 @@
|
||||
1.45.0 1
|
Loading…
Reference in New Issue
Block a user