blob: 090aa01717f19f036359595471386b977c075973 (
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
|
#!/bin/sh
MAKEDEPS="cmake clang llvm-ar"
DEPS="curl libssh2 openssl"
PKG_VER=1.58.1
SOURCE=https://static.rust-lang.org/dist/rustc-$PKG_VER-src.tar.gz
DESC="Systems programming language focused on safety, speed and concurrency"
ADDITIONAL="
patches/0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
patches/0007-do-not-install-libunwind-source.patch
patches/install-template-shebang.patch
patches/link-musl-dynamically.patch
patches/musl-fix-linux_musl_base.patch
patches/need-rpath.patch
patches/need-ssp_nonshared.patch
"
prepare () {
apply_patches
sed -i /LD_LIBRARY_PATH/d src/bootstrap/bootstrap.py
sed -i 's/\("files":{\)[^}]*/\1/' vendor/libc/.cargo-checksum.json
}
build () {
target=x86_64-unknown-linux-musl
build=x86_64-unknown-linux-musl
./configure \
--build="$build" \
--host="$target" \
--target="$target" \
--prefix="/usr" \
--release-channel="stable" \
--llvm-root="/usr/lib/" \
--disable-docs \
--enable-extended \
--tools="analysis,cargo,src,rustfmt" \
--enable-llvm-link-shared \
--enable-option-checking \
--enable-locked-deps \
--enable-vendor \
--set="rust.musl-root=/usr" \
--set="rust.codegen-units=1" \
--set="rust.codegen-units-std=1" \
--set="rust.parallel-compiler=true" \
--set="target.$target.llvm-config=/usr/bin/llvm-config" \
--set="target.$target.musl-root=/usr" \
--set="target.$target.crt-static=false" \
--set="target.$target.cc=clang" \
--set="target.$target.cxx=clang++" \
--set="target.$target.ar=llvm-ar" \
--set="target.$target.linker=clang" \
--set="target.$build.musl-root=/usr" \
--set="target.$build.crt-static=false" \
--set="target.$build.cc=clang" \
--set="target.$build.cxx=clang++" \
--set="target.$build.ar=llvm-ar" \
--set="target.$build.linker=clang"
sed 's/#deny-warnings = .*/deny-warnings = false/' -i config.toml
sed 's|deny(warnings,|deny(|' -i src/bootstrap/lib.rs
python ./x.py dist -v --jobs $JOBS
}
package () {
export LIBSSH2_SYS_USE_PKG_CONFIG=1 &&
DESTDIR=${PWD}/install python3 ./x.py install &&
unset LIBSSH2_SYS_USE_PKG_CONFIG
chown -R root:root install &&
cp -a install/* $PKG_DEST
mkdir -p $PKG_DEST/etc/profile.d/
cat > $PKG_DEST/etc/profile.d/rustc.sh << "EOF"
# Begin /etc/profile.d/rustc.sh
pathprepend /opt/rustc/bin PATH
# End /etc/profile.d/rustc.sh
EOF
mkdir -p $PKG_DEST/etc/ld.so.conf.d
cat >> $PKG_DEST/etc/ld.so.conf.d/rustc.conf << EOF
# Begin rustc addition
/opt/rustc/lib
# End rustc addition
EOF
}
|