mirror of
https://codeberg.org/kiss-community/repo
synced 2024-08-22 22:16:19 +00:00
rust [testing]: 1.47.0
This commit is contained in:
parent
1ac164e28e
commit
6a64ced8bb
68
testing/rust/build
Executable file
68
testing/rust/build
Executable file
|
@ -0,0 +1,68 @@
|
||||||
|
#!/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-08-27}"
|
||||||
|
|
||||||
|
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/"
|
||||||
|
rm -f "$1/usr/lib/rustlib/uninstall.sh"
|
6
testing/rust/checksums
Normal file
6
testing/rust/checksums
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
ec2c81d2d34890486094a6407589be96161e4e301c238332d32c6dbae4f38ea2
|
||||||
|
9e7107082c5b47b8931f65d5d6a9c97b1540e67533a2e69f480d9d83e8d05d57
|
||||||
|
130fb0ef33324996bd87abcc5d6835b0fea97d9786f53c90af5986a80c1d97da
|
||||||
|
bc5539c333bda74094aa59a9d08b12e435eb1936389afe58d61673951c07b7ed
|
||||||
|
502d9c4eac4db3fb5e6413514ba6407bf990d297ca8de7fa8101d0325aeb0e12
|
||||||
|
5e00f619c609d03fba09f0c44d8f667d3ab16b7ea2ef7935a1656a8845a930ec
|
8
testing/rust/depends
Normal file
8
testing/rust/depends
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
cmake make
|
||||||
|
curl make
|
||||||
|
libressl
|
||||||
|
llvm
|
||||||
|
pkgconf make
|
||||||
|
python make
|
||||||
|
xz
|
||||||
|
zlib
|
13
testing/rust/patches/libressl-3.1.X.patch
Normal file
13
testing/rust/patches/libressl-3.1.X.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
|
||||||
|
index 49f26d2b7..27deb1f36 100644
|
||||||
|
--- a/vendor/openssl-sys/build/main.rs
|
||||||
|
+++ b/vendor/openssl-sys/build/main.rs
|
||||||
|
@@ -221,6 +221,8 @@ See rust-openssl README for more information:
|
||||||
|
(3, 1, 0) => ('3', '1', '0'),
|
||||||
|
(3, 1, _) => ('3', '1', 'x'),
|
||||||
|
(3, 2, 0) => ('3', '2', '0'),
|
||||||
|
+ (3, 2, 1) => ('3', '2', '1'),
|
||||||
|
+ (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 9b4926f28..8555d904b 100644
|
||||||
|
--- a/src/bootstrap/compile.rs
|
||||||
|
+++ b/src/bootstrap/compile.rs
|
||||||
|
@@ -176,7 +176,7 @@ fn copy_self_contained_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_libdir(target).unwrap();
|
||||||
|
for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
|
||||||
|
copy_and_stamp(
|
||||||
|
diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
|
||||||
|
index 3301d41cf..1c9e0083a 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 b90e91d29..ad098a47e 100644
|
||||||
|
--- a/src/librustc_target/spec/linux_musl_base.rs
|
||||||
|
+++ b/src/librustc_target/spec/linux_musl_base.rs
|
||||||
|
@@ -9,7 +9,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/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs
|
||||||
|
index 55b892f7e..e03ce90e2 100644
|
||||||
|
--- a/vendor/libc/src/unix/mod.rs
|
||||||
|
+++ b/vendor/libc/src/unix/mod.rs
|
||||||
|
@@ -298,7 +298,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")))]
|
||||||
|
diff --git a/library/unwind/build.rs b/library/unwind/build.rs
|
||||||
|
index ab09a6e32..316ecadf4 100644
|
||||||
|
--- a/library/unwind/build.rs
|
||||||
|
+++ b/library/unwind/build.rs
|
||||||
|
@@ -12,7 +12,7 @@ fn main() {
|
||||||
|
} else if target.contains("x86_64-fortanix-unknown-sgx") {
|
||||||
|
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/library/unwind/src/lib.rs b/library/unwind/src/lib.rs
|
||||||
|
index 20a2ca984..3bd5a14a7 100644
|
||||||
|
--- a/library/unwind/src/lib.rs
|
||||||
|
+++ b/library/unwind/src/lib.rs
|
||||||
|
@@ -37,7 +37,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" {}
|
6
testing/rust/sources
Normal file
6
testing/rust/sources
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
https://static.rust-lang.org/dist/rustc-1.47.0-src.tar.xz
|
||||||
|
https://static.rust-lang.org/dist/2020-08-27/rust-std-1.46.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||||
|
https://static.rust-lang.org/dist/2020-08-27/rustc-1.46.0-x86_64-unknown-linux-musl.tar.xz?no-extract
|
||||||
|
https://static.rust-lang.org/dist/2020-08-27/cargo-0.47.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.47.0 1
|
Loading…
Reference in New Issue
Block a user