blob: 28754a01587b55c56f094ca8ad4712011bb38dec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
name=rust
version=1.95.0
##cat src/stage0.txt
export _date=2026-03-05
export _rustc=1.94.0
export _cargo=$_rustc
##
release=1
source="https://static.rust-lang.org/dist/${name}c-$version-src.tar.xz::noextract
https://static.rust-lang.org/dist/$_date/rust-std-$_rustc-x86_64-unknown-linux-musl.tar.xz::noextract
https://static.rust-lang.org/dist/$_date/rustc-$_rustc-x86_64-unknown-linux-musl.tar.xz::noextract
https://static.rust-lang.org/dist/$_date/cargo-$_cargo-x86_64-unknown-linux-musl.tar.xz::noextract
fix-linux_musl_base.patch
libressl.patch"
keep_static=1
no_strip=1
skip_patch=1
build() {
xzcat ${name}c-$version-src.tar.xz | tar -xf -
cd ${name}c-$version-src
for p in $SRC/*.patch; do
patch -Np1 -i $p
done
mkdir -p build/cache/$_date
_tuplet=x86_64-unknown-linux-musl
cp $SRC/rust-std-$_rustc-x86_64-unknown-linux-musl.tar.xz build/cache/$_date/
cp $SRC/rustc-$_rustc-x86_64-unknown-linux-musl.tar.xz build/cache/$_date/
cp $SRC/cargo-$_cargo-x86_64-unknown-linux-musl.tar.xz build/cache/$_date/
find vendor -path "*/curl-sys-*/build.rs" -exec sh -c '
grep -q CURL_CA_BUNDLE "$1" || sed -i "/BUILDING_LIBCURL/a\\
.define(\"CURL_CA_BUNDLE\", \"\\\\\"/etc/ssl/cert.pem\\\\\"\")\\
.define(\"CURL_CA_PATH\", \"\\\\\"/etc/ssl/certs\\\\\"\")
" "$1"
' sh {} \;
sed -i 's/\("files":{\)[^}]*/\1/' vendor/curl-sys-*/.cargo-checksum.json
sed -i 's/\("files":{\)[^}]*/\1/' vendor/openssl-sys-0.9.109/.cargo-checksum.json
sed -i 's/\("files":{\)[^}]*/\1/' vendor/openssl-sys-0.9.107/.cargo-checksum.json
sed -i 's/\("files":{\)[^}]*/\1/' vendor/openssl-sys-0.9.92/.cargo-checksum.json
cat > config.toml <<EOF
change-id = "ignore"
[llvm]
link-shared = true
download-ci-llvm = false
static-libstdcpp = false
use-libcxx = true
[build]
build = "$_tuplet"
host = [ "$_tuplet" ]
target = [ "$_tuplet" ]
docs = false
compiler-docs = false
extended = true
submodules = false
python = "python3"
locked-deps = true
vendor = true
tools = [ "cargo", "rustfmt" ]
sanitizers = false
profiler = false
full-bootstrap = false
[install]
prefix = "/usr"
[target.$_tuplet]
llvm-config = "/usr/bin/llvm-config"
crt-static = false
sanitizers = false
[dist]
src-tarball = false
[rust]
backtrace = false
channel = "stable"
codegen-tests = false
codegen-units-std = 1
codegen-units = 0
debug = false
debug-assertions = false
debuginfo-level = 0
incremental = false
jemalloc = false
rpath = false
dist-src = false
llvm-libunwind = "system"
lld = false
EOF
mkdir -p libgcc
printf 'INPUT(-lunwind)\n' > libgcc/libgcc_s.so
ln -sf $(cc -print-file-name=libunwind.so) libgcc/libgcc_s.so.1
export LD_LIBRARY_PATH="$PWD/libgcc:$LD_LIBRARY_PATH"
export LIBRARY_PATH="$PWD/libgcc:$LIBRARY_PATH"
mkdir "$SRC/rust"
export RUST_BACKTRACE=1
#python x.py build
python x.py install
rm -rf $PKG/usr/lib/rustlib/src/ \
$PKG/usr/share/zsh \
$PKG/usr/lib/rustlib/uninstall.sh
}
|