2019-07-21 03:11:03 -06:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
2019-10-15 02:16:27 -06:00
|
|
|
# This package mimics the download process of rust's 'x.py'
|
|
|
|
# bootstrap library to allow for the removal of the internet
|
2020-02-11 05:55:58 -07:00
|
|
|
# connection requirement per build.
|
2019-10-15 02:16:27 -06:00
|
|
|
{
|
2021-06-30 17:46:09 -06:00
|
|
|
mkdir -p "${cache_dir:=build/cache/2021-05-06}"
|
2019-10-15 02:16:27 -06:00
|
|
|
|
2020-01-31 02:30:15 -07:00
|
|
|
for tarball in *.tar.xz\?no-extract; do
|
2019-11-26 03:55:52 -07:00
|
|
|
mv -f "$tarball" "$cache_dir/${tarball%%\?no-extract}"
|
2019-10-15 02:16:27 -06:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2021-06-30 17:46:09 -06:00
|
|
|
# Set shared linking as the default.
|
2021-07-03 15:24:51 -06:00
|
|
|
for f in \
|
2021-06-30 17:46:09 -06:00
|
|
|
compiler/rustc_target/src/spec/linux_musl_base.rs \
|
|
|
|
vendor/rustc-ap-rustc_target/src/spec/linux_musl_base.rs
|
2021-07-03 15:24:51 -06:00
|
|
|
do
|
|
|
|
sed 's/\(crt_static_default = \)true/\1false/' "$f" > _
|
|
|
|
mv -f _ "$f"
|
|
|
|
done
|
2021-06-30 17:46:09 -06:00
|
|
|
|
|
|
|
# Ignore checksums of files modified above.
|
2021-07-07 15:02:10 -06:00
|
|
|
sed 's/\("files":{\)[^}]*/\1/' \
|
|
|
|
vendor/rustc-ap-rustc_target/.cargo-checksum.json > _
|
|
|
|
mv -f _ vendor/rustc-ap-rustc_target/.cargo-checksum.json
|
2019-07-21 03:11:03 -06:00
|
|
|
|
2019-08-24 14:34:01 -06:00
|
|
|
cat > config.toml <<EOF
|
|
|
|
[llvm]
|
|
|
|
link-shared = true
|
|
|
|
|
|
|
|
[build]
|
2020-10-09 02:55:38 -06:00
|
|
|
build = "x86_64-unknown-linux-musl"
|
|
|
|
host = [ "x86_64-unknown-linux-musl" ]
|
|
|
|
target = [ "x86_64-unknown-linux-musl" ]
|
2020-02-27 13:05:15 -07:00
|
|
|
|
|
|
|
docs = false
|
|
|
|
compiler-docs = false
|
|
|
|
extended = true
|
|
|
|
submodules = false
|
|
|
|
python = "python3"
|
|
|
|
locked-deps = true
|
|
|
|
vendor = true
|
2021-06-30 17:46:09 -06:00
|
|
|
tools = ["cargo", "rls", "clippy", "rustfmt", "analysis", "src", "rust-demangler"]
|
2020-02-27 13:05:15 -07:00
|
|
|
sanitizers = false
|
|
|
|
profiler = false
|
|
|
|
full-bootstrap = false
|
2019-08-24 14:34:01 -06:00
|
|
|
|
|
|
|
[install]
|
|
|
|
prefix = "/usr"
|
|
|
|
|
|
|
|
[rust]
|
2020-10-09 02:55:38 -06:00
|
|
|
channel = "stable"
|
|
|
|
rpath = false
|
|
|
|
debuginfo-level = 0
|
|
|
|
debug = false
|
|
|
|
backtrace = false
|
|
|
|
jemalloc = false
|
|
|
|
debug-assertions = false
|
|
|
|
codegen-tests = false
|
|
|
|
codegen-units-std = 1
|
2019-08-24 14:34:01 -06:00
|
|
|
|
|
|
|
[target.x86_64-unknown-linux-musl]
|
|
|
|
llvm-config = "/usr/bin/llvm-config"
|
2020-02-27 13:05:15 -07:00
|
|
|
crt-static = false
|
2019-08-24 14:34:01 -06:00
|
|
|
EOF
|
|
|
|
|
2020-05-03 14:44:01 -06:00
|
|
|
export DESTDIR="$1"
|
2020-02-27 13:05:15 -07:00
|
|
|
|
2019-08-24 14:34:01 -06:00
|
|
|
python3 ./x.py build -j "$(nproc)"
|
2020-02-27 13:05:15 -07:00
|
|
|
python3 ./x.py install
|
2020-05-05 15:56:59 -06:00
|
|
|
|
2021-07-06 07:03:16 -06:00
|
|
|
rm -rf \
|
|
|
|
"$1/usr/lib/rustlib/src/" \
|
|
|
|
"$1/usr/share/doc" \
|
|
|
|
"$1/usr/share/zsh" \
|
|
|
|
"$1/usr/lib/rustlib/uninstall.sh"
|
|
|
|
|